Está en la página 1de 5

TRANSFORMADA Z USANDO MATLAB

Diego Alexander García Sosa


Magthel Michael Gómez Bastos

Universidad de Pamplona
Facultad de Ingeniería, Programa de Ingeniería Mecatrónica

1. Obtenga la transformada z de las siguientes 1 (−𝑡)


= −( )
funciones. Grafique y compare en Matlab la 3

función de tiempo continuo y la función en tiempo 1


discreto. 𝑋(𝑧) = 1
1− 𝑧
3

a) 𝑥(𝑛) = [3𝑛(2−𝑛 )]𝑢(𝑛) ; si 𝑥1 (𝑛) = 𝟑


𝑿(𝒛) =
2−𝑛 𝑢(𝑛) 𝟑−𝒛

Entonces 𝑥(𝑛) = 3𝑛𝑥1 (𝑛) y puesto que


Código en Matlab
𝑋1 (𝑧) = ∑∞
𝑛=−∞ 𝑥1 (𝑛)𝑧
−𝑛
= ∑∞ −𝑛 −𝑛
𝑛=0(2 )𝑧 =
1
∑∞ −1 −1 𝑛
𝑛=0(2 𝑧 ) ⟹ 𝑋1 (𝑧) = 1 %% Punto 1
1− 𝑧 −1
2
clc;
Utilizando la propiedad del producto:
%% Ejemplo
𝑑𝑋(𝑧) 𝑑𝑋1 (𝑧) t=0:10;
−𝑧 = 𝓏{𝑛𝑥(𝑛)} ⟹ −𝑧 = xt=t;
𝑑𝑧 𝑑𝑧
𝓏{3𝑛𝑥1 (𝑛)} subplot(2,2,1) %Con este comando podemos
realizar varias gráficas en una misma ventana.
𝑑𝑋1 (𝑧) 𝑑 1 plot(t,xt,'r') %Con este comando graficamos en
𝑋(𝑧) = −𝑧 = 3 {−𝑧 [ ( 1 )]} = color rojo la función x(t) hallada manualmente.
𝑑𝑧 𝑑𝑧 1− 𝑧 −1
2
1 hold on %Con este comando mantenemos las
−2𝑧 −1−1
3 {−𝑧 [ 2 ]} = gráficas en la ventana para que no se borren al
1
(1− 𝑧 −1 ) realizar una nueva gráfica.
2
num=[0 1 0];
3 −1
2
𝑧 𝑧2 den=[1 -2 1];
= 1 −1 2
( 2) impz(num,den) %Con este comando graficamos la
(1− 𝑧 ) 𝑧
2
respuesta al impulso de la función discreta
𝟑 representada mediante puntos de color azul.
𝟐
𝒛 𝟔𝒛
𝑿(𝒛) = 𝟏 =
𝒛𝟐 −𝒛+ 𝟒𝒛𝟐 −𝟒𝒛+𝟏
𝟒 %% a)
xt=3*t.*(2.^-t);
subplot(2,2,2)
plot(t,xt,'r')
b) 𝑥(𝑛) = 𝑢(𝑛) − 𝑢(𝑛 − 2) + 𝑢(𝑛 − 5) hold on
Utilizando la Propiedad de linealidad y del num=[0 6 0];
Desplazamiento en 𝑛: 𝓏{𝑥(𝑛 − 𝑘)} = 𝑧 −𝑘 𝑋(𝑧) den=[4 -4 1];
impz(num,den)
1 1 1
𝑋(𝑧) = − 𝑧 −2 + 𝑧 −5 ⟹ %% b)
1−𝑧 −1 1−𝑧 −1 1−𝑧 −1
𝒛𝟖 −𝟐𝒛𝟕 +𝟐𝒛𝟓 −𝒛𝟒 +𝒛𝟑 −𝟐𝒛𝟐 +𝒛 tam=7;
𝑿(𝒛) =
𝒛𝟖 −𝟑𝒛𝟕 +𝟑𝒛𝟔 −𝒛𝟓 n=0:tam;
xn=u(0,tam+1)-u(2,tam+1)+u(5,tam+1); %La
1 𝑡 función sirve para crear escalón unitario con
c) 𝑥(𝑡) = [( ) ] 𝑢(−𝑡)
3 retardo.
subplot(2,2,3)
plot(n,xn,'r')
hold on 2. Encuentre la transformada Z inversa, utilizando
num=[1 -2 0 2 -1 1 -2 1 0]; el método de expansión en fracciones parciales y
den=[1 -3 3 -1 0 0 0 0 0]; con Matlab. Grafique y compare la función en
impz(num,den,15)
tiempo continuo y la función en tiempo discreto.

%% c) a) 𝑋(𝑧) =
t=0:12; 𝑧 −1 +3𝑧 −2 +2𝑧 −3 𝑧4
x=-(1/3).^(-t); (1−𝑧 −1 )(1−𝑧 −1 −2𝑧 −2 )(1−2𝑧 −1 )
( )=
𝑧∗𝑧 2 ∗𝑧
subplot(2,2,4) 𝑧 3 +3𝑧 2 +2𝑧 𝑧(𝑧+2)(𝑧+1)
plot(t,x,'r') (𝑧−1)(𝑧 2 −𝑧−2)(𝑧−2)
= (𝑧−1)(𝑧−2) (𝑧+1)(𝑧−2)
hold on
num=[0 3]; 𝑋(𝑧) (𝑧+2) 𝐴 𝐵 𝐶
den=[-1 3]; = (𝑧−1)(𝑧−2 )2 = (𝑧−1 ) + (𝑧−2 ) + (𝑧−2 )2
𝑧
impz(num,den)
(𝑧+2) (1+2)
𝐴𝑖 = [(𝑧 − 1) (𝑧−1)(𝑧−2 )2] = (1−2 )2 ⟹
clear all 𝑧=1
𝑨=𝟑
Código de la función u
𝑑 (𝑧+2)
%% Función para crear escalón unitario con 𝐵𝑖2 = [ ((𝑧 − 2 )2 (𝑧−1)(𝑧−2 )2 )] =
𝑑𝑧 𝑧=2
retardo (𝑧−1)−(𝑧+2 ) (2−1)−(2+2 )
[ (𝑧−1 )2
] = (2−1 )2

𝑧=2
function t=u(n, size) 𝑩 = −𝟑
if n==0 (𝑧+2) (2+2 )
𝐶𝑖1 = [(𝑧 − 2 )2 (𝑧−1)(𝑧−2 )2] = (2−1 ) ⟹
for i=1:size 𝑧=2
t(i)=0; 𝑪=𝟒
end
end 3𝑧 𝑧 −1 3𝑧 𝑧 −1
for i=1:n 𝑋(𝑧) = (𝑧−1 ) ( ) − (𝑧−2 ) ( )+
𝑧 −1 𝑧 −1
t(i)=0; 4𝑧 𝑧 −2
end (𝑧−2 )2 𝑧 −2
( )
for i=n+1:size 1
𝑋(𝑧) = 3 (1−𝑧 −1 ) − 3 (1−2𝑧 −1 ) + 2 (1−2𝑧 −1 )2
1 2𝑧
t(i)=1;
end
𝒙(𝒕) = [𝟑 − 𝟑(𝟐𝒕 ) + 𝟐𝒕(𝟐𝒕 )]𝒖(𝒕)
Simulación en Matlab

−3𝑧+2𝑧 −1 𝑧2
b) 𝑋(𝑧) = ( 2) =
1−5𝑧 −1 +6𝑧 −2 𝑧

−3𝑧 3 +2𝑧
𝑋(𝑧) =
𝑧 2 −5𝑧+6

𝑋(𝑧) −3𝑧 2 +2 −3𝑧 2 +2


= =
𝑧 𝑧 2 −5𝑧+6 (𝑧−3)(𝑧+2)

𝑋(𝑧) 𝐴 𝐵
= +
𝑧 𝑧−3 𝑧−2

−3𝑧2 +2
𝐴 = [(𝑧 − 3) (𝑧−3)(𝑧+2)] = −25
𝑧=3
Figura 1: Resultado de la simulación en Matlab
del punto 1. −3𝑧2 +2
𝐵 = [(𝑧 − 2) (𝑧−3)(𝑧+2)] = 10
𝑧=2
𝑋(𝑧) −25 10 den1=[1 -4 3 4 -4];
= +
𝑧 𝑧−3 𝑧−2 [R1,P1,K1]=residuez(num1,den1)
x1=3-(3*2.^t)+(t.*2.^(t+1));
1 1
𝑋(𝑧) = −25 [ ] + 10 [ ] subplot(2,2,2)
1−3𝑧 −1 1−2𝑧 −1
plot(t,x1,'r')
hold on
𝒙(𝒕) = [−𝟐𝟓(𝟑)𝒕 + 𝟏𝟎(𝟐)𝒕 ]𝒖(𝒕) impz(num1,den1)

%% b
num2=[-3 0 2 0];
−3+2𝑧 −1 𝑧2 −3𝑧 2 +2𝑧
c) 𝑋(𝑧) = ( 2) = = den2=[1 -5 6];
1−5𝑧 −1 +6𝑧 −2 𝑧 𝑧 2 −5𝑧+6
𝑧(2−3𝑧 ) [R2,P2,K2]=residuez(num2,den2)
(𝑧−3 )(𝑧−2 ) x2=-((25/3)*3.^t)+(5*2.^t);
subplot(2,2,3)
𝑋(𝑧) (2−3𝑧 ) 𝐴 𝐵 plot(t,x2,'r')
= (𝑧−3 )(𝑧−2 ) = (𝑧−3 ) + (𝑧−2 ) hold on
𝑧
impz(num2,den2)
(2−3𝑧 )
𝐴𝑖 = [(𝑧 − 3) (𝑧−3 )(𝑧−2 ) 𝑧=3
] = %% c
(2−3(3)) num3=[-3 2 0];
(3−2 )
⟹ 𝑨 = −𝟕 den3=[1 -5 6];
(2−3𝑧 ) [R3,P3,K3]=residuez(num3,den3)
𝐵𝑖 = [(𝑧 − 2) ] =
(𝑧−3 )(𝑧−2 ) 𝑧=2 x3=-(7*3.^t)+(4*2.^t);
(2−3(2)) subplot(2,2,4)
⟹𝑩=𝟒
(2−3 ) plot(t,x3,'r')
𝑧 𝑧
𝑋(𝑧) = 4 (𝑧−2 ) − 7 (𝑧−3 ) = 4 (1−2𝑧 −1 ) −
1 hold on
impz(num3,den3)
1
7 (1−3𝑧 −1 )
clear all
𝒙(𝒕) = [𝟒(𝟐)𝒕 − 𝟕(𝟑)𝒕 ]𝒖(𝒕)
Simulación en Matlab
Código en Matlab

%% Punto 2
clc;

%% Ejemplo
t=0:18;
num=[0 1 0];
den=[1 3 2];
[R1,P1,K1]=residuez(num,den)
%Este comando convierte una funcion discreta,
expresada como la relación entre numerador y
denominador a la forma de expansión en
fracciones parciales Figura 2: Resultado de la simulación en Matlab
x=-((-1).^t)-((-2).^t); del punto 2.
subplot(2,2,1)
plot(t,x,'r')
hold on
impz(num,den)
3. Encuentre la transformada Z inversa, los 10
primeros elementos de la secuencia; utilizando el
%% a
num1=[0 1 3 2 0];
método de la división directa y grafíquelos con Yz=filter(num,den,Xz)
Matlab. %Esta función filtra los datos en el vector Xz con
el filtro descrito por los coeficientes del
10𝑧+5 10𝑧+5 𝑧 −2 numerador en el vector num y los coeficientes del
a) 𝑋(𝑧) = (𝑧−1)(𝑧−2) = (𝑧 2 −3𝑧+2)
( ) =
𝑧 −2 denominador en el vector den.
10𝑧 −1 +5𝑧 −2 n=0:1:10;
1−3𝑧 −1 +2𝑧 −2 subplot(2,2,1)
stem(n,Yz); %Este comando sirve para realizar
10𝑧 −1 + 5𝑧 −2 1 − 3𝑧 −1 + 2𝑧 −2
−1 −2
−10𝑧 + 30𝑧 − 20𝑧 −3
10𝑧 −1 + 35𝑧 −2
graficas de funciones discretas.
35𝑧 −2 − 20𝑧 −3 xlabel('k');
−35𝑧 −2 + 105𝑧 −3 − 70𝑧 −4
85𝑧 −3 − 70𝑧 −4
%% a
𝒙(𝟎) = 𝟎, 𝒙(𝟏) = 𝟏𝟎, 𝒙(𝟐) = 𝟑𝟓
num1=[0 10 5];
den1=[1 -3 2];
𝑧2
Xz=[1 zeros(1,10)];
b) 𝑋(𝑧) = (𝑧−3)(𝑧+5) Yz=filter(num1,den1,Xz)
n=0:1:10;
1 1 subplot(2,2,2)
𝑋(𝑧) = (1−3𝑧 −1)(1+5𝑧 −1 = stem(n,Yz);
) 1+2𝑧 −1 −15𝑧 −2
hold on
1 1 + 2𝑧 −1 − 15𝑧 −2
xlabel('k1');
−1 − 2𝑧 −1 + 15𝑧 −2 1 − 2𝑧 −1 + 19𝑧 −2
−2𝑧 −1 + 15𝑧 −2 %% b
2𝑧 −1 + 4𝑧 −2 − 30𝑧 −3 num2=[1 0 0];
19𝑧 −2 − 30𝑧 −3 den2=[1 2 -15];
−19𝑧 −2 − 38𝑧 −3 + 285𝑧 −4 Xz=[1 zeros(1,10)];
−68𝑧 −3 + 285𝑧 −4 Yz2=filter(num2,den2,Xz)
n=0:1:10;
𝒙(𝟎) = 𝟏, 𝒙(𝟏) = −𝟐, 𝒙(𝟐) = 𝟏𝟗 subplot(2,2,3)
𝑧
stem(n,Yz2);
c) 𝑋(𝑧) = (𝑧−4)(𝑧−9) hold on
xlabel('k2');
𝑧 −1 𝑧 −1
𝑋(𝑧) = (1−4𝑧 −1)(1−9𝑧 −1 = %% c
) 1−13𝑧 −1 +36𝑧 −2
num3=[0 1 0];
den3=[1 -13 36];
𝑧 −1 1 − 13𝑧 −1 + 36𝑧 −2
−𝑧 −1 + 13𝑧 −2 − 36𝑧 −3 𝑧 −1 + 13𝑧 −2
Xz=[1 zeros(1,10)];
13𝑧 −2 − 36𝑧 −3 Yz3=filter(num3,den3,Xz)
−13𝑧 −2 + 169𝑧 −3 + 468𝑧 −4 n=0:1:10;
133𝑧 −3 + 468𝑧 −4 subplot(2,2,4)
stem(n,Yz3);
𝒙(𝟎) = 𝟎, 𝒙(𝟏) = 𝟏, 𝒙(𝟐) = 𝟏𝟑 hold on
xlabel('k3')

Código en Matlab clear all

%% Punto 3
clc;

%% Ejemplo
num=[0.01409 0.028 0.01409 0];
den=[1 -2.7624 2.5811 -0.8187];
Xz=[1 zeros(1,10)];%La función zeros crea un
vector de ceros.
Simulación en Matlab

Figura 3: Resultado de la simulación en Matlab


del punto 3.

ANÁLISIS DE LOS RESULTADOS


OBTENIDOS

Como podemos observar por las gráficas, la


función discreta (color azul), corresponde a una
serie de puntos, que coinciden con la función
continua en el tiempo (color rojo). Por esta razón,
la función discreta representa muy bien a la
función continua, y al ser esta un conjunto de
puntos, puede ser procesada fácilmente por
sistemas digitales.

También podría gustarte