Основы цифровой обработки сигналов
Цифровые фильтры
Задачи цифровой фильтрации
- Очистка сигнала от шумов;
- Выделение сигнала из суммы сигналов;
- Эквализация (усиление или подавление сигнала в выбранной полосе частот);
- Компенсация фазы, изменение частоты дискретизации, дифференцирование и др.
Осреднение сигнала
Выполним в Engee осреднение входного сигнала через операцию свертки сигнала с импульсной характристикой линейной дискретной системы. Длина импульсной характеристики h может варьироваться с помощью переменой num. Создадим сумму двух синусоид – медленную, которую мы считаем полезным сигналом, и быструю (большей частоты и меньшей амплитуды), которая будет зашумлять первую. Сумму s мы сворачиваем с вектором h и на графике наблюдаем эффект осреднения входного сигнала.
using Plots, DSP;
num = 5;
h = ones(num,1)/num;
t = 0:0.1:10;
x = cos.(2*pi*0.5*t) + 0.25*cos.(2*pi*5*t);
plot(t, x, xlabel="t", ylabel="сигнал", label="исходный сигнал")
y = conv(x,h);
plot!(t, y[1:length(t)], label="осредненный сигнал")
Если увеличить длину num импульсной характеристики, то сигнал осредняется еще сильнее. Задержка выхода относительно входа также увеличивается.
Здесь быстро меняющаяся синусоида подавляется, т.к. близко расположенные отсчеты входного сигнала приравниваются к среднему значению отсчетов, попавших в окно осреднения. Медленно изменяющийся сигнал при подобной операции искажается меньше. С точки зрения частотной избирательности подобная система пропускает сигналы меньшей частоты и подавляет сигналы большей частоты, т.е. является фильтром нижних частот.
✏️Задание 1
Проведите в Engee осреднение сигнала из предыдущего примера, задавая длину импульсной характристики равной 8, 10, 15 и 18. Проследите за тем, как будет изменяться выходной сигнал.
Решение
При длине иимпульсной характеристики, равной 18, получим:
using Plots, DSP;
num = 18;
h = ones(num,1)/num;
t = 0:0.1:10;
x = cos.(2*pi*0.5*t) + 0.25*cos.(2*pi*5*t);
plot(t, x, xlabel="t", ylabel="сигнал", label="исходный сигнал")
y = conv(x,h);
plot!(t, y[1:length(t)], label="осредненный сигнал")
✏️Задание 2
Сформируйте в Engee сигнал, представляющий собой синусоиду с частотой 0,5 Гц, и добавьте к нему аддитивный белый гауссовский шум с дБ. Затем проведите осреднение этого сигнала расмотренным выше способом.
Решение
using Plots, DigitalComm, DSP;
num = 5;
h = ones(num,1)/num;
t = 0:0.1:10;
x = cos.(2*pi*0.5*t);
x = addNoise(x,5)[1];
plot(t, x, xlabel="t", ylabel="сигнал", label="исходный сигнал")
y = conv(x,h);
plot!(t, y[1:length(t)], label="осредненный сигнал")
Параметры цифровых фильтров
- Параметры линейной дискретной системы: передаточная функция или разностное уравнение, т.е. коэффициенты фильтра;
- АЧХ и ФЧХ, определяющие тип частотной избирательности фильтра;
- Импульсная характеристика. Различают фильтры с конечной импульсной характеристикой (КИХ-фильтры) и фильтры с бесконечной импульсной характеристикой (БИХ-фильтры);
- Дополнительные характеристики: переходная функция, групповая и фазовая задержки, нуль-полюсная диаграмма и т.д.;
- Архитектура.
Типы частотно-избирательных фильтров
- Фильтр нижних частот (ФНЧ) – пропускает низкие частоты до определенной частоты среза и подавляет высокие частоты;
- Фильтр верхних частот (ФВЧ) – подавляет низкие частоты и пропускает высокие частоты;
- Полосно-пропускающий фильтр – пропускает сигнал только в определенной полосе частот и подавляет во всех остальных;
- Полосно-заграждающий фильтр – подавляет сигнал в определенной полосе частот и пропускает во всех остальных;
- Резонансный фильтр – пропускает сигнал на одной конкретной частоте;
- Фильтр-пробка – подавляет сигнал на одной конкретной частоте.
АЧХ этих типов фильтров схематически изображены на рисунке.
Спецификация фильтра на примере фильтра нижних частот
У АЧХ подобного фильтра можно выделить 3 основные полосы: полосу пропускания, полосу перехода и полосу заграждения.
Полоса пропускания (passband) – диапазон частот, в котором в идеале находится полезный сигнал. Граница полосы пропускания – частота . Она отсчитывается по уровню -3 дБ от максимума. Усиление сигнала в полосе пропускания в идеале должно быть постоянным, но на практике на АЧХ присутствуют нестабильности усиления, или пульсации. Уровень допустимых пульсаций в полосе пропускания определяется параметром (дБ).
Полоса заграждения (stopband) – диапазон частот, в котором сигнал должен гарантированно ослабляться не менее чем на дБ. Полоса заграждения начинается с частоты .
Полоса перехода (transition band) находится между этими полосами. Усиление в этой полосе плавно спадает. Чем уже полоса перехода, тем больший порядок должен иметь фильтр. Порядок – это количество коэффициентов фильтра, оно связано с количеством умножителей, необходимых для реализации фильтра.
Этапы проектирования цифрового фильтра
- Формирование спецификации фильтра исходя из его задачи;
- Выбор типа фильтра (КИХ/БИХ);
- Подсчет коэффициентов фильтра на основе выбранной спецификации и типа фильтра (это ключевой этап);
- Реализация (выбор архтитектуры, квантование, прототип "в железе").