Está en la página 1de 7

La transformada Z y de Fourier en MatLab

Galo Candela Karina Gutiérrez


Departamento de Eléctrica y Electrónica Departamento de Eléctrica y Electrónica
Quito, Ecuador Quito, Ecuador

gcandela@espe.edu.ec kgutierrez@espe.edu.ec

Abstract— In mathematics and signal processing, the Z  Si x[n] es una secuencia del lado derecho entonces la
transform converts a real or complex signal in the discrete time ROC se extiende hacia fuera desde el último polo en
domain into a representation in the domain of the complex x[z].
frequency. The name of Z Transform comes from the variable of
the domain. A more suitable name could have been "Transform  Si x[n] es una secuencia del lado izquierdo, entonces
by Laurent", since it is based on the Laurent series. This la ROC se extiende hacia dentro desde el polo más
transform is to the discrete time signals the same as Laplace to cercano en x[z].
the continuous time signals.
 Si x[n] es una secuencia dupla, la ROC va a ser un
Keywords— Discrete-time signals, signal processing, anillo en el plano-z que está restringido en su interior
y exterior por un polo.
Z Transform.

II. COMANDOS DE MATLAB UTILIZADOS PARA LA SOLUCIÓN DE


I. INTRODUCCIÓN LA TRANSFORMADA Z
En las matemáticas y procesamiento de señales,
la Transformada Z convierte una señal real o compleja definida A. Comando Abs:
en el dominio del tiempo discreto en una representación en Encuentra el valor absoluto de los elementos en una matriz
el dominio de la frecuenciacompleja. de números complejos.
El nombre de Transformada Z procede de la variable del Ejemplo:
dominio, al igual que se podría llamar "Transformada S" a
la Transformada de Laplace. Un nombre más adecuado para la >> x=[0.3+0.4i -0.5+i 0.33+0.47i];
Transformada Z podría haber sido "Transformada de Laurent", >>abs(x)
ya que está basada en la serie de Laurent.
ans =
La Transformada Z es a las señales de tiempo discreto lo
mismo que Laplace a las señales de tiempo continuo. 0.5000 1.1180 0.5743
La región de convergencia, también conocida como ROC,
define la región donde la Transformada Z existe. La ROC es
una región del plano complejo donde la Transformada Z de una B. Comando Angle:
señal tiene una suma finita. Calcula la fase de cada elemento de una matriz de números
La ROC para una x[n] es definida como el rango de z para complejos.
la cual la Transformada Z converge. El parámetro de entrada es una matriz de números
La región de convergencia tiene propiedades que dependen complejos, en este caso la matriz “x”.
de las características de la señal, x[n]: Ejemplo:
 La ROC no tiene que contener ninún polo. Por >>angle(x)
definición un polo es donde x[z] es infinito. Ya que
x[z] tiene que ser finita para todas las z para tener ans =
convergencia. 0.9273 2.0344 0.9586
 Si x[n] es una secuencia de duración finita, entonces
la ROC es todo el plano-z, excepto en |z|=0 o |z|=∞.

XXX-X-XXXX-XXXX-X/XX/$XX.00 ©20XX IEEE


C. Comando Freqz:
Proporciona la respuesta de frecuencia de un sistema lineal
de tiempo discreto especificado por su función de
transferencia.

D. Comando Freqspace:
Genera un vector con puntos igualmente espaciados en el
círculo unitario.
Ejemplo:
>> a=[1 0.8 0.64];
>> b=[1 1];
>> w=pi*freqspace(200);
>>freqz(b, a, w)

Fig2. Gráfico de la función “p”

Fig1. Gráficos obtenidos con la función FREQZ y FREQSPACE

E. Comando Unwrap: Fig3. Gráfico obtenido al aplicar la función UNWRAP en la función “p”
Abre la fase de modo que los saltos de fase siempre sean
menores que 2π. F. Comando Grpdelay:
Ejemplo: Otorga el grupo retraso de un sistema lineal de tiempo
discreto especificado por su función de transferencia.
>> p1=[0:0.01:6*pi];
>> p=[p1 p1]; Ejemplo:
>>plot(p);
>> a=[1 0.8 0.64];
>> q=unwrap(p);
>> b=[1 1];
>>figure(2);
>> [gd,w]=grpdelay(b,a,200);
>>plot(q)
>>plot(w,gd)
Fig5. Función de Transferencia

I. ComandoZplane:
Dada una función de transferencia, traza las ubicaciones de
de los ceros y polos.

Fig4. Gráficos obtenido al aplicar la función GRPDELAY III. TRANSFORMADA Z INVERSA


En el programa Matlab, no existe de manera directa una
funcion de transformada Z inversa que satisfaga con todas las
G. Comando Tf2zp: necesidades para dicho análisis (señal en el tiempo, gráfica de
Dada una función de transferencia, devuelve las polos y ceros, etc.) por lo que se emplea una division
ubicaciones de los ceros y polos. polinómica para cierta cantidad de puntos P, por lo que, se
puede obtener la señal en el tiempo en un rango de 0 ≤ 𝑛 ≤ 𝑃.

Ejemplo: A. Respuesta en Frecuencia


>> a=[1 0.8 0.64 0.3 0.02]; Ejemplo:
>> b=[1 1 0.3]; N=3
>> [z p k]=tf2zp(b,a) >> num10=ones(1,3);
z= >> den10=[3,zeros(1,2)];
-0.5000 + 0.2236i >> [H10,W]=freqz(num10,den10);
-0.5000 - 0.2236i >>figure(1);
p= >>plot(W,abs(H10));
-0.0966 + 0.6869i
-0.0966 - 0.6869i
-0.5281 + 0.0000i
-0.0787 + 0.0000i
k=
1

H. Comando Fzp2tf:
Dada una función de transferencia, devuelve las
ubicaciones de los ceros y polos.
Ejemplo:
>> [b,a]=zp2tf(z,p,k)
b=
0 0 1.0000 1.0000 0.3000
a=
1.0000 0.8000 0.6400 0.3000 0.0200

Fig5. Respuesta en frecuencia de W con N=3


Utilixando la función ZPLANE obtenemos los polos de W:

Ejemplo:
>>zplane(num10,den10);

Fig8. Diagrama de polos y ceros de W con N=6

Fig6. Diagrama de polos y ceros de W con N=3

Fig9. Respuesta en frecuencia de W con N=20

Fig7. Respuesta en frecuencia de W con N=6


Fig10. Diagrama de polos y ceros de W con N=20 Fig12. Diagrama de polos y ceros de W (dos ceros y dos polos)

Ejemplo:
B. Diseño de filtro intuitivo >> p1=0.9*exp(j*pi/4);
Ejemplo: >> z1=[1 -1];
>> z2=exp(j*pi/8);
>> p1=0.9*exp(j*pi/4); >> z3=exp(j*3*pi/8);
>> z=[1 -1].'; >> Z=[1 -1 z2 z2' z3 z3'].';
>> p=[p1 p1']; >> [num, den]=zp2tf(Z,P,1);
>> [num, den]=zp2tf(z,p,1); >> [h,w]=freqz(num,den);
>> [h,w]=freqz(num, den); >>plot(W,abs(h)/max(abs(h)));
>>plot(W,abs(h)/max(abs(h)));

Fig13. Respuesta en frecuencia de W


Fig11. Respuesta en frecuencia de W
Fig16. Diagrama de polos y ceros de W (seis ceros y triples polos)
Fig14. Diagrama de polos y ceros de W (seis ceros y dos polos)

>> Z=[1 -1 z2 z2' z3 z3'].';


>> p1=0.9*exp(j*pi/4);
>> Z=[1 -1 z2 z2' z3 z3'].'; >> p2=0.9*exp(j*pi/4);
>> p1=0.9*exp(j*pi/4); >> p3=0.9*exp(j*pi/4);
>> p2=0.9*exp(j*pi/4); >> P=[p1 p1' p2 p2' p3 p3'];
>> p3=0.9*exp(j*pi/4); >> [num, den]=zp2tf(Z,P,1);
>> P=[p1 p1' p2 p2' p3 p3']; >> [h,w]=freqz(num,den);
>> [num, den]=zp2tf(Z,P,1); >>plot(W,abs(h)/max(abs(h)));
>> [h,w]=freqz(num,den);
>>plot(W,abs(h)/max(abs(h)));

Fig15. Respuesta en frecuencia de W Fig17. Respuesta en frecuencia de W


Fig18. Diagrama de polos y ceros de W (seis ceros y polos p2 y p3 un
poco alejados de p1)

IV. CONCLUSIONES Y RECOMENDACIONES


En el presente laboratorio se realizó el procedimiento de
solución de cada uno de los ejercicios planteados mediante
códigos del programa de MatLab.
La resolución de los enunciados se obtuvo de manera
gráfica, lo cual facilitó la visualización de los ceros y polos en
una función de transferencia.
Para el diseño de filtros, se debe interactuar con los polos y
ceros de la función de transferencia, debido a que, si un valor
de frecuencia se acerca a un polo, este se volverá muy grande,
y lo contrario pasará con un cero.
Se puede mejorar un filtro (en su selectividad) aumentando
ceros y polos alrededor de la frecuencia (o rango de
frecuencias deseada).

REFERENCIAS

[1] P. Diniz, E. da Silva y S. Netto, Digital Signal


Processing: System Analysis and Design, Cambridge
University Press, 2010.
[2] H. Monson, Schaum’s Outline of Theory and Problems of
Digital Signal Processing, McGraw Hill, 2011.

También podría gustarte