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

 
 
> Разбивка фильтра на биквадратные каскады, Как преобразовать ЦФ 4-го порядка в каскад ЦФ 2-го порядка?
Nikolay_Po
сообщение Mar 1 2018, 07:47
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 6-03-14
Пользователь №: 80 822



Здравствуйте! Стоит задача разбить цифровой фильтр 4-го порядка (верно?) на каскад биквадратных звеньев. Нули и полюсы рассчитал при помощи программы ELLF.EXE. Полюсы и нули такие:

Код
        Полюсы            Нули
    Re        Im        Re        Im
1    -0.76593    0.62206    -0.18492    0.98275
2    -0.86692    0.47769    -0.97603    0.21763
3    -0.78424    0.56677    -0.61162    0.79115
4    -0.82839    0.50674    -0.93307    0.35970

Вот так они лежат на z-плоскости:



Хочу разбить на биквадртаные звенья для использования с библиотекой CMSIS DSP. У меня уже успешно работает каскад из двух биквадратных фильтров CMSIS (рассчитал коэффициенты численным методом). Но тем же способом рассчитать с нуля более сложный фильтр не выходит. Слишком много локальных минимумов и экстремумов у оценки результата. Поэтому хочу попробовать классическими методами. К сожалению, в своё время не освоил ЦОС в должном объёме. Прошу помощи.
Выше нули и полюсы полосового фильтра, удовлетворяющего мои требования. Нужно разбить фильтр на биквадратные каскады. Как я понимаю задачу, у меня фильтр четвёртого порядка. Но его нули и полюсы - не комплексно-сопряжённые. А биквадратное звено - второго порядка, но с комплексно-сопряжёнными нулями и полюсами. Или я не верно понимаю? Если верно, значит, для фильтра четвёртого порядка понадобиться больше двух звеньев второго порядка. Это не страшно, ресурсы позволяют задействовать до восьми биквадратных звеньев (лучше до 6). Но как их разбивать? Выписывать на бумагу нули и полюсы и раскрывать их произведения? Какие есть приёмы?

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Nikolay_Po
сообщение Mar 1 2018, 11:05
Сообщение #2





Группа: Участник
Сообщений: 9
Регистрация: 6-03-14
Пользователь №: 80 822



Дело в том, что сам сервер пакетов лежит. Что из консоли Октавы "error: get_forge_pkg: could not read URL, please verify internet connection", что по кнопке "Browse Packages": "Sourceforge project sites are currently under maintenance. Please check back later. We thank you for your patience."
Go to the top of the page
 
+Quote Post
andyp
сообщение Mar 1 2018, 17:28
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(Nikolay_Po @ Mar 1 2018, 14:05) *
Дело в том, что сам сервер пакетов лежит. Что из консоли Октавы "error: get_forge_pkg: could not read URL, please verify internet connection", что по кнопке "Browse Packages": "Sourceforge project sites are currently under maintenance. Please check back later. We thank you for your patience."



дистр для windows вроде включает нужные пакеты по умолчанию
pkg list
должен показать что уже стоит


Go to the top of the page
 
+Quote Post
Nikolay_Po
сообщение Mar 2 2018, 08:32
Сообщение #4





Группа: Участник
Сообщений: 9
Регистрация: 6-03-14
Пользователь №: 80 822



Спасибо, signal в дистрибутив для Windows действительно включён:
signal | 1.3.2 | C:\Octave\OCTAVE~1.1\share\octave\packages\signal-1.3.2

Пробую, но пока ничего не выходит с Октавой. Пробую преобразование полосового фильтра:
Код
>> help lp2bp
error: help: the 'lp2bp' function belongs to the signal package from Octave Forge but
has not yet been implemented.

Жаль...
tf2sos есть в наличии. Разбираюсь.
Go to the top of the page
 
+Quote Post



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

 


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


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