"Оптимальные" коэффициенты БИХ фильтра

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

Re: "Оптимальные" коэффициенты БИХ фильтра

Сообщение Santik » 02 ноя 2015, 18:18

Попытаемся построить ФНЧ с линейной фазовой характеристикой в полосе пропускания.
Предварительно идея такая:
Берём фильтр Баттерворта 7 порядка.
Умножаем на фазокорректирующую цепочку 2-го порядка:

Целевая функция:


По двум параметрам относительно легко оптимизировать (и быстро :D )

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

Re: "Оптимальные" коэффициенты БИХ фильтра

Сообщение Santik » 02 ноя 2015, 20:58

Для начала возьмём исходный фильтр 2-го порядка:


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

Re: "Оптимальные" коэффициенты БИХ фильтра

Сообщение Santik » 03 ноя 2015, 22:38

Найдём область устойчивости корректирующего звена 2 порядка, в зависимости от параметров k1,k2:
Область устойчивости.jpg
Область устойчивости.jpg (65.92 КБ) 2252 просмотра
Красным цветом выделена область неустойчивости звена 2-го порядка.
Посмотрим, как ведёт себя целевая функция. Для удобства визуализации возьмём функцию, обратную целевой. Соответственно будем искать не минимум, а максимум этой функции.
Итак, исходные данные:
1-е звено ФНЧ Баттерворта 2-го порядка, Fs=0.2
2-е звено - всепропускающий фильтр.
2 звена.jpg
2 звена.jpg (30.56 КБ) 2252 просмотра
Неудача! Локальный максимум существует, но лежит вне области устойчивости!

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

Re: "Оптимальные" коэффициенты БИХ фильтра

Сообщение Santik » 04 ноя 2015, 10:36

Теперь рассмотрим, как легко определить устойчивость звена 2-го порядка вида:

Критерием устойчивости фильтра является нахождение его полюсов внутри единичного круга в z-области.
Полюса определяются уравнением:

Однако, вычислять оба полюса вовсе не обязательно. Значения коэффициентов однозначно определяют нахождение полюсов в единичном круге (устойчивость фильтра).
Посмотрим на картинку "область устойчивости" выше.
Критерий устойчивости любого звена 2 порядка:


Или:


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

Re: "Оптимальные" коэффициенты БИХ фильтра

Сообщение Santik » 05 ноя 2015, 11:15

Выведем целевую функцию в другом масштабе:
Баттерворт с коррекцией ФЧХ_2.JPG
Баттерворт с коррекцией ФЧХ_2.JPG (92.52 КБ) 2195 просмотров
Красным цветом выделена область более оптимальных параметров. Однако область вверху полностью соответствует расходящемуся фильтру.
Выберем точку k1=0.9 k2=-0.5
Баттерворт с коррекцией ФЧХ.JPG
ФЧХ на частотах 0.2-0.35 стала более линейной!

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

Re: "Оптимальные" коэффициенты БИХ фильтра

Сообщение Santik » 05 ноя 2015, 16:10

1-е звено ФНЧ Бесселя 2-го порядка Fs=0.2
Целевая функция
Бессель2.jpg
Бессель2.jpg (31.63 КБ) 2184 просмотра
Вот здесь экстремум появился :D
Параметры корректирующего звена 2-го порядка:
k1=0.1 k2=0.2
Бессель2ФЧХ.JPG

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

Re: "Оптимальные" коэффициенты БИХ фильтра

Сообщение Santik » 06 ноя 2015, 21:11

Сравнивать фильтры разных порядков по ГВЗ не совсем корректно.
Поэтому пронормировал каждую ГВЗ на своё максимальное значение.
ГВЗ Бесселя.JPG

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

Re: "Оптимальные" коэффициенты БИХ фильтра

Сообщение Santik » 09 ноя 2015, 14:37

Исправил кое-какие ошибки в программе.
Фильтр Баттерворта 3 порядка Fs=0.2 + всепропускающее звено 2 порядка:
Батт3_02_АЧХ.JPG
Батт3_02_ГВЗ.JPG
Синий график - без коррекции
Красный - с коррекцией.
На низких частотах пока не удаётся АЧХ линеаризовать :(

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

Re: "Оптимальные" коэффициенты БИХ фильтра

Сообщение Santik » 10 ноя 2015, 08:12

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

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

Re: "Оптимальные" коэффициенты БИХ фильтра

Сообщение Santik » 10 ноя 2015, 13:08

Продолжаем "рихтовать" ФЧХ фильтра Баттерворта 3 порядка всепропускающим звеном 2-го порядка.
Относительная частота среза 0.2
Батт3_02.JPG
В увеличенном масштабе:
Батт3_02_1.JPG
Красным цветом выделена "идеальная" ФЧХ к которой я пытаюсь "притянуть" ФЧХ фильтра.
Диапазон оптимизации (по частоте)
0-0.3
0-0.4
0-0.5
0-0.6
Мне лично оптимизация в диапазоне 0-0.5 понравилась.
Батт3_02_2.JPG

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость