Целочисленное проектирование фильтров

Все что касается фильтрации
Vlad27
Сообщения: 86
Зарегистрирован: 06 апр 2015, 10:09
Откуда: г, Нижний Новгород (rif27@bk.ru)

Re: Целочисленное проектирование фильтров

Сообщение Vlad27 »

Kit_nn писал(а):Предлагаю обсуждение перенести в новую тему, мне вопросы цифровых сплиттеров (микшеров), возможность перестройки и борьбы с фазовыми искажениями так же весьма интересны.
На ваш запрос, Н.С., о возможности ЦНП-синтеза IIR-фильтра с представленными характеристиками (АЧХ и ФЧХ) вашего «эквалайзера», хочу передать решение этой задачи пакетом ЦНП.
Звено a0 a1 a2 b0 b1 b2
__1)__1024_–1411__800__-393__635__-277
__2)__1024__-704__762___91___216__181
__3)__1024_–1930__931__120__-49____22
__4)__1024__1066__635__-641__-369__-1251
__5)__1024__-958__531___164__1820__-1373
__6)__1024__1504__624__1094__1960__-350
__7)__1024___-49__658__-786___604__-1740
__8)__1024__606___610__705___1945__298
__9)__1024_–1787__906__-422___955__-711
Это показательная задача ЦНП-синтеза уже по АЧХ произвольной формы и линейной ФЧХ от КИХ-фильтра с симметричной ИХ. Естественно, «против лома нет приёма» и любой БИХ-фильтр даст только возможное приближение к ФЧХ симметричного КИХ-фильтра. Эту «страшную» АЧХ с сильными биениями на малых углах цифровой частоты мы вводили в программу довольно грубо, визуально, прямо с вашего графика, не имея его табулированного представления. Как видно, задача вполне успешно решилась целочисленным IIR-фильтром 18-го порядка с представлением данных в 12 бит. Требования по АЧХ с учётом погрешности визуального ввода выполнены полностью, а ФЧХ вполне линейна в сравнении с КИХ-прототипом, видна только малая рябь в узкой зоне «резкого колыхания» АЧХ. И это всё только на 18-ти отсчётах окна БИХ-фильтра. А какой порядок КИХ-прототипа был у вас? Сотни две отсчётов, не менее, я думаю.
P.S. Видно, как искажает видеоимпульс фильтр с такой АЧХ (реализация на TMS320)
Вложения
zoom_АЧХ.gif
zoom_АЧХ.gif (9.31 КБ) 10052 просмотра
zoom_ФЧХ.gif
zoom_ФЧХ.gif (9.05 КБ) 10052 просмотра
Gain_9zv_R12_All_forum.gif
Faza_All.gif
Eqval.jpg

trofim2
Сообщения: 14
Зарегистрирован: 24 апр 2015, 13:44
Откуда: Гродно By

Re: Целочисленное проектирование фильтров

Сообщение trofim2 »

Уважаемый Santik.
Прошу еще раз Вашей помощи.
В статье "Цифровые рекурсивные фильтры. Часть 4." (http://we.easyelectronics.ru/Theory/cif ... ast-4.html)
Вы доходчиво расписали расчет режекторного фильтра. По этой методике я пересчитал под свои параметры. Получил формулу
Y[n]=1/256*(248 X[n]-494 X[n-1]+248 X[n-2]+494 Y[n-1]-239 Y[n-2].
Fr = 50 Гц, Fn = 1750 Гц, ATmega16.
Режекция работает замечательно, но частотная характеристика в области нижних частот от частоты 16 Гц и ниже имеет подъем +4дБ (1,6 раз). В чем у меня может быть ошибка.

А что такое Изи?

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Santik »

trofim2 писал(а): А что такое Изи?
Сокращение от easyelectronics :D
trofim2 писал(а): Режекция работает замечательно, но частотная характеристика в области нижних частот от частоты 16 Гц и ниже имеет подъем +4дБ (1,6 раз). В чем у меня может быть ошибка.
Я думаю ошибка произошла при "округлении" коэффициентов...
Попробуйте пересчитать на 1024:
Y[n]=1/1024*(X[n]* B_0+............)
Может Vlad27 попросит своих студентов рассчитать коэффициенты на ваши параметры.... Но у него тоже коэффициент a_0=1024 получается...

Vlad27
Сообщения: 86
Зарегистрирован: 06 апр 2015, 10:09
Откуда: г, Нижний Новгород (rif27@bk.ru)

Re: Целочисленное проектирование фильтров

Сообщение Vlad27 »

trofim2 писал(а): ...Режекция работает замечательно, но частотная характеристика в области нижних частот от частоты 16 Гц и ниже имеет подъем +4дБ (1,6 раз). В чем у меня может быть ошибка.
Уважаемый trofim, но наше решение режектора 50 Гц приведено на стр.10 данного
раздела, а его практическая реализация показана ниже.
Сравните со своим

trofim2
Сообщения: 14
Зарегистрирован: 24 апр 2015, 13:44
Откуда: Гродно By

Re: Целочисленное проектирование фильтров

Сообщение trofim2 »

У себя нашел ошибку. Последний к-т заменить на 240.
Моя реализация.
Вложения
FiltrBandStop.zip
(822 байт) 458 скачиваний

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Santik »

[ref]trofim2[/ref], в статье "Цифровые рекурсивные фильтры. Часть 4." http://we.easyelectronics.ru/Theory/cif ... ast-4.html дал ссылку на Вашу реализацию.

trofim2
Сообщения: 14
Зарегистрирован: 24 апр 2015, 13:44
Откуда: Гродно By

Re: Целочисленное проектирование фильтров

Сообщение trofim2 »

Мне бы еще простой ФВЧ с частотой среза не более 1 Гц при частоте выборок 3500 Гц.

В моем примере режекторного фильтра частота выборок 3500 Гц, 1750 это частота Найквиста.
Исправьте пожалуйста.

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Santik »

Исправил.
trofim2 писал(а): Мне бы еще простой ФВЧ с частотой среза не более 1 Гц при частоте выборок 3500 Гц.
А режектор не на 50 Гц, а на 0 Гц не поможет?

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Santik »

Вот такой фильтр попробуйте:
y[n]=0,99505*(X[n]-X[n-1])+0,9901 Y[n-1]
Его только в целые коэффициенты надо перевести....

trofim2
Сообщения: 14
Зарегистрирован: 24 апр 2015, 13:44
Откуда: Гродно By

Re: Целочисленное проектирование фильтров

Сообщение trofim2 »

Докладываю:
Первый к-т ~= 1 - это к-т передачи - игнорируем за ненадобностью.
Второй к-т: Частота среза:
253 (0,98828125) - около 6,4 Гц;
254 (0,9921875) - около 4,9 Гц;
255 (0,99609375) - около 3 Гц.
Измерения достаточно грубые, но меня точность устраивает.
Я бы согласился на фильтр второго порядка, если бы можно было бы понизить частоту среза.

Ответить