FFT

Página  1 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT   INTRODUCCION  El estudio de las señales cotidianas en el dominio de la frecuencia nos proporciona un conocimiento de  las  características  frecuenciales  de  éstas.

  Por  ejemplo  nos  es  muy  útil  el  conocer  la  respuesta  en  frecuencias de un canal de telecomunicaciones, para poder determinar la máxima frecuencia que puede  transmitir sin provocar distorsiones de la señal de modo que ésta sea recibida y reconstruida con total  garantía.   Otro  ejemplo  puede  ser  el  análisis  de  la  voz.  Transformando  la  señal  de  voz  en  sus  componentes  frecuenciales  podemos  distinguir  las  diferencias  entre  las  voces  de  distintas  personas  y  determinar  las  palabras  que  está  diciendo.  Esto  es  muy  útil  para  reconocimiento  e  identificación  de  voz,  dos  aplicaciones que están haciéndose muy familiares, al tiempo que aumenta la velocidad de los DSP.  También podemos mencionar a los Analizadores de Espectro que realizan transformación de señales en  el  dominio  del  tiempo  al  dominio  de  la  frecuencia.  Este  tipo  de  instrumentos  se  han  hecho  muy  populares  en  los  laboratorios  electrónicos.  Se  utilizan  para  examinar  la  señal  de  salida  de  sensores  conectados a estructuras que soportan esfuerzos mecánicos, como puentes o rascacielos en los cuales  un cambio significativo de la respuesta en frecuencia puede suponer un exceso de carga en alguna parte  de la estructura que puede provocar el colapso a futuro.  FFT  es  la  abreviatura  usual  (del  inglés  Fast  Fourier  Transform)  de  un  eficiente  algoritmo  que  permite  calcular  la  transformada  de  Fourier  discreta  (DFT)  y  su  inversa.  La  FFT  es  de  gran  importancia  en  una  amplia  variedad  de  aplicaciones  digitales,  desde  el  tratamiento  digital  de  señales  y  filtrado  digital  en  general, a la resolución de ecuaciones diferenciales parciales o los algoritmos de multiplicación rápida de  grandes enteros.  El presente texto tiene como objetivo presentar cómo se transforman las señales del dominio del tiempo  al dominio de la frecuencia y viceversa desde un punto de vista introductorio. El resto del trabajo estará  destinado a la manera de implementar la FFT  en un DSP.      SERIE DE FOURIER Y TRANSFORMADA DE FOURIER  Mientras  que  una  función  en  el  dominio  temporal  indica  cómo  la  amplitud  de  la  señal  cambia  en  el  tiempo, su representación en el dominio de la frecuencia permite conocer cuan a menudo esos cambios  tienen  lugar.  Básicamente,  el  pasaje  del  dominio  del  tiempo  al  dominio  de  la  frecuencia  se  puede  visualizar  considerando  que  la  señal  en  estudio  está  compuesta  por  la  suma  de  ondas  sinusoidales  simples de amplitud y fase adecuadas o de exponenciales complejas relacionadas armónicamente.    
FCEFyN   Universidad Nacional de Cordoba

 

Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT 

 En la Tabla 1.Página  2 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT La representación de estas amplitudes y fases en función de la frecuencia es lo que se llama espectro de  la  señal  y  lo  representamos  con  X(ω)  para  señales  a  tiempo  continuo  y  X(Ω)  para  señales  a  tiempo  discreto.   Tabla 1: Serie de Fourier  y Transformada de Fourier  TIEMPO CONTINUO    Dominio del tiempo  +∞   FCEFyN   Universidad Nacional de Cordoba Dominio de la frecuencia  Serie de Fourier  x (t ) = k = −∞ ∑ a k ⋅ e j ⋅ k ⋅ω o ⋅ t   ak = 1 To To ∫ x (t ) ⋅ e − j ⋅ k ⋅ω o ⋅t dt   ⎛ 2π ⎞ ⎟ ⎜ To = ⎜ ωo ⎟ ⎠  ⎝ Transformada de Fourier  Tiempo continuo  Periódica en tiempo  Frecuencia discreta  Aperiódica en frecuencia  x(t ) = 1 2π +∞ −∞ j ⋅ω ⋅t ∫ X (ω ) ⋅ e ⋅ dω X (ω ) =   +∞ −∞ ∫ x(t ) ⋅ e − j ⋅ω ⋅t ⋅ dt     Tiempo continuo Aperiódica en tiempo  Frecuencia continua Aperiódica en frecuencia  TIEMPO DISCRETO    Dominio del tiempo  Dominio de la frecuencia  Serie de Fourier  x[n] = k= N ∑a k ⋅ e j⋅k (2π / N )⋅n   ak = 1 N n =< N > ∑ x[n]⋅ e − j . y de la Transformada de Fourier para las  señales de energía finita.n ⋅ dΩ ∫ X (Ω ) ⋅ e 2π 2π Tiempo discreto  Aperiódico en tiempo  X (Ω ) =   n = −∞ ∑ x[n]⋅ e +∞ − j . K ( 2π N ).n     Frecuencia continua  Periódico en frecuencia      Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  . se muestran las ecuaciones de síntesis y análisis correspondientes  a las series de Fourier y las transformadas de Fourier.n   ⎛ 2π ⎜N = ⎜ Ωo ⎝ ⎞ ⎟ ⎟ ⎠  Tiempo discreto  Periódico en tiempo  Frecuencia discreta  Periódico en frecuencia  Transformada de Fourier  x[n] = 1 j.  La  herramienta  matemática  que  permite  el  pasaje  del  dominio  temporal  al  dominio  de  la  frecuencia es la Serie de Fourier para las señales periódicas.Ω.Ω.

 t.  El  análisis  anterior  se  puede  extender  a  sistemas  de  tiempo discreto. De este modo podemos describir cualquier señal periódica compleja en forma de una suma de  muchos  fasores  (senos  o  cosenos).  y  como  estas  están  relacionadas  a  través  de  las  exponenciales  complejas  armónicamente  relacionadas.  en  las  cuales  asumimos  que  el  conjunto  de  fasores  tienen  frecuencias  múltiplos  de  alguna frecuencia fundamental.  Un  método  de  describir  una  señal  de  esta  forma.  De  la  misma  manera  si  contamos  con  una  señal  producto  de  la  combinación  lineal  de  señales seno y coseno. así para el caso en que la señal es periódica:    x[n] = k= N ∑a k ⋅ e j⋅k (2π / N )⋅n                                                                        (2)  Es interesante advertir que cuando existe un incremento de la fase para el k‐ésimo armónico está dado  por:  kω0Ts = k ( 2π / N ) siendo Ω = 2π N                                                                                 (3)    Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  .  es  las  llamadas  series  de  Fourier. por ejemplo  un tren de pulsos rectangulares el cual consiste en la suma de un número infinito de senos de distinta  amplitud.Ts. Este concepto puede trasladarse al resto de las funciones periódicas. de una sola  frecuencia.Página  3 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Series de  Fourier  Es de amplio conocimiento de las propiedades que presentan las funciones seno o coseno. con otra que varíe en  saltos de ω0. Lo único que necesitamos es reemplazar la función continua.     Series de Fourier Discretas  Necesitamos  traducir  estas  ecuaciones  de  tiempo  continuo  al  dominio  discreto  o  digital  para  poder  derivar  algunas  fórmulas  útiles  para  los  DSP’s. f0 (o frecuencia angular ω0):      FCEFyN   Universidad Nacional de Cordoba x (t ) = sien d o e j ⋅ k ⋅ω o ⋅ t k = −∞ ∑ +∞ a k ⋅ e j ⋅ k ⋅ω o ⋅ t                                        (1)  = co s( k ⋅ ω o ⋅ t ) + j sin ( k ⋅ ω o ⋅ t ) Los componentes frecuenciales individuales son conocidos como armónicos.

 La ecuación inversa que define X(ω).     La Transformada de Fourier  En aplicaciones reales la mayor parte de las señales no son periódicas y debemos transformar nuestras  series  de  Fourier  para  poder  analizarlas.        Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  .  ahora  tenemos  una  ecuación  que  nos  permite  calcular  la  respuesta  en  amplitud  de  una  señal continua en el dominio de la frecuencia usando su respuesta en el dominio del tiempo. pero desafortunadamente no es posible implementarlas directamente en un DSP. X(ω).Página  4 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT en  donde  Ω  es  la  frecuencia  discreta    con  N  como  el  periodo  fundamental. viene dada por :  X (ω ) = +∞ −∞ ∫ x(t ) ⋅ e − j ⋅ω ⋅t ⋅ dt (7)  Por  lo  tanto. Estas dos  ecuaciones  se  denominan  el  par  de  Transformadas  de  Fourier. esto es  N coeficientes distintos. Esto significa que la respuesta en frecuencia de una señal discreta es periódica.    Recordar  que  la  relación  2π/Ω es un número racional y que la tasa de oscilación es Ω + 2π.  las  cuales  son  muy  útiles  para  los  matemáticos. es decir:    FCEFyN   Universidad Nacional de Cordoba ωk = kω0                                                                                      (4)  El hecho de que la señal no es periódica se puede representar por:  ω0 → 0                                                                                       (5)  Esta simple ecuación expresa que no hay mínimo común denominador entre las frecuencias de todos lo  fasores. es decir. por lo que se tienen ak = ak+rN.  Consideremos  la  serie  de  Fourier  general  en  la  cual  todas  las  frecuencias son múltiplos de la fundamental. Por ello  debemos deducir la forma discreta de estas ecuaciones.  Cuando  el  número  de  fasores  tiende  a  infinito  nuestro  sumatoria  se  convierte  en  la  siguiente  integral:  1 x(t ) = 2π   +∞ −∞ ∫ X (ω ) ⋅ e j ⋅ω ⋅t ⋅ dω (6)  En  la  anterior  ecuación  asumimos  que  la  amplitud  de  la  señal  se  puede  definir  como  función  de  la  frecuencia ω.

Ω.Ts así la integral se convierte en:    FCEFyN   Universidad Nacional de Cordoba x[n] = La transformada inversa es:  1 j.... por lo  que  es  necesario  reformular  las  ecuaciones  (8)  y  (9)  de  manera  de  contar  con  una  representación  discreta tanto en el dominio del tiempo como en dominio de la frecuencia.Página  5 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT LA TRANSFORMADA DISCRETA DE  FOURIER (DFT)  Para  poder  encontrar  el  equivalente  discreto  de  la  transformada  de  Fourier  debemos  transformar  la  variable continua t por la variable discreta nTs. Estas dos  ecuaciones forman la transformada de Fourier a tiempo discreto. el espectro siempre tiene simetría  par  a  lo  largo  del  eje  real.   La continuidad y periodicidad de la transformada hace imposible su implementación en un DSP.  la  cantidad  de  información  que  necesitamos  recordar sobre el espectro en frecuencias es menor.  y  simetría  impar  en  el  eje  imaginario. n                                                                    (9)  Hay  que  advertir  que  la  segunda  ecuación  aún  usa  un  sumatoria  en  lugar  de  una  integral. es periódica.1.n ⋅ dΩ                                                          (8)  ∫ X (Ω ) ⋅ e 2π 2π X (Ω ) = n = −∞ ∑ x[n]⋅ e +∞ − j .  Por  conveniencia..  haremos  que  la  variable de integración sea ω.. N − 1                                              (10)  − nk 1 x[n] = N ∑ X (k ) W k =0 N −1 n = 0.  Podríamos  haber esperado esto porque sabemos que x[n] sólo es válido en los instantes de tiempo nTs.Ω.  notaremos una similitud entre los coeficientes ak de la serie discreta de Fourier (ver Tabla 1). ya que es repetitivo. El espectro que obtenemos al usar esta  transformada tiene algunas propiedades interesantes.   Si acotamos la sumatoria a N elementos. el espectro se repite. por lo  tanto  podríamos  cambiar  los  límites  de  este  valor.  sin  embargo. como los fasores aparecen en forma de complejos conjugados. N − 1   Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  . Se define  entonces  a  la  transformada  de  Fourier  discreta  (por  su  sigla  en  ingles  DFT  por  Discrete  Fourier  Transform) de la siguiente manera:    X (k ) = ∑ x[n]W nk n =0 N −1 k = 0. Fuera de los límites ±π/Ts. También para una señal  real.1..  Esto  simplemente  significa  que  si  nosotros  sabemos  que  trabajamos  con  una  señal  real. por ejemplo. de la respuesta en frecuencia obtenida de la transformada de  Fourier  a  tiempo  discreto  y  teniendo  en  cuenta  las  propiedades  de  periodicidad  de  la  transformada...

. El ejemplo mostrado en  dicha figura es para N = 8. fundamentalmente..   El cálculo directo de la DFT no es eficiente debido.Página  6 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Donde las constantes W son conocidas como factores twiddle y definidas como:      FCEFyN   Universidad Nacional de Cordoba W = e− j 2π / N                                                                                (11)  Observar  que  W  es  una  función  de  longitud  N.1.    Notar  además que:   ⎛ 2π W n = cos ⎜ ⎝ N   ⎞ ⎛ 2π n ⎟ − j sin ⎜ ⎠ ⎝ N ⎞ n ⎟                                                             (12)  ⎠ Con lo anterior... Además existen propiedades de periodicidad y  simetría en estos factores de forma tal que:     W k+N = W k W k+ N 2                                                                                (14)  = −W k La simetría y periodicidad de los factores W quedan de manifiesto en la Figura 1. Es claro que ésta cantidad de operaciones es alta y requiere  de un enorme poder de cálculo. a que no explota las propiedades  de simetría y periodicidad del factor de fase WN..  por  ello.  De  (13)  se  puede  calcular  el  número  de  operaciones  necesarias  para  realizar  la  transformación  de  los  datos  mediante este algoritmo.   De la observación de (13) es claro que no es necesario realizar las N2 multiplicaciones ya que los valores  de los factores W0 = 1 no son necesarios de multiplicar. + x[ N − 1]W k ( N −1) .     Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  .  también  suele  expresarse  como  WN. N − 1                (13)    Desarrollando  (13)  para  los  N  valores  posibles  de  k  se  obtiene  una  matriz  de  tamaño  NxN. el cálculo de un punto de la transformada discreta de Fourier está dada por:    X (k ) = x[0]W 0 + x[1]W k + x[2]W 2 k + .. El número de sumas complejas que se deben realizar es de (N‐1)N y la cantidad  de multiplicaciones complejas asciende a N2. k = 0.

     Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  . cortas y simples. Por ejemplo.  que  entrega  los  mismos  resultados  y  con  un  número  menor  de  operaciones.    TRANSFORMADA RÁPIDA DE FOURIER (FFT)  Y EL ALGORITMO FFT BASE 2   El  término  genérico  “transformada  rápida  de  Fourier”  abarca  distintos  algoritmos  con  distintas  características.   No es ni mejor ni peor. todas  las  FFT’s  usan  la  misma  aproximación  para  reducir  el  algoritmo  en  un  número  reducido  de  DFT’s  sucesivas.    FCEFyN   Universidad Nacional de Cordoba   Figura 1: Periodicidad y simetría de los factores W    A partir de la DFT y las consideraciones anteriores es posible llegar a un método de cálculo mucho más  eficiente. Sin embargo se logra una eficiencia debido a los números  de operaciones  menores que utiliza la FFT para ser resuelta. una FFT diseñada y optimizada usando un lenguaje  de alto nivel probablemente no funcionará correctamente en un DSP de coma fija.  por  lo  que  DFT’s  de  N  puntos  entregan  N  componentes  espectrales equiespaciadas cada 2π/ N. ventajas y desventajas. Sin embargo.   Las limitaciones de la FFT surgen de las que tiene la DFT.  Es  el  llamado  algoritmo de Transformada Rápida de Fourier (FFT por sus siglas en ingles de Fast Fourier Transform). Hay que tener en cuenta que:   La FFT es un algoritmo (no una aproximación) a iguales intervalos de espaciamiento. donde 2π representa la frecuencia de muestreo fs.Página  7 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Note  además  que  la  DFT  es  obtenida  al  multiplicar  los  datos  de  entrada  por  una  cantidad  finita  de  funciones  sinusoidales  de  frecuencia  2πn/N.

... N − 1 donde F1(k) y F2(k) son las DFTs de N/2 puntos de las secuencias de la expresión (15).. Al final de la descomposición  se obtienen  N/2 DFT´s de 2 puntos cada una..    La  DFT  de  N  puntos  puede  expresarse ahora en términos de las DFTs de las secuencias diezmadas como sigue:    X (k ) = ∑ x[n]WNnk n =0 N −1 k = 0.. esto es:       FCEFyN   Universidad Nacional de Cordoba f1[n] = x[2n] f 2 [n] = x[2n + 1] .Página  8 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  El algoritmo de FFT a presentar en este trabajo.     Algoritmo FFF en Base 2 y Diezmado en el tiempo..1. N − 1 2 mk N = ( N / 2) −1 m=0 ∑ x[2m]W + ( N / 2) −1 m=0 ∑                                         (16)  x[2m + 1]W k (2 m +1) N 2 Pero  WN = WN / 2 . N debe ser una potencia de 2 y la transformada más pequeña es  la DFT de 2 puntos.. correspondientes a las muestras pares e impares de x[n]. respectivamente.    Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  ..1. Para implementar la FFT existen dos procedimientos: diezmado en el tiempo (DIT del  inglés Decimation In Time) y diezmado en frecuencia (DIF del inglés Decimation In Frequency). Para una FFT de base 2.  Consideremos el cálculo de la DFT de N = 2v a partir de dividir la secuencia de datos de N puntos.  una  vez. Cada DFT de N/2 puntos  se descompone a su vez en dos DFT’s de N/4 puntos y así sucesivamente. Una DFT de N puntos es descompuesta en dos DFT’s de N/2 puntos.. n = 0.  que  se  realizó  el  diezmado  de  la  secuencia  x[n].. La transformada más pequeña viene determinada por la  base de la FFT. Sustituyendo esta igualdad en la expresión (16) se obtiene:    X (k ) = ( N / 2) −1 m=0 ∑ f1 (m) WNkm2 + WNk / ( N / 2) −1 m=0 ∑ f 2 (m) WNkm2 /                                      (17)  = F1 (k ) + WNk F2 (k ) . en dos  secuencias de N/2.1.                                                   (15)  N −1 2 Obsérvese.. descompone la DFT de N puntos en transformadas más  pequeñas. k = 0.

..Página  9 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT Puesto  que  F1(k)  y  F2(k)  son  periódicas. Se observa que el calculo directo de F1(k) requiere (N/2)2 multiplicaciones complejas al igual que F2(k).  k Además. n = 0.  podemos  repetir  el  proceso  para  cada  una  de  las  secuencias de la expresión (15). − 1 v21[n] = f 2 [2n] 4 N v22 [n] = f 2 [2n + 1] .. − 1 4 v11[n] = f1[2n] .  se  cumple  que  WN + N / 2 = −WN .   Calculando  las  DFTs  de  N/4  puntos  se  obtienen  las  DFTs  de  N/2  puntos  F1(k)  y  F2(k)  a  partir  de  las  siguientes relaciones:    Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  .1. n = 0. De aquí que el calculo de X(k)  requiere N2 /2 + N/2 multiplicaciones complejas... − 1 2 ..... se obtendrá dos secuencias de N/4 puntos:     N −1 4 N v12 [n] = f1[2n + 1] .1.. n = 0.1.  Por  lo  que  se  puede  rescribir  la  expresión  (17)  de  la    FCEFyN   Universidad Nacional de Cordoba siguiente manera:    k X (k ) = F1 (k ) + WN F2 (k ) X (k +   N ) = F1 (k ) − WNk F2 (k ) 2 N −1 2                                            (18)   N . k = 0.. k = 0...... lo que equivale aproximadamente a dividir por dos el número  de multiplicaciones cuando N es grande...   k k Por  otro  lado. se requieren N/2 multiplicaciones más para calcular  WN F2 (k ) .. El primer paso realizado de una reducción en el número  de multiplicaciones de N2 a  N2 /2 + N/2.  tenemos      F1(k+N/2)=  F1(k)  y  F2(k+N/2)=  F2(k).1.1..  Habiendo  realizado  el  diezmado  en  tiempo  una  vez.. Por lo tanto.. n = 0.  de  periodo  N/2.1... − 1 4                                                       (19)  N .

k = 0.1.     Tabla 2: Comparación entre la cantidad de multiplicaciones complejas a realizar por parte de la DFT y el  algoritmo FFT de base 2 (Proakis y Manolakis... 2003). k = 0..0  5.1. N   16  64  256  1024  4096  16384  65536  262144  1048576  Multiplicaciones Complejas en  el algoritmo FFT.  Números de  Puntos.3  8.  ( N / 2) log 2 N   4 12 32 80 192 448 1024 2304 5120 Factor de mejora de la  velocidad  4.. − 1 4                               (20)  N ...0  12.   El  diezmado  de  la  secuencia  de  datos  se  repite  v  = log2  N  veces.  Se  requieren  N/2  multiplicaciones  complejas  más  para  calcular  X(k)  a  partir  de  F1(k)  y  F2(k).3  36. donde Vij(k) son las DFTs de N/4 puntos de las secuencias vij[n].8  21... − 1 4 .  Consecuentemente.1..8    Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  .0  113.  Se observa que el calculo de Vij(k) requiere 4(N/4)2 multiplicaciones y por lo tanto el calculo de F1(k) y  F2(k)  puede  realizarse  con  N2/4  +  N/2  multiplicaciones  complejas.. mientras que el número  de  sumas  complejas  es  N log 2 N ...1....6  64.  Por  lo  tanto el número total de multiplicaciones complejas se reduce a  ( N / 2) log 2 N .Página  10 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT   FCEFyN   Universidad Nacional de Cordoba F1 (k ) = V11 (k ) + WNk / 2 V12 (k ) F1 (k + N ) = V11 (k ) − WNk / 2 V12 (k ) 4 F2 (k ) = V21 (k ) + WNk / 2 V22 (k ) F2 (k + N k ) = V21 (k ) − WN / 2 V22 (k ) 4 N −1 4 N . − 1 4 N .  el  número  total  de  multiplicaciones necesarias N2/4 + N/2 se reduce otra vez aproximadamente por un factor de dos.8  204. N  4  8  16  32  64  128  256  512  1024  Multiplicaciones  Complejas en calculo  2 directo. En la Figuras 2 y 3 se representan  esquemáticamente el desarrollo del algoritmo de la FFT en base 2. k = 0.  ya  que  se  tienen  N  =  2v  datos.  En  la  Tabla  2  se  muestra  la  comparación  entre  el  número  de  multiplicaciones complejas usando la FFT y el cálculo directo de la DFT. k = 0..

    Como  puede  observarse. Para N puntos.  En  general  cada  mariposa implica una multiplicación y dos sumas complejas.  el  cual  consiste  en  aplicar  las  operaciones  de  una  transformada  DFT  de  dos  puntos  o  “mariposa”    (ver  Figura  4).  el  calculo  que  se  realiza  en  cada  etapa. 2003).    Figura 3: Algoritmo para la FFT de diezmado en tiempo de 8 puntos (Oppenheim et al. tenemos N/2 mariposas por    Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  . 1999).Página  11 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT   FCEFyN   Universidad Nacional de Cordoba   Figura 2: Tres etapas en el calculo de la FFT de 8 puntos (Proakis y Manolakis.

  esta  se  puede  entender  como  un  reacomodamiento  antes  de  proceder con el algoritmo de la FFT. cambian de tal  manera.  en  las  mismas  posiciones  de  sus  operandos  (a.  necesitamos  una cantidad fija de memoria. esto es (v‐1) = log2 N veces. Por lo tanto podemos guardar el resultado de cada  operación  de  la  mariposa  (A.    Notar que al realizar el diezmado.    Con  respecto  a  la  tarea  de  diezmado. que si asumimos la generación de dicho numero a través de un numero binario tal como se lo    Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  . en concreto 2N registros de almacenamiento  para guardar  los resultados de N  números complejos.  b). 1999). 1999).  B).Página  12 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT cada etapa del proceso y  log 2 N etapas de mariposas. las posiciones de la secuencia de datos x[n].    FCEFyN   Universidad Nacional de Cordoba     Figura 4: Mariposa básica del algoritmo para la FFT de diezmado en el tiempo (Oppenheim et al. o sea n.    Figura 5: Secuencia de diezmado para N = 16 (Smith.  En  consecuencia. Por ejemplo si N = 16  la tarea de diezmar queda graficada a través  de la Figura 5.

 obtenemos dos secuencias. la expresión (21) puede rescribirse como:   ( N / 2) −1 X (k ) =   ∑ n =0 N ⎤ kn ⎡ k ⎢ x[n] + (−1) x[n + 2 ]⎥ WN                                             (22)  ⎣ ⎦ Realizamos el primer diezmado X(k) (diezmado en frecuencia). se almacena en orden  binario invertido.    FCEFyN   Universidad Nacional de Cordoba   Figura 6: Mezclado de los datos e inversión binaria (Smith. 1999). par e impar  respectivamente de la transformada.    Algoritmo FFF en Base 2 y Diezmado en frecuencia.  Para  deducir  el  algoritmo  empezamos  dividiendo  la  formula  de  la  DFT  en  dos  sumatorias. esto es:    Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  . De esta  manera se obtiene:  X (k ) = = ( N / 2) −1 ∑ n =0 x[n]WNkn + kn N n= N / 2 ∑ N −1 kn x[n]WN ( N / 2) −1 ( N / 2) −1 ∑ n =0 x[n]W + W N k/2 N ∑ n =0 N x[n + ]WNkn 2                                             (21)  kN Dado que  WN / 2 = (−1) k . se dice que luego del diezmado la secuencia de datos x[n].  una  de  las  cuales contiene los primeros N/2  puntos de datos y el otro los últimos N/2  puntos de datos.Página  13 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT ilustra en la Figura 6.

Página  14 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT   FCEFyN   Universidad Nacional de Cordoba N ⎤ kn ⎡ ⎢ x[n] + x[n + 2 ]⎥ WN / 2 ⎦ n =0 ⎣ ( N / 2) −1 N ⎤ n⎫ ⎧⎡ X (2k + 1) = ∑ ⎨ ⎢ x[n] − x[n + ]⎥ WN ⎬WNkn 2 / 2 ⎦ n =0 ⎩ ⎣ ⎭ X (2k ) = ( N / 2) −1 ∑ . 1999).      Figura 7: Mariposa básica del algoritmo FFT de diezmado en frecuencia (Oppenheim et al.1.   Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT    .    Este procedimiento computacional puede repetirse diezmando las DFTs de N/2 puntos. el calculo de la DFT de N puntos por medio de la DFT a través del algoritmo FFT de  diezmado en frecuencia requiere  ( N / 2) log 2 N  multiplicaciones complejas y  N log 2 N  sumas complejas. − 1 2 ⎦ 2 ⎣ g1[ n] = x[n] + x[n + puede rescribirse la expresión (23) de la siguiente manera:  X (2k ) = X (2k + 1) = ( N / 2) −1 ∑ n =0 g1[n] WNkn 2 /                                                        (25)  ( N / 2) −1 ∑ n =0 g 2 [ n] W kn N /2 El  calculo  de  las  secuencias  g1  [n]  y  g2  [n]  según  la  expresión  (24)  y  el  uso  de  estas  secuencias  para  el  cálculo de las DFTs de N/2 puntos se muestra en la  Figura 7.. − 1 2                       (23)  2 en donde se utilizó la propiedad  de simetría  WN = WN / 2 . k = 0.. n = 0.1.. donde cada etapa implica N/2 mariposas.. k = 0. N −1 2 N .  Definiendo las secuencias de N/2 puntos g1 [n] y g2 [n] como:  N ] 2                                         (24)  N ⎤ n N ⎡ g 2 [n] = ⎢ x[ n] − x[n + ]⎥ WN .  El proceso completo conlleva v = log2 N etapas de diezmado. X(2k) y X(2k+1).  Consecuentemente......1....

 1999).    Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  . se grafica como es la entrada de la secuencia de datos x[n] y en la Figura 9 se muestra el  algoritmo de diezmado en frecuencia completo de ocho puntos. 1999).      Figura 9: Algoritmo para la FFT de diezmado en frecuencia para N= 8 (Oppenheim et al.Página  15 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT En la Figura 8.      FCEFyN   Universidad Nacional de Cordoba   Figura 8: Primera etapa del algoritmo para la FFT de diezmado en frecuencia (Oppenheim et al.

 Discrete‐Time Signal Processing. 2nd Ed. and Buck. Inc. A. J. 1990. J. New Jersey.. R.  J. 1996.    Proakis..  W. Schafer.  Madrid..  Orfanidis.  California  Technical  Publishing.       FCEFyN   Universidad Nacional de Cordoba   Procesamiento Digital de Señales – FCEFyN – UNC     TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT  .  Prentice  Hall. 16‐Bit Digital Signal Controllers.  1999. 1999. 3.   Higgins.  D. Second Edition. R. Prentice‐Hall.  y  Manolakis.  Tratamiento  Digital  de  Señales. S.  2003.  Tercera  Edición.Inc.  The  Scientist  and  Engineer's  Guide  to  Digital  Signal  Processing.  S.   Smith.   Oppenheim.. R. V.  G. W.  G.Página  16 de  16          TRANSFORMADA DE FOURIER Y EL ALGORITMO FFT BIBIOGRAFIA  DSP56800 Family Manual.. Digital Signal Processing In Vlsi.1 11/2005. Freescale. DSP56800FM Rev. Introduction to Signal Processing. Prentice may. Prentice‐ Hall Signal Processing Series.. J.

Sign up to vote on this title
UsefulNot useful