Дискретная
одномерная фильтрация
MATLAB может
использоваться для моделирования работы цифровых фильтров. Для обеспечения дискретной
одномерной фильтрации используется функция filter в следующих формах записи:
-
filter(B.A.X)
— фильтрует одномерный массив данных X, используя дискретный фильтр, описываемый
следующим конечноразностным уравнением:
a(l)*y(n)
= b(1)*x(n) + b(2)*х(п-1) + ... + b(nb+l)*x(n-nb) -- а(2)*у(п-1) - ... - a(na+l)*y(n-na).
Если а(1)
не равно 1, то коэффициенты уравнения нормализуются относительно а (1). Когда
X — матрица, функция filten оперирует столбцами X. Возможна фильтрация многомерного
(размерности
N)
массива.
-
[Y. Zf]=fi
1 ten(В, A. X, Zi) — выполняет фильтрацию с учетом ненулевого начального
состояния фильтра Zi; возвращает помимо выходного сигнала Y конечное состояние
фильтра Zf;
-
filter(B.A.X,[
].dim) или fi!ter(B.A,X.Zi .dim) — работает в направлении размерности dim
Рассмотрим
типовой пример фильтрации гармонического сигнала на фоне других сигналов — файл
с именем filtdem.m из пакета расширения Signal Processing Toolbox.
Следующий
кадр иллюстрирует конструирование фильтра с достаточно плоской вершиной амплитудно-частотной
характеристики (АЧХ) и полосой частот, обеспечивающего выделение сигнала с частотой
15 Гц и подавление сигналов с частотами 5 и 30 Гц. Для формирования полосы пропускания
фильтра используется функция el 11 р, а для построения АЧХ — функция freqz (обе
— из пакета Signal Processing Toolbox). Это позволяет построить график АЧХ созданного
фильтра.
Следующий
кадр примера иллюстрирует эффективность выделения сигнала заданной частоты (15
Гц) с помощью операции фильтрации — функции filter, описанной выше. Можно заметить
два обстоятельства — полученный стационарный сигнал практически синусоидален,
что свидетельствует о высокой степени фильтрации побочных сигналов. Однако нарастание
сигнала во времени идет достаточно медленно и занимает несколько периодов частоты
полезного сигнала. Характер нарастания сигнала во времени определяется переходной
характеристикой фильтра.
Заключительный
кадр показывает спектр исходного сигнала и спектр сигнала на выходе фильтра
(он показан линиями другого цвета, что, к сожалению, не видно на черно-белом
рисунке). Для построения спектров используется прямое преобразование Фурье —
функция fft.
Этот пример
наглядно иллюстрирует технику фильтрации. Рекомендуется просмотреть дополнительные
примеры, которые есть в разделе Demos системы применительно к пакету расширения
Signal Processing (если этот пакет установлен).
Содержание раздела