Contenido principal

La traducción de esta página aún no se ha actualizado a la versión más reciente. 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

zplane(z,p) representa los ceros y polos de sistemas en tiempo discreto en la ventana de la figura actual. Especifique los ceros en un vector columna z y los polos en un vector columna p. 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) primero utiliza roots para encontrar los ceros y polos de la función de transferencia representada por los coeficientes del numerador b y los coeficientes del denominador a, y luego zplane representa los ceros y polos en la ventana de la figura actual. Especifique b y a como vectores fila.

ejemplo

zplane(B,A,"ctf") encuentra y representa los ceros y polos del filtro digital representado como Cascaded Transfer Functions (CTF) con coeficientes del numerador B y coeficientes del denominador A. (desde R2024b)

ejemplo

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

zplane(d) encuentra 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.

[vz,vp,vk] = zplane(d) devuelve los ceros vz, los polos vp y la ganancia vk correspondientes 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 object. The axes object with title 4th-Order Elliptic Lowpass Digital Filter, xlabel Real Part, ylabel Imaginary Part contains 3 objects of type line. One or more of the lines displays its values using only markers

Cree el mismo filtro utilizando designfilt. Utilice zplane para representar los polos y los ceros.

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

Figure contains an axes object. The axes object with title Pole-Zero Plot, xlabel Real Part, ylabel Imaginary Part contains 3 objects of type line. One or more of the lines displays its values using only markers

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 object. The axes object with title Pole-Zero Plot, xlabel Real Part, ylabel Imaginary Part contains 3 objects of type line. One or more of the lines displays its values using only markers

Visualice la respuesta de fase cero de este filtro. Superponga el círculo de la 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 object. The axes object with xlabel Real, ylabel Imaginary contains 4 objects of type line. One or more of the lines displays its values using only markers

Desde R2024b

Diseñe un filtro digital paso bajo Chebyshev Tipo II de orden 40 con una frecuencia de borde de banda de parada de 0,4 y una atenuación de la banda de parada de 50 dB. Represente los ceros y polos del filtro en el plano z utilizando los coeficientes de filtro en formato CTF.

[B,A] = cheby2(40,50,0.4,"ctf");

zplane(B,A,"ctf")

Figure contains an axes object. The axes object with title Pole-Zero Plot, xlabel Real Part, ylabel Imaginary Part contains 3 objects of type line. One or more of the lines displays its values using only markers

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 especifican un filtro Butterworth de tercer orden con una frecuencia normalizada de 3 dB de 0,5π rad/muestra.

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

Desde R2024b

Coeficientes de función de transferencia en cascada (CTF), especificados como escalares, vectores o matrices. B y A indican los coeficientes de numerador y denominador de la función de transferencia en cascada, respectivamente.

B debe tener un tamaño de L por (m + 1) y A debe tener un tamaño de L por (n + 1), donde:

  • L representa el número de secciones del filtro.

  • m representa el orden de los numeradores del filtro.

  • n representa el orden de los denominadores del filtro.

Para obtener más información sobre el formato de la función de transferencia en cascada y las matrices de coeficientes, consulte Especificar filtros digitales en formato CTF.

Nota

Si cualquier elemento de A(:,1) no equivale a 1, entonces zplane normaliza los coeficientes de filtro mediante A(:,1). En este caso, A(:,1) debe ser distinto de cero.

Tipos de datos: double | single
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 una frecuencia normalizada de 3 dB de 0,5π rad/muestra.

Argumentos de salida

contraer todo

Vectores de identificadores a las líneas de cero, hz y las líneas de polos, hp, de la gráfica de polos y ceros. ht es un vector de identificadores a los ejes/línea del círculo de la 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.

Más acerca de

contraer todo

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.

Referencias

[1] Lyons, Richard G. Understanding Digital Signal Processing. Upper Saddle River, NJ: Prentice Hall, 2004.

Historial de versiones

Introducido antes de R2006a

expandir todo