Преобразуйте параметры фильтра нулей и полюсов в форму разделов второго порядка
[sos,g] = zp2sos(z,p,k)
[sos,g] = zp2sos(z,p,k,'order'
)
[sos,g] = zp2sos(z,p,k,'order'
,'scale'
)
[sos,g] = zp2sos(z,p,k,'order'
,'scale'
,zeroflag)
sos = zp2sos(...)
zp2sos
преобразовывает представление нулей и полюсов дискретного времени данного цифрового фильтра к эквивалентному представлению раздела второго порядка.
[sos,g] = zp2sos(z,p,k)
создает матричный sos
в форме раздела второго порядка с усилением g
, эквивалентный фильтру нулей и полюсов дискретного времени, представленному входными параметрами z
, p
и k
. Векторы z
и p
содержат нули и полюса передаточной функции фильтра H (z), не обязательно в каком-то конкретном порядке.
где n и m являются длинами z
и p
, соответственно, и k
является скалярным усилением. Нули и полюса должны быть действительными или комплексно-сопряженными парами. sos
является L-by-6 матрица
чьи строки содержат числитель и коэффициенты знаменателя bik и aik разделов второго порядка H (z).
Номер L строк матричного sos
является самым близким целым числом, больше, чем или равный максимуму n/2 и m/2.
[sos,g] = zp2sos(z,p,k,
задает порядок строк в 'order'
)sos
, где 'order'
'down'
, чтобы заказать разделы, таким образом, первая строка sos
содержит полюса, самые близкие к модульному кругу
'up'
, чтобы заказать разделы, таким образом, первая строка sos
содержит полюса, самые дальние от модульного круга (значение по умолчанию)
[sos,g] = zp2sos(z,p,k,
задает желаемое масштабирование усиления и коэффициенты числителя всех разделов второго порядка, где 'order'
,'scale'
)'scale'
'none'
, чтобы не применить масштабирование (значение по умолчанию)
'inf'
, чтобы применить масштабирование нормы бесконечности
'two'
, чтобы применить масштабирование 2-нормы
Используя норму бесконечности, масштабирующуюся в сочетании с up
- упорядоченное расположение минимизирует вероятность переполнения в реализации. Используя 2-норму, масштабирующуюся в сочетании с down
- упорядоченное расположение минимизирует пиковый шум округления.
Норма бесконечности и масштабирование 2-нормы подходят только для прямой формы II реализаций.
[sos,g] = zp2sos(z,p,k,
задает, держать ли вместе действительные нули, которые являются отрицательными сторонами друг друга вместо того, чтобы заказать им согласно близости к полюсам. Установка 'order'
,'scale'
,zeroflag)zeroflag
к true
держит нули вместе и приводит к числителю со средним равным нулю коэффициентом. Значением по умолчанию для zeroflag
является false
.
sos = zp2sos(...)
встраивает полное системное усиление, g
, в первом разделе, H 1 (z), так, чтобы
При встраивании усиления в первый раздел при масштабировании прямой формы II структур не рекомендуются и могут привести к ошибочному масштабированию. Чтобы постараться не встраивать усиление, используйте ss2sos
с двумя выходными параметрами.
zp2sos
использует алгоритм с четырьмя шагами, чтобы определить представление раздела второго порядка для входной системы нулей и полюсов:
Это группирует нули и полюса в комплексно-сопряженные пары с помощью функции cplxpair
.
Это формирует раздел второго порядка путем соответствия с полюсом и нулевыми парами согласно следующим правилам:
Совпадайте с полюсами, самыми близкими к модульному кругу с нулями, самыми близкими к тем полюсам.
Совпадайте с полюсами, следующими ближайшими к модульному кругу с нулями, самыми близкими к тем полюсам.
Продолжите, пока все полюса и нули не являются соответствующими.
Группы zp2sos
действительные полюса в разделы с действительными полюсами, самыми близкими к ним в абсолютном значении. То же правило содержит для действительных нулей.
Это заказывает разделы согласно близости пар полюса к модульному кругу. zp2sos
обычно заказывает разделы с полюсами, самыми близкими к модульному кругу в последний раз в каскаде. Можно сказать zp2sos
заказывать разделы в обратном порядке путем определения флага down
.
zp2sos
масштабирует разделы нормой, заданной в аргументе 'scale'
. Для произвольного H (ω) масштабирование задано
где p может быть или ∞ или 2. Смотрите ссылки для получения дополнительной информации о масштабировании. Это масштабирование является попыткой минимизировать переполнение или пиковый шум округления в реализациях фильтра фиксированной точки.
[1] Джексон, Л. Б. Диджитэл Филтерс и Обработка сигналов, 3-й Эд. Бостон: Kluwer Академические Издатели, 1996, парень. 11.
[2] Mitra, S. K. Цифровая обработка сигналов: Компьютерный Подход. Нью-Йорк: McGraw-Hill, 1998, парень. 9.
[3] Vaidyanathan, P. P. “Устойчивые Цифровые Структуры Фильтра”. Руководство для Цифровой обработки сигналов (С. К. Митра и Дж. Ф. Кэйсер, редакторы). Нью-Йорк: John Wiley & Sons, 1993, парень. 7.