На вашем сайте есть статья о расчете КИХ фильта: http://www.dsplib.ru/content/filters/fir/fir.html#r4. В конце есть пример расчета ФНЧ. Не могли бы вы уточнить как построена таблица "Значения реальной и мнимой частей комплексного коэффициента передачи" с практической точки зрения?
Вопрос 1. Если есть исходный сигнал с частотой дискретизации Fs = 22050 Гц что соответствует точке 2*Пи. Следовательно точка Пи = 11025 Гц. Следовательно частота среза 7*Пи/16 = 4823,4375 Гц?
Вопрос 2. Если пользователь сам хочет выбрать частоту среза ФНЧ (указанную в Герцах), то достаточно расчитать АЧХ от 0 до 7 элемента, а от 8 до 15 построить зеркально? В вышеуказанной таблице k15 = k1, k14=k2, ... k9 = k7. Тогда чему будет равен k8? Для ФНЧ очевидно = 0. А если это ФВЧ? А если это многополосный фильтр?
Реализация КИХ фильтра
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Реализация КИХ фильтра
Комплексный коэффициент передачи равен произведению реальной АЧХ которую вы задали и комплексной экспоненты с линейной ФЧХ, которую мы потребовали.7profy писал(а): ↑22 фев 2017, 11:12На вашем сайте есть статья о расчете КИХ фильта: http://www.dsplib.ru/content/filters/fir/fir.html#r4. В конце есть пример расчета ФНЧ. Не могли бы вы уточнить как построена таблица "Значения реальной и мнимой частей комплексного коэффициента передачи" с практической точки зрения?
да вроде так.
Пользователь может задать произвольную АЧХ от нуля до pi. После чего ее надо отразить, правильно продискретизировать и добавить линейную ФЧХ.7profy писал(а): ↑22 фев 2017, 11:12Вопрос 2. Если пользователь сам хочет выбрать частоту среза ФНЧ (указанную в Герцах), то достаточно расчитать АЧХ от 0 до 7 элемента, а от 8 до 15 построить зеркально? В вышеуказанной таблице k15 = k1, k14=k2, ... k9 = k7. Тогда чему будет равен k8? Для ФНЧ очевидно = 0. А если это ФВЧ? А если это многополосный фильтр?
Re: Реализация КИХ фильтра
Собственно в этом и вопрос. Посмотрим на вашу картинкуБахурин Сергей писал(а): ↑23 фев 2017, 00:21правильно продискретизировать
При четном количестве N=16 пользователь задает свою произвольную АЧХ для точек с 1 по 9 (т.е. до Пи включительно), а с 10 по 16 достраиваем автоматически зеркально относительно точки 9. Так?
Если после дискретизации АЧХ получили массив AFC[0..15] = (1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1).Бахурин Сергей писал(а): ↑23 фев 2017, 00:21коэффициент передачи равен произведению реальной АЧХ которую вы задали и комплексной экспоненты с линейной ФЧХ
Вычислили по формуле (13) ФЧХ и получили массив PFC[0..15] = (0.000, -2.945, -5.890, -8.836, -11.781, -14.726, -17.671, -20.617, 23.562, 20.617, 17.671, 14.726, 11.781, 8.836, 5.890, 2.945).
Что на что нужно умножить чтобы получить табличку как у вас?
PS. С праздником!
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Реализация КИХ фильтра
В соответствии с (15) массив ачх надо умножить на exp(j*phi(k)). Тогда реальная часть это |H(k)|·cos(phi(k)) а мнимая часть это |H(k)|·sin(phi(k)).
И вас с праздником
И вас с праздником
Re: Реализация КИХ фильтра
А что такое j, H(k) и phi(k)?Бахурин Сергей писал(а): ↑23 фев 2017, 09:02ачх надо умножить на exp(j*phi(k))
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Реализация КИХ фильтра
j это мнимая единица, H это ачх phi это фчх
Re: Реализация КИХ фильтра
Спасибо Вам огромнейшее! Пазл сложился в прекрасную картину - узкополосный эквалайзер заработал так как нужно!
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Реализация КИХ фильтра
Обращайтесь!