Está en la página 1de 12

LABORATORIO 04

LA TRANSFORMADA Z

I. OBJETIVO

Determinar la transformada z de cada seal utilizando el programa de


matlab.

II. MARCO TEORICO

En las matemticas y procesamiento de seales, la Transformada


Z convierte una seal real o compleja definida en el dominio del
tiempo discreto en una representacin en el dominio de la
frecuencia compleja.
El nombre de Transformada Z procede de la variable del dominio, al igual
que se podra llamar "Transformada S" a la Transformada de Laplace. Un
nombre ms adecuado para la TZ podra haber sido "Transformada de
Laurent", ya que est basada en la serie de Laurent. La TZ es a las
seales de tiempo discreto lo mismo que Laplace a las seales de tiempo
continuo.
La definicin matemtica de la transformada Z es la siguiente:

Transforma una seal en tiempo discreto x(n) en una funcin polinmica


compleja de variable compleja.
Forma alternativa de representar la seal. Los valores de la seal pasan
a ser los coeficientes de un polinomio en la variable compleja z.

Para realizar la transformacin no hay que realizar ningn clculo


Si tenemos que almacenar la seal almacenaremos los mismos valores.
Usando este punto de vista (polinomios complejos en lugar de listas de
nmeros) el tratamiento matemtico de los sistemas LTI se simplifica.

III. PROCEDIMIENTO

Ejercicio 1
Para la funcin G(Z) = Y(z)/X(z), hallar la transformada inverza Z mediante
el modelo Matlab (comando filter) hasta k=10. Graficar la secuencia
(comando stem).
Y(z)= 0,01409Z3+0,028z2+0,01409z
X(z)= z3-2,7624z2+2,5811 Z- 0,8187
Xz=[ zeros(1,N)]; % corresponde a la entrada delta de Kronecker ( impulso
unitario), donde N corresponde al final de la duracin del tiempo discreto
del proceso considerado.
num=[0.01409 0.028 0.01409 0];
den= [1 -2.7624 2.5811 -0.8187];
Xz= [1 zeros (1,10)];
Yz= filter (num,den,Xz);
n= 0:1:10;
stem(n,Yz);
xlabel (K);

Ejercicio 2
Para la siguiente funcin G(Z) = Y(z)/X(z), hallar la transformada inverza
Z mediante el modelo Matlab (comando filter) hasta k=40. Graficar la
secuencia (comando stem).
Utilizar Delta de Kronecker.
sea
Y(z)= 0,4673 Z- 0,3393
X(z)= z2- 1,5237 Z+ 0,6607

num=[0 0,4673 0,03393];


den= [1 -1,5327 0,6607];
Xz= [1 zeros (1,40)];
Yz= filter (num,den,Xz);
n= 0:1:40;
stem(n,Yz);
xlabel (K);

Ejercicio 3
El mismo ejercicio respuesta al
escaln unitario

Ejercicio 4
Encuentre la transformada inversa Z utilizando el mtodo de expansin
en fracciones parciales y con el Matlab (comando residuez).

X(z) = z1(0, 5 z1)


(1 0, 5z1)(1 0, 8z1)

IV. ANALISIS Y RESULTADOS

Ejercicio 1
Y(z)= 0,01409Z3+0,028z2+0,01409z y X(z)= z3-2,7624z2+2,5811 Z-
0,8187
Ejercicio 2
Y(z)= 0,4673 Z- 0,3393 y X(z)= z2- 1,5237 Z+ 0,6607

Ejercicio 3
Respuesta escalon unitario
Y(z)= 0,4673 Z- 0,3393 y X(z)= z2- 1,5237 Z+ 0,6607
Ejercicio 4
X(z) = z1(0, 5 z1)
(1 0, 5z1)(1 0, 8z1)
LABORATORIO 05
ANALISIS Y SERIES DE FOURIER
I. OBJETIVO
Desarrollar el anlisis de las series de Fourier en el programa de matlab
II. MARCO TEORICO
Las series de Fourier permiten describir seales peridicas como una
combinacin de seales armnicas (sinusoides). Con esta herramienta,
podemos analizar una seal peridica en trminos de su contenido
frecuencial o espectro. Adems, nos permite establecer la dualidad entre
tiempo y frecuencia, de forma que operaciones realizadas en el dominio
del tiempo tienen su dual en el dominio frecuencial. Utilizando operaciones
sobre vectores, se pueden calcular fcilmente los coeficientes de Fourier
correspondientes a una seal. En el ejercicio 2, se definen el vector n, que
contiene los ndices de los coeficientes, y el vector cn, que contiene los
coeficientes. Los coeficientes cn, son los coeficientes espectrales de la
seal. La grfica de esos coeficientes en funcin del ndice armnico n o
de las frecuencias n o se denomina espectro. Hay dos tipos de grficos,
uno con la magnitud de los coeficientes y otro de la fase. Ambas funciones
son discretas en frecuencia.

Espectros de densidad de potencia y energa


Las seales se pueden clasificarse segn sean de energa o de potencia.
MATLAB est equipado con funciones especiales que nos van a permitir
realizar un anlisis de Fourier de funciones definidas por un conjunto de
valores discretos. Por ejemplo, el comando fft() nos permite obtener la
transformada rpida de Fourier (fast Fourier Transform) de una secuencia
de nmeros definida por el vector x. Por ejemplo:

>> X=fft(x);

donde X es un vector de nmeros complejos ordenados desde k=0...N-1.


Si queremos que sea ms eficiente en el clculo de la ffT, la longitud del
vector x deber ser una potencia de 2. Podemos rellenar de ceros el vector
x para que tenga la longitud apropiada. Esto se consigue
automticamente haciendo:

>> X=fft(x,N);

donde N es exponente de 2. Mientras ms largo sea x, ms fina ser la


escala para la ffT. Debido a un fenmeno de plegamiento del espectro,
slo la primera mitad de los puntos obtenidos son de utilidad. La funcin
fftshift() reordena el vector X en orden creciente de frecuencia. Si X es el
vector resultante de hacer una ffT, utilizando esta funcin reordenamos
los puntos en funcin de la frecuencia.

>> X=fftshift(X);

Una seal se dice que es de energa si su E es finita, lo que implica que


su potencia es cero. Por ejemplo, los pulsos limitados en el tiempo.Una
seal se dice que es de potencia si su potencia es finita, lo que implica
que su energa es infinita.
Un ejemplo de este tipo de seales lo encontramos en las seales
peridicas.
Para el clculo de estos espectros disponemos, adems de las funciones
para el anlisis de Fourier anteriores, de la funcin psd(), que proporciona
la densidad espectral de potencia de una seal en dB.

>>Sg=psd(x,);

III. PROCEDIMIENTO

Ejercicio 1

Escriba un fichero MATLAB que proporcione los coeficientes de Fourier


de una seal cuadrada de periodo 0.2s (frecuencia 5Hz) y amplitud igual
a 1V.

% Obtener los coeficientes de Fourier para una seal cuadrada de periodo


% 0.2s y amplitud 1.
clear;
% frecuencia de la seal cuadrada (=1/T)
f=5;
T=1/f;
% Indice de los coeficientes
n=1:10;
% Coeficientes de Fourier
cn=2*(cos(n*pi)-1)./(-2*j*n*pi);
co=1;
subplot(2,1,1);
stem(n,abs(cn));
ylabel('Magnitud de cn');
subplot(2,1,2);
stem(n,angle(cn));
ylabel('fase de cn');
xlabel('n');

Ejercicio 2

Escriba un fichero en MATLAB para dibujar n armnicos de una seal


cuadrada
de periodo 0.2s y amplitud 1.

% Desarrollo en serie de Fourier de una seal cuadrada de periodo 0.2s


y amplitud 1
clear;
% frecuencia de la seal cuadrada (=1/T)
f=5;
T=1/f;
% Indice de los coeficientes
n=1:10;
% Generamos la serie de Fourier
t=-1:0.01:1; % vector de tiempos
for i=1:50
for k=1:size(t,2)
s(i,k)=(2*(1-cos(pi*i))/(pi*i))*sin(2*pi*i*f*t(k));
end
end
for k=1:size(t,2)
st(k)=sum(s(:,k));
end
st(1)=st(1)+1;
plot(t,st,'r');
hold on;
% Seal cuadrada original
f_cuadrada=square(2*pi*f*t,50);
plot(t,f_cuadrada);
xlabel(tiempo);
ylabel(Amplitud);

Ejercicio 3
Obtenga la transformada de Fourier de una seal exponencial modulada
en amplitud con una frecuencia de portadora de 200Hz, x(t)=exp(-
2t)sin(2pi200t).

% Ejemplo de una ffT de una seal exponencial modulada en amplitud


% con una frecuencia portadora de 200Hz.
% Definicion de la seal
t=-0.25:0.001:0.25;
x=exp(-2*t).*sin(2*pi*200*t);
% Representacion en el tiempo
subplot(3,1,1);
plot(t,x);
title('x(t)=exp(-2t)sin(2pi200t)');
xlabel('Tiempo (t)');ylabel('x(t)');
% Transformada de Fourier
X=fftshift(fft(x));
% Magnitud y fase de la transformada
Xm=abs(X);
Xf=unwrap(angle(X))*180/pi;
% Base de frecuencias
delta_t = t(2)-t(1);
f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t;
% Representacion en frecuencia
subplot(3,1,2);
plot(f,Xm,'r');
title('Mdulo de transformada de Fourier de x(t)');
xlabel('frecuencia (Hz)');ylabel('|X(jw)|');
subplot(3,1,3);
plot(f,Xf,'r');zoom;
title('fase de la transformada de Fourier de x(t)');
xlabel('frecuencia (Hz)');ylabel('fase X(jw)');

A partir de la transformada de Fourier, es posible reconstruir la seal en


el dominio del tiempo. El comando ifft() sirve para obtener la transformada
inversa de Fourier de una serie de nmeros complejos:

>> x=ifft(X);

Ejercicio 5

Obtenga la transformada de Fourier de una seal exponencial modulada


en amplitud , x(t)=exp(-2t)sin(2pi3t). Realice la transformada inversa
y obtenga la seal en el tiempo a partir de su transformada.

% Ejemplo de una ffT de una seal exponencial modulada en amplitud


% Obtencin de la seal en el tiempo a partir de su transformada
% Definicion de la seal
t=-0.25:0.001:0.25;
x=exp(-2*t).*sin(2*pi*3*t);
% Representacion en el tiempo
figure(1);
plot(t,x);
title('x(t)=exp(-2t)sin(2pi200t)');
xlabel('Tiempo (t)');ylabel('x(t)');
% Transformada y representacion en frecuencia
Xt=fft(x);
X=fftshift(Xt);
% Magnitud y fase de la transformada
Xm=abs(X);
Xf=unwrap(angle(X))*180/pi;
% Base de frecuencias
delta_t = t(2)-t(1);
f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t;
figure(2);
subplot(2,1,1);
plot(f,Xm,'r');zoom;
title('Mdulo de transformada de Fourier de x(t)');
xlabel('frecuencia (Hz)');ylabel('|X(jw)|');
subplot(2,1,2);
plot(f,Xf,'r');zoom;
title('fase de la transformada de Fourier de x(t)');
xlabel('frecuencia (Hz)');ylabel('fase X(jw)');
% Obtener la seal en el dominio del tiempo a partir de su transformada
xrec=ifft(Xt);
figure(3);
plot(t,xrec);
title('Transformada inversa')
xlabel('Tiempo (t)');ylabel('xrec(t)');

Ejercicio 6

Genere un fichero MATLAB donde realice la densidad espectral de


potencia de
una seal coseno de frecuencia 100Hz.

% Densidad espectral de potencia


t=-pi:0.001:pi;
w=2*pi*100;
g=cos(w*t);
PSD=psd(g,2^10,lenght(g));
plot(PSD);

Cuestionario de Evaluacin
1 Serie de Fourier
Escriba un fichero en MATLAB (coeficientes_Fourier.m) que proporcione
los coeficientes de Fourier de la seal de la fig 1. Genere un fichero en
MATLAB (dibuja_armonicos.m) que permita dibujar n armnicos de dicha
seal.
2 Transformada de Fourier
Genere un fichero en MATLAB (transformada_Fourier.m) para obtener
la
transformada de Fourier de la seal, x(t)=sen(2pi200t+sin(2pi2t)).
Realice la transformada inversa y obtenga la seal en el tiempo a partir de
su transformada.

3 De los ejercicios 1- 6 Realice un anlisis de los grficos obtenidos,


cuales son los comandos que permiten realizar la operacin explique.

Nota : Si tiene algn problema en compilar los programas revise y diga


cul fue el problema y como lo solucion

IV. ANALISIS Y RESULTADOS

EJERCICIO 1
EJERCICIO 2
EJERCICIO 3

EJERCICIO 5