Está en la página 1de 23

Definiciones

Transformada rápida de Fourier

Algoritmo de la transformada rápida de Fourier


Lección 07.2

Dr. Pablo Alvarado Moya

CE5201 Procesamiento y Análisis de Imágenes Digitales


Área de Ingenierı́a en Computadores
Tecnológico de Costa Rica

I Semestre, 2017

P. Alvarado — TEC — 2017 Dominio de la frecuencia 1 / 21


Definiciones
Transformada rápida de Fourier

Contenido

1 Definiciones
DFT directa e inversa
Cambio a notación con WN

2 Transformada rápida de Fourier


Diezmado en el tiempo
Diezmado en la frecuencia

P. Alvarado — TEC — 2017 Dominio de la frecuencia 2 / 21


Definiciones
Transformada rápida de Fourier

Historia

FFT: Algoritmo para cálculo eficiente de la DFT


Propuesto por Gauss (1805) y redescubierto varias veces
Último redescubrimiento en 1965 por
James Cooley (IBM, Watson Research Center)
John Tukey (Priceton U., AT&T Bell Labs)
Gilbert Strang (MIT): “el algoritmo numérico más importante
de nuestras vidas”
IEEE: uno de los top 10 algoritmos del Siglo XX

P. Alvarado — TEC — 2017 Dominio de la frecuencia 3 / 21


Definiciones DFT directa e inversa
Transformada rápida de Fourier Cambio a notación con WN

Transformada Discreta de Fourier


La transformada discreta de Fourier DFT:
N−1
X
X (k) = x(n)e −j2πkn/N , k = 0, 1, . . . , N − 1
n=0

Para cada uno de los N posibles k:


N productos complejos, N − 1 sumas complejas
4N productos reales, 4N − 2 sumas reales

P. Alvarado — TEC — 2017 Dominio de la frecuencia 4 / 21


Definiciones DFT directa e inversa
Transformada rápida de Fourier Cambio a notación con WN

Transformada Discreta de Fourier


La transformada discreta de Fourier DFT:
N−1
X
X (k) = x(n)e −j2πkn/N , k = 0, 1, . . . , N − 1
n=0

Para cada uno de los N posibles k:


N productos complejos, N − 1 sumas complejas
4N productos reales, 4N − 2 sumas reales
Orden de implementación directa: O(N 2 )
N 2 productos complejos, N 2 − N sumas complejas
4N 2 productos reales, 4N 2 − 2N sumas reales

P. Alvarado — TEC — 2017 Dominio de la frecuencia 4 / 21


Definiciones DFT directa e inversa
Transformada rápida de Fourier Cambio a notación con WN

Transformada Discreta de Fourier


La transformada discreta de Fourier DFT:
N−1
X
X (k) = x(n)e −j2πkn/N , k = 0, 1, . . . , N − 1
n=0

Para cada uno de los N posibles k:


N productos complejos, N − 1 sumas complejas
4N productos reales, 4N − 2 sumas reales
Orden de implementación directa: O(N 2 )
N 2 productos complejos, N 2 − N sumas complejas
4N 2 productos reales, 4N 2 − 2N sumas reales
La transformada discreta de Fourier inversa (IDFT):
N−1
1 X
x(n) = X (k)e j2πkn/N , n = 0, 1, . . . , N − 1
N
k=0

P. Alvarado — TEC — 2017 Dominio de la frecuencia 4 / 21


Definiciones DFT directa e inversa
Transformada rápida de Fourier Cambio a notación con WN

Raı́z de la unidad

Defı́nase: WN = e −j2π/N
La DFT se reescribe:
Por ejemplo, con N = 16:
N−1
X Im
X (k) = x(n)e −j2πkn/N 11
W16
12
W16 13
W16
n=0 10
W16 14
W16
N−1
9 15
X W16 W16
= x(n)WNkn
8 0
W16 W16
n=0 1 Re

Simetrı́a conjugada: 7
W16 W16

k(N−n) ∗
WN = WN−kn = WNkn 6
W16
2
W16
3
W16
Periodicidad en n, k: 5
W16 4
W16

k(N+n) (k+N)n
WNkn = WN = WN
Diezmado: WN2k = WN/2
k

P. Alvarado — TEC — 2017 Dominio de la frecuencia 5 / 21


Definiciones DFT directa e inversa
Transformada rápida de Fourier Cambio a notación con WN

Notación de matriz (1)

Para la k-ésima componente espectral X (k) se cumple


N−1
X
X (k) = x(n)WNkn
n=0

o en notación vectorial:
 
x(0)



 x(1)
h
(N−1)k
i  x(2)
X (k) = 1 WNk WN2k WN3k . . . WN
 



 x(3)
  ..
  .
x(N −1)

P. Alvarado — TEC — 2017 Dominio de la frecuencia 6 / 21


Definiciones DFT directa e inversa
Transformada rápida de Fourier Cambio a notación con WN

Notación de matriz (2)

Para la DFT completa se usa notación matricial:

X = WN x
1 1 1 1
 
  ...  
X (0) 1 WN WN2 . . . WNN−1  x(0)
 X (1)   
2(N−1)   x(1) 
  1 WN2 WN4 . . . WN  
 X (2)   3(N−1)   x(2) 
 = 1 W 3
 
WN6


 ..   N . . . WN  .. 
.  .. .. .. .. .. .
   
. . . . .

X (N −1) x(N −1)

N−1 2(N−1) (N−1)2
1 WN WN . . . WN

Se cumple para la DFT inversa:


1
x= WN ∗ X
N

P. Alvarado — TEC — 2017 Dominio de la frecuencia 7 / 21


Definiciones DFT directa e inversa
Transformada rápida de Fourier Cambio a notación con WN

DFT de dos puntos

El caso N = 2: W2 = e −jπ = −1
La matriz de transformación en este caso:
 
1 1
W2 =
1 −1

La transformación es entonces:

X (0) = x(0) + x(1)


X (1) = x(0) − x(1)

P. Alvarado — TEC — 2017 Dominio de la frecuencia 8 / 21


Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Diezmado en el tiempo
Una posible estrategia: Dividir DFT en dos (asumiendo N par)
N−1
X
X (k) = x(n)WNkn
n=0
N N
2
−1 2
−1
k(2r +1)
X X
= x(2r )WNk2r + x(2r + 1)WN
r =0 r =0
N N
2
−1 2
−1
X X
kr
= x(2r )WN/2 + WNk kr
x(2r + 1)WN/2
|r =0 {z } |r =0 {z }
Xe (k) Xo (k)

X (k) = Xe (k) + WNk Xo (k)


Xe (k) es la DFT de N/2 para las muestras pares
Xo (k) es la DFT de N/2 para las muestras impares
P. Alvarado — TEC — 2017 Dominio de la frecuencia 9 / 21
Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Diagrama de diezmado en el tiempo


Caso N = 8

Xe (0) 1
x(0) X (0)
1 W80
Xe (1) 1
x(2) N/2 X (1)
1 W81
Xe (2) 1
x(6) DFT X (2)
1 W82
Xe (3) 1
x(8) X (3)
1 W83

Xo (0) W84
x(1) X (4)
Xo (1) W85
x(3) N/2 X (5)
Xo (2) W86
x(5) DFT X (6)
Xo (3) W87
x(7) X (7)
P. Alvarado — TEC — 2017 Dominio de la frecuencia 10 / 21
Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Complejidad

DFT de N muestras: N 2 productos complejos


Dos DFT de N/2 muestras: 2 × (N/2)2 = N 2 /2
Faltan los N productos adicionales por WNk
¡N 2 /2 + N productos tienden a ¡N 2 /2 para N  1!
Ganacia aproximada en un factor 2
Podemos dividir DFT de N/2 en dos DFT de N/4 y ası́
recursivamente hasta llegar a DFT de N = 2.
Recursión lleva a utilizar N + N log2 N productos
Orden es entonces O(N log2 N)

P. Alvarado — TEC — 2017 Dominio de la frecuencia 11 / 21


Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Diagrama de flujo de datos: FFT DiT


Caso N = 8

1 1 1
x(0) 1
X (0)
1 W80 1 W80 W80
W84 1 1
x(4) 1
X (1)
1 W2 W81
1 W4 8 1
x(2) 8
1
X (2)
1 W80 W82
W84 W86 1
x(6) 1
X (3)
W83
1 1 W84
x(1) X (4)
1 W80 1 W80
W84 1 W85
x(5) X (5)
1 W82
1 W84 W86
x(3) X (6)
1 W80
W84 W86 W87
x(7) X (7)

P. Alvarado — TEC — 2017 Dominio de la frecuencia 12 / 21


Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Reversión de bits

Partición en x(2r ) pone bit menos significativo de ı́ndice en 0


y para x(2r + 1) el bit menos significativo en 1
Recursión revierte los bits de los ı́ndices de entrada:

0 000b →000b 0
1 001b →100b 4
2 010b →010b 2
3 011b →110b 6
4 100b →001b 1
5 101b →101b 5
6 110b →011b 3
7 111b →111b 7

P. Alvarado — TEC — 2017 Dominio de la frecuencia 13 / 21


Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Operador de mariposa

Operación básica de “mariposa” (butterfly):


1

r +N/2
1 WN

WNr

Por etapa, se requieren N/2 mariposas


Hay log2 N etapas
N/2
Se cumple WN = −1 y por tanto
r +N/2 N/2
WN = WNr WN = −WNr
Se reduce ası́ en un factor 2 los productos complejos:
1 1

1 1

WNr
−1

P. Alvarado — TEC — 2017 Dominio de la frecuencia 14 / 21


Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

FFT Diezmado en la frecuencia (1)

Resultado es el proceso inverso: inversión de bits en el espectro


Idéntica complejidad que DiT
Muestras pares de espectro son:
N−1
n(2r )
X
X (2r ) = x(n)WN
n=0
N
2
−1 N−1
X X
= x(n)WN2nr + x(n)WN2nr
n=0 n= N2
N N
2
−1 2
−1
2(n+N/2)r
X X
= x(n)WN2nr + x(n + N/2)WN
n=0 n=0

P. Alvarado — TEC — 2017 Dominio de la frecuencia 15 / 21


Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

FFT Diezmado en la frecuencia (2)


2(n+N/2)r
Con WN = WN2nr WNNr = WN2nr = WN/2
nr se tiene

N
2
−1
X
nr
X (2r ) = [x(n) + x(n + N/2)] WN/2
n=0

que es una DFT de N/2 muestras, de la suma de la primera y


última mitad de la secuencia de entrada.
De forma similar se puede demostrar que
N
2
−1
X
X (2r + 1) = [x(n) − x(n + N/2)] WNn WN/2
nr

n=0

que es la DFT de N/2 muestras de la resta de la primera y


segunda mitad de la secuencia de entrada, multiplicada por
WNn .
P. Alvarado — TEC — 2017 Dominio de la frecuencia 16 / 21
Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Diezmado en la frecuencia
Primera etapa

g[0]
x[0] X[0]
g[1]
x[1] X[2]
DFT
g[2] N/2 puntos
x[2] X[4]
g[3]
x[3] X[6]
h[0] WN0
x[4] X[1]
-1
h[1] WN1
x[5] X[3]
-1 DFT
h[2] WN2 N/2 puntos
x[6] X[5]
-1
h[3] WN3
x[7] X[7]
-1

P. Alvarado — TEC — 2017 Dominio de la frecuencia 17 / 21


Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Diezmado en la frecuencia
Flujo de datos

x[0] X[0]
0
W
N
x[1] X[4]
-1
0
W
x[2] N
X[2]
-1
0
W 2
W
N
x[3] N
X[6]
-1 -1
0
W N
x[4] X[1]
-1
1
W N
0
W
x[5] N
X[5]
-1 -1
2 0
W N W N
x[6] X[3]
-1 -1
3 2
x[7] W N W N
0
W
N
X[7]
-1 -1 -1

P. Alvarado — TEC — 2017 Dominio de la frecuencia 18 / 21


Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Otros algoritmos

Existen diversidad de algoritmos para la FFT


Esquemas anteriores asumen que N = 2p (Radix-2)
Otros esquemas reducen multiplicaciones si N = 4p o N = 8p
(Radix-4, Radix-8)
Algoritmo de Factores Primos (Good-Thomas) y el de Radix
Mixto asumen N = N1 N2 , lo que permite optimizar casos
donde N 6= 2p .

P. Alvarado — TEC — 2017 Dominio de la frecuencia 19 / 21


Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Resumen

1 Definiciones
DFT directa e inversa
Cambio a notación con WN

2 Transformada rápida de Fourier


Diezmado en el tiempo
Diezmado en la frecuencia

P. Alvarado — TEC — 2017 Dominio de la frecuencia 20 / 21


Definiciones Diezmado en el tiempo
Transformada rápida de Fourier Diezmado en la frecuencia

Este documento ha sido elaborado con software libre incluyendo LATEX, Beamer, GNUPlot, GNU/Octave, XFig,
Inkscape, LTI-Lib-2, GNU-Make y Subversion en GNU/Linux

Este trabajo se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-LicenciarIgual 3.0 Unpor-
ted. Para ver una copia de esta Licencia, visite http://creativecommons.org/licenses/by-nc-sa/3.0/ o envı́e
una carta a Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

© 2005-2017 Pablo Alvarado-Moya Área de Ingenierı́a en Computadores Instituto Tecnológico de Costa Rica

P. Alvarado — TEC — 2017 Dominio de la frecuencia 21 / 21

También podría gustarte