Расчет низкочастотного фильтра
Цель работы: освоить технологию проектирования цифровых фильтров средствами пакета «MATLAB»
Методические указания
В процессе цифровой обработки сигналов нередко возникает задача фильтрации сигнала в заданном диапазоне частот. Примером такой задачи может служить ситуация, когда сигнал содержит несколько гармоник, и необходимо выделить одну из них. Для этого необходимо спроектировать цифровой фильтр. В зависимости от расположения составляющих сигнала это может быть фильтр нижних, верхних частот, полосовой или заграждающий фильтр. Область частот в которой фильтр пропускает сигнал называется полосой пропускания,а область частот, в которой ослабление входного сигнала велико – полосой задерживания.
Рассмотрим следующий пример. Пусть имеется дискретный сигнал
,
где , и - частоты составляющих сигнала, - период дискретизации, - частота дискретизации сигнала; - гауссовский шум с нулевым средним и дисперсией . Требуется выделить синусоидальную составляющую с частотой . Для этого необходимо построить фильтр нижних частот с граничными значениями частот полосы пропускания и полосы задержания удовлетворяющих условию . Поскольку частота Найквиста , для нормализованных значений и это условие будет выглядеть
.
С ледовательно, переходная полоса амплитудно-частотной характеристики фильтра (АЧХ) не должна превышать величину . Эти требования схематично показаны на рис.1
Рис.1
Для решения поставленной задачи спроектируем нерекурсивный фильтр с полосой пропускания от 0 до 210 Гц и полосой задерживания от 980 до 4000 Гц, т.е. до частоты Найквиста. Кроме того, потребуем, чтобы АЧХ в полосе пропускания находилась в пределах [0.99, 1.01], а в полосе задерживания не превышала значения 0.0001. Для этого воспользуемся функциями пакета «MATLAB», оценивающим по заданным требованиям порядок фильтра и рассчитывающим его коэффициенты. Эти действия удобно выполнить с помощью графической программы FDAtool. Загрузим эту программу с помощью инструкции FDAtool. На экране появится панель Filter Design & Analysis Tool (рис.2)
Рис.2
Чтобы рассчитать фильтр необходимо выполнить следующие действия:
Выполнить команду меню Analysis| Filter Specifications…;
В поле Filter Type установить опцию Lowpass (фильтр нижних частот);
В поле Design Method установить опцию FIR\Equiripple (фильтр с конечной импульсной характеристикой);
В поле Filter Order установить опцию Minimum order (минимальный порядок фильтра);
В поле Frequency Specifications установить следующие опции:
Units:Hz ( Гц);
Fs: 8000 (частота дискретизации);
Fpass: 210 (верхняя частота полосы пропускания);
Fstop:980 (нижняя частота полосы задерживания);
В поле Magnitude Specifications установить опции:
Units : dB (логарифмическая АЧХ);
Apass=20*log(1.01)-20*log(0.99)=0.1737 (неравномерность АЧХ в полосе пропускания);
Astop=20*log(0.0001)=80 (ослабления в полосе задерживания).
После введения всех исходных данных необходимо нажать кнопку Design Filter.
После нажатия кнопки появится панель показанная на рис.2
Рис.3
В верхней части панели в поле Current Filter Information дается краткая информация о фильтре (тип фильтра, порядок фильтра, информация об устойчивости). В поле Magnitude Response in dB приводится график АЧХ. С помощь команд меню Analysis (рис.3) можно просмотреть основные характеристики фильтра:
Magnitude Response – АЧХ;
Phase Response – ФЧХ;
Magnitude Response and Phase Response - АЧХ и ФЧХ;
Impulse Response - импульсная характеристика фильтра;
Step Response - переходная характеристика фильтра;
Pole/zero Plot - распределение нулей и полюсов фильтра;
Filter Coefficients - коэффициенты фильтра;
Рис.4
После того как фильтр синтезирован, необходимо создать файл, в котором хранится вся информация о фильтре. Сделать это можно с помощью следующей команды меню File|Save session|Name. Для записи коэффициентов фильтра в рабочее пространство «MATLAB» необходимо воспользоваться следующей командой File|Export.
Do'stlaringiz bilan baham: |