Цифровой фильтр Бесселя

Все что касается фильтрации
INFERION
Сообщения: 34
Зарегистрирован: 20 окт 2015, 13:06
Откуда: Украина

Re: Цифровой фильтр Бесселя

Сообщение INFERION »

В правом канале. Т.е. там, где поработал синтезатор саундфорджа. Видимо, звуковой редактор значение последнего бита просто округляет, внося ошибку. Уровень гармоник как раз соответствует чистому динамическому диапазону 16-ти бит - -120Дб. Если делать по-уму, то нужно или сразу считать синус в целочисленной системе с такой же разрядностью (16 бит), или всё что отбрасывается округлением - интегрировать до целого значения и добавлять периодически к семплам (то же самое, что и сразу считать в 16 битах, в принципе). Разница - на картинке выше. Поэтому я всё ещё плавающей точке и не доверяю...

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Цифровой фильтр Бесселя

Сообщение Santik »

Прочитал статьи - там не написано самое главное - ПОЧЕМУ, к примеру, фильтр 10-го порядка даёт лучший результат, по сравнению с 5-ю фильтрами 2-го порядка?
Постараюсь объяснить "на пальцах". Будем предполагать, что у нас 5 одинаковых фильтров 2 порядка.
В каждом фильтре есть полоса пропускания, в которой коэффициент передачи =1.
И если ты желаешь получить "полочку" в полосе пропускания, необходимо резонансы фильтров равномерненько распределить по полосе пропускания. То есть надо брать 5 фильтров с различными параметрами!
Если ты берёшь одинаковые звенья, то тупо "губишь" полосу пропускания.
Пусть коэффициент передачи ФНЧ 2-го порядка от частоты в полосе пропускания равен 1,1,1,1,0.99,0.9,0.8,0.707.....
Если ты возьмёшь 5 таких одинаковых каскадов, то эти значения надо в 5 степень возвести...
1,1,1,1,0.95,0.59,0.32,0.176.....

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Цифровой фильтр Бесселя

Сообщение Santik »

Возвращаемся к теме фильтра Бесселя.
Напомню, я добавил в разложение ln(z) ещё один член. Теперь z- преобразование имеет вид:

Матрица z- преобразования дана выше.
Результаты.
Бессель+АЧХ.JPG
На АЧХ появился выброс вблизи частоты среза Fs = 0.5 Найквиста
При уменьшении частоты среза выброс исчез Fs = 0.25 Найквиста
Бессель+АЧХ_0,25.JPG
И вот такая ФЧХ при Fs = 0.25 Найквиста
Бессель+ФЧХ_0,25.JPG

INFERION
Сообщения: 34
Зарегистрирован: 20 окт 2015, 13:06
Откуда: Украина

Re: Цифровой фильтр Бесселя

Сообщение INFERION »

А я вот причесал программу и теперь ищу способы найти/вычислить требуемые мне резонансные частоты и добротности для звеньев фильтра 10-го порядка. Чтоб на практике сравнить результат. Есть калькуляторы для расчёта активных фильтров, но они дают на выходе номиналы компонентов. Например: http://www.daycounter.com/Filters/Salle ... tor2.phtml
А формулы вычисления нужных мне параметров по ним - почему-то не работают: http://digteh.ru/Sxemoteh/filtr/RC/
Во всяком случае, у меня они дают какие-то бредовые результаты. Частоты в 10 раз выше среза, и добротности около 0,25.
----------------------
Заглянул во второй том "Полупроводниковая схемотехника" Титце и Шенка, а там уже вот прямо для меня табличка готова на 114-й странице:
i fgi/fg Qi
1. 1.264 0.50
2. 1.412 0.54
3. 1.780 0.62
4. 2.479 0.81
5. 3.446 1.42


Там расписаны все фильтры до 10-го порядка. Одних только Чебышевов с неравномерностями 0,5...3Дб...
Конечно, это не самостоятельный расчёт, но можно списать на справочную информацию. Ею ведь разработчики тоже пользуются, верно? Т.е. это тоже метод :)...

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Цифровой фильтр Бесселя

Сообщение Santik »

Итак, моя идея применить z- преобразование вида:

закончилась полным провалом!
Мало того, что порядок фильтра увеличился в 3 раза, появились "паразитные резонансы".
На картинке фильтр Баттерворта 3 порядка (с учётом z- преобразования - 9 порядка) при различных значениях относительной частоты среза:
БаттервортАЧХ.JPG
Можно конечно согреть себя мыслью, что я получил на Fs/FN=0.1 ФНЧ+полосовой на 0.67 :shock: , однако основная цель не достигнута...
Ещё интересный эффект: большая крутизна среза на Fs/FN=0.6, которую можно сравнить с крутизной фильтра Чебышева 2 рода 9 порядка, но с монотонно спадающей полосой затухания:
БаттервортАЧХ_067.JPG
БаттервортФЧХ_067.JPG

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Цифровой фильтр Бесселя

Сообщение Santik »

Приведу результаты для фильтра Бесселя 3-го порядка:
БессельАЧХ_08.JPG
БессельФЧХ_08.JPG

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1114
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Цифровой фильтр Бесселя

Сообщение Бахурин Сергей »

странная форма фчх. Возрастающая фчх означает отрицательную групповую задержку. Фильтр точно устойчив?

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Цифровой фильтр Бесселя

Сообщение Santik »

На устойчивость не проверял. Думаю мне такое преобразование накидало лишних полюсов, возможно, что и вне единичного круга :shock:

INFERION
Сообщения: 34
Зарегистрирован: 20 окт 2015, 13:06
Откуда: Украина

Re: Цифровой фильтр Бесселя

Сообщение INFERION »

А у меня вот что получилось:
Бессель 4-го порядка.png
Вверху синус 20...20000Гц, а внизу измеренное между переходами через ноль время. Добротность 0,57. Это 4-й порядок, потому что с бОльшим начинает глючить измеритель ГВЗ (он работает только в пределах периода), но на 10-м порядке полочка никак не меняется, только общее время задержки растёт. И что интересно - приведённые мною выше коэффициенты дали значительно худший результат, чем просто последовательное включение одинаковых фильтров.

Я попытался реализовать ФВЧ Бесселя и наткнулся на проблемы. Дело в том, что в таком фильтре полочка оказывается в полосе подавления, а в полосе пропускания из-за фазового сдвига получается горб как у Чебышева. Сколько я не гуглил информацию по этому поводу - нигде ничего. А ведь я как-то раньше получал ФВЧ. Решил отложить этот вопрос и заняться фазовым фильтром Бесселя...

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Цифровой фильтр Бесселя

Сообщение Santik »

Все полюсы вроде бы на месте:
Бесель.jpg
Бесель.jpg (61.28 КБ) 6680 просмотров
Коэффициенты фильтра Бесселя. Fs=0.8

Код: Выделить всё

 
          A                 B
   0.100000000E+01   0.383677870E+00
   0.643827295E+01   0.345310083E+01
   0.204869645E+02   0.138124033E+02
   0.397488678E+02   0.322289411E+02
   0.509816426E+02   0.483434116E+02
   0.436028650E+02   0.483434116E+02
   0.243586295E+02   0.322289411E+02
   0.818900171E+01   0.138124033E+02
   0.151908782E+01   0.345310083E+01
   0.117742075E+00   0.383677870E+00

Ответить