You are on page 1of 56

UNIVERSIDAD NACIONAL MAYOR DE SAN

MARCOS
(Universidad del Per, DECANA DE AMRICA)

FACULTAD DE INGENIERA ELECTRNICA,
ELCTRICA Y TELECOMUNICACIONES


- CURSO : PROCESAMIENTO DIGITAL DE SEALES

- PROFESOR : ING. FLAVIO CARRILLO

- TRABAJO : INFORME DE LABORATORIO N 5

- TEMA : Respuesta en Frecuencia - DTFT

- ALUMNO : ROA VALLADARES JORDAN WILMER

- N MATRCULA : 11190223


LIMA - 2014
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

2


I. Introduccin

En el laboratorio anterior, se present el mtodo de la Transformada Continua
de Fourier y desarrollamos las diversas caractersticas de esa transformada que
hacen de los mtodos de anlisis y la comprensin de las propiedades de las
seales y sistemas continuos. En el presente laboratorio completamos nuestro
desarrollo de las herramientas bsicas del anlisis de Fourier mediante la
introduccin y el examen de la transformada de Fourier de tiempo discreto.

La caracterizacin en el dominio de la frecuencia de un sistema LTI en
trminos de su respuesta en frecuencia, representa una alternativa a la
caracterizacin en el dominio del tiempo que se logra mediante la
convolucin. Al analizar los sistemas LTI, a menudo resulta particularmente
conveniente utilizar el dominio de la frecuencia. Adems, conceptos tales
como el filtrado selectivo en frecuencia se visualizan de manera rpida y
sencilla en el dominio de la frecuencia

II. Resumen

En nuestro anlisis de la serie de Fourier en los laboratorios anteriores, vimos
que hay muchas similitudes y un fuerte paralelismo en el anlisis de las
seales continuas y discretas. Sin embargo, tambin hay diferencias
importantes. Por ejemplo, como vimos anteriormente, la representacin en
serie de Fourier de una seal peridica discreta es una serie finita, opuesta a la
representacin en serie infinita requerida para las seales peridicas continuas.
Como vemos en esta experiencia, existen diferencias que son correspondientes
entre las transformadas de Fourier continua y de tiempo discreto.
Aprovechando las similitudes entre el anlisis de Fourier de tiempo continuo y
de tiempo discreto, comenzaremos extendiendo la descripcin de la serie de
Fourier de seales peridicas para desarrollar una representacin de la
transformada de Fourier para seales aperidicas discretas, y continuar con un
anlisis de las propiedades y las caractersticas de la transformada de Fourier
de tiempo discreto. No slo reafirmaremos la comprensin de los conceptos
bsicos del anlisis de Fourier, que son comunes tanto al tiempo continuo
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

3


como al tiempo discreto, sino que contrastamos sus diferencias a fin de
profundizar en la comprensin de las distintas caractersticas de cada uno.

En el diseo de sistemas surgen consideraciones tanto en el dominio del
tiempo como en el dominio de la frecuencia, puede ser indeseable un
comportamiento oscilatorio significativo en la respuesta al impulso de un filtro
selectivo en frecuencia, y en consecuencia podramos desear sacrificar el nivel
de selectividad en frecuencia de un filtro con el fin de alcanzar las tolerancias
requeridas en el comportamiento de la respuesta al impulso. Por lo general, en
el diseo y anlisis de sistemas es importante relacionar las caractersticas y
compromisos en el dominio del tiempo y el dominio de la frecuencia.


III. Mtodos y Materiales Utilizados

En esta quinta experiencia, el equipo de experimentacin necesario fue un
procesador AMD Turion (tm) X2 Dual-Core Mobile RM-72 2.10 GHz con el
Sistema Operativo Windows 7 Professional y el software requerido fue Matlab
R2013a, adems de libreras y archivos de soporte.


IV. Procedimiento Experimental
Ejercicio 5.1

Veamos en este ejercicio como se puede visualizar la Transformada de Fourier de una
Seal
Discreta, que necesariamente debe ser calculada dentro de un conjunto finito de
frecuencias. Sea la seal discreta:
h[n] = [n] + 0.5[n1] + 0.2[n2]

(a) Hallar la DTFT de h[n] en forma analtica y luego graficarla en el intervalo 0 s
< 4t radianes.

(b) La siguiente instruccin nos permite calcular 128 valores de su Transformada de
Fourier de h[n]:

>> H=fft(h,128);
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

4



El vector H recoge los valores de la funcion H(e
j
) en las siguientes frecuencias:

k
= 2k/128, k = 0, ....... ,127

Para visualizar la transformada hay que tener en cuenta que el vector H contiene
valores complejos, por lo que tendremos que representar por separado su magnitud y su
fase:

>> plot(2*pi*(0:127)/128,abs(H));
>> plot(2*pi*(0:127)/128,angle(H));

En el eje de las abcisas se incluyen las frecuencias en las que est evaluada la
transformada, mientras que en el eje de las ordenadas se coloca o bien la magnitud o
la fase. El comando plot()crea una curva continua, que no es ms que la
interpolacin entre los valores discretos(128 en este caso) de la transformada que han
sido calculados. De esta manera se obtiene una representacion de la transformada entre
0 y 2.Compare los resultados obtenidos con los de (a).

Otra funcin de Matlab que nos permite obtener muestras de la Transformada de Fourier
de una seal es el comando freqz, con la ventaja de que permite trabajar con filtros IIR
(Respuesta Impulsional de Duracin Infinita) que se pueden expresar de forma racional en
el dominio de la frecuencia.

Los filtros digitales son sistemas discretos, lineales e invariantes en el tiempo (SDLIT)
descritos por una ecuacin en diferencias lineal con coeficientes constantes:

[ ]

[ ]


Utilizando las propiedades de desplazamiento y linealidad de la transformada de Fourier,
se demuestra que la respuesta en frecuencia de un sistema SDLIT descrito por una
ecuacin en diferencias con coeficientes constantes puede expresarse como:

(


Si necesitamos representar la respuesta en frecuencia de un filtro expresado de esta forma,
podemos utilizar el siguiente cdigo:
>> H = freqz(b,a,128,"whole");
>> plot(2*pi*(0:127)/128,abs(H));
>> plot(2*pi*(0:127)/128,angle(H));
Ejercicio 5.2
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

5


k
En este ejercicio se va a identificar la respuesta en frecuencia de un sistema discreto
(la Transformada de Fourier de su respuesta impulsional) a determinadas frecuencias.
Para ello, solo podemos introducir seales a la entrada y observar lo que ocurre en la
salida.
Utilizaremos exponenciales complejas como entradas, dado el carcter de las
autofunciones. Observando la salida, podremos obtener informacin sobre cmo se
comporta el sistema para cada frecuencia de inters. Consideremos el sistema discreto con
respuesta impulsional:
h[n]=0.03[n]+0.4[n1]+0.54[n2]+0.2[n3]-0.2[n4]+0.1[n5]+0.2[n-6] (4.7)

Para definir la respuesta impulsional, ejecutar en Matlab:

>> h=[0.03 0.4 0.54 0.20 -0.20 0.10 0.20

Generar un conjunto de 10 exponenciales complejas con 48 puntos de longitud de la
forma e
jO
k
n
para las siguientes frecuencias discretas: = 2k/10, k = 0, ....... ,9

>> omegak =(2*pi*(0:9))/10;
>> e1 = exp(j*omegak(1)*(0:47));
>> e2 = exp(j*omegak(2)*(0:47));
>> ...

Tambin se puede realizar un bucle for para generar estas diez seales,
introducindolas como filas o columnas de una matriz.

Calcule la salida del filtro para cada una de las exponenciales, convolucionando cada
seal de entrada con el filtro definido al inicio:

>> y1 = conv(e1,h);
>> y2 = conv(e2,h);
>> ...

Superponer en la misma grfica la entrada e1 y la salida y1:

>> plot(e1);
>> hold;
>> plot(y1);
>> hold;

Razonar el porqu de la aparicin de los efectos en los bordes. Repetir la operacin
para las partes reales de e2 e y2, notando los efectos de borde de nuevo.

En el ejercicio anterior la fase y amplitud de la seal de salida son diferentes a las de la
seal de entrada. Esa diferencia viene determinada por la respuesta en frecuencia para
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

6


=omegak(2). Por lo tanto, sabiendo que la seal de salida es en cada caso la seal de
entrada multiplicada por la respuesta en frecuencia evaluada a esa frecuencia:


[] (


Ejercicio 5.3
Construir un vector Haprox a partir de esos 10 valores, y visualizar un dibujo
aproximado de la Transformada de Fourier de h de la forma:

>> plot(omegak,abs(Haprox));

Ese dibujo nos proporciona una aproximacin a la magnitud de la respuesta en
frecuencia del sistema. Podemos superponer la respuesta en frecuencia evaluada en
muchos ms puntos, de la forma:

>> hold;
>> H=fft(h,128);
>> plot(2*pi*(0:127)/128,abs(H));

Comprobar que, efectivamente, H es igual a la respuesta en frecuencia en las
frecuencias
k
=2k/10, k = 0, ....... ,9. Note la simetra de la representacin, dado que
estamos visualizando la transformada en el intervalo [0, 2 , y la magnitud es par (h[n]
real).

Ejercicio 5.4

Considerar la secuencia pulso rectangular de ancho L definido como:


Obtener la expresin analtica de la Transformada de Fourier de x[n] a partir de la
ecuacin (5.1). Observar en la ecuacin resultante el trmino de la fase debido a que
el pulso est centrado en (L1)/2.

Utilizando la funcin fft(), obtener 256 puntos de la transformada de un pulso de
longitud L=16. Dibujar en diagramas separados el mdulo y fase, razonando la forma en
base al clculo analtico de la transformada realizada anteriormente:

>> pulso = ...
>> H = fft(pulso,256);
>> % Para dibujar la magnitud
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

7


>> plot(2*pi*(0:255)/256,abs(H));
>> figure(1);
>> plot(2*pi*(0:255)/256,angle(H)); % Para dibujar la fase

Calcular tericamente las frecuencias a las cuales se hace 0 la transformada, en funcin
de L.

Razonar para que valores de frecuencia se producen las discontinuidades en la
fase.
Para L = 9, pensar que desplazamiento debera sufrir el pulso definido anteriormente
para que el espectro de la seal resultante fuese real. Es causal el sistema
resultante representado por esa respuesta impulsional?

Para vectores cuyo primer valor representa un instante de tiempo distinto del cero habra
que introducir una correccin.

Ejercicio 5.5

Escribir el cdigo de una funcin que, utilizando la funcin fft(), calcule la
Transformada de Fourier de una seal discreta de la siguiente forma:

function [H,w] = dtft(h,no,N)
% h: vector de entrada
% no: instante de tiempo en el cual comienza h
% N: nmero de puntos a calcular de la transformada de h
% H: vector de la transformada de Fourier de H
% w: frecuencias en las que se evalua la transformada

Para realizar la funcin hay que tener en cuenta la propiedad de desplazamiento
de la Transformada de Fourier, cuyo significado implica que un desplazamiento en
el tiempo equivale a un desplazamiento en frecuencia:

Tener en cuenta que la funcin fft()considera el instante de inicio de la seal en
n
0
=0. Recuerde adems que los valores de las frecuencias en los cuales la funcin
fft() calcula la Transformada vienen dadas por:

en donde N es el nmero de valores que se calcula con la Transformada de Fourier, en
la que se puede ver que, estn equiespaciados entre 0 y 2. Efectuar el producto punto a
punto entre dos vectores de tal modo que los dos sean filas o columnas. De lo
contrario se obtendra un error de no correspondencia entre matrices.

A fin de probar la funcin, calcular la Transformada de Fourier de una secuencia de
pulso rectangular de longitud 9 y centrado en 0, comprobando que la parte
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

8


imaginaria de su transformada es 0. Representar la parte real de dicha transformada.
Razonar acerca de la forma de la Transformada de Fourier del pulso entre L/2 y L/2 a
medida que L tiende a 1.

En general, podemos descomponer una seal compleja en parte real y parte imaginaria y
luego en parte par e impar:


en donde la parte par de una seal x[n] se define como (x[n]+x[-n])/2, y la parte impar
como (x[n]-x[-n])/2. Hay que tener en cuenta que aunque una seal sea la respuesta de
un sistema causal, las partes par e impar no lo son, debido a la simetra que presentan
respecto al origen.

Ejercicio 5.6

Sea la descomposicin vista anteriormente de una seal x[n]:



y de su transformada X(e
j
)



Asociar las componentes temporales con sus respectivas componentes espectrales.

Ahora podemos constatar las propiedades de simetra de la Transformada de Fourier,
que de forma resumida son:

La Transformada de x
*
[n] es X
*
(e
j
).
La Transformada de una seal real es conjugada simtrica, es decir, el mdulo es par y
la fase impar.
La Transformada de una seal imaginaria pura es conjugada antisimtrica, es decir,
X(e
j
)=.X*(e
j
).

Ejercicio 5.7

- Verificar que la transformada de la seal para es
conjugada simtrica, observando los diagramas de mdulo y fase. Para
observar el mdulo, utilizar la funcin plot() sobre el mdulo de la salida que
se obtiene de fft(), mientras que para la fase utilizar simplemente
plot()sobre la fase de la transformada, anlogamente a lo realizado en el
primer ejercicio.
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

9


- Comprobar que la transformada de la seal chirp para
es par, usando la funcin dtft() desarrollada en el ejercicio anterior.

Ejercicio 5.8

Sea el sistema SDLIT descrito mediante la ecuacin en diferencias siguiente:

y[n] = 1/2y[n-1] + x[n] + x[n-1] (5.16)

Utilizar la funcin freqz() para obtener una representacin en frecuencia de la
respuesta impulsional del sistema, en 512 valores entre 0 y 2:

>> b = [... ];
>> a = [... ];
>> [H,w] = freqz(b,a,512,"whole");

Tener en cuenta que b representa a los coeficientes de la parte directa del filtro, mientras
que a a los coeficientes de la parte realimentada.

Averiguar a qu frecuencia se hace 0 la respuesta en frecuencia del sistema.
A partir de esa frecuencia, deducir para que seal de entrada se har 0 la salida (dicha
seal ha de ser una auto funcin).
Razonar en el dominio del tiempo y para dicha seal de entrada, por qu la salida es
0, evaluando manualmente un par de expresiones recursivas de la ecuacin en diferencias.

Ejercicio 5.9

Demostrar que la transformada de Fourier de la parte par de una seal real x[n] es la
parte real de la transformada de Fourier X(e
j
). Evaluar, si x[n]=0, n < 0, entonces
X(e
j
) se puede obtener a partir de Re{ X(e
j
)}.

Ejercicio 5.10

Sea un pulso x[n] de longitud 21, que podra representar el resultado de muestrear un
pulso utilizado en radar (emplear la funcin ones()). Para enviarlo es necesario
modularlo, de modo que el espectro resultante se ubique en la frecuencia que interese.
Dado que la seal a enviar ser real, la modulacin se lleva a cabo con un coseno, que
en este caso ser cos(n/2). Representar el espectro de las seales moduladas y sin
modular, utilizado para ello las funciones fft() y plot(), comprobando en donde
se encuentra el pico de la transformada. Razonar la forma del espectro.

Este ejercicio que se acaba de realizar se puede ver tambin desde la perspectiva del
enventanado, en la cual la ventana sera el pulso original, y la seal deseada la
exponencial compleja. Entonces, la multiplicacin en el tiempo significa que las
deltas originales en frecuencia son ensanchadas debido a la convolucin con la funcin
sinc, transformada del pulso, como se puede apreciar en la Fig. 5.1, que representa
la transformada de un coseno de frecuencia 2/8 y longitud de 50 muestras. En
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

10


frecuencia no hay dos deltas sino un par de sinc centradas a las frecuencias 2/8 y 2 -
2/8. Existen muchsimos tipos de ventanas, cada una de las cuales con propiedades
diferentes. Acabamos de ver la ms simple, la ventana rectangular, 1 en el intervalo de
definicin y 0 fuera del mismo. Tambin es posible el uso de otras ventanas que no son
constantes, sino que van disminuyendo su amplitud a medida que se alejan del punto
central. La ventaja principal que ofrecen frente a la rectangular es que los lbulos
laterales de sus transformadas son mucho ms pequeos que los de una sinc, con lo
que esa cada ms rpida en frecuencia hace posible una menor distorsin del
espectro original. Como inconveniente hay que resaltar que la anchura del lbulo central
es mayor que la


Fig. 5.1 Efecto ventana en la Transformada de Fourier de un coseno.
correspondiente a una sinc. A modo de ejemplo ponemos la ecuacin de la
ventana de Hamming, de uso muy extendido:



Ejercicio 5.11

En este ejercicio compararemos la magnitud del espectro de una ventana Hamming y
de una ventana rectangular de igual longitud, comentando las principales diferencias.

Para ello, generar un pulso de 32 unos, y calcular con fft()128 puntos de
su transformada.
Utilizando la funcin hamming(), obtener una ventana de Hamming de 32
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

11


muestras, visualizando su forma con plot(). Calcular 128 de su Transformada de
Fourier.
Representar los espectros superpuestos de ambas seales. Observar las
diferencias en trminos de anchura del lbulo principal y altura de lbulos laterales.
Razonar que ventana sera ms apropiada si nuestro objetivo es distorsionar lo menos
posible el espectro de la seal enventanada.
A modo de ejemplo de empleo de ambas ventanas, visualicemos el espectro de una
seal compuesta de dos tonos, uno de los cuales es mucho ms potente que el otro:

>> x=cos(0.5*(0:31))+20*cos(1.5*(0:31));
>> figure(0)
>> plot(2*pi*(0:127)/128,abs(fft(x.*ones(1,32),128)));
>> figure(1)
>> plot(2*pi*(0:127)/128,abs(fft(x.*hamming(32),128)));

Observar que en el caso de la ventana de Hamming resulta mucho ms fcil apreciar el
tono de menor intensidad en el espectro.

La propiedad de enventanado se puede utilizar para analizar el efecto sobre la tomade
registros finitos de seales de longitud infinita. Es decir, se puede pensar en considerar la
seal original multiplicada por una ventana de longitud igual a la duracin del intervalo
considerado, como se ver en el siguiente ejercicio.

Ejercicio 5.12

Sea la seal h[n]=
n
u[n] la respuesta impulsional de un sistema definido por la
ecuacin en diferencias y[n] = y[n-1] + x[n]. Por lo visto anteriormente podemos
calcular valores de su transformada exacta, utilizando la funcin freqz(). Obtener
512 de esos valores para =0.5, y compararlos con los valores obtenidos a partir de un
registro finito de esa seal, es decir:


[H,w] = freqz(b,a,512,"whole");
% a,b representan los coeficientes de la ecuacin en
%diferencias
plot(2*pi*(0:511)/512,abs(H));
Htrunc=fft(htrunc,512);
hold
plot(2*pi*(0:511)/512,abs(Htrunc));

Comprobar a partir de que longitud de la seal truncada la diferencia entre los
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

12


espectros es inapreciable.

Obtener la respuesta en frecuencia del resultado de poner en cascada el filtro anterior
con el filtro de respuesta al impulso h[n] = [n-1]. Determinar el valor de dicha
respuesta en frecuencia para =/4.





V. Resultados

Ejercicio 5.1
%Respuesta en Frecuencia
%(A)Grafica de la solucin analtica
%h[n]=d[n]+0.5d[n-1]+0.2d[n-2]
%H(omega)=1+0.5*EXP(-j*omega)+0.2*EXP(-j*2*omega)

k=0:127;
omega=(4*pi.*k)/128; % en radianes

% Expresion analitica de H(omega)
b=[1 0.5 0.2];
a=1;
H=1+0.5*exp(-1j*omega)+0.2*exp(-1j*2*omega);

figure(1);
plot(omega,abs(H),'r');grid on;
title('Magnitud de H(omega), cuando 0=<omega=<4pi');
ylabel('|H(omega)|');
xlabel('omega (rad)');
grid on

figure (2);
plot(omega , angle(H),'r');grid on;
title('Fase de H(omega), cuando 0=<omega=<4pi');
ylabel('/_ H(omega)');
xlabel('omega(rad)');
grid on

figure(3)
plot(omega,H,'m');grid on;
title('DTFT de h[n]');
ylabel('|H(omega)|');
xlabel('omega (rad)');
grid on
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

13



%(B)=Graficar FFT
%h[n]=d[n]+0.5d[n-1]+0.2d[n-2]
%H[omega]= 1+0.5*exp(-j*omega)+0.2*exp(-j*2*omega)
L=128;
nn=0:(L-1);
lmp=zeros(L,1);
lmp(1)=1;
lmp(2)=0.5;
lmp(3)=0.2;

figure(4);
stem(nn,lmp,'r');
H1=fft(lmp,128);
title('Seal discreta h[n]');
ylabel('h[n]');
xlabel('n');
grid on

figure(5);
plot(2*pi.*(0:127)/128,abs(H1),'.b');grid;
title('Magnitud de H(omega), , cuando 0=<omega=<2pi');
ylabel('|H(omega)|');
xlabel('omega (rad)');
grid on

figure(6);
plot(2*pi*(0:127)/128,angle(H1),'.b');
title('Fase de H(omega), , cuando 0=<omega=<2pi');
ylabel('|H(omega)|');
xlabel('omega (rad)');
grid on

% Respuesta en frecuencia de un filtro
H = freqz(b,a,128);
figure(7)
plot(2*pi*(0:127)/128,abs(H),'.g')
title('Magnitud de la Respuesta en Frecuencia de h[n]');
ylabel('|Respuesta en Frecuencia de h[n]');
xlabel('frecuencia');
grid on;

figure(8)
plot(2*pi*(0:127)/128,angle(H),'.g');
title('Fase de la Respuesta en Frecuencia de h[n]');
ylabel('/_(Respuesta en Frecuencia de h[n])');
xlabel('frecuencia');
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

14


grid on;







UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

15







UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

16







Ejercicio 5.2

%Respuesta en frecuencia

%(A)Grafica de la solucin analtica

b=[0.03 0.4 0.54 0.2 -0.2 0.1 0.2];
a=1;

%Impulso
%n=0:100;
%x=(n==1);
fs = 2;
tmax=100;
tmin=0;
w = (1/fs);
ts = [tmin:1/fs:-w 0 w:1/fs:tmax];
x =[zeros(1,(abs(tmin)*fs)) 1 zeros(1,(abs(tmax)*fs))];
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

17



% Filter
y = filter(b, a, x);
figure(1)
stem(y);
grid on;
title('Seal discreta y[n]');
xlabel('n'),ylabel('y[n]')

%Generaion de 10 exponenciales complejas

omegak = (2*pi*(0:9))/10;
e1= exp(1j*omegak(1)*(0:47));
e2= exp(1j*omegak(2)*(0:47));
e3= exp(1j*omegak(3)*(0:47));
e4= exp(1j*omegak(4)*(0:47));
e5= exp(1j*omegak(5)*(0:47));
e6= exp(1j*omegak(6)*(0:47));
e7= exp(1j*omegak(7)*(0:47));
e8= exp(1j*omegak(8)*(0:47));
e9= exp(1j*omegak(9)*(0:47));
e10= exp(1j*omegak(10)*(0:47));

% Filtro
H = freqz(b,a,10);

% Convolucion exponenciales con filtro
y1=conv(e1,H);
y2=conv(e2,H);
y3=conv(e3,H);
y4=conv(e4,H);
y5=conv(e5,H);
y6=conv(e6,H);
y7=conv(e7,H);
y8=conv(e8,H);
y9=conv(e9,H);
y10=conv(e10,H);

% Grfica exponencial y convolucion
figure(2)
plot(e1);
title('Exponencial 1');
grid on;
figure(3)
plot(y1);
title('convolucion 1');
grid on
figure(4)
plot(e2);
title('exponencial 2');
grid on;
figure(5)
plot(y2);
title('convolucion 2');
grid on
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

18









UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

19








UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

20







UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

21






Partes reales de e2 e y2:

plot(real(e2),'r');
hold;
plot(real(y2));
hold;
title('Parte real: Grfica de e2(rojo) e y2(azul)')
grid on;


UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

22



Ejercicio 5.3
h=[0.03 0.4 0.54 0.20 -0.20 0.10 0.20];
a=zeros(1,10);
omegak =(2*pi*(0:49))/50;
for k=0:49
e = exp(1j*omegak(k+1)*(0:143));
y=conv(e,h);
g=(max(max(real(y))));
l=(max(max(imag(y))));
a(k+1)=sqrt((g*g)+(l*l));
end
plot(omegak,a,'g')
title('Haprox');
xlabel('omega');
ylabel('abs(Haprox)')
grid on;




Comprobando que H es igual a la respuesta en frecuencia:

h=[0.03 0.4 0.54 0.20 -0.20 0.10 0.20];
a=zeros(1,10);
omegak =(2*pi*(0:49))/50;
for k=0:49
e = exp(j*omegak(k+1)*(0:143));
y=conv(e,h);
g=(max(max(real(y))));
l=(max(max(imag(y))));
a(k+1)=sqrt((g*g)+(l*l));
end
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

23


H=fft(h,128);
hold on
plot(omegak,a-0.3,'b')
plot(2*pi*(0:127)/128,abs(H),'r');
title('Grfica de Comparaciones de la Transformada de
Fourier');
xlabel('omega');
ylabel('abs(Haprox)')
grid on;



Ejercicio 5.4

n=-20:30;
x= escalon(n)-escalon(n-17);

figure(1)
plot(n,x)
grid on
title('Funcin Compuerta')

H = fft(x,256);

% Para dibujar la magnitud

figure(2)
plot(2*pi*(0:255)/256,abs(H));
title('Magnitud de H')

figure(3);
plot(2*pi*(0:255)/256,angle(H)); % Para dibujar la fase
title('Fase de H')
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

24







UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

25


%Definimos la funcin compuerta
n=-20:30;
x= escalon(n)-escalon(n-10);

figure(1)
plot(n,x)
grid on
title('Funcin Compuerta')

H = fft(x,256);

% Para dibujar la magnitud

figure(2)
plot(2*pi*(0:255)/256,abs(H));
title('Magnitud de H')

figure(3);
plot(2*pi*(0:255)/256,angle(H)); % Para dibujar la fase
title('Fase de H')




UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

26






Ejercicio 5.5

function [H,W] = dtft(h,no,N)

N=fix(N); L=length(h);

if(L>N)
error(' DTFT: numero de muestras, L, debe ser inferior al numero de frec
a calcular N')

end

% wk=2*pi*k/N con k=0,1,2, ... ,N-1

W=2*pi/N*(0:N-1);
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

27


w=W;

medio=ceil(N/2)+1; %aproxima a entero redondeando al entero inferior

% evaluamos la DTFT de -pi a pi

W(medio:N)=W(medio:N)-2*pi;

W=fftshift(W);
a=fft(h,N);
e=exp(-1*i*no*w);
h1=zeros(1,N);

for k=1:N
h1(k)=a(k)*e(k);

end

H=fftshift(h1);

end

Cuando L=10:

h=[1 1 1 1 1 1 1 1 1 1];
[H,w]=dtft(h,-4,256)
plot(w,H,'r')
title('Tranformada de Fourier de H')
xlabel('Omega');
ylabel('H'),
grid on;



UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

28


Cuando L=8:




Cuando L=5:



Cuando L=2:


UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

29



Cuando L=1:



Ejercicio 5.6

(

) []




[]



[]



[]



[]




Luego:

)

[]

)

[]

)

[]

)

[]



UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

30


Ejercicio 5.7

n=0:32;

h=((0.5).^n).*sin((2*pi*n)/24);

[H,w]=dtft(h,0,256);

figure(1)

plot(w,abs(H));

title('Transformada de Fourier de h[n]');
xlabel('omega');
ylabel('Amplitud')
grid on;

figure(2)

plot(w,angle(H));

title('Fase de h[n]');
xlabel('omega');
ylabel('Amplitud');
grid on;



UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

31




n=-16:16;
x=exp(1i*2*pi*(n.^2)/24);
[X,w]=dtft(x,-16,256);

figure(1)
plot(w,abs(X),'g');
title('Transformada de Fourier de x[n]');
xlabel('Omega');
ylabel('Amplitud')
grid on;

figure(2)
plot(w,angle(X),'y');
title('Fase de x[n]');
xlabel('omega');
ylabel('Amplitud'),
grid on;


UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

32





Ejercicio 5.8

a = [1 -0.5];
b = [1 1];
H=fft(b,512)./fft(a,512);

plot(2*pi*(0:511)/512,abs(H),'g');
title('Respuesta en Frecuencia')
xlabel('omega'), ylabel('Amplitud')
grid on;




UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

33




Ejercicio 5.9

Si x[n] es real, entonces la parte real e imaginaria de X(exp(j)) se determina as:
((

)) [] ()


((

)) [] ()


Si

(

) ((

)) y ((

))

Entonces:

((

)) , funcin impar respecto de n.




Ejercicio 5.10

n=-10:22;

ventana=escalon(n)-escalon(n-22);

figure(1)
plot(n,ventana,'r');
title('Funcin x[n]=u[n]-u[n-22]')
xlabel('n')
ylabel('x[n]')
grid on;
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

34



n1=-100:100;

modulador=cos(n*pi/2);

figure(2)
plot(n,modulador,'b')
title('Seal Moduladora')
xlabel('n')
ylabel('cos(n*pi/2)')
grid on;

senalmodulada=ventana.*modulador;

figure(3)
muestras=512*6;
plot(n,senalmodulada,'g');
title('Seal Modulada')
xlabel('n')
ylabel('x[n]*cos(n*pi/2)')
grid on;

espectrosenal=fft(ventana,muestras);

espectromoduladora=fft(modulador,muestras);

espctrosenalmodulada=fft(senalmodulada,muestras);

figure(4)
plot(2*pi.*(0:muestras-1)/muestras,abs(espectrosenal),'.r');
grid on;
title('Espectro de la seal')
ylabel('|H(omega)|')
xlabel('omega(radianes)');

figure(5)
plot(2*pi.*(0:muestras1)/muestras,abs(espectromoduladora),'.g
');
grid on;
title('Espectro de la seal moduladora')
xlabel('omega(radianes)');
ylabel('|Seal moduladora|')

figure(6)
plot(2*pi.*(0:muestras-
1)/muestras,abs(espctrosenalmodulada),'.y');
grid on;
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

35


title('Espectro de la seal modulada')
xlabel('omega');
ylabel('|Seal modulada')




UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

36








UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

37


Ejercicio 5.11

n=-10:35;

x=escalon(n-1)-escalon(n-33);

X=fft(x,128)

figure(1)
plot(n,x)
xlabel('n')
ylabel('x[n]')

h=hamming(32);

H=fft(h,128)

figure(2)
plot(h)

figure(3)
plot(2*pi.*(0:127)/128,abs(H),'g');
grid on;
xlabel('frecuencia');
title('Seal Hamming (verde) y Seal de la Ventana(azul)')

hold on;

plot(2*pi.*(0:127)/128,abs(X),'b');
xlabel('frecuencia');


UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

38







Ejercicio 5.12

%Para L=2,4,6,8

a=[1 -0.5];

b=[1];

L=2;

n=0:L;

htrunc=((0.5).^n).*escalon(n);

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

39


H= freqz(b,a,512,'whole');

plot(2*pi*(0:511)/512,abs(H),'b');

Htrunc=fft(htrunc,512);

hold on;

plot(2*pi*(0:511)/512,abs(Htrunc),'r');


Cuando L=2:



Cuando L=4:


UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

40


Cuando L=6:



Cuando L=8:









UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

41


VI. Cuestionario

a)

%Transformada de Fourier
%H=1+0.5*exp(-j*omega)+0.5^2*exp(-j*2*omega)+0.5^3*exp(-
j*3*omega)+0.5^4*exp(-j*4*omega);

k=0:511;
omega=(2*pi.*k)/512; % en radianes
%expresion analitica de H(omega)
X=[1 0.5 0.5^2 0.5^3 0.5^4];
H=0;
for n=0:511
H=H+0.5^n*exp(-1j*omega*n);
end

figure(1);
plot(omega,abs(H),'.r');
title('Magnitud de H(omega)')
xlabel('omega (rad)');
ylabel('|H(omega)|');
grid on;

figure (2);
plot(omega , angle(H),'.b');
title('Fase de H(omega)')
xlabel('omega(rad)');
ylabel('/_H(omega)');
grid on;

figure(3)
plot(omega,H,'.r');
title('H(exp(-j*omega))');
xlabel('omega(rad)');
ylabel('|H(omega)');
grid on;

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

42


X = real(H);

figure(4)
plot(X,'.r');
title('Parte Real de H(omega)');
xlabel('omega');
ylabel('|H(omega)');
grid on;

Y = imag(H);

figure(5)
plot(Y,'.b');
title('Parte Imaginaria de H(omega)')
xlabel('omega(rad)');
ylabel('/_H(omega)');
grid on;


UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

43





UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

44




b)

c)


%X=[1 -2 3 -4 5];
%H=1-2*exp(-j*omega)+3*exp(-j*2*omega)-4*exp(-
j*3*omega)+5*exp(-j*4*omega);

k=0:511;
omega=(2*pi.*k)/512; % en radianes

% Expresin analtica de H(omega)
X=[1 -2 3 -4 5];
H=1-2*exp(-1j*omega)+3*exp(-1j*2*omega)-4*exp(-
1j*3*omega)+5*exp(-1j*4*omega);

figure(1);
plot(omega,abs(H),'.r');
title('Magnitud de H(omega)')
xlabel('omega (rad)');
ylabel('|H(omega)|');
grid on;

figure (2);
plot(omega , angle(H),'.b');
title('Fase de H(omega)')
xlabel('omega(rad)');
ylabel('/_H(omega)');
grid on;

figure(3)
plot(omega,H,'.r');
title('H(exp(-j*omega))');
xlabel('omega(rad)');
ylabel('|H(omega)');
grid on;

X = real(H);

figure(4)
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

45


plot(X,'.r');
title('Parte Real de H(omega)');
xlabel('omega');
ylabel('|H(omega)');
grid on;

Y = imag(H);

figure(5)
plot(Y,'.b');
title('Parte Imaginaria de H(omega)')
xlabel('omega(rad)');
ylabel('/_H(omega)');
grid on;





UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

46








UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

47




(

) (

)
(


La funcin x[n] es peridica con periodo N=16.

Con cdigos en Matlab:
k=0:511;

omega=(4*pi.*k)/512;

X=(1-(0.9*exp(i*(pi/8)-i*omega)).^11)./(1-(0.9*exp(i*(pi/8)-i*omega)))

figure(1)

plot(omega,abs(X))
title ('Magnitud')
xlabel('omega')
ylabel('|X(exp(jomega))|')
grid on;

figure(2)

plot(omega,angle(X))
title ('Fase')
xlabel('omega')
ylabel('/_X(exp(jomega))')
grid on;

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

48






(

) []

) (


UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

49



Con los cdigos en Matlab:
n=-10:10;
x=2.^n;
X=fft(x,128);
plot(2*pi*(0:127)./128,abs(X));
title('Transformada de Fourier de x[n]')
grid on;



4.- Determine la respuesta en frecuencia de H
(
e
jO
) de un sistema
caracterizado por
h|n| = (0.9)
n
u |n| . Graficar la magnitud y fase de la respuesta. Luego a este
sistema se le aplica la secuencia x[n]= 0.1u[n]. Determine para este caso la respuesta
en frecuencia en estado estacionario.
(

) []

()



Con cdigos en Matlab:

omega =(2*pi*(0:511))/512;

x=1./(1+0.9*exp(-i*omega));

figure(1)
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

50



plot(omega,abs(x),'r');
title('Magnitud')
xlabel('Omega')
ylabel('|X(omega|')
grid on;

figure(2)

plot(omega,angle(x),'b');
title('Fase')
xlabel('Omega')
ylabel('/_X(omega)')
grid on;





UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

51



Aplicando al Sistema:

n=0:511;

x=((-1*0.9).^n).*ones(1,512);

h=0.1.*ones(1,512);

[X,w]=dtft(x,0,512)

[H,w]=dtft(h,0,512)

Y=H.*X;

plot(w,abs(Y),'r');
title('Transformada de Fourier de y[n]');
xlabel('omega');
ylabel('|Y(exp(jomega))|')
grid on;




UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

52




5.- Un sistema discreto lineal e invariante en el tiempo est especificado por la
siguiente ecuacin de diferencias:
y |n| = 0.8 y |n 1| + x|n|
a)
Determinar H
(
e
jO
)
b) Calcular y graficar la respuesta en estado estacionario de la salida cuando se
aplica la siguiente secuencia de entrada:
x|n| = cos(0.05t n)u |n|

a)
[]


[] [ ] []

)

[] ()


[] ()


[] ()


Entonces,
(

) []

()


UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

53



Con los cdigos en Matlab:
omega =(2*pi*(0:511))/512;
x=1./(1-0.8*exp(-1j*omega));
plot(omega,abs(x));
title('Transformada de Fourier de h[n]')
xlabel('Omega')
grid on;



b)
(

) ( ()

)( () []

)
(

) (

) (()

)
()

()

()

()


Con los cdigos en Matlab:
n=0:511;
h=((0.8).^n).*ones(1,512);
x=cos(0.05*pi*n).*ones(1,512);
[X,w]=dtft(x,512);
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

54


[H,w]=dtft(h,512);
Y=H.*X;
plot(w,abs(Y));
title('Transformada de Fourier de y[n]');
grid on;




6.- Un filtro pasa bajo est descrito por la siguiente ecuacin de diferencias:
y |n| = 0.0181x|n| + 0.0543x |n 1| + 0.0543x |n 2| + 0.0181x |n 3| +
+1.76 y |n 1| 1.1829 y |n 2| + 0.2781y |n 3|
Graficar la magnitud y fase de la respuesta de este filtro y verificar si es un filtro pasa bajo.
b=[0.0181 0.0543 0.0543 0.0181]

a=[1 -1.76 1.1829 -0.2781]

freqz=fft(b,128)./fft(a,128);

figure(1)

plot(2*pi*(0:127)/128,abs(freqz),'y')
title('Mdulo de H(exp(jomega))')
xlabel('Omega')
ylabel('|H(exp(jomega))|')
grid on;

figure(2)
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

55



plot(2*pi*(0:127)/128,angle(freqz),'g')
title('Fase')
xlabel('Omega')
ylabel('/_H(exp(jomega))')
grid on;






VII. Conclusiones y Recomendaciones
Mediante este trabajo se puede concluir que con la ayuda de Matlab, podemos
representar las transformadas de Fourier en forma matemtica y grfica. As
mismo, se pudieron observar cada una de las seales y las diferencias entre las
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
2014-I

56


mismas de forma grfica, para lograr entender las transformadas de Fourier de
una forma ms visible.
Por medio de la aplicacin de los comandos en Matlab podemos determinar
las transformadas de Fourier de una seal, con esto y con ayuda de los
ejemplos nos familiarizamos con esa herramienta de procesamiento, al
finalizar pudimos obtener su significado, propiedades, manejo y diversos
aspectos.

VIII. Bibliografa
Seales y Sistemas. Alan V. Oppenheim y Alan S. Willsky; Prentice Hall, segunda
edicin. 1997.

You might also like