Transformada Discreta de Fourier CON MATLAB

download Transformada Discreta de Fourier CON MATLAB

of 6

description

TRANSFORMADA DE FOURIER

Transcript of Transformada Discreta de Fourier CON MATLAB

TRANSFORMADA DISCRETA DE FOURIER

Es un tipo detransformada discretautilizada en el anlisis de Fourier. Transforma unafuncin matemticaen otra, obteniendo una representacin en eldominio de la frecuencia, siendo la funcin original una funcin en eldominio 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)

LasecuenciadeNnmeros complejosx0,...,xN1se transforma en la secuencia deNnmeros complejosX0,...,XN1mediante la DFT con la frmula:

Donde j es la unidad imaginaria yes la N-simaraz 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 yXkpuede entonces ser interpretado como los coeficientes dexen unabase ortonormal.) Latransformada inversa de Fourier discreta (IDFT)viene dada por:

Xk = ifft (Xn)

Y su ecuacin matemtica es dada por la siguiente ecuacin:

ALGORITMO PARA REALIZAR TRANSFORMADA DISCRETA DE FOURIERclearclc Xn=input('Ingresar datos de Xn: ','s'); %defino la secuencia Xna=str2num(Xn); %str2num extrae los componentes digitados por el usuariodisp('LA SECUENCIA DE X[n] ES: '); %imprime el mensaje en la pantalladisp(a); %imprime el vector Xn en pantalla sin imprimir el nombreN=length(a) %cuenta el nmero de dgitos que estn en Xnk=0:length(a)-1 %cuenta la secuencia de kXk=fft(a); %comando para hallar Transformada de Fourier Discretadisp('LA SECUENCIA DE X[k] ES: '); %imprime el mensaje en la pantalladisp(Xk); %imprime el vector Xk en pantalla sin imprimir el nombresubplot(221) %cuadro superior izquierdostem(k,real(Xk),'markerfacecolor','r'); %grafica de la parte real en Xktitle('Parte real de X(k)') %titulo de la parte real en Xkgridsubplot(223) %cuadro inferior izquierdostem(k,imag(Xk),'markerfacecolor','b') %grafica de la parte imag en Xktitle('Parte imaginaria de X(k)') %titulo de la parte imaginaria en Xkgrid %RECUPERAR LA SEAL X(N) TRANSFORMADA INVERSA Xn=ifft(Xk); %hallar Transformada inversa de Fourier Discretasubplot(222) %cuadro superior derechostem(k,real(Xn),'markerfacecolor','r'); %parte real de Xntitle('Parte real de x(n)') %titulo de la parte real de xngridsubplot(224) %cuadro inferior derechostem(k,imag(Xn),'markerfacecolor','b'); %parte Imag de Xntitle('Parte imaginaria de x(n)') %titulo de la parte imaginaria en Xngrid Xk=input('Ingresar datos de Xk: ','s'); %defino la secuencia Xna=str2num(Xk); %str2num extrae los componentes digitados por el usuariodisp('LA SECUENCIA DE X[k] ES: '); %imprime el mensaje en la pantalladisp(a); %imprime el vector Xn en pantalla sin imprimir el nombreN=length(a) %cuenta el nmero de dgitos que estn en Xnn=0:length(a)-1 %cuenta la secuencia de kXn=ifft(a); %comando para hallar Transformada de Fourier Discretadisp('LA SECUENCIA DE X[n] ES: '); %imprime el mensaje en la pantalladisp(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 MatlabIngresar datos de Xn: 1 2 1 0

LA SECUENCIA DE X[n] ES: 1 2 1 0N = 4k = 0 1 2 3

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

Graficas

TRANSFORMADA DISCRETA DE FOURIER

DILSON ZULETA MOLINAHUGO SOSAMARCOS LPEZ GUERRA

INGENIERO VICENTE OROZCO

UNIVERSIDAD POPULAR DEL CESARFACULTA INGENIERIA Y TECNOLOGIAINGENIERIA ELECTRONICAANALISIS DE SEALES04/11/2014