Vous êtes sur la page 1sur 4

Centro De Investigacin y de

Estudios Avanzados Del IPN

Departamento De Sistemas Autnomos De


Navegacin

Alumno:
Joel Hernndez Hernndez

Materia
Teora de seales
Dr. Roberto Muos Guerrero

Tarea 2: Algoritmo para DFT

Enero 10, 2015

Realizar un algoritmo en el programa Matlab para obtener la Transformada de Fourier en su


forma discreta definida como:
N1

m= f n e
F

( 2 mn
N )

; con m=0, 1, , N 1 y n=0,1, , N 1

n=0

El programa es el siguiente:
clear all
clc
close all
display('Programa para calcular la Transformada de Fourier discreta (DFT)')
display('a partir de una seal continua')
display('Por defecto la funcion es x(t)=A*cos(2*pi*F*t)')
%Funciones propuestas para ser procesadas y obtener su DFT
%xt=A*sin(2*pi*F*t)+(A/3)*sin(2*pi*(F/3)*t)-(A/4)*cos(2*pi*(F/8)*t);
%xt=F*t.^2;
%datos
t=0:0.001:1;
A=2;
F=50;
%*************************SEAL DE TIEMPO CONTINUO*************************
xt=A*cos(2*pi*F*t);
figure(1)
plot(t,xt)
grid on
title('SEAL DE TIEMPO CONTINUO','FontSize',20,'Color','r')
xlabel('TIEMPO','FontSize',15,'Color','b')
ylabel('FUNCION X(T)','FontSize',15,'Color','b')
%-------------------------SEAL DE TIEMPO DISCRETO------------------------Fs=input('Ingrese la frecuencia de muestreo Fs= ');
Ts=1/Fs
%Periodo de Muestreo
n=0:1:Fs;
%Funciones correspondientes a tiempo discreto
%xn=A*sin(2*pi*(F/Fs)*n)+(A/3)*sin(2*pi*(F/(3*Fs))*n)-(A/4)*cos(2*pi*(F/8*Fs)*n);
%xn=(F/Fs)*n.^2;
xn=A*cos(2*pi*(F/Fs)*n);
figure(2);
stem(n,xn)
grid on
title('SEAL EN TIEMPO DISCRETO','FontSize',20,'Color','r')
xlabel('n(nT)','FontSize',15,'Color','b')
ylabel('x(nT)','FontSize',15,'Color','b')
%*+*+*+*+*+*+ALGORITMO DE LA TRANSFORMADA DE FOURIER DISCRETA+*+*+*+*+*+*+*
[min max]=size(xn)
N=max-1;
fprintf('Numero de muestras N=%d \n',N)
k=1:1:N;
n=1:1:N;
for k=1:N;
for n=1:N;
r(n)=xn(n)*exp(-j*2*pi*(k-1)*(n-1)/N);
end
TFD(k)=sum(r);
end
figure(3)

w=((0:N-1)/N*Ts);
plot(w,((2/N)*abs(TFD)))
title('DFT','FontSize',20,'Color','r')
xlabel('w','FontSize',15,'Color','b')
ylabel('Magnitud','FontSize',15,'Color','b')
grid on

Los resultados obtenidos con una Fs= 300 son los siguientes