TRANSFORMADA DISCRETA
DE FOURIER
Señales y Sistemas
Transformada Discreta de Fourier
Sea x(t) una señal continua en el tiempo, tomaremos una
aproximación de una sumatoria de impulsos discretos.
N −1
xs (t ) ≈ ∑ x(n∆t )δ (t − n∆t )
n =0
Puesto que x(t) es efectivamente limitada tanto en tiempo como
en ancho de banda, esta aproximación es buena.
∆t = T/N, y N es el número total de muestras tomadas en el tiempo
[0,T]. Si mantenemos la naturaleza de banda limitada de x(t), se
sigue que ∆t ≤1/2W para evitar el efecto de Aliasing.
Aplicando la transformada de Fourier
N −1 N −1
X s ( f ) = ∑ x(n∆t ) F {δ (t − n∆t )} = ∑ x(n∆t )e − 2πfn∆t
n =0 n =0
Esta sumatoria es la transformada de Fourier de una señal discreta
representado por los valores {x(n∆t)} y es a veces expresada como
una función de la variable ω = 2πf∆t=2πr, donde r es la frecuencia
normalizada de f/fs.
Nuestro interés radica en el calcula digital de X(f), restringiremos f a
un conjunto de valores discretos de {0,1/T,2/T,… N-1/T}. Si
definimos f=k/T=kfs , donde k toma valores enteros de 0 a N-1.
Reescribiendo X(f)
N −1
X k = ∑ xn e −2πkn / N , k = 0,1,..., N − 1
n =0
La dependencia explícita de x(n∆t) en ∆t, ha sido descartada, y
ambas X(f) y x(t) son ahora remplazadas por secuencias {Xk} y
{xn}.
Esta es la definición de la Transformada Discreta de Fourier de
una secuencia {xo=x(0), x1=x(∆t), x2=x(∆t), …. xN-1=x((n-1)∆t)}.
Debido a que esto fue derivado usando un enfoque de
muestreo, es la claro que la secuencia {Xk} es periódica.
La secuencia original en el dominio del tiempo {Xn} es obtenida
de una secuencia de muestras en el dominio de la frecuencia
por la relación inversa:
N −1
1
xn =
N
∑X
k =0
k e 2πkn / N
, n = 0,1,...N − 1
DFT Comparado con Series de Fourier
Exponenciales
Para enfatizar la diferencia entre la Transformada de Fourier y la
DFT, recordemos que la transformada de Fourier es usada para
representar una señal de energía continua en el tiempo.
Y la DFT en cambio representa un número finito de valores de
muestra en el intervalo de observación finito 0<nT/N <T, y resulta
en un espectro de línea limitado de 0<k/T<N/T.
También recordemos que los N puntos tiene periodicidad debido a
la propiedad de e±j2πkn/N.
Ahora veremos un ejemplo del muestreo en un intervalo de
observación finito examinando una aproximación de la
Transformada de Fourier por una DFT.
Transformada de una forma muestreada ideal
∞ ∞
y s (t ) = ∑ δ (t − mT
m = −∞
S ) ↔ fs ∑ δ ( f − nf
n = −∞
s )
Transformada de un pulso rectangular
t −t
∏ T 0 ↔ TSinc(Tf )e − j 2πt f 0
El teorema de convolución de la Transformada de Fourier.
x1 (t ) * x 2 (t ) ↔ X1( f )X 2 ( f )
El teorema de multiplicación de Fourier
x1 (t ) x 2 (t ) ↔ X1( f ) * X 2 ( f )
Ejemplo
− t 2τ
x(t ) = exp X(f ) =
1 + ( 2πfτ )
2
τ
Puesto que ahora consideraremos señales discretas, multiplicamos x(t) por
la forma de muestreo ideal, ys(t) para producir una señal exponencial
muestreada.
− t
x s (t ) = y s (t )exp
τ
Por el teorema de la multiplicación, la transformada de Fourier de xs(t) es la
convolución de las transformadas de Fourier de ys(t) y x(t).
2τ ∞ ∞
2τf s
Xs( f ) = * f s ∑ δ ( f − nf ) = ∑
1 + ( 2πfτ ) n = −∞ 1 + ( 2π ( f − nf ) s τ )
2 s 2
n = −∞
Calculando la DFT solo en una sección de T segundos es en efecto,
multiplicar xs(t) por una función de ventana Π(t/T). En el dominio de la
frecuencia, esto corresponde a la convolución de Xs(f) con la transformada
de Fourier de la función de la ventana, la cual es TSincTf.
La transformada de Fourier de la señal muestreada y ventaneada es
∞ 1
X SW ( f ) = 2τf s ∑ 2
* TSincTf
n =−∞ 1 + ( 2π ( f − nf s )τ )
Finalmente, el resultado de la operación de DFT efectivamente muestrea el
espectro XSW(f) en un conjunto discreto de frecuencias separados por el
recíproco del tiempo de observación (duración de la ventana), 1/T. Esto
corresponde a la convolución en el dominio del tiempo con una secuencia de
funciones deltas ya que
∞ ∞
n
T ∑ δ (t − mT ) ↔ ∑ δ ( f − )
m = −∞ n = −∞ T
Esto produce una secuencia muestreada periódica en el dominio del tiempo,
xsp(t).
Fuentes de Error
Errores excesivos debido al Aliasing:
Incrementar la tasa de muestreo
Prefiltrar la señal para minimizar el contenido espectral de alta
frecuencia.
Distorsión del Espectro debido al Escape (Leakage)
Incrementar el ancho de la ventana, incrementando el número de
puntos DFT.
Utilizar funciones de Ventana que tienen transformada de Fourier con
pocas lóbulos laterales.
Si las componentes grandes periódicas están presente en la señal,
eliminar mediante filtrado antes de realizar el proceso de ventaneo.
Efecto Cerca de Piquete (Picket-Fence) resulta en componentes
espectrales importantes siendo eliminadas.
Incrementar el número de puntos DFT manteniendo la tasa de
muestreo.
Calculo de la DFT
Antes de ver algoritmos eficientes para el cálculo de la
suma de DFT. Consideraremos varios ejemplos en los
cuales expresiones matemáticas para DFT fueron
desarrolladas.
Usualmente esto no es posible, y la DFT de una
secuencia debe ser evaluada numéricamente.
Para grandes sumas, esto puede tomar mucho tiempo
de máquina.
Por esta razón los algoritmos de Transformada Rápida
de Fourier fueron creados por J. W. Tukey.
Calculo de la DFT
Ahora escribiremos la suma de la DFT como:
N −1
X (k ) = ∑ x[n]WNnk , k = 0 ,1,..., N-1
n =0
donde
WNnk = e − j 2πnk / N
Para una secuencia discreta en el tiempo {x(n)} de
longitud N, la suma da como resultado una
secuencia discreta en el dominio de la frecuencia
{X(k)} de longitud N.
Ejemplo
Encontrar la DFT de la señal con N=8.
x (n) = 4 + 3Sin(πn / 2)
Primero escribiremos x(n) con Euler
e jπ n / 2 − e − jπ n / 2 3 jπ n / 2 3 − jπ n / 2
x(n) = 4 + 3 = 4 − je + je
2j 2 2
Y notemos ahora que la suma para X(k) puede ser
escrita como la suma de 3 términos.
7
X (k ) = ∑ x(n)e − j ( 2π / 8) kn , 0≤k ≤7
n =0
Ejemplo
7 7 7
3 3
X (k ) = 4∑ e − jπkn / 4 − j ∑ e jπn / 2 e − jπkn / 4 + j ∑ e − jπn / 2 e − jπkn / 4
n =0 2 n =0 2 n =0
Si evaluamos estas sumas considerando
[ ]
N −1 N −1 N −1
S N (l , k ) = ∑ e j 2π nl / N
W =∑e
nk
N
j 2π n ( l − k ) / N
=∑ e j 2π ( l − k ) / N n
n= 0 n= 0 n= 0
De las series geométricas, sabemos que esta sumatoria tiende a:
1 − e j 2π ( l −k )
S N (l , k ) = j 2π ( l −k ) / N
= 0, k ≠l
1 −e
Ya que la exponencial es igual a 1, para cualquier par de (k,l)
Ejemplo
Sin embargo, k=l, el numerador y el denominador de SN(l,k).
Pero es un caso particular de la serie geométrica si se evalúa
para k=l, entonces la serie geométrica queda como:
[ ] = ∑ [1] = ∑ 1 = N
N −1 N −1 N −1
S N (l , l ) = ∑ e j 2π ( 0 ) / N n n
n= 0 n= 0 n= 0
Así, podemos escribir de manera compacta
S N (l , k ) = Nδ k ,l
donde δkl =1 para k=l y 0 en otro lado, esta es la función delta
de Kronecker.
Ejemplo
3 3
X (k ) = 4(8δ k , 0 ) − j (8δ k , 2 ) + j (8δ k , −2 )
2 2
X (k ) = 32δ k ,0 − j12δ k , 2 + j12δ k , − 2
X(0) =32 X(1)=0 X(2)=-j12 X(3)=0
X(4) =0 X(5)=0 X(6)=j12 X(7)=0
Ejemplo de DFT de 2 puntos
En este algoritmo de DFT de dos puntos, el cual toma
solo dos muestras en el dominio del tiempo, x(0) y
x(1), y dos muestras en el dominio de la frecuencia
X(0) y X(1) son derivadas.
1
X (k ) = ∑ x(n)W2nk , k = 0,1
n=0
Realizando la sumatoria
X(0)=x(0) + x(1)
X(1)=x(0) – x(1)
Ejemplo de DFT de 2 puntos
x(0) X(0)
2-Puntos
x(1) DFT
X(1)
x(0) X(0)
x(1) X(1)
-1
Antes de seguir con el siguiente ejemplo debemos examinar WNK
para tres valores específicos de k. Para k= N/2 se tiene
π N
− j2
WNN / 2 = e N 2
= e − jπ = −1
Los otros dos caso especiales de interés son cuando k= N/4 y 3N/
4.
π N
− j2
WNN / 4 = e N 4
= e − jπ / 2 = − j
π 3N
− j2
WN3 N / 4 = e N 4
= e − j 3π / 2 = j
Derivación Matemática de FFT
Algoritmo en el dominio del Tiempo: Consideraremos la suma
de la DFT separadamente los términos pares e impares en la
suma, siendo n= 2r para pares y 2r+1 para impares.
N −1 N / 2 −1 N / 2 −1
X (k ) = ∑ x(n)W nk
N = ∑ x(2r )W 2 rk
N + ∑ x(2r + 1)W ( 2 r +1) k
N
n =0 r =0 r =0
N / 2 −1 N / 2 −1
X (k ) = ∑ x(2r )W
r =0
2 rk
N +W k
N ∑ x(2r + 1)W
r =0
2 rk
N = G (k ) + W Nk H (k )
N / 2 −1 N / 2 −1
G (k ) = ∑ x(2r )W
r =0
rk
N /2 H (k ) = ∑ x ( 2 r + 1)W rk
N /2
r =0
x(0) G(0) X(0)
x(2) G(1) X(1)
x(4) DFT G(2) X(2)
N/2 Puntos G(3)
x(6) X(3)
x(1) H(0) X(4)
H(1) X(5)
x(3) DFT
H(2) X(6)
x(5) N/2 Puntos
H(3) X(7)
x(7)
Derivación Matemática de FFT
Algoritmo en el dominio de la Frecuencia: Para derivar otro
algoritmo para encontrar la DFT consideremos la sumatoria como
la suma sobre la primera mitad y otra sobre la ultima mitad de las
muestras de entrada.
N / 2 −1 N
X (k ) = ∑ x(n)W
n =0
nk
N + ∑ x
n= N / 2
( n )W nk
N
N / 2− 1 N / 2−1
N ( m+ N / 2) k
X (k ) = ∑n= 0
x(n)W +
nk
N ∑
m= 0
x(m +
2
)WN
N / 2−1 N / 2− 1
N mk
X (k ) = ∑
n= 0
x(n)W + W
nk
N N
N / 2k
∑
m= 0
x(m +
2
)WN
N / 2 −1 N / 2 −1
N mk
X (k ) = ∑ x(n)W
n =0
nk
N + (−1) k
∑
m =0
x(m +
2
)WN
Derivación Matemática de FFT
N / 2 −1
N nk
X (k ) = ∑
n =0
x(n) + (−1) x(m + 2 )WN
k
Ahora consideremos k par e impar separadamente.
N / 2−1
N 2 nr N / 2−1 N nr
X ( 2r ) = ∑
n= 0
x(n) + x(m + 2 )WN = ∑ x(n) + x(m + 2 )WN / 2
n= 0
N / 2 −1
N 2 nr n N / 2−1 N nr n
X (2r + 1) = ∑
n =0
x ( n ) − x ( m + )
2 W N W N = ∑
n =0
x ( n ) − x ( m + )WN / 2WN
2
x(0) X(0)
x(1) X(1)
DFT
N/2 Puntos
x(2) X(2)
x(3) X(3)
x(4) W0N X(4)
-1
x(5) W 1N X(5)
-1 DFT
x(6) W 2N N/2 Puntos
X(6)
-1
x(7) W 3N X(7)
-1
Propiedades de la DFT
Secuencias Discretas en tiempo son denotadas como x(n) y y(n)
Su DFT se denotan como X(k) y Y(k)
N es la longitud de la secuencia o tamaño de la DFT
A y B son constantes arbitrarias
El subíndice e significa que es par alrededor del punto (N-1)/2
para N par y N/2 para N impar.
El subíndice o denota la secuencia impar.
El subíndice r denota la parte real de la secuencia
El subíndice i denota la parte imaginaria de la secuencia
Propiedades de la DFT
Cualquier secuencia real puede ser
expresada en términos de sus partes pares e
impares.
x ( n) = x e ( n) + x o ( n)
1 1
x ( n) = [ x ( n) + x ( N − n) ] + [ x ( n) − x ( N − n) ]
2 2
Las secuencias se asumen periódicamente
repetidas.
Propiedades de la DFT
Linealidad
Ax(n)+By(n) ↔ AX(k) +BY(k)
Retardo en el Tiempo
x(n-m) ↔ X(k)e(-j2πkm/N)=X(k)WNkm
Propiedades de la DFT
Retardo en Frecuencia
x(n)e(j2πnm/N)↔ X(k-m)
Dualidad
N-1X(n) ↔ x(-k)
Propiedades de la DFT
Convolución Circular
N −1
∑ x(m) y(n − m) = x(n) ⊗ y(n) ↔ X (k )Y (k )
m=0
Multiplicación
x(n) y (n) ↔ N −1 X (k ) ⊗ Y (k )
Propiedades de la DFT
Teorema de Parseval
N −1 N −1
∑ x ( n) ∑ X (k )
2 −1 2
=N
n =0 k =0
Propiedades de la DFT
Transformada de funciones reales pares
xer(n)↔Xer(k)
Transformada de funciones impares reales
xor(n)↔jXoi(k)
Propiedades de la DFT
Asuma que x(n) y y(n) son las partes real e
imaginaria de una secuencia compleja x(n),
es decir:
z(n)=x(n)+jy(n)
Entonces
z(n) ↔ Z(k)=X(k)+jY(k)
Aplicaciones de la FFT
Filtrado
Analizadores de Espectro
Convolución
Densidad Espectral de Energía
Funciones de Autocorrelación
Identificación del Sistema
Recuperación de la Señal
Deconvolución
Selección de Parámetros para el
Procesamiento de la Señal con DFT
En el procesamiento de una señal por medio de DFT
o FFT, el teorema de muestreo requiere que la tasa
de muestreo sea de fs ≥2W muestras por segundo,
donde W es el ancho de banda de la señal. Asuma
una ventana de T segundos con una DFT de N
puntos, la tasa de muestreo es fs = N/T.
Lo cual debe satisfacer
N
f s = ≥ 2W
T
7
Es espaciamiento entre muestras de frecuencia es:
fs 1
∆f = =
N T
Lo que se conoce como resolución en frecuencia.
Combinando estas ecuaciones se tiene:
1 2W
∆f = ≥ Hz
T N
Dado un ancho de banda de una señal, la resolución deseada o
espaciamiento en frecuencia determina el tamaño de la FFT
requerido. Para hacer T/Ts igual a N=2n, ceros deben ser añadidos
al final de los datos.
Ventanas y sus Propiedades
Hemos visto que el muestreo del espectro de una señal de en el
dominio del tiempo y ventaneada implica una extensión periódica
de la señal.
A menos que la señal sea periódica y un número entero de
períodos estén dentro de la ventana o que se aproxime a cero en
los extremos del intervalo, la discontinuidades resultante generan
adicional componentes espectrales. Lo cual se conoce como
goteo espectral.
Para minimizar este efecto, las muestras de datos pueden ser
multiplicadas por una ventana no rectangular que aproxime a cero
suavemente el inicio y fin de la señal.
Varias funciones son mostradas en la siguiente tabla.
Ventana Nivel de Ancho de Ganancia
Lóbulo Banda 3-dB Coherente
Principal (bins) [∑w(n)]2/ ∑w2(n)
(dB)
Rectangular -13 0.89 1.0
w(n)=1, n=0,1, ..N-1
Triangular -27 1.28 0.75
w(n)=2n/N, n=0,1…N/2
w(N-n-1)=w(n)
Hanning -32 1.44 0.67
w(n)=1/2[1-Cos(2πn/N)]
n=0,1….N-1
Ventana Nivel de Ancho Ganancia
Lóbulo de Coherente
Principal (dB) Banda
[∑w(n)]2/ ∑w2(n)
3-dB
(bins)
Hamming -43 1.30 0.74
w(n)=0.54-0.46*Cos(2πn/N)]
n=0,1….N-1
Kaisser-Bessel α=2; -46 1.43 0.67
w(n)=Io(παβ)/Io(πα) α=2.5;-57 1.57 0.61
donde α=3; -69 1.71 0.56
Io(x) = Función de Bessel α=3,5;-82 1.83 0.52
modificada
2
2n + 1
β = 1− − 1
N