Преобразуйте параметры фильтра нулей и полюсов в форму разделов второго порядка
[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.