Está en la página 1de 13

TRANSFORMADA Z

24 abril 2023

Catedrático:
Ing. Angel Vergara Betancourt

Presenta:
Angel Peter Hernández Herrera

Ing. Mecatrónica
10 “C”

Procesamiento Digital de Señales


19. CALCULE LA TRASFORMADA Z INVERSA MEDIANTE COMANDO
“FILTER” (MATLAB) O “SCIPY.SIGNAL.LFILTER” EN PYTHON.
1+𝑧 −1 −𝑧 −2
𝐺(𝑧) = 1−𝑧 −1

1+𝑧 −1 −𝑧 −2
Para calcular la transformada Z inversa de la función 𝐺(𝑧) = 1−𝑧 −1 utilizando el
comando "scipy.signal. lfilter" en Python, se pueden seguir los siguientes pasos:

Importar la librería scipy.signal y numpy:

import scipy.signal as sig


import numpy as np

Definir los coeficientes numéricos y denominadores de la función de transferencia:

num = [1, 1, -1]


den = [1, -1]

Definir el número de muestras y el vector de entrada para la función de filtro:

n = 100
x = np.zeros(n)
x[0] = 1

Aplicar el filtro usando el comando lfilter:

y = sig.lfilter(num, den, x)

Graficar la respuesta temporal utilizando la librería matplotlib:

import matplotlib.pyplot as plt


plt.stem(y)
plt.xlabel('n')
plt.ylabel('y[n]')
plt.title('Respuesta temporal de G(z)')
plt.grid()
plt.show()
El código completo para calcular la transformada z inversa de g(z) y su funcionamiento
es el siguiente :

20. Mediante división directa, fracciones parciales,


ecuaciones de recurrencia y comando “filter” (Matlab) o
“scipy.signal.lfilter” en Python obtenga la transformada z
inversa de
1(1 − 𝑧 − 2)
𝐺(𝑧) = 𝑧 −
(1 + 𝑧 − 2)2

Primero realizamos la división directa para obtener la forma parcial de la fracción:

𝐺(𝑧) = (𝑧 − 1/(1 + 𝑧 − 2)² − (1/(1 + 𝑧 − 2)²)𝑧 − 2

Luego, para obtener la transformada Z inversa mediante fracciones parciales,


escribimos G(z) como:

𝐴 𝐵 𝐶 𝐷
𝐺(𝑧) = + 2
+ 𝑧 + 𝑧
1 + 𝑧 − 2 (1 + 𝑧 − 2) 1−2 1+2
Para encontrar los valores de A, B, C y D, realizamos la expansión en fracciones
parciales:

𝐴+𝐵 𝐶 𝐷
𝐺(𝑧) = 2
+ 𝑧 + 𝑧
(1 + 𝑧 − 2) 1−2 1+2

Despejando A, B, C y D, obtenemos:

1 3 1
𝐴 = 𝐵 = − 𝐶 = − 𝐷 = 2
2 2 2

Por lo tanto, la transformada Z inversa mediante fracciones parciales es:

1 𝑛
3 𝑛
1 1 𝑛 1 𝑛
𝑔(𝑛) = ∗ (−2) + (− ) 𝑛 (−2) + (− ) ( ) + 2 (− )
2 2 2 2 2

Para encontrar la transformada Z inversa mediante ecuaciones de recurrencia, primero


expresamos G(z) en términos de la salida y la entrada como:

𝑌(𝑧)(1 + 𝑧 − 2)2 = 𝑋(𝑧) − 𝑌(𝑧)(𝑧 − 1)

Luego, despejando Y(z), obtenemos:

𝑋(𝑧) 𝑧−1
𝑌(𝑧) = 2
− ∗ 𝑌(𝑧)
(1 + 𝑧 − 2) (1 + 𝑧 − 2)2

La fórmula de recurrencia correspondiente es:

1 4 1 2
𝑦(𝑛) = 𝑥(𝑛) − 𝑥(𝑛 − 1) + 𝑦(𝑛 − 2) − 𝑦(𝑛 − 1)
3 9 3 3
Finalmente, para obtener la transformada Z inversa mediante el comando
“scipy.signal.lfilter” en Python, podemos utilizar la ecuación de recurrencia y utilizar la
función lfilter de la siguiente manera:

Donde a y b corresponde a los coeficientes de la fórmula de recurrencia, x es la señal


de entrada y g es la señal de salida correspondiente.

También podría gustarte