Está en la página 1de 8

Transformada Z y Transformada de Fourier de

tiempo discreto
Marcillo Kevin, Quelal Ronald
Universidad de las Fuerzas Armadas- ESPE
Departamento de Eléctrica y Electrónica
Sangolquí - Ecuador
krmarcillo@espe.edu.ec, rrquelal1@espe.edu.ec
Resumen.-

En el mundo de la electrónica digital,


II. OBJETIVOS
se tiene varios procesos de control (entre ellos
el filtraje) de acuerdo a las diferentes señales • Familiarizar al estudiante con la
que generan las distintas variables físicas, por transformada Z y transformada de Fourier de
lo que el uso de Matlab es útil para diseñar tiempo discreto en Matlab.
de manera teórica estos sistemas de control
• Entender la funcionalidad de los diversos
digitales (esto es facilitado mucho porque la
comandos existentes en Matlab para la
computadora es digital). En este documento se
aplicación de transformadas discretas.
revisará la manera de obtener la
transformada inversa Z y la respuesta en III. MATERIALES
frecuencia de un sistema y su aplicación en
filtros. • Computador con Matlab instalado.

IV. PROCEDIMIENTO
I. INTRODUCCIÓN
A) Transformada Z y de Fourier con Matlab
En este capítulo presentamos la
transformada Z, que es la contraparte en tiempo Existen muchas funciones en Matlab que ayudan
discreto de la transformada de Laplace. La analizar muchas funciones que son relacionadas con
transformada Z puede considerarse una extensión o funciones de transferencia:
generalización de la transformada de Fourier
discreta, así como la transformada de Laplace puede
• abs: Este comando permite encontrar los
considerarse como una extensión de la transformada
de Fourier. La transformada Z se introduce para
términos absolutos o mejor dicho el
representar señales en tiempo discreto (o secuencias) módulo de una matriz de números
en el dominio dela variable compleja z, y luego se complejos.
describirá el concepto de la función del sistema para
un sistema LTI en tiempo discreto. Como ya se Ejemplo:
estudió, la transformada de Laplace convierte
ecuaciones íntegro-diferenciales en ecuaciones
algebraicas.

Matlab nos permite analizar datos, mediante código


desarrollando algoritmos que cumplan con
determinadas funciones como en este caso vamos a
tener que relacionarlos con la aplicación que Observamos que este comando nos permite
necesitemos con la transformada Z y transformada calcular los módulos de un número complejo lo
de Fourier las cuales tienen una gran relación o mismo que es muy útil para calcular la respuesta
parentesco; siendo estas visualizadas como se en frecuencia.
tendrá en consiguiente en este documento.
• Angle: Calcula la fase, es decir el Figura 2:
ángulo de cada elemento de la matriz
con números complejos.

Ejemplo:

El comando nos permite encontrar el ángulo y así


poder representar el número complejo con módulo y
ángulo o mejor dicho en la forma polar.
Del comando [h,w]=freqz(b,a,200); h contiene
• Freqz: De la respuesta en frecuencia de un la respuesta en frecuencia. Y w contiene los
sistema lineal e invariante en el tiempo puntos donde la respuesta en frecuencia fue
especificado por la función de transferencia. evaluada.
Para introducir este comando se debe
proporcionar los siguientes parámetros:
Con la ayuda del comando plot se graficó la
➢ Un vector a que contiene los coeficientes del respuesta en frecuencia primero con el módulo de h
polinomio numerador. el cual muestra que tipo de filtro es en este caso un
➢ Un vector b que contiene los coeficientes del pasa banda y luego la gráfica del ángulo en función
polinomio denominador. de la frecuencia que muestra si el sistema puede
➢ Un número n de puntos alrededor de la mitad tener distorsión.
del circulo unitario o un vector w de puntos
en donde la respuesta es evaluada. • Freqspace: Genera un vector con puntos
equidistantes en el circulo unitario. Al igual
Ejemplo: que el anterior se da el parámetro n que es el
numero de puntos encima de la mitad del
circulo unitario.
Ejemplo:

Figura 1:
Como se observa el comando devuelve la gráfica de Ejemplo:
la Magnitud con el gráfico de la fase.

• Unwrap: Desenvuelve el angulo de fase de


modo que los saltos de fase son menores
que 2π.

Ejemplo:

Figura1:

Como se observa grpdelay devuelve gd un


vector que contiene la respuesta en frecuencia y
w un vector que contiene los puntos de la
frecuencia a cuales la función fue evaluada.

• Tf2zp: Si se da la función de
transferencia te devuelve la localidad de
los polos y los zeros.
• Zp2tf: Dando zeros y los polos,
devuelve los coeficientes de la función
de transferencia.
Figura 2: • Zplane: Dando la función de
transferencia grafica la localidad de los
polos y zeros.

Ejemplo:

Figura 1:

• grdelay: Devuelve el grupo de retardo


de un sistema lineal e invariante en el
tiempo que esta especificado por la
función de transferencia:
Como se observa en el gráfico este comando Considerando que X (z ) representa la transformada
grafica los polos y zeros de la función de z de la respuesta al impulso de un sistema causal.
transferencia donde a son los coeficientes del La respuesta al impulso x[n] puede determinarse
denominador y b son los coeficientes de desde 0≤n≤P con P =20.
numerador.

Ejemplo:

Figura 2:

Se observa que dentro del ciclo for se genera la


Este gráfico al igual que el anterior devuelve los inversa de la transformada z hasta un valor P
ceros y los polos a diferencia con el otro así sería la finito.
manera correcta de escribir la función ya que da los
zeros verdaderos.
Ejercicio:

• Residuez: Calcula las fracciones Determine la transformada z inversa de:


parciales de una función de
transferencia. z2
X ( z )=
(z−0.2)( z−0.2)
También nos serán de utilidad los comandos: conv,
impz, filter utilizados en el anterior laboratorio. Considerando que X(z) representa la transformada
z de la respuesta al impulso de un sistema causal.
Note que por un polo de multiplicidad m>1, el
B) Transformada Z inversa
comando residue para mk = 1, 2 ,3 ……., m. En
este caso debemos considerar la función para
El comando de Matlab residue suele usarse para mk=m en la sumatoria que determina x[n].
realizar la transformada z inversa de una función de
transferencia. Este comando debe recibir dos
parámetros el numerador y el denominador de X(z)
zn-1.

Ejemplo:
Determinar la transformada inversa de:
z2
X ( z )=
(z−0.2)( z +0.8)
En MatLab es fácil obtener esta respuesta con el
comando freqz. Para realizarlo se tiene que
reescribir H(z) en un polinomio racional formado
con exponentes no negativos. Para muchos valores
de N, el numerador y el denominador de H(z) son
eficientemente definidos con la matriz de ceros y
unos.

Ejemplo:

La última línea de código genera el resultado de la


respuesta de la magnitud. Remplazando angle por
abs obtenemos la respuesta en fase.

El grupo de retardo se puede obtener con el


comando grpdelay, y se expresa igualmente que
con el comando freqz.
En el gráfico se observa la transformada inversa de
z para m=20.

C) Respuesta en frecuencias

Si se quiere analizar el comportamiento de un


sistema cuya entrada y salida están descritas
por:
x [ n ] + x [ n−1 ] + …+ x [n−N +1]
y [ n ]=
N

Podemos poner la relación en el dominio de z.


Y (z ) 1+ z−1+ …+ z−N +1
H ( z )= =
X ( z) N
jw
Si z = e con 0≤ w ≤2π se puede determinar la
respuesta en frecuencia.
Deduciendo los sistemas anteriores obtenemos que:

z N−1 + z N −2+ …+1


H ( z )=
N z N −1

La asociación del sistema presenta N-1 polos en el


origen del plano complejo z y N-1 ceros
igualmente expresados excepto en z=1.

Repitiendo el código de freqz para diferentes N


tenemos:

N=3

Se puede observar que el ejercicio anterior se logró


deducir completamente en la respuesta en
frecuencia.

D) Diseño de filtro intuitivo

Las funciones zp2tf que genera la función de


N=20 transferencia dado por la posición de polos y
ceros, y la función freqz que genera la
magnitud y fase de un función de transferencia
dada son herramientas importantes para el
diseño de filtros intuitivamente.
Supongamos que se desea diseñar un filtro que
proporciona una significante respuesta en
frecuencia alrededor de π/4. Una forma de lograr
este filtro es generando la función de transferencia
que tiene un polo cerca de la unidad del circulo con
fase en π/4. Esto se debe ya que el denominador
tiende a ser pequeño alrededor a este polo, la
respuesta de la magnitud tiende a ser grande. En
conclusión puede decrecer en otras frecuencias al
poner ceros en z=1 y z=-1, forzando a las
frecuencias w=0 y w=π rad/muestra.

Ejemplo:

Figura 1:

Figura 2:

V. CONCLUSIONES

• Matlab sirve para estudiar los datos


obtenidos matemáticamente haciendo de
cualquier proceso matemático fácil de
desarrollar.
• Matlab ayuda al estudio de las
transformadas en función de la frecuencia
como es este caso.
Se puede observar que el diseño del filtro está en la • Matlab es una de las herramientas que más
respuesta a la magnitud deseada. se utiliza para encontrar círculos unitarios
en donde muestren las distintas respuestas
Otro diseño de filtro tenemos en la siguiente
que se tiene en un sistema.
función:
• Matlab es una herramienta poderosa que
permite realizar todo tipo de trabajo con
señales, ya sea para aplicar filtros o
cualquier otro tipo de tratamiento de la
señal

VI. RECOMENDACIONES

• Se debe usar el comando zplane para


encontrar el circulo unitario con facilidad.
• Para encontrar la respuesta en frecuencia se
utiliza el comando freqz.

VII. REFERENCIAS

• [1] Paulo Diniz, Eduardo da Silva, and Sergio


Netto. Digital Signal Processing: System Analysis
and Design, 2nd Edition. Cambridge University
Press, ISBN 978-0-521-88775-5, 2010.

También podría gustarte