exponenta event banner

zp2sos

Преобразовать параметры фильтра с нулевым полюсным усилением в форму сечений второго порядка

Описание

пример

[sos,g] = zp2sos(z,p,k) находит матрицу сечений второго порядка sos с усилением g что эквивалентно передаточной функции H (z), n нулей, m полюсов и скалярный коэффициент усиления которой указаны вz, p, и k:

H (z) = k (z z1) (z z2) (z zn) (z p1) (z − p2) ⋯ (z − pm).

[sos,g] = zp2sos(z,p,k,order) указывает порядок строк в sos.

[sos,g] = zp2sos(z,p,k,order,scale) задает масштабирование коэффициентов усиления и числителя для всех секций второго порядка.

[sos,g] = zp2sos(z,p,k,order,scale,zeroflag) определяет обработку действительных нулей, которые являются отрицательными друг для друга.

sos = zp2sos(___) встраивает общее усиление системы в первый раздел.

Примеры

свернуть все

Проектирование фильтра нижних частот Butterworth 5-го порядка с использованием функции butter с выходом, выраженным в виде нулевого полюса с усилением. Укажите частоту отсечки, равную одной пятой частоты Найквиста. Преобразование результата в сечения второго порядка. Визуализируйте отклик величины.

[z,p,k] = butter(5,0.2);
sos = zp2sos(z,p,k)
sos = 3×6

    0.0013    0.0013         0    1.0000   -0.5095         0
    1.0000    2.0000    1.0000    1.0000   -1.0966    0.3554
    1.0000    2.0000    1.0000    1.0000   -1.3693    0.6926

fvtool(sos)

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains an object of type line.

Входные аргументы

свернуть все

Нули системы, заданные как вектор. Нули должны быть реальными или состоять из комплексных сопряженных пар.

Пример: [1 (1+1j)/2 (1-1j)/2]'

Типы данных: double
Поддержка комплексного номера: Да

Полюса системы, указанные как вектор. Полюса должны быть реальными или состоять из комплексных сопряженных пар.

Пример: [1 (1+1j)/2 (1-1j)/2]'

Типы данных: double
Поддержка комплексного номера: Да

Скалярное усиление системы, указанное как скаляр.

Типы данных: double

Порядок строк, указанный как один из следующих:

  • 'up' - Упорядочить разделы так, чтобы первая строка sos содержит полюса, наиболее удаленные от единичной окружности.

  • 'down' - Упорядочить разделы так, чтобы первая строка sos содержит полюса, ближайшие к единичной окружности.

Типы данных: char

Масштабирование коэффициентов усиления и числителя, указанных как одно из следующих:

  • 'none' - Не применять масштабирование.

  • 'inf' - применение масштабирования бесконечной нормы.

  • 'two' - Применить масштабирование по 2 норме.

Использование масштабирования бесконечной нормы с помощью 'up'-ordering минимизирует вероятность переполнения в реализации. Использование масштабирования 2-norm с 'down'- упорядочение минимизирует пиковый шум округления.

Примечание

Масштабирование бесконечности-нормы и 2-нормы подходит только для реализаций прямой формы II.

Типы данных: char

Порядок вещественных нулей, которые являются отрицательными друг от друга, задается как логический скаляр.

  • При указании zeroflag как false, функция упорядочивает эти нули в соответствии с близостью к полюсам.

  • При указании zeroflag как trueфункция сохраняет эти нули вместе. В результате получается числитель со средним коэффициентом, равным нулю.

Типы данных: logical

Выходные аргументы

свернуть все

Представление сечения второго порядка, возвращаемое в виде матрицы. sos является матрицей L-by-6

SOS = [b01b11b211a11a21b02b12b221a12a22  b0Lb1Lb2L1a1La2L]

строки которых содержат числитель и знаменатель коэффициентов bik и aik секций второго порядка H (z):

H (z) =g∏k=1LHk (z) =g∏k=1Lb0k+b1kz−1+b2kz−21+a1kz−1+a2kz−2.

Если передаточная функция имеет n нулей и m полюсов, то L является ближайшим целым числом, большим или равным max (n/2, m/2).

Общее усиление системы, возвращаемое как реальный скаляр.

При звонке zp2sos с одним выходным аргументом функция встраивает общее системное усиление в первый раздел, H1 (z), так что

H (z) =∏k=1LHk (z).

Примечание

Встраивание коэффициента усиления в первый раздел при масштабировании структуры прямой формы II не рекомендуется и может привести к неравномерному масштабированию. Чтобы избежать внедрения усиления, используйте zp2sos с двумя выходами.

Алгоритмы

zp2sos использует четырехступенчатый алгоритм для определения представления секции второго порядка для входной системы с нулевым полюсным усилением:

  1. Он группирует нули и полюса в комплексные сопряженные пары, используя cplxpair функция.

  2. Он образует секцию второго порядка, сопоставляя пары полюса и нуля по следующим правилам:

    1. Сопоставьте полюса, ближайшие к единичной окружности, с нулями, ближайшими к этим полюсам.

    2. Сопоставьте полюса, ближайшие к единичной окружности, с нулями, ближайшими к этим полюсам.

    3. Продолжайте до тех пор, пока не будут сопоставлены все полюса и нули.

    zp2sos группирует реальные полюса в секции с ближайшими к ним реальными полюсами по абсолютной величине. То же правило применяется для реальных нулей.

  3. Она упорядочивает сечения в соответствии с близостью пар полюсов к единичной окружности. zp2sos обычно упорядочивает секции с полюсами, ближайшими к последней в каскаде единичной окружности. Вы можете сказать zp2sos для упорядочения сечений в обратном порядке с помощью order аргумент.

  4. zp2sos масштабирует сечения по норме, указанной в scale. Для произвольного H (λ) масштабирование определяется

    H‖p=[12π∫02π'H (λ) | pdλ] 1/p

    где p может быть либо бесконечностью, либо 2. Это масштабирование является попыткой минимизировать переполнение или пиковый шум округления в реализациях фильтра с фиксированной точкой.

Ссылки

[1] Джексон, Л. Б. Цифровые фильтры и обработка сигналов. 3-я редакция Boston: Kluwer Academic Publishers, 1996.

[2] Митра, Санджит Кумар. Цифровая обработка сигналов: компьютерный подход. 3-я редакция Нью-Йорк: Высшее образование Макгро-Хилл, 2006.

[3] Вайдянатхан, П. П. «Надежные структуры цифрового фильтра». Справочник по цифровой обработке сигналов (С. К. Митра и Дж. Ф. Кайзер, ред.). Нью-Йорк: John Wiley & Sons, 1993.

См. также

| | | | | |

Представлен до R2006a