TransformadaRapida-DiscretaFourier

25
Algoritmos de aplicación Transformada Rápida/Discreta de Fourier. Procesamiento Digital de Señales. UNIVERSIDAD POLITÉCNICA DEL ESTADO DE MORELOS Alumno: Lázaro García Carlos Arturo LGCO126320 Moran Martínez José Luis MMJO126540 Rivera Alonso Abel RAAO115680 Sánchez Miranda Gustavo SMGO114984 Carrera: Ingeniería en Electrónica y Telecomunicaciones 8vo Cuatrimestre Profesor: Felipe de Jesús Sorcia. Fecha de Entrega: 14/04/2015

description

FFT & DFT

Transcript of TransformadaRapida-DiscretaFourier

  • Algoritmos de aplicacin Transformada Rpida/Discreta de Fourier. Procesamiento Digital de Seales. UNIVERSIDAD POLITCNICA DEL ESTADO DE MORELOS Alumno: Lzaro Garca Carlos Arturo LGCO126320 Moran Martnez Jos Luis MMJO126540 Rivera Alonso Abel RAAO115680 Snchez Miranda Gustavo SMGO114984 Carrera: Ingeniera en Electrnica y Telecomunicaciones 8vo Cuatrimestre Profesor: Felipe de Jess Sorcia. Fecha de Entrega: 14/04/2015

  • 1

    Contenido Introduccin. ....................................................................................................................................... 2

    Marco Terico ..................................................................................................................................... 2

    La Transformada Rpida de Fourier ................................................................................................ 2

    Transformada Discreta de Fourier .................................................................................................. 6

    Desarrollo ............................................................................................................................................ 8

    Transformada Discreta de Fourier en Algoritmo de Goertzel ......................................................... 8

    De dnde sale el algoritmo de Goertzel? .................................................................................. 9

    Ejemplo de Implementacin en la deteccin de tonos DMFT .................................................. 13

    Ejemplo comparativo del cdigo utilizado en Matlab .............................................................. 15

    Algoritmo de aplicacin de Transformada Rapida de Fourier .......................................................... 17

    Anlisis espectral bsico ................................................................................................................ 17

    Interpolacin de datos .................................................................................................................. 21

    Conclusiones ..................................................................................................................................... 23

    Bibliografa ........................................................................................................................................ 24

  • 2

    Introduccin. La nocin de seal es bastante amplia y aparece en diferentes situaciones en las cuales ciertas

    cantidades varan en el tiempo o el espacio de una magnitud fsica o de otra naturaleza. Por

    tanto est ligada al concepto de funcin.

    El procesamiento de seales es una disciplina de las ciencias de la ingeniera que desarrolla

    las tcnicas de procesamiento, anlisis e interpretacin de seales. Entre las operaciones

    posibles con las seales tenemos control, filtrado, compresin de datos, deconvolucin,

    prediccin etc.

    Se pueden procesar seales analgicas o seales digitales. En el procesamiento de seales

    existen diferentes ramas dependiendo de la naturaleza de las seales consideradas (audio,

    voz, imagen, video).

    El procesamiento de seales puede tener diferentes objetivos:

    Deteccin de una seal

    Compresin para su almacenamiento y transmisin.

    La teora de seales es la rama matemtica que estudia las seales y los sistemas que los

    transmiten e involucra herramientas del anlisis armnico (generalizacin del Anlisis de

    Fourier).

    Marco Terico

    La Transformada Rpida de Fourier

    La Transformada Rpida de Fourier (Fast Fourier Transform) es una herramienta

    fundamental en el procesado digital de seales. Su origen es relativamente reciente puesto

    que fueron J.W.Cooley y J.W Tukey, quienes hacia 1965 abordaron por primera vez el

    problema de la programacin de un algoritmo para el clculo de series complejas.

    Ante todo debe quedar claro que la FFT no es una nueva transformada sino que se trata de

    un algoritmo para el clculo de la Transformada Discreta de Fourier (DFT). Su importancia

    radica en el hecho que elimina una gran parte de los clculos repetitivos a que est sometida

    la DFT, por lo tanto se logra un clculo ms rpido. Adems, la FFT generalmente permite

    una mayor precisin en el clculo de la DFT disminuyendo los errores de redondeo.

    La implementacin del algoritmo de la FFT puede realizarse de dos formas distintas:

    1.- Mediante un programa que pueda ejecutarse tanto en un PC como en una tarjeta que

    posea un microprocesador especfico para este tipo de operaciones (DSP).

    2.- Mediante el desarrollo de una tarjeta (HARDWARE) en la cual se emplean circuitos

    integrados especficos. Tal es el caso de los modernos analizadores de espectro.

  • 3

    Por lo tanto el objetivo de este apartado es mostrar la redundancia implcita en el clculo

    de la DFT, para luego comprobar cmo un determinado algoritmo de la FFT elimina esta

    redundancia. La DFT de una serie de muestras x[n] para 0 n N se define:

    ; 0 k N

    donde: y

    Antes de entrar en detalles sobre la FFT comprobemos la naturaleza peridica del trmino

    , de hecho la periodicidad y simetra de contribuyen a la redundancia de la DFT.

    En la siguiente tabla se evala

  • 4

    Desarrollo intuitivo Para mostrar el algoritmo de la FFT empecemos por elegir un nmero

    de muestras N = 2m donde m es un nmero entero. Estudiemos el caso de N= 4

    {x[ 0] , x[ 1] , x[ 2] , x[ 3] }

  • 5

    Cuyo clculo implica 12 sumas y 5 multiplicaciones complejas. El diagrama en bloques se

    representa en la Figura 7.21.

    Fig. 7.21.

    Esta interpretacin de la FFT de 4 puntos sugiere que la organizacin de la FFT se obtuvo

    dividiendo la DFT de 4 puntos en dos TDF de 2 puntos y combinando sus coeficientes.

    Observar que en el desarrollo del algoritmo, el dato x[0] se empareja con x[2] , y x[1] con

    x[3] . El algoritmo empleado se representa mediante el diagrama de flujo mostrado en la

    Figura 7.22.

    Fig. 7.22.

    Esto implica que la organizacin de una FFT de 8 puntos se puede dividir en dos DFT de 4

    puntos y a continuacin una combinacin de ambos conjuntos de coeficientes.

  • 6

    Transformada Discreta de Fourier

    Es poco frecuente encontrar seales puramente peridicas en el procesado digital de seales.

    Seales y datos no peridicos con un nmero finito de valores es el entorno ms comnmente

    empleado en los sistemas LTI prcticos.

    La Transformada Discreta de Fourier (DFT) de una seal x[n] definida en el rango

    0 N-1 se define como:

    X[k] = ; 0 N-1 [1]

    Donde: y los valores espectrales X[k] se evalan en 0 N-1. Al trmino

    WN se le denomina frecuentemente " twiddle factor" y es un conjunto de valores complejos.

    La Transformada inversa de Fourier (IDFT), que permite generar la seal x[n] a partir de sus

    muestras espectrales X[k], se define:

    x[n] = ; 0 N-1 [2]

    Donde los valores de x[n] son evaluados en el rango 0 N-1

    Si se emplea la ecuacin [1] para calcular valores adicionales de X[k] fuera del rango 0

    N-1 encontraremos que se forma una secuencia espectral peridica, la DFT es peridica. Del

    mismo modo, empleando la ecuacin [2] para calcular valores adicionales de x[n] fuera del

    rango 0 (N-1) se obtiene una versin peridica de la seal x[n] . Por lo tanto la DFT e

    IDFT representan una secuencia finita peridica dentro de una seal no peridica x[n]. En

    efecto la DFT considera a una seal no peridica x[n] como si fuese peridica a efecto de

    algoritmos de clculo. Tambin es importante saber que tanto una seal peridica de periodo

    N y otra seal no peridica de la que se han tomado N muestras, ambas estn definidas por

    N valores o muestras.

    Tambin debemos darnos cuenta que la nica diferencia entre la DFT y la IDFT a efectos de

    implementacin es el factor de escala 1/N y el cambio de signo en la funcin exponencial.

    Por lo tanto si desarrollamos un algoritmo para calcular la DFT, el clculo de la IDFT es

    inmediato. Este hecho es una consecuencia directa de la simetra existente entre los dominios

    del tiempo y la frecuencia.

  • 7

    Cuando los N valores de x[n] son reales, X[k] se descompone en su parte real e imaginaria

    R( X[k] ) = ; I(X[k] ) = -

    A partir de los cuales se calcula el |X[k] | y la potencia media cuadrtica definida por la

    expresin:

    |X[k] |2 = |R(X[k] )|2 + |I(X[k] )|2

    Las ecuaciones [1]y [2] son esencialmente las mismas que las ecuaciones de anlisis y

    sntesis correspondientes a las series de Fourier correspondiente a una seal peridica x[n] ,

    la nica diferencia es que ahora se ha incorporado el factor de escala 1/N en la ecuacin de

    sntesis.

    La similitud entre la DFT y la serie discreta de Fourier puede interpretarse de dos formas. Si

    la seal x[n] es realmente peridica la ecuacin [1] proporciona una nueva forma de las series

    discretas de Fourier; pero si x[n] es no peridica, y solamente es tratada como peridica a

    efecto de clculos computacionales, la ecuacin [1] representa la DFT.

    En principio parece redundante el estudio de la DFT puesto que ya desarrollamos una versin

    discretizada de la Transformada de Fourier aplicable a tanto a seales discretizadas no

    peridicas x[n] como a sistemas LTI. Podemos emplear lo anteriormente desarrollado para

    describir la correspondiente funcin espectral X[k]sin hacer ninguna suposicin sobre la

    periodicidad?. La respuesta es s y no. Por un lado es posible encontrar una versin

    discretizada de las funciones espectrales continuas X(W) o H(W), si embargo las dificultades

    surgen cuando necesitamos procesar o estimar la informacin. Un sistema digital no puede

    operar con funciones continuas, todo lo que puede hacer es estimar el valor de la funcin

    para un conjunto de valores discretos de la frecuencia digital W, - en otras palabras es

    necesario generar una versin muestreada de X(W) o H(W). Este hecho operativo implica

    responder a la siguiente pregunta; Cuntas muestras de X(W) o H(W), son necesarias?.

    Pocas muestras originarn una respuesta inadecuada mientras que muestras en

    exceso implican una gran cantidad de clculo redundante. En las siguientes pginas se

    desarrollan estos conceptos.

    Dominio del tiempo la frecuencia

    La DFT y la IDFT nos permiten representar una seal x[n] o un sistema LTI en uno u otro

    dominio sin prdida de informacin.

  • 8

    Desarrollo

    Transformada Discreta de Fourier en Algoritmo de Goertzel

    En el anlisis en frecuencia permite extraer informacin que no es evidente mediante la

    simple observacin de una seal en el tiempo. Para esto la transformada discreta de Fourier

    (DFT) la cual es la respuesta natural e inmediata a la transformada continua de Fourier en el

    mundo digital. La transformada rpida de Fourier (FFT) resuelve esta limitacin en tiempo

    mejorado de manera importante el tiempo de clculo consumido por la transformada discreta

    (DFT).

    El algoritmo que vamos a tratar es el de Goertzel, el cual es un filtro digital derivado de la

    trasformada discreta de Fourier el cual es capaz de detectar las componentes de la frecuencia

    especifica de una seal, de tal forma que no analiza todo el espectro, el cual lo hace en un

    tiempo menor de ejecucin. El ejemplo que aqu se expondr es en el manejo de tonos DMFT

    (Dual-Tone Multi-Frequency) los cuales son los ms usados por las compaas de servicios

    a travs de telfonos fijos o celulares.

    Pero ahora nos enfocaremos en el algoritmo de Goertzel el cual nos interesa, usado en el

    procesamiento digital de seales (DSP) el cual se encarga de identificar las componentes de

    frecuencia de una seal. Su historia data de 1958 ao en el que el Dr. Gerald Goertzel lo

    pblico, este es un filtro digital derivado de la transformada discreta de Fourier, que se

    encarga de detectar componentes de frecuencia especifica de una seal, y como ya habamos

    mencionado el ejemplo que se expondr ms adelante, se usa en la conmutacin telefnica

    digital con la cual se pueden identificar los tonos caractersticos generados cuando un numero

    se marca en el sistema.

    Ya que es una derivacin de la (DFT) hablaremos a cerca de esta, sabemos que la

    transformada de Fourier descompone la seal como la suma de senos y cosenos los cuales

    tienen diferentes frecuencias y amplitudes que se encuentran desfasadas en el tiempo. En las

    aplicaciones de ingeniera este proceso se considera de manera discreta debido a que la

    adquisicin de datos es de manera digital.

    () = ()(2

    )

    1

    =0

    Ecuacin 1.- Definicin de la transformada discreta de Fourier.

    Donde

    N = Nmero total de muestras.

    n = La ensima muestra original.

    k = El ksimo trmino de la DTF.

  • 9

    De dnde sale el algoritmo de Goertzel?

    Bien, este es parte de la definicin de la DFT, lo cual procede a realizar inicialmente una

    reescritura de la ecuacin 1 para la DFT.

    = (

    2

    )

    Por lo cual, la ecuacin 1 puede ser rescrita por la ecuacin 2.

    () = ()

    1

    =0

    Ecuacin 2.- Reescritura de la definicin de la DFT.

    Ahora se desarrolla mediante la identidad de Euler.

    (2) = cos(2) + sin(2) = 1

    Se denota que:

    = 1

    Bien, ahora que ya tenemos las igualaciones y las sustituciones necesarias, de la ecuacin 3

    volveremos a sustituir en la ecuacin 2.

    () = ()[1]

    1

    =0

    () = ()

    1

    =0

    () = ()+

    1

    =0

    Haciendo uso de la factorizacin tenemos la siguiente ecuacin:

    () = ()()

    1

    =0

    Ecuacin 4.- Reescritura de la ecuacin de la DFT con la identidad de Euler.

  • 10

    Si desarrollamos la sumatoria de la ecuacin 4 y factorizando tendremos el siguiente

    resultado:

    () = {[(0) + (1)]

    + (2) + + ( 1)}

    Ecuacin 5.- Expresin de la DFT como sumas, que llevan a una expresin general de

    ecuacin en diferencias.

    () = ( 1) + ()

    Ecuacin 6.- Ecuacin en diferencias de la DFT.

    Donde:

    y(n) = Representa la salida.

    y(n-1) = La salida anterior.

    x(n) = La entrada.

    Aplicando la transformada z a la ecuacin 6 obtenemos lo siguiente:

    () = [1 1] = ()

    Obtenemos su funcin de transferencia.

    () =()

    ()=

    1

    1 1

    Ecuacin 7.- Funcin de transferencia de la DFT con la transformada z.

  • 11

    Ahora, multiplicamos el numerador y el denominador de la funcin de transferencia de la

    ecuacin 7 por 1 1 y obtendremos lo siguiente:

    () =1

    1

    1 [2(cos2

    )1 + 2]

    Ecuacin 8.- Funcin de transferencia de la DFT desarrollada.

    Figura 1 Diagrama del filtro IIR del algoritmo de Goertzel.

    Bien ya despus de haber obtenido las ecuaciones que nos llevan a la realizacin del filtro

    IIR de Goertzel, aplicaremos este algoritmo en el software Matlab. El algoritmo de Goertzel

    a diferencia de la DFT busca verificar la existencia de ciertas frecuencias previamente

    conocidas sin realizar todos los clculos. Esta aplicacin es altamente til en la deteccin de

    tonos DMFT usados en muchos sistemas telefnicos de servicio automtico de respuesta para

    recargas de telefona mvil, transacciones bancarias y servicio al cliente.

    Figura 2 Ecuaciones reescritas.

  • 12

    Las ecuaciones 12 y 13 son reescritas mediante el diagrama del filtro IIR de la figura 2. En

    este caso la implementacin se debe considerar que los valores de Sk(-2) y Sk(-1) son iguales

    a 0. Repetir hasta recorrer todos elementos N de la seal digital a explorar.

    Figura 3 Implementacin del algoritmo de un filtro IIR de Goertzel en Matlab.

  • 13

    Ejemplo de Implementacin en la deteccin de tonos DMFT

    Generador de tonos DMFT

    Los tonos DMFT son la sumatoria de dos funciones cosenoidales de diferentes frecuencias.

    En la figura 4 se representa la combinacin de frecuencias sobre un teclado digital. Todas las

    teclas aunque no sean de uso comn tienen una frecuencia establecida. La ecuacin 14

    muestra como la sumatoria de las funciones cosenoidales generan los tonos DMFT.

    Ecuacin 14. Funcin generadora de tonos DMFT

    Figura 4. Teclado con combinacin de frecuencias para la generacin de tonos.

    En la figura 5 se muestra mediante una grfica el detalle de los primeros milisegundos del tono que

    es generado por el teclado de la figura 4 para cuando la tecla 1 est presionada. Este ha sido

    producido haciendo uso de la ecuacin 14 con una frecuencia de muestreo fm=8000Hz. De igual

    forma en la figura 6, se muestra el cdigo en Matlab que permite la simulacin de un archivo de

    audio que se genera, se es guardado con la extensin WAV y posteriormente reproduce el archivo

    de dicho tono

    Figura 5. Zoom al tono DMFT que es generado cuando la tecla 1 es presionada.

  • 14

    En la figura 6 se muestra el cdigo utilizado en Matlab.

    Figura 6. Cdigo en Matlab.

  • 15

    Ejemplo comparativo del cdigo utilizado en Matlab

    En la primera parte, se implementa el cdigo haciendo uso de la funcin llamada goertzelmio.m, en

    ese ejemplo, se busca encontrar las frecuencias de 696 Hz, 770 Hz y1209 Hz, dos de los cuales

    corresponden a la tecla 1, dentro de una seal. Si estas son encontradas, no se recibe informacin

    sobre magnitud ni su fase, solamente sobre su existencia al presentar un pico ante su presencia.

    Este hecho hace dramticamente importante la diferencia entre la FFT (Fast Fourier Transform) y el

    algoritmo Goertzel.

    Figura 7. Tonos detectados por el algoritmo Goertzielmio

    En la figura 7 permite apreciar los tonos detectados por el algoritmo goertzelmio. En la

    grfica se representan los picos solo alrededor de los 700 Hz y 1200 Hz. Si se realiza un

    zoom de detalle sobres estos puntos, se pueden ver con mejor exactitud la lectura de las

    frecuencias buscadas. En este ejemplo se ejecutan los algoritmos goertzelmio.m y goertzel.m.

    Como ya se ha mencionado, el primero corresponde a la implementacin de los autores de

    este artculo y el segundo es propietario del signal processing toolbox de Matlab.

  • 16

    Figura 8.Cdigo Goertzel en Matlab

    En la figura 8 se muestra el cdigo en Matlab.

  • 17

    Como estudio de caso, se realiz un comparativo del tiempo de ejecucin entre el algoritmo

    Goertzelmio y Goertzel de Matlab 7.6, el cual retorn los valores representados en la tabla 1.

    Tabla 1. Comparacin en tiempo de los algoritmos de Goertzel.

    Algoritmo de aplicacin de Transformada Rapida de Fourier

    Anlisis espectral bsico

    La FFT les permitir estimar eficientemente las componentes de frecuencia en la data a

    partir de un conjunto discreto de valores muestreados a una tasa fija. Las cantidades

    relevantes en un anlisis espectral estn listadas en la siguiente tabla. Para datos

    basados en el espacio, remplace las referencias al tiempo con referencias al espacio.

    Cantidad Descripcin

    x Datos muestreados

    m = length(x) Longitud de la ventana (nmero de muestras)

    fs Muestras/unidad de tiempo

    dt = 1/fs Incremento de tiempo por muestra

    t = (0:m-1)/fs Rango del intervalo de tiempo para la data

    y = fft(x,n) Transformada de Fourier Discreta (DFT)

    abs(y) Amplitud de la DFT

    (abs(y).^2)/n Potencia de la DFT

    fs/n Incremento de frecuencia (resolucin)

    f = (0:n-1)*(fs/n) Rango del intervalo de frecuencia

    fs/2 Frecuencia de Nyquist

  • 18

    Por ejemplo, considere la siguiente data de x con dos componentes de frecuencia de

    diferentes amplitudes y fases contaminados con ruido:

    fs = 100; % Frecuencia de muestreo (Hz)

    t = 0:1/fs:10-1/fs; % 10 segundos de muestra

    x = (1.3)*sin(2*pi*15*t) ... % Componente de 15 Hz

    + (1.7)*sin(2*pi*40*(t-2)) ... % Componente de 40 Hz

    + (2.5)*randn(size(t)); % Ruido Gaussiano;

    Usemos la fft para calcular la DFT y la potencia de y:

    m = length(x); % Longitud de la ventana

    n = pow2(nextpow2(m)); % Longitud de la transformada

    y = fft(x,n); % DFT

    f = (0:n-1)*(fs/n); % Rango de frecuencia

    power = y.*conj(y)/n; % Potencia de la DFT

    nextpow2 halla el exponente de la potencia de 2 ms cercana mayor o igual a la longitud de

    la ventana (ceil(log2(m))), y pow2 calcula la potencia. Usando una potencia de dos para la

    longitud de la transformada optimiza el algoritmo de la FFT, aunque en la prctica exista

    usualmente una pequea diferencia en el tiempo de ejecucin al usar n = m.

    Para visualizar la DFT, las grficas de abs(y), abs(y).^2, y log(abs(y))son todas comunes.

    Una grafica de la potencia versus frecuencia es denominada un periodograma:

    plot(f,power)

    xlabel('Frequency (Hz)')

    ylabel('Power')

    title('{\bf Periodogram}')

  • 19

    La primera mitad del rango e frecuencia (de 0 a la frecuencia de Nyquist fs/2) es suficiente

    para identificar las componentes de frecuencia en la data, desde que la segunda mitad es justo

    un reflejo de la primera mitad.

    En muchas aplicaciones es tradicional centrar el periodograma en 0. La funcin fftshift re

    arregla la salida de la fft con un desplazamiento circular para producir un periodograma

    centrado en cero:

    y0 = fftshift(y); % Re arregla los valores de y

    f0 = (-n/2:n/2-1)*(fs/n); % Rango de frecuencia centrado en 0

    power0 = y0.*conj(y0)/n; % Potencia centrado en 0

    plot(f0,power0)

    xlabel('Frequency (Hz)')

    ylabel('Power')

    title('{\bf 0-Centered Periodogram}')

  • 20

    El re arreglo hace uso de la periodicidad en la definicin de la DFT (Ver Discrete Fourier

    Transform (DFT)).

    Use las funciones de MATLAB angle y unwrap para crear una grfica de la fase de la DFT:

    phase = unwrap(angle(y0));

    plot(f0,phase*180/pi)

    xlabel('Frequency (Hz)')

    ylabel('Phase (Degrees)')

    grid on

  • 21

    Las componentes de frecuencias son en su mayora ocultos por la aleatoriedad en la fase en

    valores adyacentes. La tendencia al alza en la grfica se debe a la funcin desenvolver, que

    en este caso suma a la fase 2 con ms frecuencia de lo que resta.

    Interpolacin de datos

    Este ejemplo demuestra la FFT en un contexto diferente al del anlisis espectral la

    estimacin de los coeficientes de un polinomio trigonomtrico que interpola un conjunto de

    datos espaciados regularmente. Esta aproximacin de interpolacin de datos es descrito en .

    Varias personas descubrieron algoritmos rpidos DFT de forma independiente, y muchas

    personas han contribuido a su desarrollo. Un documento de 1965 por John Tukey y John

    Cooley es generalmente reconocido como el punto de partida para el uso moderno de la FFT.

    Sin embargo, un trabajo de Gauss publicado pstumamente en 1866 (y fechado en 1805)

    contiene el uso indiscutible de la tcnica de separacin que forma la base de los modernos

    algoritmos FFT.

    Gauss se interes en el problema de calcular con exactitud las rbitas de los asteroides a partir

    de observaciones de sus posiciones. Su artculo contiene 12 puntos de datos sobre la posicin

    del asteroide Pallas, a travs del cual desea interpolar un polinomio trigonomtrico con 12

    coeficientes. En lugar de resolver el sistema resultante de 12 por 12 de ecuaciones lineales a

    mano, Gauss busc un atajo. Descubri cmo separar las ecuaciones en tres subproblemas

    que eran mucho ms fciles de resolver, y luego cmo se recombinan las soluciones para

    obtener el resultado deseado. La solucin es equivalente a la estimacin de la DFT de los

    datos con un algoritmo FFT.

  • 22

    Aqu est la data que apareci en el artculo de Gauss:

    asc = 0:30:330;

    dec = [408 89 -66 10 338 807 1238 1511 1583 1462 1183 804];

    plot(asc,dec,'ro','Linewidth',2)

    xlim([0 360])

    xlabel('Ascension (Degrees)')

    ylabel('Declination (Minutes)')

    title('{\bf Position of the Asteroid Pallas}')

    grid on

    Gauss deseaba interpolar un polinomio trigonomtrico de la forma:

    El siguiente cdigo usa la fft para realizar un equivalente clculo de Gauss:

    d = fft(dec);

    m = length(dec);

    M = floor((m+1)/2);

    a0 = d(1)/m;

    an = 2*real(d(2:M))/m;

  • 23

    a6 = d(M+1)/m;

    bn = -2*imag(d(2:M))/m;

    Graficando lo interpolado con la data:

    hold on

    x = 0:0.01:360;

    n = 1:length(an);

    y = a0 + an*cos(2*pi*n'*x/360) ...

    + bn*sin(2*pi*n'*x/360) ...

    + a6*cos(2*pi*6*x/360);

    plot(x,y,'Linewidth',2)

    legend('Data','DFT Interpolant','Location','NW')

    Conclusiones En esta investigacin se analiz el algoritmo de Goertzel de la transformada de Fourier para

    optimizar la limitacin en tiempo mejorando el tiempo de clculo de la DFT basados en el

    manejo de tonos DMFT, as mismo se analizaron 2 diferentes casos de la aplicacin dela

    transformada rpida de Fourier para ver el comportamiento que presentaba para realizar

    transformadas discretas de Fourier de una manera ms eficiente en menos paso que a fin de

    cuentas es lo que busca esta transformada dando como resultado el aprendizaje de como a

    partir de muestreos se pueden obtener cada una de las transformadas requeridas.

  • 24

    Bibliografa