"Оптимальные" коэффициенты БИХ фильтра
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Рассмотрим, как можно легко получить коэффициенты полосового фильтра, основываясь лишь на знании коэффициентов ФНЧ.
Наиболее просто это сделать для полосовых фильтров, центральная частота которых = 0.5
Пусть полоса фильтра =0.2
1. Создаём ФНЧ с частотой равной полосе (0.2)
2. Превращаем его в ФВЧ с частотой 0.8 меняя знаки нечётных коэффициентов
3. "Разбавляем" полученные коэффициенты 0 (через один)
Коэффициенты ПФ с полосой 0.4-0.6 готовы!
Подчеркну, что это справедливо для всех типов фильтров любого порядка!
Вот пара картинок:
Наиболее просто это сделать для полосовых фильтров, центральная частота которых = 0.5
Пусть полоса фильтра =0.2
1. Создаём ФНЧ с частотой равной полосе (0.2)
2. Превращаем его в ФВЧ с частотой 0.8 меняя знаки нечётных коэффициентов
3. "Разбавляем" полученные коэффициенты 0 (через один)
Коэффициенты ПФ с полосой 0.4-0.6 готовы!
Подчеркну, что это справедливо для всех типов фильтров любого порядка!
Вот пара картинок:
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Подведём некоторые итоги:
Зная только коэффициенты ФНЧ, путем элементарных преобразований можно получить ФВЧ, полосовой и режекторный фильтр.
Зная только коэффициенты ФНЧ, путем элементарных преобразований можно получить ФВЧ, полосовой и режекторный фильтр.
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Несколько полезных формул:
ФНЧ
ФВЧ
ПФ
ФНЧ
ФВЧ
ПФ
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
ФНЧ Баттерворта 2 порядка:
Переход от H(s) непосредственно к коэффициентам H(z) с использованием "матрицы z-преобразования":
ФНЧ:
ФВЧ:
Переход от H(s) непосредственно к коэффициентам H(z) с использованием "матрицы z-преобразования":
ФНЧ:
ФВЧ:
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
В более общем случае:
Переход от H(s) непосредственно к коэффициентам H(z) с использованием "матрицы z-преобразования":
ФНЧ:
Переход от H(s) непосредственно к коэффициентам H(z) с использованием "матрицы z-преобразования":
ФНЧ:
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Отметим, что преобразование вида ФВЧ - ПФ:
даёт полосовой фильтр с центральной частотой =0.5 (сдвиг pi/2).
даёт полосовой фильтр с центральной частотой =0.5 (сдвиг pi/2).
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Мое мнение таково, что большой разницы нет как осуществлять переход от аналогового фильтра к цифровому. Я предпочитаю делать частотные преобразования аналоговой H(s) (просто мне кажутся формулы проще) и потом билинейное преобразование сразу в ту H(z) какая требуется. Ваш подход отличается тем что идет пересчет из ФНЧ H(s) через билинейное преобразование скрещенное с частотным преобразованием. Вполне нормальный подход который ничем не хуже. Также существуют формулы частотных преобразований H(z) ФНЧ в H(z) ФВЧ, ПФ и РФ. Так или иначе все преобразования требуют дробной подстановки и приводят к перемножению полиномов и накоплению ошибок округления. Особенно это хорошо видно на примере эллиптических фильтров когда они разваливаются если порядок фильтра становится слишком большой.
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Пример из:
http://www.dsplib.ru/content/subst/subst.html
Мне кажется, что моя запись для коэффициентов an компактнее: К тому же я умножаю матрицу на вектор, состоящий из коэффициентов при S в аналитическом виде!
Это позволяет описать сразу фильтр с любыми параметрами:
А для алгоритма численного расчёта дробно рациональной подстановки этот расчёт каждый раз приходится повторять!
http://www.dsplib.ru/content/subst/subst.html
Мне кажется, что моя запись для коэффициентов an компактнее: К тому же я умножаю матрицу на вектор, состоящий из коэффициентов при S в аналитическом виде!
Это позволяет описать сразу фильтр с любыми параметрами:
А для алгоритма численного расчёта дробно рациональной подстановки этот расчёт каждый раз приходится повторять!
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
А здесь принцип - один раз вычислил формулы коэффициентов - и забыл про дробно рациональную подстановку (до другого порядка или типа фильтра)
Мне кажется, что проблема накопления ошибок при дробно рациональной подстановке сильно преувеличена!
(по крайней мере для фильтров Баттерворта и Чебышева).
Я не уверен получиться ли такая методика с фильтрами Кауэра. То есть получится ли получить коэффициенты при S в аналитическом виде?
Мне кажется, что проблема накопления ошибок при дробно рациональной подстановке сильно преувеличена!
(по крайней мере для фильтров Баттерворта и Чебышева).
Я не уверен получиться ли такая методика с фильтрами Кауэра. То есть получится ли получить коэффициенты при S в аналитическом виде?
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Фильтр Баттерворта 8 порядка.
Будем пользоваться обозначениями, принятыми в статье:
http://www.dsplib.ru/content/filters/ch3/ch3.html
Обозначим:
Обозначим
и заводим в "калькулятор" http://www.mathsolution.ru/math-task/simplifi-polynom следующее выражение:
После несложных преобразований получим:
Обозначим:
С помощью калькулятора определяем матрицу z-преобразования и сразу записываем выражения для искомых коэффициентов an:
Будем пользоваться обозначениями, принятыми в статье:
http://www.dsplib.ru/content/filters/ch3/ch3.html
Обозначим:
Обозначим
и заводим в "калькулятор" http://www.mathsolution.ru/math-task/simplifi-polynom следующее выражение:
После несложных преобразований получим:
Обозначим:
С помощью калькулятора определяем матрицу z-преобразования и сразу записываем выражения для искомых коэффициентов an: