Escolar Documentos
Profissional Documentos
Cultura Documentos
San Agustín
Facultad de Ingeniería de
Producción y Servicios
Docente:
LABORATORIO N° 3
Uso de la Transformada “Z”. Calculo analítico y con MatLab
Uso comandos: filter, stem, residue
1. a. Para la función salida Y(z), determinar los polos y ceros y ubicarlos dentro del plano z.
Los teoremas del valor inicial y final son aplicables en dicha salida. ¿Por qué? ¿Es estable
dicho sistema y por qué? Hallar sus valores y verificar con MatLab.
b. Hallar la Secuencia de Ponderación h(k) y graficarla.
c. Hallar y graficar la salida y(k) para la entrada rampa unitaria.
X(z) H(z)
𝟎. 𝟕𝟗𝟐𝒛
𝑯(𝒛) =
(𝒛𝟐 − 𝟎. 𝟒𝟏𝟔𝒛 + 𝟎. 𝟐𝟎𝟖)
>> z=tf('z');
>>Yz=0.792*z/(z^2-0.416*z+.208)
Yz =
0.792 z
---------------------
z^2 - 0.416 z + 0.208
>>zero(Yz)
ans =
>>pole(Yz)
ans =
0.2080 + 0.4059i
0.2080 - 0.4059i
>>pzmap(Yz)
>>grid on
0.792/𝑧
= lim =0
𝑧→∞ 1.416 + 0.624/𝑧 − 0.208/𝑧^2
0.792𝑧
𝑦(𝑡 → ∞) = lim[1 − 𝑧 −1 𝑌(𝑧)] = lim
𝑧→1 𝑧→1 (𝑧 2 − 0.416𝑧 + 0.208)
0.792𝑧
= lim =1
𝑧→1 𝑧 2 − 0.416𝑧 + 0.208
Estos teoremas son aplicables porque, por definición, existen los límites calculados.
1
𝑥(𝑡) = (1 − 𝑒 −𝑎𝑡 )
𝑎
Distribuyendo, tenemos:
1 𝑒 −𝑎𝑡
𝑥(𝑡) = −
𝑎 𝑎
1 1
𝑋(𝑧) = −
𝑎(1 − 𝑧 ) 𝑎(1 − 𝑒 −𝑎𝑘 𝑧 −1 )
−1
1 − 𝑒 −𝑎𝑘 𝑧 −1 − 1 + 𝑧 −1
=
𝑎(1 − 𝑧 −1 )(1 − 𝑒 −𝑎𝑘 𝑧 −1 )
1 𝑧 −1 (1 − 𝑒 −𝑎𝑘 )
= [ ]
𝑎 1 − 𝑧 −1 (1 + 𝑒 −𝑎𝑘 ) + 𝑒 −𝑎𝑘 𝑧 −2
En Matlab comparamos la respuesta del sistema continuo (en rojo) con la del sistema
discreto (azul):
Yz =
0.3678 z + 0.2644
-----------------
z^2 - z + 0.6322
Sample time: unspecified
Discrete-time transfer function.
>>zero(Yz)
ans =
-0.7189
>>pole(Yz)
ans =
0.5000 + 0.6182i
0.5000 - 0.6182i
>>pzmap(Yz)
num=[0.3678 0.2644];
den=[1 -1 0.6322];
D0_k=[1 zeros(1,20)];
x_kc=filter(num,den,D0_k);
k=0:20;
subplot(2,1,1)
stem(k,x_kc)
grid,title('Gráfica obtenida usando comando filter')
>> Untitled
r=
0.1839 - 0.3626i
0.1839 + 0.3626i
p=
0.5000 + 0.6182i
0.5000 - 0.6182i
k=
[]
b=
0.3678 0.2644
a=
0.3678𝑧 + 0.2644
𝐴= lim (𝑧 − (0.5 + 0.618𝑗))
𝑧=(0.5+0.618𝑗) 𝑧 (𝑧 − (0.5 + 0.618𝑗))(𝑧 − (0.5 − 0.618))
𝐴 = −0.21 − 0.467𝑗
0.3678𝑧 + 0.2644
𝐵= lim (𝑧 − (0.5 − 0.618)
𝑧=(0.5−0.618𝑗) 𝑧 (𝑧 − (0.5 + 0.618𝑗))(𝑧 − (0.5 − 0.618))
𝐵 = −0.21 + 0.467𝑗
0.3678𝑧 + 0.2644
𝐶 = lim 𝑧
𝑧=0 𝑧(𝑧2 − 𝑧 + 0.6322)
𝐶 = 0.4182
𝟎. 𝟑𝟔𝟕𝟖𝒛𝟐 + 𝟎. 𝟐𝟔𝟒𝟒𝒛
𝒀(𝒛) =
𝒛𝟑 − 𝟐𝒛𝟐 + 𝟏. 𝟔𝟑𝟐𝟐𝒛 − 𝟎. 𝟔𝟑𝟐𝟐
r =
1.0000 + 0.0000i
-0.3161 - 0.2557i
-0.3161 + 0.2557i
p =
1.0000 + 0.0000i
0.5000 + 0.6182i
0.5000 - 0.6182i
k =
[]
b =
0.3678 0.2644 0.0000
a =
1.0000 -2.0000 1.6322 -0.6322
>>
0.3678𝑧 2 + 0.2644𝑧
= lim =0
𝑧→∞ 𝑧 3 − 2𝑧 2 + 1.6322𝑧 − 0.6322
(0.3678𝑧 + 0.2644)𝑧
𝑦(𝑡 → ∞) = lim(𝑧 − 1) 𝑌(𝑧) = lim(z − 1)
𝑧→1 𝑧→1 (𝑧 − 1)(𝑧 2 − 𝑧 + 0.6322)
0.6322
= lim =1
𝑧→1 1 − 1 + 0.6322
Estos teoremas son aplicables porque, por definición, existen los límites calculados.
4. Para la ecuación en diferencias encontrar la serie en forma recursiva realizando un
programa en Matlab. Luego, hallar la transformada Z mediante calculo analítico y seguido
por el método de Matlab (comando filter), encontrar la transformada inversa Z hasta k =
30. Verificar ambos métodos y graficar para obtener conclusiones.
𝒙(𝟎) = 𝟎 ; 𝒙(𝟏) = 𝟏
𝒛𝟐 𝑿(𝒛) − 𝒛 = 𝒛𝑿(𝒛) + 𝑿(𝒛)
𝑿(𝒛)(𝒛𝟐 − 𝒛 − 𝟏) = 𝒛
𝒛
𝑿(𝒛) =
𝒛𝟐 −𝒛−𝟏
clc
hold on
x_ks(1)=0;
x_ks(2)=1;
for k=2:30
x_ks(k+1)=x_ks(k)+x_ks(k-1);
end
num=[1 0];
den=[1 -1 -1];
D0_k=[1 zeros(1,30)];
x_kc=filter(num,den,D0_k);
k=0:30;
subplot(2,1,1)
stem(k,x_ks,'r')
grid,title('Gráfica obtenida usando serie en forma
recursiva')
subplot(2,1,2)
stem(k,x_kc)
grid,title('Gráfica obtenida usando comando filter')
Una vez obtenida la transformada 𝑍, procedemos mediante la realización de un programa,
obtener la transformada inversa 𝑍 de esta función mediante el comando 𝑓𝑖𝑙𝑡𝑒𝑟 y además
poder obtener la serie en forma recursiva mediante el algoritmo respectivo. El programa
usado se muestra a continuación:
Como se puede observar en la figura anterior, se tienen las 2 graficas obtenidas mediante
métodos diferentes, con lo que se concluye que efectivamente mediante la aplicación de
la transformada 𝑍 a la ecuación en diferencia y después de la aplicación de la
transformada inversa 𝑍 a la expresión de 𝑋(𝑧), se obtiene la secuencia de ponderación
respectiva.
5.
x(k) u(k)
SD
Ecuación Diferencia del SD:
𝟑 𝟏
𝒙(𝒌) + 𝒖(𝒌 − 𝟏) − 𝒖(𝒌 − 𝟐) = 𝒖(𝒌)
𝟒 𝟖
Hallar:
a. La SP: h(k) y graficarla, usando calculo analítico y MatLab.
b. Hallar la función transferencia H(z), su transformada inversa z y graficarla, usando el
comando “residue”. Estudiar estabilidad.
c. Hallar la respuesta del sistema para una entrada escalón unitario y rampa unitaria
analíticamente y con MatLab, graficar la respuesta.
3
ℎ(𝑘) = 𝑢(𝑘) = 𝑥(𝑘) + 𝑢(𝑘 − 1) − 1/8𝑢(𝑘 − 2)
4
3
ℎ(0) = 𝑢(0) = 𝑥(0) + 𝑢(−1) − 1/8𝑢(−2) = 1
4
3
ℎ(1) = 𝑢(1) = 𝑥(1) + 𝑢(0) − 1/8𝑢(−1) = 0.75
4
3
ℎ(2) = 𝑢(2) = 𝑥(2) + 𝑢(1) − 1/8𝑢(0) = 0.2343
4
3
ℎ(3) = 𝑢(3) = 𝑥(3) + 𝑢(2) − 1/8𝑢(1) = 0.121
4
3
ℎ(4) = 𝑢(4) = 𝑥(4) + 𝑢(3) − 1/8𝑢(2) = 0.0615
4
3
ℎ(5) = 𝑢(5) = 𝑥(5) + 𝑢(4) − 1/8𝑢(3) = 0.0615
4
3 1
𝑋(𝑧) = 𝑈(𝑧)[1 − ( ) 𝑍 −1 + ( ) 𝑍 −2 ]
4 8
𝑈(𝑧)
= 𝐻(𝑧)
𝑋(𝑧)
Simulado en matlab:
8𝑍 2
𝐻(𝑧) = 8𝑍2 −6𝑍+1
num=[8 0 0];%numerador de la funcion transferencia
den=[8 -6 1];%denominador de la funcion transferencia
inpulso=[1 0 0 0 0 0 0 0 0];%la entrada impulso unitario
y=filter(num,den,inpulso); %comando para hallar la secuencia
de ponderacion
n=0:1:8;
stem(n,y)
grid
title('grafico de la secuencia de ponderacion')
3
𝑢(𝑘) = 𝑥(𝑘) + 𝑢(𝑘 − 1) − 1/8𝑢(𝑘 − 2)
4
3 1
𝑋(𝑧) = 𝑈(𝑧)[1 − ( ) 𝑍 −1 + ( ) 𝑍 −2 ]
4 8
𝑈(𝑧)
= 𝐻(𝑧)
𝑋(𝑧)
8𝑍 2
𝐻(𝑧) = 8𝑍 2 −6𝑍+1
num=[8 0 0];
den=[8 -6 1];
[r,p,k]=residue(num,den)
[b,a]=residue(r,p,k)
>> Untitled
r =
1.0000
-0.2500
p =
0.5000
0.2500
k =
1
b =
1 0 0
a =
Hallar la respuesta del sistema para una entrada escalón unitario analíticamente y con
matlab.
𝑦(𝑘) = ∑ 𝑥(𝑗)ℎ(𝑘 − 𝑗)
𝑗=0
𝑢(0) = 𝑥(0)ℎ(0) = 1
clc
num=[8 0 0];%numerador de la funciontranzferencia
den=[8 -6 1];%denominador de la funciontranzferencia
escalon=ones(1,9);%la entrada escalon unitario
y=filter(num,den,escalon)
n=0:1:8;
stem(n,y)
grid
title('grafico la respuesta al sistema')
6. Un sistema discreto tiene como entrada 𝑢(𝑘) y como salida 𝑥(𝑘). Donde:
Ecuación en diferencia:
𝐷𝑜𝑛𝑑𝑒:
𝑥(𝑘) = 0 ∶ 𝑘 ≤ 0
𝑢(𝑘) = 0 ∶ 𝑘 < 0
Hallar:
𝒀(𝒛) 𝒛 + 𝟎. 𝟑
𝑯(𝒛) = = 𝟐
𝑼(𝒛) 𝒛 + 𝟎. 𝟓𝒛 + 𝟎. 𝟐
Se tiene la función transferencia ahora para ver la estabilidad del sistema verificamos los
polos que el sistema es estable.
>>pole(H)
ans =
-0.2500 + 0.3708i
-0.2500 - 0.3708i
𝒀(𝒛) 𝒛 + 𝟎. 𝟑
𝑯(𝒛) = = 𝟐
𝑼(𝒛) 𝒛 + 𝟎. 𝟓𝒛 + 𝟎. 𝟐
- Simulado en matlab:
𝑿(𝒛) 𝒛 + 𝟎. 𝟑
𝑯(𝒛) = = 𝟐
𝑼(𝒛) 𝒛 + 𝟎. 𝟓𝒛 + 𝟎. 𝟐
𝒛−𝟏 (𝟏 − 𝒛−𝟐 )
𝑯(𝒛) =
(𝟏 + 𝒛−𝟐 )𝟐
𝑧 −1 − 𝑧 −3
𝑋(𝑧) =
1 + 2𝑧 −2 + 𝑧 −4
x(0) = 0
x(1) = 1
x(2) = 0
x(3) = −3
x(4) = 0
x(5) = 5
x(6) = 0
x(7) = −7
x(8) = 0
x(9) = 9
>>num=[0 1 0 -1 0];
>>den=[1 0 2 0 1];
>>zplane(num,den);
Confirmamos con el diagrama de polos y ceros que el sistema es inestable, ya que posee
polos múltiples sobre el círculo unitario.
CONCLUSIONES