МИНОБРНАУКИ РОССИИ федеральное государственное бюджетное учреждение высшего образования "Омский государственный университет им. Ф. М. Достоевского" Факультет Компьютерных наук Кафедра компьютерных технологий и сетей Отчёт по дисциплине «Цифровая обработка сигналов». Лабораторная работа №2. Децимация и интерполяция цифровых сигналов. 16 вариант. Выполнил: Студент 4 курса очной формы обучения группы СПБ-701-О-01 Петренко М.А. Проверила: Вахний Т.В. Омск - 2021 Задание 1. Сформируйте опорный сигнал s(t), представляющий собой сумму гармонических сигналов с частотами N кГц, N+3 кГц и N+6 кГц (N = 16, по номеру своего варианта) и амплитудой 1В. Частота дискретизации равна 1 МГц. Для того, чтобы сформировать опорный сигнал s(t), представляющий собой сумму гармонических сигналов с данными частотами, для начала создадим функции, где будут содержаться “уравнение” с суммами гармонических сигналов с данными частотами, нам потребуется несколько функции для выполнения задания: ourFunction для содержания “уравнения” и displaySignal для отображения графика. Далее создаем функцию displaySignal: После того как создали функции, создаем график с использованием двух функции, упомянутых выше. Результат графика: Задание 2. К опорному сигналу добавьте сигнал помехи, состоящий из гармонических сигналов с частотами 75, 80, 85, 90 и 95 к Гц и амплитудой 0,5 В. Для выполнения этого задания, создаем еще одну функцию ourFunctionWithInterference, где будет “уравнение” с частотами 75, 80, 85, 90 и 95 к Гц и амплитудой 0,5 В: И функция displaySignalWithInterference, для отображения графика: Далее, для удобства, второй график опорного сигнала с помехами поставим поверх первого графика без помех. (красный график – без помех, синий – с помехами), добавим строку для второго графика: Результат: Задание 3. Число периодов в наблюдаемой реализации (по максимальной частоте опорного сигнала) – не менее 10 и не более 100. Проведите расчет количества точек для выбранного (целого) количества периодов сигнала. Для реализации расчетов количества точек, воспользуемся функцией ourFunctionWithInterference дав то же значение новой функции mainSignalWithInterference: И создаем код: В котором переменная discr_rate равна 1000, а переменная t равна 0:dt:1. В итоге получаем результат: Задание 4. Постройте спектр сигнала. Укажите полосу частот полезного сигнала, длительность реализации сигнала, шаг между отсчетами в частотной и во временной области. Для построения спектра сигнала воспользуемся двумя функциями: ourFunction и ourFunctionWithInterference. Получаем результат: Графики сигнала без помех не видно, из-за того, что график сигнала с помехи перекрывает обзор. Поэтому выкладываю без сигнала с помехами: Замечаем, что при появлении еще большего количества помех - появляется еще большее количество периодов. Задание 5. Проведите децимацию сформированного сигнала с шагом 10. Постройте спектр децимированного сигнала. Для децимации сигнала с шагом 10, для начала понадобится функция alterDECIMATION: А также displaySpectre: Воспользуемся ранее созданными функциями: Как помним А скорость дискретизации – переменная discr_rate = 1000. Получаем результат: Задание 6. Пропустите опорный сигнал через цифровой фильтр. Проведите децимацию сигнала с шагом 10. Покажите на графике спектр децимированного сигнала после фильтрации. Где lpfSignalWithInterference = flts(mainSignalWithInterferebce, hz). А переменная decreased_discr_rate = 100, то есть равен discr_rate/10. Разница с предыдущим пунктом задания заключается в наличии фильтрации, посмотрим на результат: Задание 7. Проведите интерполяцию полученного сигнала с повышением частоты дискретизации до 2 МГц. Постройте спектр. С интерполяцией дело проще, разница с созданием спектров децимированного сигнала, заключается только в том, что для этого не нужно проводить децимацию. Согласно заданию, поднимем частоту дискретизации до 2 МГц: И результат: Задание 8. Пропустите сигнал через цифровой фильтр, при этом выберите необходимую частоту среза. Покажите на графике спектр полученного сигнала после фильтрации. Постройте в одном графическом окне сигнал до фильтрации и после. Для signalAfterLPFWithInterf, дадим значение: Получили результат. Где синий график – до фильтрации, а красный график – после фильтрации. Задание 9. Повторите пункт 5-8 с помощью двух каскадов. При этом оптимальным образом выберите шаги децимации и интерполяции, а также фильтры защиты от наложения спектра для каждого каскада.