You are on page 1of 9

Practica 3 Transformada de Fourier

Objetivo:
Que el alumno utilice los siguientes comandos de matlab
Linspace
Sinc
stem
fft
ifft
shiftfft
fprint
1. Graficar el espectro de un pulso rectangular
2. Graficar el espectro de un pulso rectangular con diferentes valores de duracin a periodo
3. Obtener la transformada de Fourier de una funcin exponencial y demostrar la simetra del par
transformador
4. Obtener el espectro de lneas de producto de dos funciones cosenoidales

1) Espectro de un pulso rectangular
Se proceder como ya se ha hecho anteriormente, definiremos primeramente el intervalo, se define
la funcin y se traza, se anexa la rejilla y se le pone el titulo a la grafica, quedando de la siguiente
manera:

t=-5:0.1:5;
x=sinc(t);
plot(t,x,('r'));
grid
title('Grafica de la funcion
muetreo');
xlabel('w')
ylabel('f(t)')

A continuacin est la grafica en la
que modificamos su amplitud y su
frecuencia, as como sus
parmetros, con el fin de ver como
se comporta la grafic


t=-2.5:0.1:2.5;
x=2*sinc(2*t);
plot(t,x,('r'));
grid
title('Grafica de la funcion
muestreo');
xlabel('w')
ylabel('f(t)')
-5 -4 -3 -2 -1 0 1 2 3 4 5
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Grafica de la funcion muestreo
w
f
(
t
)
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5
-0.5
0
0.5
1
1.5
2
Grafica de la funcion muestreo
w
f
(
t
)
Conclusiones: a simple vista se puede apreciar que las graficas se parecen, aunque modificamos su
amplitud y su frecuencia, pero como tambin modificamos sus parmetros esto nos deja ver la
grafica modificada un poco mas amplia, por lo que resulta casi igual a la original.

2) Graficacin de un tren de pulsos con variacin de longitud en el dominio de la frecuencia
Ahora se proceder a considerar el pulso rectangular cuya transformada esta dada por
()

}
Donde hay que hacer notar que la relacin de d/t donde d=duracin o longitud del pulso y T es el
periodo, se tiene, que se tendr el nmero de elementos con que se construya la seal, as como
el numero de armnicas, exceptuando a la principal en ambos casos
Ahora graficaremos para los siguientes casos:
a) d=1/20 T=1/4

A=1;
d=1/20;
T=1/4;
n=-20:1:20;
x=(A*d/T)*sinc(n*d/T);
stem(n,x);
grid
title('Espectro en frecuencia de la
seal rectangular')



Programa modificado


A=2;
d=1/40;
T=1/4;
n=-40:1:40;
x=(A*d/T)*sinc(n*d/T);
stem(n,x);
grid
title('Espectro en frecuencia de la
seal rectangular')


Conclusin: En la modificacin de este programa pudimos darnos cuenta cmo afecto mas
drsticamente si modificamos la duracin del pulso


-20 -15 -10 -5 0 5 10 15 20
-0.05
0
0.05
0.1
0.15
0.2
Espectro en frecuencia de la seal rectangular
-40 -30 -20 -10 0 10 20 30 40
-0.05
0
0.05
0.1
0.15
0.2
Espectro en frecuencia de la seal rectangular
b) d=1/20 T=1/2

A=1;
d=1/20;
T=1/2;
n=-40:1:40;
x=(A*d/T)*sinc(n*d/T);
stem(n,x);
grid
title('Espectro en frecuencia de la
seal rectangular')
xlabel('w')

Programa modificado

A=2;
d=1/20;
T=1/2;
n=-80:1:80;
x=(A*d/T)*sinc(n*d/T);
stem(n,x);
grid
title('Espectro en frecuencia de la
seal rectangular')
xlabel('w')


Conclusiones: al igual que en programa anterior aqu la relacin entre el pulso t aumento dondo
asi lugar a mas componente en el dominio de la frecuencia y al igual que en el programa anterior
en este tmb se duplico su amplitud

c) d=1/20 T=1

A=1;
d=1/20;
T=1;
n=-80:1:80;
x=(A*d/T)*sinc(n*d/T);
stem(n,x);
grid
title('Espectro en frecuencia de la
seal rectangular')
xlabel('w')
-40 -30 -20 -10 0 10 20 30 40
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
Espectro en frecuencia de la seal rectangular
w
-80 -60 -40 -20 0 20 40 60 80
-0.05
0
0.05
0.1
0.15
0.2
Espectro en frecuencia de la seal rectangular
w
-80 -60 -40 -20 0 20 40 60 80
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0.05
Espectro en frecuencia de la seal rectangular
w
Programa modificado

A=2;
d=1/20;
T=1;
n=-40:1:40;
x=(A*d/T)*sinc(n*d/T);
stem(n,x);
grid
title('Espectro en frecuencia de la
seal rectangular')
xlabel('w')


Conclusiones: En este programa se tuvieron que modificar los parmetros para que se pudiera
apreciar mejor la cantidad de componentes que nos da la relacin entre la duracin del pulso y t.

3) Transformada de Fourier de una funcin experimental
Ahora trabajaremos una exponencial a la cual le sacaremos su transformada de Fourier y desoues
le sacaremos la antitransformada, con la finalidad de comprobar la exactitud de ambas funciones y
su reciprocidad.
Para observar lla seal en matlab, la tranformada fft y la tranformada inversa ifft, graficaremos la
funcin en tiempo y luego obtendremos la trasformada en la frecuencia y volver a regresar al
tiempo po ta antitransformada.

N=128;
a=10;
t=linspace(0,1,N);
x=exp(-a*t);
hold on;
plot(t,x,'b+');
X=fft(x);
Z=ifft(X);
plot(t,real(Z),'rx');
hold off
title('Grafica comparativa de la
T de F y la funcion exacta')

Programa modificado

N=50;
a=10;
t=linspace(0,1,N);
-40 -30 -20 -10 0 10 20 30 40
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
Espectro en frecuencia de la seal rectangular
w
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Grafica comparativa de la T de F y la funcion exacta
-40 -30 -20 -10 0 10 20 30 40
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
Espectro en frecuencia de la seal rectangular
w
x=exp(-a*t);
hold on;
plot(t,x,'bo');
X=fft(x);
Z=ifft(X);
plot(t,real(Z),'rx');
hold off
title('Grafica comparativa de la
T de F y la funcion exacta')



Conclusiones:puedimos apreciar mediante la modificacin del programa original como se
comporta el resultado de la transformada inversa de Fourier, asi como poner en practica los
comandos para una mejor graficacion.

Ahora para comprobar la simetra y al exatitud de ta T. de Fourier y su antitransformada de
manera numrica, se toma la serie exponencial y se calcularan los valores en una tabla con los
primeros nueve componentes

N=1028;
a=10;
T=linspace(0,1,N);
x=exp(-a*T);
X=(1/N)*fft(x,N);
Z=abs(X);
F=0:N;
w=2*pi*F;
A=1./sqrt(a.*a+w.*w);
fprintf('N\t T de F\t\tvalor exacto\n')
for q=0:9
fprintf('%2d\t%0.3f\t\t%3f\n',q,Z(q+1),A(q+1))
end
N T de F Valor exacto
0 0.100 0.100000
1 0.085 0.084673
2 0.063 0.062268
3 0.047 0.046865
4 0.037 0.036970
5 0.030 0.030331
6 0.026 0.025639
7 0.022 0.022171
8 0.020 0.019512
9 0.017 0.017414
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Grafica comparativa de la T de F y la funcion exacta
En este programa lo unico que se modifico fue la exactitud que le dimos al valor exacto que
aumentasmo la cantidad de decimales que se muestran

Para comprobar la simetra de la T. de Fourier en forma numrica se consideran una cantidad,
menor de valores que en el caso anterior, con solo 16 muestras, y se comparararan los resultados
que tendr el programa

N=16;
a=10;
T=linspace(0,1,N);
x=exp(-a*T);
X=(1/N)*fft(x,N);
Z=abs(X);
fprintf('N\tfft\n')
for q=0:N-1
fprintf('%2d\t%0.3f\n',q,Z(q+1))
end

N fft
0 0.128
1 0.111
2 0.085
3 0.067
4 0.056
5 0.049
6 0.044
7 0.042
8 0.041
9 0.042
10 0.044
11 0.049
12 0.056
13 0.067
14 0.085
15 0.111

Para la transformada d Fourier cuando se analiza el resultado, en su espectro en frecuencia se
considera real y positivo, por lo que muchos autores nicamente grafican la mitad, como se podr
ver en el siguiente programa.

clf,clear all,clc
N=16;
t=0:1/N:(1-1/N);
a=10;
x=exp(-a*t);
X=(1/N).*fft(x,N)
m=0:((N/2)-1);
z=abs(X);
stem(m,z(m+1));
title('Espectro positivo de la T.de F')

Programa modificado


clf,clear all,clc
N=32;
t=0:1/N:(1-1/N);
a=5;
x=exp(-a*t);
X=(1/N).*fft(x,N)
m=0:((N/2)-1);
z=abs(X);
stem(m,z(m+1));
title('Espectro positivo de la T.de F')


Conclusiones: se modifico para que la amplitud del espectro fuera mayor y poder obtener mayor
numero de componentes para una mejor visualizacin de la funcin exponencial.

Ahora si se desea ver de manera completa(matemticamente hablando, ser necesario ordenar
los coeficientes o definir el intervalo de graficacion.

clf,clear all,clc
N=16;
t=0:1/N:(1-1/N);
a=10;
x=exp(-a*t);
X=fft(x,N);
z=(1/N)*fftshift(X);
Z=abs(z);
m=[(-N/2)+1:(N/2)-1];
stem(m,Z(2:N),'o')
title('Espectro simetrico de la T de F')

0 1 2 3 4 5 6 7
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
Espectro positivo de la T.de F
0 5 10 15
0
0.05
0.1
0.15
0.2
0.25
Espectro positivo de la T.de F
-8 -6 -4 -2 0 2 4 6 8
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
espectro simetrico de la T de F
Programa modificado

clf,clear all,clc
N=40;
t=0:1/N:(1-1/N);
a=5;
x=exp(-a*t);
X=fft(x,N);
z=(1/N)*fftshift(X);
Z=abs(z);
m=[(-N/2)+1:(N/2)-1];
stem(m,Z(2:N),'o')
title('Espectro simetrico de la T de F')

conclusiones: Al igual que en programa anterior en este se modifico el programa original para que
pudiramos visualizar mas componentes a mayor amplitud.

4) Suma de dos cosenos en el tiempo y su espectro aplicando la transformada de Fourier
Recordando que definir un coseno es Acos(wt), donde A es la amplitud, w =2f y t es la variable
del tiempo, si se considera la magnitud del tiempo de 5 y del segundo de 10 y deigual manera las
frecuencias, se tendr:

clf,clear all,clc
N=32;
T=1/N;
t=0:T:pi;
f1=5;
f2=10;
w1=2*pi*f1;
w2=2*pi*f2;
s1=5*cos(w1*t);
s2=10*cos(w2*t);
x=s1+s2;
subplot(2,1,1)
plot(t,x)
title('Grafica de la suma de dos funciones
coseno en el tiempo')
X=fft(x,N);
Z=(1/N)*fftshift(X);
F=(-N/2)+1:(N/2)-1;
subplot(2,1,2)
stem(F,real(Z(2:N)));
title('Espectro de la suma de dos cosenos de dif. amplitud')



-20 -15 -10 -5 0 5 10 15 20
0
0.05
0.1
0.15
0.2
0.25
Espectro simetrico de la T de F
0 0.5 1 1.5 2 2.5 3 3.5
-20
-10
0
10
20
Grafica de la suma de dos funciones coseno en el tiempo
-15 -10 -5 0 5 10 15
-2
0
2
4
6
Espectro de la suma de dos cosenos de dif. amplitud
Programa modificado
En este programa se hizo la musma suma de cosenos solo que su amplitu se cambia a 2 y a 10, al
igual que su frecuencia respectivamente

clf,clear all,clc
N=32;
T=1/N;
t=0:T:pi;
f1=2;
f2=10;
w1=2*pi*f1;
w2=2*pi*f2;
s1=2*cos(w1*t);
s2=10*cos(w2*t);
x=s1+s2;
subplot(2,1,1)
plot(t,x)
title('Grafica de la suma de dos funciones
coseno en el tiempo')
X=fft(x,N);
Z=(1/N)*fftshift(X);
F=(-N/2)+1:(N/2)-1;
subplot(2,1,2)
stem(F,real(Z(2:N)));
title('Espectro de la suma de dos cosenos de dif. amplitud')

Conclusiones: se pudo apreciar mas en el espectro de la frecuencia la suma de cosenos tanto en el
programa original como en el modificado

Conclusiones generales de la prctica
Atreves de esta prctica pudimos elaborar las graficas deseadas para ver los espectros de
frecuencias de las transformadas de Fourier, as como su exactitud respecto a la
transformada inversa de Fourier, que nos regresa la funcin en el dominio del tiempo.
Con esta prctica nos adentramos mas en el tema relacionada a la seales , ya que
obtuvimos algunos mtodos para representar funciones en el dominio de la frecuencia as
como obtener la transformada o transformada inversa(segn sea el caso) de una funcin y
poder graficarla y/o obtener sus valores numricos,
0 0.5 1 1.5 2 2.5 3 3.5
-20
-10
0
10
20
Grafica de la suma de dos funciones coseno en el tiempo
-15 -10 -5 0 5 10 15
-2
0
2
4
6
Espectro de la suma de dos cosenos de dif. amplitud