Sei sulla pagina 1di 6

TRANSFORMADA DISCRETA DE FOURIER

Es un tipo de transformada discreta utilizada en el anlisis de Fourier. Transforma


una funcin matemtica en otra, obteniendo una representacin en el dominio de
la frecuencia, siendo la funcin original una funcin en el dominio del tiempo.
Los algoritmos FFT se utilizan tan habitualmente para calcular DFTs que el trmino
"FFT" muchas veces se utiliza en lugar de "DFT" en lenguaje coloquial.
Formalmente, hay una diferencia clara: "DFT" hace alusin a una transformacin o
funcin matemtica, independientemente de cmo se calcule, mientras que "FFT"
se refiere a una familia especfica de algoritmos para calcular DFTs.

TRANSFORMADA DISCRETA DE FOURIER CON MATLAB


En Matlab la Transformada de Fourier Discreta DFT de x(n) se calcula con el
comando:
Xn = fft (Xk)
La secuencia de N nmeros complejos x0,..., xN1 se transforma en la secuencia
de N nmeros complejos X0,..., XN1 mediante la DFT con la frmula:
N1

Xk= Xne

j 2 kn
N

k =0, , N 1

n=0

Donde j es la unidad imaginaria y

j2
N

es la N-sima raz de la unidad. (Esta

expresin se puede escribir tambin en trminos de una matriz DFT; cuando se


escala de forma apropiada se convierte en una matriz unitaria y Xk puede entonces
ser interpretado como los coeficientes de x en una base ortonormal.)
La transformada inversa de Fourier discreta (IDFT) viene dada por:

Xk = ifft (Xn)
Y su ecuacin matemtica es dada por la siguiente ecuacin:

Xn=

1
N

N1

Xk e

j 2 kn
N

n=0, , N 1

k=0

ALGORITMO PARA REALIZAR TRANSFORMADA DISCRETA DE FOURIER

clear
clc
Xn=input('Ingresar datos de Xn: ','s');
%defino la secuencia Xn
a=str2num(Xn);
%str2num extrae los
componentes digitados por el usuario
disp('LA SECUENCIA DE X[n] ES: ');
%imprime el mensaje en la pantalla
disp(a);
%imprime el
vector Xn en pantalla sin imprimir el nombre
N=length(a)
%cuenta el nmero de dgitos que estn en Xn
k=0:length(a)-1
%cuenta la secuencia de k
Xk=fft(a);
%comando para
hallar Transformada de Fourier Discreta
disp('LA SECUENCIA DE X[k] ES: ');
%imprime el mensaje en la pantalla
disp(Xk);
%imprime el
vector Xk en pantalla sin imprimir el nombre
subplot(221)
%cuadro superior izquierdo
stem(k,real(Xk),'markerfacecolor','r');
%grafica de la parte real en Xk
title('Parte real de X(k)')
%titulo de la parte real en Xk
grid
subplot(223)
%cuadro inferior izquierdo
stem(k,imag(Xk),'markerfacecolor','b')
%grafica de la parte imag en Xk
title('Parte imaginaria de X(k)')
%titulo de la parte imaginaria en Xk

grid
%RECUPERAR LA SEAL X(N) TRANSFORMADA INVERSA
Xn=ifft(Xk);
%hallar Transformada inversa de Fourier Discreta
subplot(222)
%cuadro superior derecho
stem(k,real(Xn),'markerfacecolor','r');
%parte real de Xn
title('Parte real de x(n)')
%titulo de la parte real de xn
grid
subplot(224)
%cuadro inferior derecho
stem(k,imag(Xn),'markerfacecolor','b');
%parte Imag de Xn
title('Parte imaginaria de x(n)')
%titulo de la parte imaginaria en Xn
grid
Xk=input('Ingresar datos de Xk: ','s');
%defino la secuencia Xn
a=str2num(Xk);
%str2num extrae los
componentes digitados por el usuario
disp('LA SECUENCIA DE X[k] ES: ');
%imprime el mensaje en la pantalla
disp(a);
%imprime el
vector Xn en pantalla sin imprimir el nombre
N=length(a)
%cuenta el nmero de dgitos que estn en Xn
n=0:length(a)-1
%cuenta la secuencia de k
Xn=ifft(a);
%comando para
hallar Transformada de Fourier Discreta
disp('LA SECUENCIA DE X[n] ES: ');
%imprime el mensaje en la pantalla
disp(Xn);

Ejemplo: sea la secuencia de X[n]= [ 1 2 1 0 ] hallar su transformada discreta de


Fourier mediante un algoritmo en Matlab, adems de eso plasmar en una grfica
su parte real e imaginaria.
Solucin en Matlab
Ingresar datos de Xn: 1 2 1 0

LA SECUENCIA DE X[n] ES: 1


N=

k=

LA SECUENCIA DE X[k] ES: [ 4 + 0i

Graficas

2i

0i

2i ]

TRANSFORMADA DISCRETA DE FOURIER

DILSON ZULETA MOLINA


HUGO SOSA
MARCOS LPEZ GUERRA

INGENIERO
VICENTE OROZCO

UNIVERSIDAD POPULAR DEL CESAR


FACULTA INGENIERIA Y TECNOLOGIA
INGENIERIA ELECTRONICA

ANALISIS DE SEALES
04/11/2014

Potrebbero piacerti anche