zplane

График нулей и полюсов для систем дискретного времени

Описание

пример

zplane(z,p) строит нули, заданные в вектор-столбце z и полюса задали в вектор-столбце p в окне текущей фигуры. Символ 'o' представляет нуль и символ 'x' представляет полюс. График включает модульный круг для ссылки.

Если z и p матрицы, затем zplane строит полюса и нули в столбцах z и p в различных цветах.

пример

zplane(b,a), где b и a векторы-строки, сначала использование roots найти нули и полюса передаточной функции представленными коэффициентами числителя b и коэффициенты знаменателя a.

[hz,hp,ht] = zplane(___) возвращает векторы из указателей на нулевые линии, hz, и линии полюса, hp. ht вектор из указателей на линию круга осей/модуля и на текстовые объекты, которые присутствуют, когда существует несколько нулей или полюсов.

zplane(d) находит нули и полюса передаточной функции представленными цифровым фильтром, dИспользование designfilt сгенерировать d на основе технических требований частотной характеристики. Диаграмма нулей и полюсов отображена в FVTool.

[vz,vp,vk] = zplane(d) возвращает нули (векторный vz), полюса (векторный vp), и усиление (скалярный vk) соответствие цифровому фильтру d.

Примеры

свернуть все

Для данных, произведенных на уровне 1 000 Гц, постройте полюса и нули 4-го порядка эллиптический цифровой фильтр lowpass с частотой среза 200 Гц, 3 дБ пульсации в полосе пропускания и 30 дБ затухания в полосе задерживания.

[z,p,k] = ellip(4,3,30,200/500);
zplane(z,p)
grid
title('4th-Order Elliptic Lowpass Digital Filter')

Figure contains an axes object. The axes object with title 4th-Order Elliptic Lowpass Digital Filter contains 3 objects of type line.

Создайте тот же фильтр с помощью designfilt. Используйте zplane построить полюса и нули. Обратите внимание на то, что этот синтаксис zplane вызовы fvtool.

d = designfilt('lowpassiir','FilterOrder',4,'PassbandFrequency',200, ...
               'PassbandRipple',3,'StopbandAttenuation',30, ...
               'DesignMethod','ellip','SampleRate',1000);
zplane(d)

Figure Filter Visualization Tool - Pole-Zero Plot contains an axes object and other objects of type uitoolbar, uimenu. The axes object with title Pole-Zero Plot contains 3 objects of type line.

Спроектируйте 8-й порядок полосовой фильтр Типа II Чебышева с затуханием в полосе задерживания 20 дБ. Задайте частоты ребра полосы задерживания как π/8 рад/отсчет и 5π/8 рад/отсчет.

[b,a] = cheby2(8/2,20,[1 5]/8);

Используйте zplane построить полюса и нули передаточной функции.

zplane(b,a)

Figure contains an axes object. The axes object contains 3 objects of type line.

Визуализируйте нулевой фазовый отклик фильтра. Наложите модульный круг и положения полюсов и нулей.

[hw,fw] = zerophase(b,a,1024,"whole");

z = roots(b);
p = roots(a);

plot3(cos(fw),sin(fw),hw)
hold on
plot3(cos(fw),sin(fw),zeros(size(fw)),'--')
plot3(real(z),imag(z),zeros(size(z)),'o')
plot3(real(p),imag(p),zeros(size(p)),'x')
hold off
xlabel("Real")
ylabel("Imaginary")
view(35,40)
grid

Figure contains an axes object. The axes object contains 4 objects of type line.

Входные параметры

свернуть все

Нули и полюса в виде вектор-столбцов или матриц. Если z и p матрицы, затем zplane строит полюса и нули в столбцах z и p в различных цветах.

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

Коэффициенты передаточной функции в виде векторов-строк. Передаточная функция задана в терминах z–1:

H(z)=B(z)A(z)=b(1)+b(2)z1++b(n+1)zna(1)+a(2)z1++a(m+1)zm

Пример: b = [1 3 3 1]/6 и a = [3 0 1 0]/3 задайте третий порядок Фильтр Баттерворта с нормированной частотой на 3 дБ 0.5π рад/отсчет.

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

Цифровой фильтр в виде digitalFilter объект. Использование designfilt сгенерировать цифровой фильтр на основе технических требований частотной характеристики.

Пример: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) задает третий порядок Фильтр Баттерворта с нормированной частотой на 3 дБ 0.5π рад/отсчет.

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

свернуть все

Векторы из указателей на нулевые линии, hz, и линии полюса, hp, из диаграммы нулей и полюсов. ht вектор из указателей на линию круга осей/модуля и на текстовые объекты, которые присутствуют, когда существует несколько нулей или полюсов. Если нет никаких нулей или никаких полюсов, hz или hp пустая матрица, [].

Нули, полюса и усиление цифрового фильтра, d, возвращенный как вектор-столбцы и скаляр.

Советы

  • Можно заменить автоматическое масштабирование zplane использование

    axis([xmin xmax ymin ymax])

    после вызова zplane. Это масштабирование полезно, когда один или несколько нулей или полюсов имеют такую большую величину, что другие сгруппированы плотно вокруг источника и тверды различать.

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