Реализация фильтра с конечной импульсной характеристикой

Фильтр с конечной импульсной характеристикой (нерекурсивный фильтр, КИХ-фильтр) или FIR-фильтр (Finite Impulse Response) - один из видов линейных цифровых фильтров, характерной особенностью которого является ограниченность по времени его импульсной характеристики (с какого-то момента времени она становится точно равной нулю). Такой фильтр называют ещё нерекурсивным из-за отсутствия обратной связи в схеме его реализации. Знаменатель передаточной функции такого фильтра — некая константа. Поведение и эффективность работы фильтра определяется его коэффициентами.

В данной работе (Chapter 6 Teaching ROM) мы рассмотрим фильтр низких частот с частотой среза 800 Гц, при различных значениях коэффициентов. Коэффициенты фильтра в проекте хранятся в файле Hamming.h.

Для начала нужно создать синусоидальный сигнал, который будет содержать несколько гармоник (т.е. сигналов кратных частот, например 500 Гц, 1000 Гц, 1500 Гц) (Рисунок 5.18). Видно, что форма сигнала довольно сложна. Воспользуемся программой Cool Edit. И для подачи этого сигнала на ЦСП, подключим STEREO IN платы к линейному выходу компьютера. Для того чтобы наблюдать результат фильтрации сигнала подключим STEREO OUT платы к линейному входу компьютера. Будем записывать сигнал с помощью программы Cool Edit или наблюдать его на экране осциллографа.

Реализация фильтра с конечной импульсной характеристикой - student2.ru

Рис. 5.18. Форма входного сигнала

Для вычисления коэффициентов воспользуемся утилитой FDA Tool из пакета приложений MatLab. После запуска этой утилиты, откроется окно (Рис. 5.19.), в котором можно выбрать необходимые параметры требуемого фильтра.

Реализация фильтра с конечной импульсной характеристикой - student2.ru

Рис. 5.19. Окно настройки фильтра

После выполнения основных настроек, можно менять порядок (количество коэффициентов) фильтра, выставляя нужное нам значение в поле Specify order. Далее выбрав Targets - Generate C header откроется окно, в котором можно выбрать в каком формате коэффициенты фильтра будут представлены в заголовочном файле нашего проекта. И по нажатию кнопки Generate будет создан заголовочный файл, данные из которого мы можем скопировать в файл, в котором хранятся коэффициенты для фильтра из нашего проекта.

Таким способом сгенерированы 2 набора коэффициентов, которые приведены в приложении (Приложение I) для задания и показаны АЧХ для каждого из наборов (Рис. 5.20., Рис. 5.21.):

Реализация фильтра с конечной импульсной характеристикой - student2.ru

Рис. 5.20. АЧХ КИХ-фильтра 100-ого порядка

Реализация фильтра с конечной импульсной характеристикой - student2.ru

Рис. 5.21. АЧХ КИХ-фильтра 200-ого порядка

Из приведённых АЧХ видно, что с ростом порядка увеличивается крутизна на заданной частоте и в полосе пропускания характеристика становится более плоской.

Важно не забыть поменять в проекте значение N (количество коэффициентов у фильтра) в модуле FIR_filters_asm.asm.

Реализация фильтра с конечной импульсной характеристикой - student2.ru

Рис. 5.22. Отфильтрованный сигнал при наборе из 101 коэффициента (сверху - исходный сигнал, снизу - отфильтрованный сигнал)

Реализация фильтра с конечной импульсной характеристикой - student2.ru

Рис. 5.23 Отфильтрованный сигнал при наборе из 201 коэффициента (сверху - исходный сигнал, снизу - отфильтрованный сигнал)

Результаты работы фильтров приведены на Рис. 5.22. и Рис. 5.23. Наглядно видно, что с ростом порядка фильтра улучшается степень фильтрации и можно наблюдать гармонический сигнал 500Гц практически идеальным.

БИБЛИОГРАФИЯ

1.А.Оппенгейм, Р.Шафер Цифровая обработка сигналов – Техносфера, 2007. – 855с.

2.А.Б.Сергиенко Цифровая обработка сигналов - Питер, 2006. - 750с.

3.www.ti.com, Technical Reference Manual TMS320C5535 DSP (Техническое справочное руководство файл spruh87c.pdf), 2012. – 545с.

4.www.ti.com, Assembly Language Tools User’s Guide (файл spru280h.pdf), 2004. – 523с.

5.www.ti.com, TMS320C5535, 'C5534, 'C5533, 'C5532 Fixed-Point Digital Signal Processors (файл sprs737b.pdf), 2012, - 156с.

6.Г.Олссон, Д.Пиани Цифровые системы автоматизации и управления – Невский Диалект, 2001. – 506с.

ПРИЛОЖЕНИЯ

Первый набор коэффициентов FIR фильтра из 101 коэффициента:

{ -15, -16, -17, -19, -21, -24, -27, -29, -32, -35, -38, -40, -42, -43, -42, -40, -37, -31, -23, -13, 0, 16, 35, 58, 84, 113, 146, 182, 222, 264, 309, 357, 407, 459, 512, 566, 620, 674, 727, 778, 827, 874, 918, 957, 993, 1024, 1050, 1070, 1085, 1094, 1097, 1094, 1085, 1070, 1050, 1024, 993, 957, 918, 874, 827, 778, 727, 674, 620, 566, 512, 459, 407, 357, 309, 264, 222, 182, 146, 113, 84, 58, 35, 16, 0, -13, -23, -31, -37, -40, -42, -43, -42, -40, -38, -35, -32, -29, -27, -24, -21, -19, -17, -16, -15}

Второй набор коэффициентов FIR фильтра из 201 коэффициента:

{ -7, -7, -6, -6, -5, -5, -4, -3, -2, -1, 0, 1, 3, 4, 6, 8, 10, 12, 14, 17, 19, 21, 24, 26, 28, 30, 32, 33, 34, 35, 35, 34, 33, 32, 30, 27, 23, 18, 13, 7, 0, -8, -16, -25, -34, -44, -55, -65, -76, -87, -97, -108, -117, -127, -135, -142, -148, -152, -154, -155, -154, -150, -145, -136, -125, -112, -95, -76, -53, -28, 0, 31, 64, 101, 139, 180, 223, 268, 315, 363, 412, 461, 511, 561, 611, 660, 708, 755, 799, 842, 882, 920, 954, 985, 1013, 1036, 1056, 1071, 1083, 1089, 1092, 1089, 1083, 1071, 1056, 1036, 1013, 985, 954, 920, 882, 842, 799, 755, 708, 660, 611, 561, 511, 461, 412, 363, 315, 268, 223, 180, 139, 101, 64, 31, 0, -28, -53, -76, -95, -112, -125, -136, -145, -150, -154, -155, -154, -152, -148, -142, -135, -127, -117, -108, -97, -87, -76, -65, -55, -44, -34, -25, -16, -8, 0, 7, 13, 18, 23, 27, 30, 32, 33, 34, 35, 35, 34, 33 32, 30, 28, 26, 24, 21, 19, 17, 14, 12, 10, 8, 6, 4, 3, 1, 0, -1, -2, -3, -4, -5, -5, -6, -6, -7, -7}



Наши рекомендации