Вы находитесь на странице: 1из 8

МИНОБРНАУКИ РОССИИ

федеральное государственное бюджетное учреждение высшего образования


"Омский государственный университет им. Ф. М. Достоевского"
Факультет Компьютерных наук
Кафедра компьютерных технологий и сетей

Отчёт по дисциплине «Цифровая обработка сигналов».


Лабораторная работа №3.
Фильтрация цифровых сигналов.
16 вариант.

Выполнил: Студент 4 курса


очной формы обучения
группы СПБ-701-О-01
Петренко М.А.

Проверила:
Вахний Т.В.

Омск - 2021
Задание 1. Сформируйте опорный сигнал s(t), представляющий собой
сумму гармонических сигналов с частотами N кГц, N+3 кГц и N+6 кГц
(N = 16, по номеру своего варианта) и амплитудой 1В. Частота
дискретизации равна 1 МГц.
Для того, чтобы сформировать опорный сигнал s(t), представляющий собой
сумму гармонических сигналов с данными частотами, для начала создадим
функции, где будут содержаться “уравнение” с суммами гармонических
сигналов с данными частотами, нам потребуется несколько функции для
выполнения задания: ourFunction для содержания “уравнения” и displaySignal
для отображения графика.

После того как создали функцию, создаем график с использованием


функции, упомянутой выше.

Результат графика:
Задание 2. К опорному сигналу добавьте сигнал помехи, состоящий из
гармонических сигналов с частотами 75, 80, 85, 90 и 95 к Гц и
амплитудой 0,5 В.
Для выполнения этого задания, создаем еще одну функцию -
ourFunctionWithInterference, где будет “уравнение” с частотами 75, 80, 85, 90
и 95 к Гц и амплитудой 0,5 В:

В этот раз, я решил обойтись без дополнительных функции, и попробовал


создать код в более упрощенном виде:
Для удобства, второй график опорного сигнала с помехами поставим поверх
первого графика без помех. (красный график – без помех, синий – с
помехами), добавим строку для второго графика:

Результат:
Задание 3. Число периодов в наблюдаемой реализации (по
максимальной частоте опорного сигнала) – не менее 10 и не более 100.
Проведите расчет количества точек для выбранного (целого) количества
периодов сигнала.
Для реализации расчетов количества точек, воспользуемся функцией
ourFunctionWithInterference дав то же значение новой функции noise_signal:

И создаем код, лишним не будет и использование ФНЧ:

*ФНЧ – фильтры нижних частот*


В котором переменная discr_rate равна 1000, а переменная t равна 0:dt:1.
В итоге получаем результат:

Задание 4. Постройте спектр сигнала. Укажите полосу частот полезного


сигнала, длительность реализации сигнала, шаг между отсчетами в
частотной и во временной области.
Для построения спектра сигнала воспользуемся тремя функциями:
mainSignal, noiseSignal и displaySpectre.
Получаем результат:

Графики сигнала без помех не видно, из-за того, что график сигнала с
помехами перекрывает обзор. Поэтому выкладываю без сигнала с помехами:

Замечаем, что при появлении еще большего количества помех - появляется


еще большее количество периодов.
Задание 5. С помощью фильтра низких частот (ФНЧ) уберите из
опорного сигнала все помехи и постройте спектр полученного сигнала.
Это задание частично относится к третьему заданию - выше, ввиду
использования фильтра низких частот (ФНЧ).
Чтобы убрать все помехи (с помощью ФНЧ) и построить спектр, применим
функцию возврата передаточной функции фильтра (iir – функция, относящая
к проектированию цифровых БИХ-фильтров. Зададим тип фильтра, в нашем
случае здесь ФНЧ, т.е. тип фильтра будет ‘lp’), а затем воспользуемся и
функцией flts:

В итоге реализация, построим спектр сигнала после ФНЧ:

Получаем результат:
Задание 6. Пропустите исходный опорный сигнал через фильтр высоких
частот (ФВЧ). Покажите на графике спектр сигнала после фильтрации.
Проведем сигнал через ФВЧ, для выполнения, скоппируем код с
предыдущего задания с ФНЧ, изменив только тип фильтра ‘lp’ на ‘hp’:

Результат сигнала:

Затем, поскольку для выполнения задания нам нужен не сигнал, а спектр


данного сигнала, выполним с использованием функции displaySpectre:

Получаем результат:

Задание 7. С помощью заграждающего фильтра (ЗФ) уберите третью


гармонику из исходного сигнала. Постройте спектр полученного
сигнала.
Создадим сигнал с использованием заграждающего фильтра, т.е. нужно
будет использовать тип фильтра ‘sp’ – заграждающий фильтр. Чтобы убрать
третью гармонику, мы можем сделать фильтр, ослабляющий третью
гармонику:

Получаем результат сигнала после заграждающей фильтрации:


А теперь нужно воспользоваться функцией displaySpectre:

И результат:

Задание 8. Пропустите сигнал через пропускающий фильтр (ПФ),


оставив после фильтрации только вторую и третью гармоники опорного
сигнала. Покажите на графике спектр полученного сигнала после
фильтрации.
Сначала сделаем сигнал с использованием пропускающего фильтра (ПФ),
установим тип фильтра – ‘bp’:

Результат сигнала:

Затем, также как и с созданием спектров со всеми различными типами


фильтров, используется функция displaySpectre:

Результат спектра сигнала после ПФ:


Вывод:
Заметная разница в выполнении работ с фильтрами и без фильтров: к
примеру, по сравнению с прошлой лабораторной работы (с цифровыми
фильтрами значительно проще работать).
В заключение: в процессе выполнения работ, научился убирать
некоторые частоты из сигналов с помощью использования цифровых
фильтров, таких типов как: ‘lp’, ‘hp’, ‘sb’ и ‘bp’ (ФНЧ, ФВЧ, ЗФ и ПФ
соответственно).