"Оптимальные" коэффициенты БИХ фильтра
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Теорема.
Для любого фильтра Баттерворта, заданного Rp и Fн всегда существует Rpopt<Rp при котором все коэффициенты фильтра a0,a1,a2... и b0, b1, b2... - целые числа.
Какие будут Ваши доказательства? (с)
Доказательства:
Будем использовать обозначения из статьи:
http://www.dsplib.ru/content/filters/bu ... terex.html
Обозначим:
Для любого фильтра Баттерворта, заданного Rp и Fн всегда существует Rpopt<Rp при котором все коэффициенты фильтра a0,a1,a2... и b0, b1, b2... - целые числа.
Какие будут Ваши доказательства? (с)
Доказательства:
Будем использовать обозначения из статьи:
http://www.dsplib.ru/content/filters/bu ... terex.html
Обозначим:
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Рассмотрим параметр
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Всегда можно выбрать Rp так, чтобы где m,n - целые числа.
Таким образом всегда можно получить целые коэффициенты а0, а1, а2, а3, а4
Таким образом всегда можно получить целые коэффициенты а0, а1, а2, а3, а4
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Рассмотрим численный пример из статьи
http://www.dsplib.ru/content/filters/bu ... terex.html
F/FN=0.2
Rp= 1dB
При этих параметрах коэффициенты фильтра будут иметь значения:
Коэффициенты b:
3.046671490170830400e-002
9.140014470512491900e-002
9.140014470512491900e-002
3.046671490170830400e-002
Коэффициенты a:
1.000000000000000000e+000
-1.482584642288506100e+000
9.296437126954588700e-001
-2.033253511932863700e-001
Положим
При этом Rp=1.096715
а0=273/125
а1=-411/125
а2=259/125
а3=-57/125
http://www.dsplib.ru/content/filters/bu ... terex.html
F/FN=0.2
Rp= 1dB
При этих параметрах коэффициенты фильтра будут иметь значения:
Коэффициенты b:
3.046671490170830400e-002
9.140014470512491900e-002
9.140014470512491900e-002
3.046671490170830400e-002
Коэффициенты a:
1.000000000000000000e+000
-1.482584642288506100e+000
9.296437126954588700e-001
-2.033253511932863700e-001
Положим
При этом Rp=1.096715
а0=273/125
а1=-411/125
а2=259/125
а3=-57/125
- Бахурин Сергей
- Администратор
- Сообщения: 1114
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Интересные у вас фильтры получаются. Интересно для чебышева так можно? В любом случае даже для батерворта это уже интересно. Не хотели бы написать статейку на эту тему для сайта?
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Для фильтров Чебышева не смотрел ещё. Статью написать можно, но рановато по-моему. Мне кажется с целочисленными алгоритмами давно работали, так что это всё "хорошо забытое старое".Бахурин Сергей писал(а):Интересные у вас фильтры получаются. Интересно для чебышева так можно? В любом случае даже для батерворта это уже интересно. Не хотели бы написать статейку на эту тему для сайта?
А ограничения получаются довольно существенные (по порядку фильтра).
Если
(Rp=0.961160358 dB)
то коэффициенты а:
2225121
-3277037
2050563
-447279
то есть в 16 разрядов уже "не влезают", да и от деления на а0 никак не избавиться.
При порядке фильтра 4 наверное уже и в 32-разряда коэффициенты не поместятся
Я хочу сказать, что область применения таких алгоритмов существенно ограничена (микроконтроллеры).
Но "крутые" микроконтроллерщики тоже этой темой особо не заинтересовались :
http://www.wasm.ru/forum/viewtopic.php?id=50598
Вот фильтр Бесселя было бы интересно рассмотреть!
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Сравнение результатов.
F/FN=0.2
Rp=0.961160358 dB
F/FN=0.2
Rp=0.961160358 dB
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Краткая сводка коэффициентов фильтра Бттерворта порядка 1-3:
N=1
N=2
N=3
N=1
N=2
N=3
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Красивый фильтр: F/FN=0.5 Rp=3.010299957 dB
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: "Оптимальные" коэффициенты БИХ фильтра
Можно ещё попытаться найти "красивые" коэффициенты:
Надо отметить, что для фильтра Баттерворта любого порядке при
все нечётные коэффициенты
Теперь мне стало понятно, почему раньше в предварительных усилителях многоканальных сейсмостанций ФНЧ всегда имели частоту среза равную (Частота Найквиста)/2.
"Тупо" экономили прецизионные конденсаторы ...
Всегда говорил - "древние люди" были не дураки!
Надо отметить, что для фильтра Баттерворта любого порядке при
все нечётные коэффициенты
Теперь мне стало понятно, почему раньше в предварительных усилителях многоканальных сейсмостанций ФНЧ всегда имели частоту среза равную (Частота Найквиста)/2.
"Тупо" экономили прецизионные конденсаторы ...
Всегда говорил - "древние люди" были не дураки!