реклама на сайте
подробности

 
 
> IIR (БИХ) фильтры
phantom
сообщение Dec 16 2010, 06:14
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Может кто видел литературу (статьи) где выведены формулы расчета коеффициентов (a0,a1..,b0,b1..) БИХ-фильтров Баттерворта Чебышева и Бесселя от частоты- (Для ФНЧ, ФВЧ, полосно-пропускающего, и полосно-задерживающего), хотя бы до 4-го порядка ? Поделитесь плз. 1111493779.gif


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 30)
alexeyv
сообщение Dec 16 2010, 06:24
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



В матлабе их просто получить, есть специальный мастер. FDA Toll -> Filter design. Порядок любой (я обычно использую 6-го). Вручную не считаю - геморойно
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 16 2010, 08:55
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Цитата(alexeyv @ Dec 16 2010, 13:24) *
В матлабе их просто получить, есть специальный мастер. FDA Toll -> Filter design. Порядок любой (я обычно использую 6-го). Вручную не считаю - геморойно

не, мне надо плавно изменять частоту в софтовом фильтре, поэтому матлаб и всякие сервисы не катят.


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
bahurin
сообщение Dec 17 2010, 02:57
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Как рассчитывать фильтры написано на этом сайте. Еще могу порекомендовать книгу Лем аналоговые и цифровые фильтры в ней все очень подробно и с примерами
Go to the top of the page
 
+Quote Post
alexeyv
сообщение Dec 17 2010, 03:45
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



Позвольте полюбопытствовать:

1. На какой платформе хотите сие реализовать? PC? ARM? DSP?

2. Перерасчет коэфицентов фильтра будет не быстрым, поэтому как будете реализовывать плавность регулирования частоты?

3. Какой шаг и какой дапазон изменения частот?
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 17 2010, 04:43
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



На PC. Если использовать универсальные алгоритмы поиска коеффициентов, то конечно все будет медленно. Но если иметь готовые формулы - то наоборот. Я вывел формулы для Баттерворта ФНЧ ФВЧ 1 и 2 порядка, там просто: например для 1-го ФНЧ а0=w0/(1+w0), a1=a0, b1=(1-w0)/(1+w0) - все работает. Если не найду - придется вывести, просто думаю, нечего изобретать велосипед - это уже наверняка кто-то сделал до меня. Можно конечно пересчитать коефф. по программам и записать в массивы для диапазона 20Гц-20кГц с шагом 1Гц sm.gif , но это как-то тупо.


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
bahurin
сообщение Dec 17 2010, 06:29
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Ну не знаю. Что-то как-то я не встречал нигде готовых формул для коэффициентов фильтров. Например матлаб и среды ему подобные исользуют билинейное преобразование для расчета бих фильтров и формулы частотных преобразований фильтров (фнч-фнч, фнч-фвч, фнч-пф и фнч-рф). Думаю, что вывести готовые формулы для коэффициентов фильтра 3-10 порядка будет уже проблемотично. Хотя отрицать ничего не могу.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Dec 17 2010, 06:50
Сообщение #8





Guests






Для БИХ невысокого порядка вполне уместно использование билинейного преобразования - это если врукопашную.
В противном случае - алгоритм Ремеза, МНК и др.
Go to the top of the page
 
+Quote Post
thermit
сообщение Dec 17 2010, 06:51
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Откуда - не помню.
Считает все фильтры, кроме бесселя.

Прикрепленные файлы
Прикрепленный файл  FDES.RAR ( 18.09 килобайт ) Кол-во скачиваний: 161
 
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 17 2010, 11:18
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Цитата(thermit @ Dec 17 2010, 13:51) *
Откуда - не помню.
Считает все фильтры, кроме бесселя.

Спасибо! Правда там вряд ли в риалтайме потянет. Но все равно спасибо, если софт рабочий!


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
thermit
сообщение Dec 17 2010, 13:17
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Софт рабочий. Для реального времени - а оно надо, если подумать?
Хотя, для встроенного применения этот софт плохо подходит.

У меня где-то есть прямые выражения для к-ов баттерворта и чебышева фнч/фвч.
Надо искать...
Go to the top of the page
 
+Quote Post
PetrovichKR
сообщение Dec 23 2010, 18:34
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 20-03-10
Пользователь №: 56 092



Цитата
не, мне надо плавно изменять частоту в софтовом фильтре, поэтому матлаб и всякие сервисы не катят.

Я так понимаю, Вам нужно просто сделать перестройку по частоте без изменения характеристик самого фильтра (ширина полосы пропускания, неравномерность АЧХ и т. д.). Хочу предложить несколько нестандартное решение проблемы. Хотя с какой стороны посмотреть, может и вполне стандартное...
Мне представляется такое решение. Сам фильтр перестроить тяжело, так зачем перестраивать именно его? Можно входной сигнал умножать на синус нужной Вам частоты, получая преобразование частоты, а уже преобразованный сигнал фильтровать с помощью ФНЧ, у которого характеристики постоянные и никогда не будут меняться. А затем отфильтрованный сигнал обратно преобразовывать вверх, опять умножая на синус. Тем самым, перестраивая частоту синуса, мы добиваемся перестройки частоты всей такой системы.
Go to the top of the page
 
+Quote Post
Fast
сообщение Dec 23 2010, 18:57
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(PetrovichKR @ Dec 24 2010, 00:34) *
.. А затем отфильтрованный сигнал обратно преобразовывать вверх, опять умножая на синус. Тем самым, перестраивая частоту синуса, мы добиваемся перестройки частоты всей такой системы.
а если по полосу надо изменять - интерполировать ?
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 24 2010, 05:18
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Цитата(PetrovichKR @ Dec 24 2010, 00:34) *
Я так понимаю, Вам нужно просто сделать перестройку по частоте без изменения характеристик самого фильтра (ширина полосы пропускания, неравномерность АЧХ и т. д.). Хочу предложить несколько нестандартное решение проблемы. Хотя с какой стороны посмотреть, может и вполне стандартное...
Мне представляется такое решение. Сам фильтр перестроить тяжело, так зачем перестраивать именно его? Можно входной сигнал умножать на синус нужной Вам частоты, получая преобразование частоты, а уже преобразованный сигнал фильтровать с помощью ФНЧ, у которого характеристики постоянные и никогда не будут меняться. А затем отфильтрованный сигнал обратно преобразовывать вверх, опять умножая на синус. Тем самым, перестраивая частоту синуса, мы добиваемся перестройки частоты всей такой системы.

Вообще говоря надо все менять и частоту и добротность и усиление. Фактически это параметрический эквалайзер, и поскольку он для звуковых сигналов, то есть и весьма существенные требования к искажениям. Но можно Ваш метод попробовать на досуге. Сейчас я пробую решать эту задачу через диф.уравнения аналогового прототипа фильтра. Простым методом, который описан у Баскакова не получается - даже его пример из книги - фильтр разлетается. Но чис. методами посложнее получается нормально. Правда вычислительные затраты по сравнению с рекурсивными фильтрами несколько больше. Поэтому тема вопроса актуальна.sm.gif


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
thermit
сообщение Dec 24 2010, 06:14
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
phantom:
Фактически это параметрический эквалайзер, и поскольку он для звуковых сигналов, то есть и весьма существенные требования к искажениям.


Дык, зачем велосипед изобретать? Есть типовые формулы расчета биквадратного звена для параметрического эквалайзера.
Задается полоса (добротность), усиление/ослабление и центральная частота.
8 таких звеньев позволяют сделать практически любую ачх.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Dec 24 2010, 06:41
Сообщение #16





Guests






Можно попробовать секционировать фильтр, составив его из типовых звеньев второго порядка, расчет которых элементарен.

Еще можно посмотреть в сторону интерполированных КИХ-фильтров.
За счет включения M-элементов задержек удается получить узкую полосу при гораздо меньшей ( в 5..7 ) раз длине фильтра.
А прототип рассчитывать "оконным" методом, да хоть того же Кайзера, что довольно быстро.
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 24 2010, 08:21
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Цитата(TSerg @ Dec 24 2010, 13:41) *
Можно попробовать секционировать фильтр, составив его из типовых звеньев второго порядка, расчет которых элементарен.

Ну так я собственно и хочу. Токо формулы лень выводить для разных типов фильтров. Все надеюсь что есть готовые sm.gif На дворе начало ХХI века, а эта тема должна была бы быть исчерпаной, уже к концу 60х sm.gif


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
Самурай
сообщение Dec 24 2010, 08:43
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(phantom @ Dec 24 2010, 14:21) *
Ну так я собственно и хочу. Токо формулы лень выводить для разных типов фильтров. Все надеюсь что есть готовые sm.gif На дворе начало ХХI века, а эта тема должна была бы быть исчерпаной, уже к концу 60х sm.gif


Поставьте банк КИХ фильтров на 128, 256,...1024,...8192,... полосы и не мучайтесь. Сразу исчезнут проблемы с обеспечением устойчивости и не нужны будут никакие формулыsm.gif. Банк фильтров легко реализуется через БПФ. БПФ на 8192 точки для сигналов звукового диапазона потянет наверно любой современный PC в реальном времени без всяких проблем.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Dec 24 2010, 09:08
Сообщение #19





Guests






Цитата(phantom @ Dec 24 2010, 14:21) *
Ну так я собственно и хочу. Токо формулы лень выводить для разных типов фильтров. Все надеюсь что есть готовые sm.gif На дворе начало ХХI века, а эта тема должна была бы быть исчерпаной, уже к концу 60х sm.gif


Эта тема неисчерпаема, как и Мир. sm.gif

Вам сюда за реализацией:
http://musicdsp.org/archive.php?classid=3#225
Go to the top of the page
 
+Quote Post
анатолий
сообщение Dec 24 2010, 09:10
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052



Найдите статью
Regalia P.A., Mitra S.K. and Vaidyanathan P.P. The Digital All-Pass Filter: A Versatile Signal Processing Building Block // Proc. IEEE. 1988.V.76. №1. Р.1937.
Она же есть в переводе в ТИИЭР.
Там есть полосовые фильтры с формулами настройки по частоте и ширине,
есть фильтр - эквалайзер.
Фильтры замечательные тем, что не возбуждаются при любой комбинации коэффициентов.
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 24 2010, 12:37
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Цитата(TSerg @ Dec 24 2010, 15:08) *
Эта тема неисчерпаема, как и Мир. sm.gif

Вам сюда за реализацией:
http://musicdsp.org/archive.php?classid=3#225

Ха-ха! Спасибо конечно, но я там давно был и неоднократно. И там такого нет. В смысле есть обрезанный код с МИТ-овской лицензией, но он вычисляет все прямым способом, для риалтайма не годящимся. А вот это уже слегка похоже на то, что надо: http://www.abvolt.com/research/publications2.htm, токо книгу "Digital Filters: Basics and Design"
Dietrich Schlichtharle, (народную) не могу нарыть. Насчет статьи "Regalia P.A., Mitra S.K. and Vaidyanathan P.P. The Digital All-Pass Filter: A Versatile Signal Processing Building Block", нашел - весьма интересна, но пока не совсем понятны механизмы реализации.


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
thermit
сообщение Dec 24 2010, 18:18
Сообщение #22


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
И там такого нет.


Какого "такого"?

Параметрические эквалайзеры 2-го порядка в обозримом пространстве используются 2-х видов:

1 Регалии-митры (менее популярны)
2 Бристоу-джонсона (наиболее популярны)

Различаются определением полосы.

Вам-то что нужно?
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Dec 27 2010, 10:57
Сообщение #23





Guests






По ссылке
http://musicdsp.org/archive.php?classid=3#225
хотя бы Delphi Class implementation of the RBJ filters
чем не устраивает ?

Или Вы чего-то не договариваете sm.gif
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 28 2010, 06:42
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Цитата(TSerg @ Dec 27 2010, 16:57) *
По ссылке
http://musicdsp.org/archive.php?classid=3#225
хотя бы Delphi Class implementation of the RBJ filters
чем не устраивает ?

Или Вы чего-то не договариваете sm.gif

А где там выбрать х-ку Баттерворта, Чебышева, Бесселя?


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
thermit
сообщение Dec 28 2010, 08:26
Сообщение #25


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
phantom:
А где там выбрать х-ку Баттерворта, Чебышева, Бесселя?


Нигде. Баттерворт, чебышев 1/2 ,бессель, эллиптический это все способы аппроксимации чх стандартных типов, т е

фнч фвч пф рф.

Эквалайзер не относится к стандартному типу фильтров. Вам что надо?
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Dec 28 2010, 09:44
Сообщение #26





Guests






Цитата(phantom @ Dec 28 2010, 12:42) *
А где там выбрать х-ку Баттерворта, Чебышева, Бесселя?


Если честно, то после прохождения сигнала через узкополосные БИХ-фильтры, Вы маму родную не узнаете sm.gif
Я за КИХ-варианты.
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 28 2010, 12:03
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



А мне надо стандартные типы фильтров, только и всего. "Эквалайзер не относится к стандартному типу фильтров. " - если их не всегда делают такими, то это еще ничего не значит... Иногда все же делают. sm.gif


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
thermit
сообщение Dec 28 2010, 17:47
Сообщение #28


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
phantom:
А мне надо стандартные типы фильтров, только и всего.


Тада эквалайзеры (по-научному - корректоры ачх - фильтр с произвольной ачх, синтезируется только методом оптимизации) тут при чем?

Цитата
если их не всегда делают такими, то это еще ничего не значит... Иногда все же делают.


Дауш... (ц)

Go to the top of the page
 
+Quote Post
анатолий
сообщение Dec 29 2010, 06:37
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052



Цитата(phantom @ Dec 24 2010, 17:37) *
Насчет статьи "Regalia P.A., Mitra S.K. and Vaidyanathan P.P. The Digital All-Pass Filter: A Versatile Signal Processing Building Block", нашел - весьма интересна, но пока не совсем понятны механизмы реализации.


Фазовый фильтр имеет модуль передаточной функции H(z), равный |H(z)| = 1. Его ФЧХ на частоте fR имеет фазовый сдвиг, равный 180°.
Если складываются сигналы от двух фазовых фильтров, выходной сигнал подавляется на частотах, для которых разность фаз равна 180°.
Результирующая передаточная функция:
HS = (H1(z) ± H2(z))/2,
соответствует различным фильтрам ФНЧ,ФВЧ, полосовому или режекторному фильтру в зависимости знака суммирования (ФНЧ или ФВЧ) и от порядка фазовых фильтров.
Так, если H1(z) -фазовое звено 2-го порядка, а H2(z)=1, и вычесть их выходы, то на всех частотах, кроме fR, результат будет нулевой,
а на частоте fR - он усилится в 2 раза.

Передаточная функция фазового фильтра 2-го порядка равна:

H1(z)= (a+b(1+a)Z^-1 +Z^-2)/ (aZ^-2+b(1+a)Z^-1 +1),

где b = cos(2πfR) – регулирует частоту среза fR, a = (1-t)/(1+t) - задает ширину полосы пропускания Δf, t = tg(πΔf).
Таким образом, изменяя b , центральная частота пропускания регулируется в пределах (0,05 - 0,45) fsampling с подавлением в полосе задержания до 50 дб.

Аппаратная реализация фильтра на VHDL описана в книжке А.Сергиенко "VHDL для...".
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 29 2010, 06:47
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Цитата(thermit @ Dec 28 2010, 23:47) *
Тада эквалайзеры (по-научному - корректоры ачх - фильтр с произвольной ачх, синтезируется только методом оптимизации) тут при чем?



Дауш... (ц)

Не превращайте тему во флейм. В названии абсолютно четко указано, что мне надо, и другие разные способы (КИХ, формулы из аудиокукбукс и тд ) меня не устраивают.


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Dec 30 2010, 03:41
Сообщение #31





Guests






Так ведь никто не мешает идти своей дорогой.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.0162 секунд с 7
ELECTRONIX ©2004-2016