Страница 5 из 6
Re: Цифровой фильтр Бесселя
Добавлено: 29 окт 2015, 09:39
Santik
Ошибся я при определении полюсов
На картинке полюса фильтра Баттерворта 3 порядка Fs=0.1 с обычным z- преобразованием (справа) и с "модифицированным":
Re: Цифровой фильтр Бесселя
Добавлено: 29 окт 2015, 10:46
Бахурин Сергей
А как вы считали полюса?
Re: Цифровой фильтр Бесселя
Добавлено: 29 окт 2015, 12:09
Santik
Да, расчёт полюсов - это проблема... Матлаба у меня нет (и не предвидится). Программы для нахождения корней полинома - тоже нет пока.
Рассчитал модуль
при различных z (400x400 точек) и вывел c помощью Surfer 8.
Вот картинка из программы WinFilter:
- Winfilter.JPG (6.94 КБ) 4776 просмотров
Re: Цифровой фильтр Бесселя
Добавлено: 29 окт 2015, 17:38
Santik
Вот коэффициенты фильтра Бесселя В,А:
Код: Выделить всё
3.987397909164430E+00
3.588658118247990E+01
1.435463247299190E+02
3.349414243698120E+02
5.024121365547180E+02
5.024121365547180E+02
3.349414243698120E+02
1.435463247299190E+02
3.588658118247990E+01
3.987397909164430E+00
1.000000000000000E+00
1.442174807700610E+01
7.332115147660880E+01
2.320730475966620E+02
4.315676713500860E+02
5.290883487097870E+02
4.304484187840970E+02
2.358556137427770E+02
7.943553298347330E+01
1.433616893431490E+01
Вот его ФЧХ:
Полюса:
- Бесс3.jpg (62.11 КБ) 4773 просмотра
Как ещё на устойчивость проверить?
Re: Цифровой фильтр Бесселя
Добавлено: 30 окт 2015, 10:29
Бахурин Сергей
Есть подпрограмма нахождения собственных чисел матрицы? Если есть то поиск корней это собственные числа compain матрицы полинома.
Re: Цифровой фильтр Бесселя
Добавлено: 30 окт 2015, 18:20
Santik
Бахурин Сергей писал(а): Есть подпрограмма нахождения собственных чисел матрицы? Если есть то поиск корней это собственные числа compain матрицы полинома.
Да, такая подпрограмма есть. Только мне не понятно как по характеристическому уравнению матрицу восстановить
Пусть имеем уравнение 2 порядка
Коэффициенты матрицы находим из системы уравнений:
4 неизвестных - 2 уравнения. Маловато будет! (с)
Хотя решение существует:
Re: Цифровой фильтр Бесселя
Добавлено: 31 окт 2015, 07:47
Santik
Re: Цифровой фильтр Бесселя
Добавлено: 31 окт 2015, 16:23
Santik
Бахурин Сергей писал(а): Есть подпрограмма нахождения собственных чисел матрицы? Если есть то поиск корней это собственные числа compain матрицы полинома.
Так что же такое
compain матрица полинома???
Re: Цифровой фильтр Бесселя
Добавлено: 01 ноя 2015, 04:18
Santik
После безуспешных попыток понять, что такое
compain матрица полинома решил всё же воспользоваться Фортрановской библиотекой IMSL. Там аж два типа подпрограмм, одна из них по алгоритму Дженкинса-Трауба. Метод описан в книге Марпл мл. "Цифровой спектральный анализ и его приложения" стр.402
Вот такую картинку я уже приводил:
- Бесс3.jpg (62.11 КБ) 4747 просмотров
Результаты работы подпрограммы DZPORC:
Код: Выделить всё
Re Im |z|
-0.300326288894250E+00 0.650276665521626E+00 z= 0.7162790E+00
-0.300326288894250E+00 -0.650276665521626E+00 z= 0.7162790E+00
-0.486416764364578E+00 0.682133098835512E+00 z= 0.8377988E+00
-0.486416764364578E+00 -0.682133098835512E+00 z= 0.8377988E+00
-0.592088833254236E+00 0.736475358699697E+00 z= 0.9449683E+00
-0.592088833254236E+00 -0.736475358699697E+00 z= 0.9449683E+00
0.200107429840802E+00 0.248442288827343E+01 z= 0.2492469E+01
0.200107429840802E+00 -0.248442288827343E+01 z= 0.2492469E+01
0.997283352872912E+01 0.000000000000000E+00 z= 0.9972834E+01
0.000000000000000E+00 0.000000000000000E+00 z= 0.0000000E+00
Видно, что за пределами единичного круга лежат аж
три полюса. Так как их действительная и мнимая часть (по модулю) больше 2, то я их просто "не заметил"
...А потом долго удивлялся тому, что фильтр неустойчив
Всё-таки расчёт полюсов удобнее. Да и, к примеру, можно разбивать "длинный" фильтр на каскады 2 порядка...
Re: Цифровой фильтр Бесселя
Добавлено: 02 ноя 2015, 10:44
Santik
Бахурин Сергей писал(а): Есть подпрограмма нахождения собственных чисел матрицы? Если есть то поиск корней это собственные числа compain матрицы полинома.
Может быть
companion matrix - сопровождающая матрица?
Для ФНЧ Баттерворта 2-го порядка сопровождающая матрица имеет вид:
Теперь осталось определить, что лучше (быстрее/точнее) - находить собственные числа сопровождающей матрицы, или искать корни полинома.