Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

zplane

Gráfica de polos y ceros para sistemas de tiempo discreto

Descripción

ejemplo

zplane(z,p) representa los ceros especificados en el vector columna z y los polos especificados en el vector columna p en la ventana de figura actual. El símbolo 'o' representa un cero y el símbolo 'x' representa un polo. La gráfica incluye el círculo de la unidad como referencia.

Si z y p son matrices, entonces zplane representa los polos y los ceros en las columnas de z y p en colores diferentes.

ejemplo

zplane(b,a), donde b y a son vectores fila, primero utiliza roots para buscar los ceros y los polos de la función de transferencia representada por los coeficientes del numerador b y del denominador a.

[hz,hp,ht] = zplane(___) devuelve vectores de identificadores a las líneas de cero, hz y las líneas de polos hp. ht es un vector de identificadores a la línea del círculo de los ejes/unidad y a los objetos de texto, que están presentes cuando hay varios ceros o polos.

zplane(d) busca los ceros y los polos de la función de transferencia representada por el filtro digital, d. Utilice designfilt para generar d según las especificaciones de frecuencia-respuesta. La gráfica de polos y ceros se muestra en FVTool.

[vz,vp,vk] = zplane(d) devuelve los ceros (vector vz), polos (vector vp) y ganancia (escalar vk) que corresponden al filtro digital d.

Ejemplos

contraer todo

Para los datos que se muestran a 1000 Hz, represente los polos y los ceros de un filtro digital de paso bajo de cuarto orden con una frecuencia de corte de 200 Hz, 3 dB de curva en la banda de paso y 30 dB de atenuación en la banda de parada.

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

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

Cree el mismo filtro utilizando designfilt. Utilice zplane para representar los polos y los ceros. Tenga en cuenta que esta sintaxis de zplane llama a 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 and other objects of type uitoolbar, uimenu. The axes with title Pole-Zero Plot contains 3 objects of type line.

Diseñe un filtro paso banda Chebyshev Tipo II de octavo orden con una atenuación en la banda de parada de 20 dB. Especifique las frecuencias del extremo de la banda de parada como π/8 rad/muestra y 5π/8 rad/muestra.

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

Utilice zplane para representar los polos y los ceros de la función de transferencia.

zplane(b,a)

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

Visualice la respuesta de fase cero de este filtro. Superponga el círculo de unidad y las ubicaciones de los polos y ceros.

[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. The axes contains 4 objects of type line.

Argumentos de entrada

contraer todo

Ceros y polos, especificados como vectores columna o matrices. Si z y p son matrices, entonces zplane representa los polos y los ceros en las columnas de z y p en colores diferentes.

Tipos de datos: single | double
Soporte de números complejos:

Coeficientes de la función de transferencia, especificados como vectores fila. La función de transferencia se define en términos de 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

Ejemplo: b = [1 3 3 1]/6 y a = [3 0 1 0]/3 especifica un filtro Butterworth de tercer orden con 3 dB normalizados de frecuencia 0,5π rad/muestra.

Tipos de datos: single | double
Soporte de números complejos:

Filtro digital, especificado como un objeto digitalFilter. Utilice designfilt para generar un filtro digital según las especificaciones de frecuencia-respuesta.

Ejemplo: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) especifica un filtro Butterworth de tercer orden con 3 dB normalizados de frecuencia 0,5π rad/muestra.

Argumentos de salida

contraer todo

Vectores de identificadores a las líneas de cero, hz y las líneas de polo, hp, de la gráfica de polos y ceros. ht es un vector de identificadores a la línea del círculo de los ejes/unidad y a los objetos de texto, que están presentes cuando hay varios ceros o polos. Si no hay ceros o polos, hz o hp es la matriz vacía, [].

Ceros, polos y ganancia del filtro digital, d, devueltos como vectores columna y un escalar.

Sugerencias

  • Puede anular el escalado automático de zplane utilizando

    axis([xmin xmax ymin ymax])

    después de llamar a zplane. Este escalado es útil cuando uno o más ceros o polos tienen una magnitud tan grande que otros se agrupan estrechamente alrededor del origen y son difíciles de distinguir.

Introducido antes de R2006a