Коэффициенты БИХ фильтров
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Коэффициенты БИХ фильтров
У вас ошибка в расчетах где-то. На АЧХ явно видно, что в полосе пропускания амплитуда пульсаций скачет.
У эллиптического фильтра пульсации в полосе пропускания и подавления должны быть равноволновыми (одной амплитуды). При частотных преобразованиях пульсации не меняются.
Постройте еще график в логарифмическом масштабе чтобы посмотреть пульсации в полосе заграждения, думаю там тоже не все ровно.
У эллиптического фильтра пульсации в полосе пропускания и подавления должны быть равноволновыми (одной амплитуды). При частотных преобразованиях пульсации не меняются.
Постройте еще график в логарифмическом масштабе чтобы посмотреть пульсации в полосе заграждения, думаю там тоже не все ровно.
Re: Коэффициенты БИХ фильтров
Да, и вправду у меня была ошибка в расчётах. Сейчас я всё исправил, сделал расчёт согласно Вашей методике, изложенной на странице http://www.dsplib.ru/content/filters/ch8/ch8.html, на этой странице закаралась небольшая ошибка в выражении (9) - 5.4 рад/с, а не 5.6, как указано. Но это мелочь, в целом мне удалось добиться полного совпадения результатов расчёта с теми, что и в рассмотренном примере. Однако, если для четверки частот, которая указана в примере (4, 5, 15, 18), всё идеально совпадает, то для комбинации частот, например, (4, 5, 12, 18), в результате расчёта и построения графика АЧХ получается график, который колебается между значениями (0.7943, 0.8912) в полосе пропускания вместо положенных (0.89125, 1). Пробовал комбинации (4, 5, 13, 18), (4, 5, 14, 18) - всё правильно получается, АЧХ в полосе пропускания доходит до 1, а при значениях верхней граничной частоты полосы пропускания ниже 12 (включительно) - максимальное значение АЧХ в полосе пропускания равно 0.8912 вместо единицы! Вы не сталкивались с таким явлением? С чем это может быть связано?
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Коэффициенты БИХ фильтров
думаю что там где колеблется (0.7943, 0.8912) порядок фильтра отличается от фильтра где правильно колеблется. Рекомендую проверить правильно ли применяется к-т согласно (16) статьи http://www.dsplib.ru/content/filters/ch6/ch6.html
Re: Коэффициенты БИХ фильтров
Наконец то мне удалось всё поправить, там и вправду дело было именно в этом коэффициенте! График АЧХ нормально строится, правда на болшей частоте заграждения не всегда достигается необходимое ослабление (при выборе частот как в примере - всё совпадает, в т. ч. коэффициенты a_i и b_i). Возникает вопрос, раз при реализации цифрового фильтра должны использоваться усилители с коэффициентами усиления, соответствующими a_i и b_i, а значения некоторых из этих коэффициентов получаются порядка 10^7, 10^8, неужели существуют элементы, которые способны выдать такие огромные коэффициенты усиления? Или используется какая-то нормировка при физической реализации? И ещё вопрос: я заметил, что если ко всем четырём частотам одновременно приписывать нули (например (1, 2, 8, 9) и (10, 20, 80, 90)), то для таких комбинаций частот коэффициенты a_i и b_i абсолютно идентичны! И ещё, если коэффициент отрицателен, то это соответствует ослаблению сигнала в соответствующее количество раз?
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Коэффициенты БИХ фильтров
при реализации цифрового фильтр не используются усилители. Используются умножители, а умножение на 10^7 или на 5 ничем не отличается по сути. Если коэффициент отрицателен, то значит умножение на отрицательное число. ПО частотам не понял. 1 2 8 9 это в чем частоты?
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2010, 09:29
Re: Коэффициенты БИХ фильтров
Вообще с эллиптическим фильтром все сложно вышло. Та мат-модель которая представлена на сайте мне не подошла в силу того что в выражении для полюсов в эллиптическую функцию передается комплексный аргумент. Т.е. мат-модель целенаправленно требует реализации эллиптических функций как функции комплексной переменной. Также у меня недостаточно знаний чтобы преобразовать приведенные формулы в требуемый мне вид. В тоже время я нашел и проверил библиотеку эллиптических функций от вещественного переменного. Выражение для рассчета v0 тоже в свое время не мог посчитать. Далее я начал искать другую мат-модель. В книге Parks T.W Digital Filter Design нашел то что мне надо. Я приведу её здесь, общие ссылки на формулы даны относительно статьи на сайте
1) Расчет параметра согласно (1)
2) Расчет параметра согласно (5). Это тот самый пересчет параметра k, про него
в книге не написано, но я решил его делать чтобы считать также как в программе filter.
3) Расчет комплиментарных эллиптических модулей и
4) Расчет согласно формуле
где K = K(k), K1 = K(k1) т.е. это полные эллиптические интегралы от соответствующих модулей. Этот v0 отличается от того v0 который рассчитывается в статье. У меня всегда он был больше в K раз. Т.е. v0 = v0_из_статьи * K;
5) Расчет нулей по формуле:
где для нечетного и четного i соответственно. Т.е. для нечетного i у нас нету нуля (он лежит на бесконечности)
6) Расчет полюсов по формуле:
где
и
для нечетного и четного i соответственно. Т.е. для нечетного i у нас есть дополнительный чисто вещественный полюс, его можно рассчитать по формуле:
7) Для расчета передаточной характеристики использовать H(s) из выражения (16). Gp и H(0) учитываются также как написано в статье.
Приведенная мат-модель не требует реализации эллиптических функций от комплексного аргумента, и позволяет по отдельности рассчитывать действительную и мнимую части полюсов, для того чтобы сразу рассчитать биквадратные блоки. Единственный нюанс это расчет . Его я рассчитал согласно коду на фортране приведенному в той же книге:
После расчета все коэффициенты совпадают с программой filter.
1) Расчет параметра согласно (1)
2) Расчет параметра согласно (5). Это тот самый пересчет параметра k, про него
в книге не написано, но я решил его делать чтобы считать также как в программе filter.
3) Расчет комплиментарных эллиптических модулей и
4) Расчет согласно формуле
где K = K(k), K1 = K(k1) т.е. это полные эллиптические интегралы от соответствующих модулей. Этот v0 отличается от того v0 который рассчитывается в статье. У меня всегда он был больше в K раз. Т.е. v0 = v0_из_статьи * K;
5) Расчет нулей по формуле:
где для нечетного и четного i соответственно. Т.е. для нечетного i у нас нету нуля (он лежит на бесконечности)
6) Расчет полюсов по формуле:
где
и
для нечетного и четного i соответственно. Т.е. для нечетного i у нас есть дополнительный чисто вещественный полюс, его можно рассчитать по формуле:
7) Для расчета передаточной характеристики использовать H(s) из выражения (16). Gp и H(0) учитываются также как написано в статье.
Приведенная мат-модель не требует реализации эллиптических функций от комплексного аргумента, и позволяет по отдельности рассчитывать действительную и мнимую части полюсов, для того чтобы сразу рассчитать биквадратные блоки. Единственный нюанс это расчет . Его я рассчитал согласно коду на фортране приведенному в той же книге:
Код: Выделить всё
c--------------ARC ELLIPTIC TANGENT---------------
FUNCTION ARCSC(U,KC)
REAL KC
A = 1.0
B = KC
Y = 1.0/U
L = 0
DO 10 J = 1, 15
BT = A*B
A = A + B
B = 2.0*SQRT (BT)
Y =Y-BT/Y
IF (Y .EQ. 0) Y = SQRT(BT)*1E-10
IF (ABS(A-B) .LT. (A* 1.2E-7) ) GOTO 15
L = 2*L
IF (Y .LT. 0) L = L + 1
10 CONTINUE
PRINT *,'ARCSC FAILED TO CONVERGE'
GOTO 16
15 IF (Y .LT. 0) L = L + 1
16 ARCSC = (ATAN(A/Y) + 3.141592654*L)/A
RETURN
END
Последний раз редактировалось Dmitri Seva 17 апр 2011, 16:05, всего редактировалось 4 раза.
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Коэффициенты БИХ фильтров
Да интересная книга. Выражения для полюсов тоже очень интересные, не встречал раньше. Спасибо.
-
- Сообщения: 34
- Зарегистрирован: 15 апр 2011, 18:02
Re: Коэффициенты БИХ фильтров
Здравствуйте! Скажите,а почему все стараются избегать FFT фильтрацию? Т.е делаем БПФ, затем оставляем нужные нам частоты,а остальные члена ряда БПФ обнуляем или приравниваем некоторому малому значению а затем делаем ОБПФ. Вроде бы этот метод самый простой и понятный из всех,но раз его никто не использует, хотелось бы узнать в чем его недостатки по сравнению с фильтрами КИХ и БИХ?
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Коэффициенты БИХ фильтров
Во первых это приводит к появлению очень длинных переходных процессов. Во вторых вы не регулируете уровень боковых лепестков АЧХ фильтра, поскольку не можете наложить весовое окно. В третьих после произведения спектров вы на выходе получаете результат круговой свертки, а КИХ фильтрация соответствует линейной, поэтому для чистоты требуется преобразовать круговую свертку в линейную. Возьмите функцию Хевисайда и попробуйте к ней применить fft фильтрацию и вы увидите что результат вас не вдохновит.
Re: Коэффициенты БИХ фильтров
Вот вопрос: а ведь наверняка кто-нибудь моделировал в Simulink аналоговые и цифровые фильтры с помощью соответствующих блоков из библиотеки Simulink? Вот я попробовал создать имитационную модель, в которой синусоидальный сигнал проходит через аналоговый нормированный ФНЧ. Коэффициенты для блока "Transfer Fcn", моделирующего фильтр, взял из методики, приведённой здесь на сайте. Но почему-то осцилограмма сигнала на выходе аналогового фильтра практически не зависит от частоты синусоидального колебания на входе фильтра (частоты пробовал брать как из полосы пропускания, так и в полосе задерживания). Но АЧХ такого ФНЧ ведь строится правильно! В чём же может быть моя ошибка? Может кто подскажет? Буду признателен!
P.S.: Вот ссылки на 2 скрина с моделью и исходными данными: http://www.imagebar.net/out.php/i96843_ ... MTEST1.png, http://www.imagebar.net/out.php/i96844_ ... MTEST2.png. Частота в примере взята 0.5 рад/с, т.е. из полосы пропускания фильтра, а на нижней осцилограмме виден сильно ослабленный и искажённый сигнал!
P.S.: Вот ссылки на 2 скрина с моделью и исходными данными: http://www.imagebar.net/out.php/i96843_ ... MTEST1.png, http://www.imagebar.net/out.php/i96844_ ... MTEST2.png. Частота в примере взята 0.5 рад/с, т.е. из полосы пропускания фильтра, а на нижней осцилограмме виден сильно ослабленный и искажённый сигнал!