TRANSFORMADA DISCRETA DE FOURIER Es un tipo de transformada discreta utilizada discreta utilizada en el análisis de Fourier. Transforma una función matemática en matemática en otra, obteniendo una representación en el dominio de la frecuencia, frecuencia, siendo la función original una función en el dominio del tiempo. tiempo . Los algoritmos FFT se utilizan tan habitualmente para calcular DFTs que el término FFT FFT much muchas as !ece !eces s se util utiliz iza a en luga lugarr de DFT DFT en leng lengua ua"e "e colo coloqu quia ial. l. Formalmente, ha# una diferencia clara$ DFT hace alusión a una transformación o función matemática, independientemente de cómo se calcule, mientras que FFT se refiere a una familia espec%fica de algoritmos para par a calcular DFTs. DFTs.
TRANSFORMADA DISCRETA DE FOURIER CON MATLAB En &atlab la Transformada de Fourier Discreta DFT de '(n) se calcula con el comando$ *n + fft (*) La secuencia secuencia de de - nmero nmeros s compl comple"os e"os ' '/,..., ' -01 se transf transforma orma en la secuenc secuencia ia de - nmeros comple"os * /,..., * -01 mediante la DFT con la fórmula$ N − 1
− j 2 πkn
Xk = ∑ Xne
N
k =0, … , N −1
n =0
Donde " es la unidad imaginaria #
e
j 2 π N
es la -2ésima ra%z de la unidad. unidad . (Esta
e'presión se puede escribir también en términos de una matriz DFT3 cuando se escala de forma apropiada se con!ierte en una matriz unitaria # * puede entonces ser interpretado como los coeficientes de ' en una base ortonormal.) ortonormal.) La transformada in!ersa de Fourier discreta (4DFT) !iene dada por$
* + ifft (*n) 5 su ecuación matemática es dada por la siguiente ecuación$
Xn=
1
N − 1
∑ Xk e
N k = 0
j 2 πkn N
n= 0, … , N −1
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 !"#!$"IA ! X&n !: '); %imprime el mensae en la pantalla disp(a); %imprime el ector Xn en pantalla sin imprimir el nom*re $=lengt+(a) %cuenta el nmero de d-gitos .ue est/n en Xn 0=1:lengt+(a)3 %cuenta la secuencia de 0 X0=fft(a); %comando para +allar 4ransformada de 5ourier iscreta disp('LA !"#!$"IA ! X&0 !: '); %imprime el mensae en la pantalla disp(X0); %imprime el ector X0 en pantalla sin imprimir el nom*re su*plot(223) %cuadro superior i6.uierdo stem(0,real(X0),'mar0erfacecolor','r'); %grafica de la parte real en X0 title('7arte real de X(0)') %titulo de la parte real en X0 grid su*plot(228) %cuadro inferior i6.uierdo stem(0,imag(X0),'mar0erfacecolor','*') %grafica de la parte imag en X0 title('7arte imaginaria de X(0)') %titulo de la parte imaginaria en X0
grid %9!"#7!9A9 LA !AL X($) 49A$59
) %cuadro inferior derec+o stem(0,imag(Xn),'mar0erfacecolor','*'); %parte Imag de Xn title('7arte imaginaria de x(n)') %titulo de la parte imaginaria en Xn grid X0=input('Ingresar datos de X0: ','s'); %defino la secuencia Xn a=str2num(X0); %str2num extrae los componentes digitados por el usuario disp('LA !"#!$"IA ! X&0 !: '); %imprime el mensae en la pantalla disp(a); %imprime el ector Xn en pantalla sin imprimir el nom*re $=lengt+(a) %cuenta el nmero de d-gitos .ue est/n en Xn n=1:lengt+(a)3 %cuenta la secuencia de 0 Xn=ifft(a); %comando para +allar 4ransformada de 5ourier iscreta disp('LA !"#!$"IA ! X&n !: '); %imprime el mensae en la pantalla disp(Xn);
Ejemplo: sea la secuencia de *6n7+ 6 1 8 1 / 7 hallar su transformada discreta de Fourier mediante un algoritmo en &atlab, además de eso plasmar en una gráfica su parte real e imaginaria. 9olución en &atlab: 4ngresar datos de *n$ 1 8 1 /
L; 9E<=E-<4; DE *6n7 E9$ 1 -+
>
+
/
1
8
8
/
?
L; 9E<=E-<4; DE *67 E9$ 6 > @ /i
Araficas
1
/
2
8i
/
@
/i
/
@
8i 7
TRANSFORMADA DISCRETA DE FOURIER
DILSON ZULETA MOLINA HUGO SOSA MARCOS LÓPEZ GUERRA
INGENIERO VICENTE OROZCO
UNIVERSIDAD POPULAR DEL CESAR FACULTA INGENIERIA Y TECNOLOGIA INGENIERIA ELECTRONICA
ANALISIS DE SEÑALES !"##"$#!