26.11.2012 Views

Transformada Discreta de Fourier (DFT) - Tecnun

Transformada Discreta de Fourier (DFT) - Tecnun

Transformada Discreta de Fourier (DFT) - Tecnun

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

17/11/99<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

(<strong>DFT</strong>)<br />

❒ <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

❒ FFT (Fast <strong>Fourier</strong> Transform)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

1


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ Antes <strong>de</strong> <strong>de</strong>finir la <strong>DFT</strong>, analizaremos primero la <strong>Transformada</strong><br />

<strong>de</strong> <strong>Fourier</strong> en tiempo discreto (DTFT).<br />

❒ La DTFT <strong>de</strong>scribe el espectro <strong>de</strong> señales discretas. Deduciremos<br />

la <strong>DFT</strong> a partir <strong>de</strong> la convolución discreta explicada en el<br />

Capítulo 2.<br />

❒ Allí se <strong>de</strong>finió la convolución discreta como<br />

◆ Si tenemos una señal <strong>de</strong> entrada armónica x[n]=exp(j2πnft s ), la<br />

respuesta y[n] es<br />

[] = [] ∗ [] = [] [ − ]<br />

yn xn hn x kh n k<br />

∞<br />

∑<br />

∞<br />

∑<br />

k=−∞<br />

s s<br />

[] = exp [ 2π(<br />

− ) ] ⋅ []<br />

yn j n k ft hk<br />

k=−∞<br />

∞<br />

∑<br />

[] [] ( )<br />

= exp( j2πnft ) exp( −j2πkft ) ⋅ h k = x n ⋅Hf<br />

s s<br />

k=−∞<br />

◆ H(f) es la DTFT <strong>de</strong> la señal discreta h[n]. Nótese que la función H(f)<br />

es periódica, <strong>de</strong>bido a que h[n] es una función discreta.<br />

s<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

2


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

❒ Se <strong>de</strong>fine la DTFT <strong>de</strong> una señal discreta x[n] como<br />

∞<br />

X( f) = ∑x[] k exp( −j2πkfts)<br />

k=−∞<br />

❒ Dualidad entre las series <strong>de</strong> <strong>Fourier</strong> y la DTFT<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ Tenemos una señal periódica continua x p (t). Mediante las series <strong>de</strong><br />

<strong>Fourier</strong> transformamos esa señal periódica continua en una función<br />

aperiódica y discreta (los coeficientes espectrales X S [k]).<br />

X k<br />

1<br />

T<br />

[] = x () t exp( − j2πkf t) dt x () t = X [] k exp(<br />

j2πkf t)<br />

S p<br />

T<br />

∫ ∑ =−∞<br />

0 p S<br />

0<br />

k<br />

◆ De una manera dual, po<strong>de</strong>mos intercambiar tiempo y frecuencia <strong>de</strong><br />

forma 1<br />

x [] k = X ( f ) exp(<br />

j2πkft<br />

) df X ( f ) =<br />

∞<br />

x [] n exp(<br />

− j2πkft<br />

)<br />

S<br />

S<br />

F<br />

∫<br />

S<br />

F<br />

P<br />

s<br />

don<strong>de</strong> S F =1/t s . Ahora tenemos una señal aperiódica discreta x s [k] y la<br />

transformamos en una señal periódica continua (X p (f)) mediante la<br />

DTFT.<br />

P<br />

∞<br />

∑<br />

S<br />

k=<br />

−∞<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

s<br />

3


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ El comportamiento dual entre las series <strong>de</strong> <strong>Fourier</strong> y la DTFT se<br />

manifiesta en lo siguiente :<br />

✦ En las series <strong>de</strong> <strong>Fourier</strong> parto <strong>de</strong> una señal x(t), temporal, continua y periódica<br />

(periodo T) y obtengo los coeficientes X[k], que es una función <strong>de</strong> la<br />

frecuencia, aperiódica y discreta con una distancia entre dos valores<br />

consecutivos <strong>de</strong> f 0 =1/T.<br />

✦ En la DTFT parto <strong>de</strong> una señal discreta en el tiempo x[n], con periodo <strong>de</strong><br />

muestreo t s =1/f s y aperiódica y obtengo una función X(f), que es función<br />

continua <strong>de</strong> la frecuencia y periódica con periodo f s .<br />

◆ Todas las propieda<strong>de</strong>s que se vieron para las series <strong>de</strong> <strong>Fourier</strong> tienen su<br />

correspondientes equivalencias en la DTFT.<br />

◆ Ejemplo : DTFT <strong>de</strong> la secuencia x[n]=δ[n] :<br />

∞<br />

X( f ) = ∑δ[] k exp(<br />

− j2πkfts ) = 1<br />

k=−∞<br />

Si tenemos una secuencia x[n]={1,0,3,-2}, a partir <strong>de</strong> la anterior ecuación<br />

y aplicando la propiedad <strong>de</strong>l <strong>de</strong>splazamiento,<br />

( π ) ( π<br />

)<br />

X( f) = 1+ 3exp −j4 ft −2exp −j6<br />

ft<br />

s s<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

4


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ Sin embargo, a la hora <strong>de</strong> realizar operaciones tenemos los<br />

mismos problemas que en las series <strong>de</strong> <strong>Fourier</strong> ya que<br />

seguimos tratanto con señales continuas o con series <strong>de</strong> datos<br />

<strong>de</strong> longitud infinita. La electrónica nos obliga a trabajar con<br />

un número finito <strong>de</strong> datos discretos que a<strong>de</strong>más tienen una<br />

precisión finita.<br />

❒ De lo que se trata es <strong>de</strong> conseguir discretizar las variables<br />

continuas y <strong>de</strong> limitar el números <strong>de</strong> muestras en los dos<br />

dominios (temporal y frecuencial).<br />

❒ Esto nos lleva a <strong>de</strong>finir las series discretas <strong>de</strong> <strong>Fourier</strong> y la<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>).<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

5


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ De las Series <strong>de</strong> <strong>Fourier</strong> a las Series <strong>Discreta</strong>s <strong>de</strong> <strong>Fourier</strong><br />

◆ Para las Series <strong>de</strong> <strong>Fourier</strong> se cumple (f 0 =1/T)<br />

◆ Para limitar x p (t), tomamos N muestras <strong>de</strong> x p (t) durante un periodo a<br />

intervalos t s , <strong>de</strong> forma que N·t s =T. Al calcular los coeficientes X[k] me<br />

queda,<br />

∞<br />

= ∑ ∫T<br />

k=<br />

−∞<br />

P<br />

S<br />

S<br />

P x 0<br />

0<br />

T<br />

() t X [] k exp( j2πkf<br />

t)<br />

X [] k = x () t ⋅exp(<br />

− j2πkf<br />

t)<br />

X<br />

1<br />

Nt<br />

[] k = x [] n ⋅exp(<br />

− j2πkf<br />

nt )<br />

=<br />

1<br />

N<br />

s<br />

N −1<br />

n=<br />

0<br />

N −1<br />

∑<br />

∑<br />

n=<br />

0<br />

x<br />

P<br />

P<br />

◆ La cantidad X[k] es la serie <strong>de</strong> <strong>Fourier</strong> <strong>Discreta</strong> <strong>de</strong> la señal periódica<br />

muestreada x P [n].<br />

0<br />

1<br />

s<br />

⋅t<br />

⋅dt<br />

[] n ⋅exp(<br />

− j2πkn<br />

/ N ) k = 0,<br />

1,<br />

2 , N −1<br />

s<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

6


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

❒ De la DTFT a la <strong>DFT</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ Tenemos una señal x[n] limitado a N muestras con un periodo <strong>de</strong><br />

◆<br />

muestreo ts .<br />

La DTFT se <strong>de</strong>fine como<br />

N−1<br />

X P( f ) = ∑x[ n] ⋅exp( − j2πnfts) ◆ X P (f) es periódica con periodo 1/t s . Muestreamos esta señal N veces<br />

sobre un periodo, por tanto X T [k] será sustituir f por k/(Nt s ) :<br />

◆ Esta última expresión resultante es la <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong><br />

<strong>Fourier</strong> <strong>de</strong> una señal x[n]. Excepto por el término 1/N es idéntica a la<br />

Serie <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong>.<br />

n=<br />

0<br />

[ ]<br />

N−1<br />

[ ] = ∑ [ ] ⋅exp − 2π<br />

/ ( )<br />

X k x n j nkt Nt<br />

T s s<br />

n=<br />

0<br />

N−1<br />

∑<br />

[ ] [ π<br />

]<br />

= xn⋅exp − j2 nk/ N k= 012 , , , , N−1<br />

n=<br />

0<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

7


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

❒ <strong>Transformada</strong> <strong>Discreta</strong> inversa (I<strong>DFT</strong>),<br />

[] [] ( π )<br />

xn<br />

N−1<br />

1<br />

= ∑XT<br />

k exp j2 nk / N n = 012 , , , , N −1<br />

N<br />

k=<br />

0<br />

❒ Convolución Circular o Cíclica<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ La convolución normal entre dos señales periódicas es cero o infinito. Para<br />

este tipo <strong>de</strong> señales se <strong>de</strong>fine la convolución circular <strong>de</strong> dos secuencias x p [n] y<br />

h p [n] con periodo N :<br />

[] = [] • [] = x [] k h [ n−k] y n x n h n<br />

1<br />

N<br />

p p p p p<br />

k=<br />

0<br />

◆ La convolución circular requiere que las dos secuencias sean <strong>de</strong>l mismo<br />

tamaño. Si no fuera así habría que llenar <strong>de</strong> ceros la secuencia más corta.<br />

N−1<br />

∑<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

8


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

❒ Propieda<strong>de</strong>s <strong>de</strong> la <strong>DFT</strong><br />

Simetria Conjugada<br />

Linealidad<br />

Desplazamiento<br />

Modulacion<br />

Producto<br />

Simetria<br />

Conjugado<br />

Convolucion Circular<br />

Correlacion<br />

Ecuacion <strong>de</strong> Parseval<br />

[ − ] =<br />

∗<br />

[ ] = [ − ]<br />

[] + [] ↔ [] + []<br />

XT k XT k XT N k<br />

αxn βynαXkβYk [ ] [] exp ( 2π<br />

/ ) []<br />

[] [ ]<br />

[][] ↔ X [] k •Y<br />

[] k<br />

∗<br />

[ − ] ↔ [ − ] = [ ]<br />

∗<br />

[] ↔<br />

∗<br />

T[<br />

− ]<br />

[] • [] ↔ [] []<br />

∗<br />

[] • [ − ] ↔ []<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

xn−m↔ X k ⋅ − j km N = X k ⋅W<br />

−nm<br />

W ⋅x n ↔ X k −m<br />

N<br />

xnyn<br />

1<br />

T<br />

N<br />

T<br />

x n X k X k<br />

x n X k<br />

xn yn X kY k<br />

T T<br />

T T<br />

km<br />

N<br />

T<br />

T T<br />

T T<br />

[]<br />

xn y n XT ∗<br />

kYT<br />

k<br />

2<br />

∑ xn []<br />

1<br />

2<br />

= ∑ XT[] k<br />

N<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

9


❒ Ejemplos<br />

17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

◆ x[n]={1,2,1,0}<br />

[] []<br />

k = 0 X 0 = x n = 1+ 2+ 1+ 0= 4<br />

T<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

[] [ ] exp ( π / ) exp ( π / ) exp(<br />

π)<br />

[] [] exp ( π / ) exp( π) exp(<br />

π)<br />

k = 1 X 1 = x n − j2 4 = 1+ 2 − j 2 + − j = −j2<br />

T<br />

k = 2 X 2 = x n − j2 2 4 = 1+ 2 − j + − j2<br />

= 0<br />

T<br />

[] [] exp ( π / ) exp ( π / ) exp(<br />

π)<br />

k = 3 X 3 = x n − j2 3 4 = 1+ 2 − j3 2 + − j3 = j2<br />

T<br />

∑<br />

∑<br />

∑<br />

∑<br />

por tanto la <strong>DFT</strong> <strong>de</strong> x[n] es X T [k]={4,-j2,0,j2} para k=0,1,2,3<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

10


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ Po<strong>de</strong>mos interpretar los resultados <strong>de</strong>l <strong>DFT</strong> <strong>de</strong> una secuencia<br />

x s [n] <strong>de</strong>s<strong>de</strong> dos puntos <strong>de</strong> vista:<br />

◆ Como los coeficientes espectrales (series <strong>de</strong> <strong>Fourier</strong>) <strong>de</strong> una señal<br />

periódica discreta cuyos muestreos coinci<strong>de</strong>n con la secuencia x s [n].<br />

◆ Como el espectro <strong>de</strong> una señal aperiódica discreta cuyos muestreos<br />

correspon<strong>de</strong>n a la secuencia x s [n].<br />

❒ EL <strong>DFT</strong> es una aproximación al espectro <strong>de</strong> la señal analógica<br />

original. Su magnitud se ve influenciada por el intervalo <strong>de</strong><br />

muestreo, mientras que su fase <strong>de</strong>pen<strong>de</strong> <strong>de</strong> los instantes <strong>de</strong><br />

muestreo.<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

11


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ Como hacer la <strong>DFT</strong> a partir <strong>de</strong> una señal x(t), muestreada<br />

durante D segundos, con periodo <strong>de</strong> muestreo t s :<br />

◆ Elegir el intervalo <strong>de</strong> muestreo ts <strong>de</strong> forma que se cumpla el Teorema<br />

<strong>de</strong>l muestreo.<br />

◆ Crear la expensión periodica (xp (t)) <strong>de</strong> x(t) con periodo D.<br />

◆ Tomar N muestras <strong>de</strong> x p (t) empezando en t=0.<br />

◆ Si hay discontinuida<strong>de</strong>s, los valores <strong>de</strong> muestreo los tomaremos en el<br />

punto medio <strong>de</strong> la señal.<br />

x(t)<br />

x p (t)<br />

-3 -2 -1 0 1 2 3<br />

T<br />

-3 -2 -1 0 1 2 3<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

T<br />

12


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

❒ <strong>DFT</strong> <strong>de</strong> señales periódicas<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ Siendo x(t)=sin(2πft), con f=1KHz, D=1ms y N=8 tenemos la siguiente<br />

secuencia <strong>de</strong> muestreos :<br />

x[n]={0,0.7071,1,0.7071,0,-0.7071,-1,-0.7071}<br />

Amplitud<br />

1<br />

0.5<br />

0<br />

-0.5<br />

Sinusoi<strong>de</strong> 1KHz, D=1ms, N=8<br />

0 0.2 0.4 0.6 0.8 1<br />

x 10 -3<br />

-1<br />

Tiempo (s)<br />

El resultado <strong>de</strong> hacer el <strong>DFT</strong> es XT [k]={0,-4j,0,0,0,0,0,4j}.<br />

XS [k]=1/8{0,-4j,0,0,0,0,0,4j}={0,-j/2,0,0,0,0,0,j/2}<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

13


Magnitud <strong>DFT</strong><br />

17/11/99<br />

5<br />

4<br />

3<br />

2<br />

1<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

<strong>DFT</strong><br />

0<br />

0 2 4<br />

Indice k<br />

6 8<br />

Magnitud <strong>DFT</strong><br />

5<br />

4<br />

3<br />

2<br />

1<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

<strong>DFT</strong><br />

0<br />

-4000 -2000 0 2000<br />

Frecuencia (Hz)<br />

◆ x(t)=sin(2πft), con f=1KHz, D=0.5ms y N=8, tenemos la secuencia <strong>de</strong><br />

muestreos: x[n]={0,0.3827,0.7071,0.9239,1,0.9239,0.7071, 0.3827}.<br />

Los coeficientes <strong>de</strong>l <strong>DFT</strong> son<br />

{5.0273,-1.7654,0.4142,-0.2346,-0.1989,-0.2346,-0.4142,-1.7654}<br />

Y los coeficientes <strong>de</strong>l DFS son<br />

X[k]=1/8{5.0273,-1.7654,0.4142,-0.2346,-0.1989,-0.2346,-0.4142,-1.7654}<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

14


Amplitud<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

Sinusoi<strong>de</strong> 1KHz, D=1ms, N=8<br />

0 1 2 3 4 5<br />

x 10 -4<br />

-1<br />

Tiempo (s)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ En este nuevo ejemplo, la frecuencia <strong>de</strong> muestreo es 16KHz. Los X[k]<br />

son reales, por lo que la función tiene simetría par. Para la onda dada,<br />

los coeficientes exactos <strong>de</strong> <strong>Fourier</strong> son :<br />

✦ XS [0]=1/π XS [k]=2/π(1-4k2 )<br />

✦ Comparando XS [0]≈X[0]<br />

Magnitud <strong>DFT</strong><br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

0 1 2 3 4<br />

Indice k<br />

5 6 7 8<br />

X S [1]≈X[1] <strong>de</strong>ntro <strong>de</strong>l 5% <strong>de</strong> precisión<br />

<strong>DFT</strong><br />

✦ Para los términos con k=2,3..., X[k] se <strong>de</strong>svía bastante <strong>de</strong>l término exacto<br />

<strong>de</strong>bido a que la señal no tiene un espectro limitado, produciéndose aliasing.<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

-8000 -6000 -4000 -2000 0 2000 4000 6000<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

15


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

◆ x(t)=sin(2πft), con f=1KHz, D=1.5ms y N=24.<br />

Amplitud<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

-1<br />

Sinusoi<strong>de</strong> 1KHz, D=1ms, N=8<br />

0 0.5 1 1.5<br />

x 10 -3<br />

Tiempo (s)<br />

Magnitud <strong>DFT</strong><br />

20<br />

15<br />

10<br />

5<br />

0<br />

<strong>DFT</strong><br />

Magnitud <strong>DFT</strong><br />

-5000 0<br />

Frecuencia (Hz)<br />

5000<br />

20<br />

15<br />

10<br />

5<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

0<br />

0 5 10 15 20<br />

Indice k<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

<strong>DFT</strong><br />

16


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

✦ En este ejemplo se ha producido el <strong>de</strong>nominado “leakage”, que consiste<br />

en que las componentes originales <strong>de</strong> la señal se <strong>de</strong>rraman hacia las<br />

nuevas componentes <strong>de</strong> la señal. Para evitarlo, se <strong>de</strong>be muestrear un<br />

número entero <strong>de</strong> periodos, o bien utilizar alguna <strong>de</strong> las ventanas<br />

espectrales (ventana <strong>de</strong> Hamming, etc).<br />

◆ Podría ocurrir que no conocieramos el periodo <strong>de</strong> la señal <strong>de</strong> la cual<br />

queremos calcular el <strong>DFT</strong>. En ese caso se muestrea una señal <strong>de</strong><br />

duración lo más larga posible. De esta forma, se reduce el “leakage” y<br />

el espacio entre frecuencias obteniéndose una buena estimación <strong>de</strong>l<br />

espectro original.<br />

Amplitud<br />

1<br />

0.5<br />

0<br />

-0.5<br />

Sinusoi<strong>de</strong> 1KHz<br />

-1<br />

0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01<br />

Tiempo (s)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

17


17/11/99<br />

Magnitud <strong>DFT</strong><br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

80<br />

60<br />

40<br />

20<br />

0<br />

-4000 -3000 -2000 -1000 0 1000 2000 3000<br />

Frecuencia (Hz)<br />

❒ <strong>DFT</strong> <strong>de</strong> señales aperiódicas<br />

<strong>DFT</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ La señal aperiódica x(t) <strong>de</strong>be ser muestreada durante un tiempo D. El<br />

<strong>DFT</strong> produce los coeficientes espectrales correspondientes a la<br />

extensión periódica <strong>de</strong> x(t) con periodo D. El espacio entre frecuencias<br />

es f 0 =1/D. A f 0 se le <strong>de</strong>nomina resolución frecuencial. Esta <strong>de</strong>pen<strong>de</strong><br />

sólo <strong>de</strong> la duración. Si la señal está limitada en el tiempo, la forma <strong>de</strong><br />

aumentar la duración es añadir ceros.<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

18


Magnitud<br />

Magnitud<br />

1.5<br />

0.5<br />

17/11/99<br />

1<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

Señal x(t)=exp(-t)<br />

0<br />

0 0.5 1<br />

Tiempo (s)<br />

1.5 2<br />

1.5<br />

1<br />

0.5<br />

Señal x(t)=exp(-t)<br />

0<br />

0 0.5 1 1.5 2<br />

Tiempo (s)<br />

2.5 3 3.5 4<br />

Magnitud<br />

Magnitud<br />

5<br />

4.5<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Señal x(t)=exp(-t)<br />

0<br />

-4 -3 -2 -1 0 1 2 3 4<br />

Frecuencia (Hz)<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

Señal x(t)=exp(-t)<br />

0<br />

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2<br />

Frecuencia (Hz)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

19


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ Tal y como se observa en las figuras <strong>de</strong> la páginas anteriores<br />

hay varias formas <strong>de</strong> dibujar la gráfica <strong>de</strong> la <strong>DFT</strong> <strong>de</strong> una<br />

secuencia <strong>de</strong> datos.<br />

❒ Una <strong>de</strong> ellas es indicarlo directamente mediante el índice k. Se<br />

pue<strong>de</strong> observar que |X T [k]| es simétrico respecto a N/2.<br />

❒ Otra forma es reor<strong>de</strong>nando los datos en función <strong>de</strong> la frecuencia.<br />

De la <strong>de</strong>finición <strong>de</strong> <strong>DFT</strong> sabemos que cada intervalo <strong>de</strong> la<br />

<strong>DFT</strong> es 1/(Nt s ). La <strong>DFT</strong> nos da la <strong>Transformada</strong> <strong>de</strong> <strong>Fourier</strong><br />

para las frecuencias<br />

f -(N/2)/(Nt s ),...,-1/(Nt s ),0, 1/(Nt s ), 2/(Nt s )...(N/2-1)/(Nt s )<br />

k (N/2) ,..., N-1 ,0, 1 , 2 ... (N/2-1)<br />

❒ La máxima frecuencia <strong>de</strong>tectable por la <strong>DFT</strong> es lógicamente<br />

f s /2, <strong>de</strong> acuerdo con el Teorema <strong>de</strong>l Muestreo.<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

20


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ En general, el <strong>DFT</strong> es una aproximación a las series o a la<br />

transformada <strong>de</strong> <strong>Fourier</strong>. Es muy importante elegir<br />

correctamente los parámetros <strong>de</strong>l <strong>DFT</strong> (frecuencia <strong>de</strong><br />

muestreo f s =1/t s , resolución <strong>de</strong> frecuencia f 0 =1/D).<br />

❒ La frecuencia <strong>de</strong> muestreo se <strong>de</strong>termina a partir <strong>de</strong>l teorema<br />

<strong>de</strong> muestreo. Si queremos <strong>de</strong>tectar el espectro <strong>de</strong> una señal<br />

hasta una máxima frecuencia B , la frecuencia <strong>de</strong> muestreo<br />

<strong>de</strong>berá ser 2B.<br />

❒ La duración <strong>de</strong>l muestreo se elige para una <strong>de</strong>terminada<br />

resolución <strong>de</strong> frecuencia.<br />

❒ Una regla <strong>de</strong> diseño muy útil es: Si queremos los M primeros<br />

armónicos <strong>de</strong> una señal con un error máximo <strong>de</strong>l 5%, el<br />

número <strong>de</strong> muestreos N=8M.<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

21


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ Ejemplo: Queremos <strong>de</strong>terminar mediante un algoritmo digital<br />

el espectro <strong>de</strong> la señal x(t)=exp(-t). La máxima frecuencia <strong>de</strong><br />

la que pi<strong>de</strong> su coeficiente es f B =1Hz. A<strong>de</strong>más el armónico<br />

correspondiente a f=0.3Hz <strong>de</strong>be tener un error menor que el<br />

5%. Calcular f s ,D y N.<br />

◆ De acuerdo con el Teorema <strong>de</strong>l Muestreo f s =2f B =2Hz.<br />

◆ Escogemos una resolución frecuencial <strong>de</strong> f 0 =0.1Hz, <strong>de</strong> forma que<br />

D=1/0.1=10s.<br />

◆ La frecuencia 0.3Hz se correspon<strong>de</strong> con el índice k=3, por lo que<br />

N=3·8=24 muestreos. Esto me indica que fs =N/D=24/10=2.4 > 2.<br />

◆ Si el objetivo es hacer que N sea lo menor posible (para facilitar los<br />

cálculos <strong>de</strong>l <strong>DFT</strong>), se pue<strong>de</strong> elegir f0 =0.3Hz, D=1/0.3=3.33s, k=1 y<br />

N=1·8=8.<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

22


Magnitud<br />

Magnitud<br />

1.5<br />

1<br />

0.5<br />

17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

Señal x(t)=exp(-t)<br />

0<br />

0 2 4 6<br />

Tiempo (s)<br />

8 10<br />

1.5<br />

1<br />

0.5<br />

Señal x(t)=exp(-t)<br />

0<br />

0 0.5 1 1.5<br />

Tiempo (s)<br />

2 2.5 3<br />

Magnitud<br />

Magnitud<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Señal x(t)=exp(-t)<br />

0<br />

-1.5 -1 -0.5 0<br />

Frecuencia (Hz)<br />

0.5 1 1.5<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

Señal x(t)=exp(-t)<br />

0<br />

-1.5 -1 -0.5<br />

Frecuencia (Hz)<br />

0 0.5 1<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

23


17/11/99<br />

<strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ Ventanas espectrales: Si tenemos señales truncadas, el<br />

espectro <strong>de</strong> la señal muestra unos picos que no <strong>de</strong>caen lo<br />

suficientemente rápido con la frecuencia. Para ello po<strong>de</strong>mos<br />

utilizar ventanas en el dominio temporal para suavizar esas<br />

discontinuida<strong>de</strong>s. Los picos serán menores aunque el ancho <strong>de</strong><br />

banda <strong>de</strong> cada lóbulo aumentará.<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

24


5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Resumen <strong>de</strong> Series y <strong>Transformada</strong>s <strong>de</strong> <strong>Fourier</strong><br />

❒ Series <strong>de</strong> <strong>Fourier</strong><br />

17/11/99<br />

◆ Señal Continua Periódica (periodo T), Espectro Discreto Aperiódico<br />

(intervalo <strong>de</strong> discretización 1/T)<br />

❒ <strong>Transformada</strong> <strong>de</strong> <strong>Fourier</strong><br />

◆ Señal Continua Aperiódica, Espectro Continuo Aperiódico.<br />

❒ <strong>Transformada</strong> <strong>de</strong> <strong>Fourier</strong> <strong>Discreta</strong> en el Tiempo<br />

◆ Señal <strong>Discreta</strong> Aperiódica (intervalo <strong>de</strong> discretización t s ), Espectro<br />

Continuo Periódico (periodo 1/ t s )<br />

❒ <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong><br />

◆ Señal <strong>Discreta</strong> Periódica (intervalo <strong>de</strong> discretización t s , periodo T),<br />

Espectro Discreto (intervalo <strong>de</strong> discretización 1/T)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

25


17/11/99<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ La importancia <strong>de</strong> <strong>DFT</strong> estriba en que es posible utilizar un<br />

algoritmo, llamado FFT, que lo realiza <strong>de</strong> forma eficiente y<br />

rápida.<br />

❒ El <strong>DFT</strong> <strong>de</strong> una secuencia x[n] es :<br />

N −1<br />

∑<br />

n=<br />

0<br />

[]<br />

nk<br />

Xk [ ] = xnW k= 01 , , , N−1<br />

don<strong>de</strong><br />

N<br />

W = e<br />

N<br />

−j2π/<br />

N<br />

Una primera aproximación al cálculo <strong>de</strong>l <strong>DFT</strong> requeriría la suma<br />

compleja <strong>de</strong> N multiplicaciones complejas para cada uno <strong>de</strong> las<br />

salidas. En total, N 2 multiplicaciones complejas y N 2 sumas complejas<br />

para realizar un <strong>DFT</strong> <strong>de</strong> N puntos.<br />

Lo que consigue el algoritmo FFT es simplicar enormemente el<br />

cálculo <strong>de</strong>l <strong>DFT</strong> introduciendo “atajos” matemáticos para reducir<br />

drasticamente el número <strong>de</strong> operaciones.<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

26


17/11/99<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

❒ La optimización <strong>de</strong>l proceso <strong>de</strong> cálculo <strong>de</strong>l <strong>DFT</strong> está basado<br />

en las siguientes i<strong>de</strong>as :<br />

◆ Simetría y Periodicidad <strong>de</strong> los términos W N .<br />

n+ N<br />

W = W<br />

N<br />

n+ N/2<br />

W =−W<br />

N<br />

◆ Elegimos el valor <strong>de</strong> N <strong>de</strong> forma que N=r m . Al factor r se le <strong>de</strong>nomina<br />

radix y su valor más habitual es 2, <strong>de</strong> forma que N=2 m y algoritmo se<br />

<strong>de</strong>nomina FFT radix-2.<br />

❒ Radix-2 FFT-Decimación en el Tiempo.<br />

n<br />

N<br />

n<br />

N<br />

◆ Dividimos la secuencia <strong>de</strong> datos <strong>de</strong> entrada x[n] en dos grupos, uno <strong>de</strong><br />

índices par y el otro <strong>de</strong> índices impar. Con estas sub-secuencias se<br />

realiza el <strong>DFT</strong> <strong>de</strong> N/2 puntos y sus resultados se combinan para formar<br />

el <strong>DFT</strong> <strong>de</strong> N puntos.<br />

W<br />

Nk<br />

N<br />

= 1<br />

2<br />

W = W<br />

N N/<br />

2<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

27


17/11/99<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

N / 2−1 ∑ N<br />

N/<br />

2−1 ∑ N<br />

N / 2−1 ∑ N<br />

N / 2−1 N ∑<br />

n=<br />

0<br />

n=<br />

0<br />

n=<br />

0<br />

n=<br />

0<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

2nk<br />

( 2n+ 1)<br />

k<br />

2nk<br />

k<br />

[] = [ 2 ] + [ 2 + 1] = [ 2 ] + [ 2 + 1]<br />

X k x n W x n W x n W W x n W<br />

[] = [ 2 ]<br />

[] = [ 2 + 1]<br />

Sustituimos x n x n<br />

1<br />

x n x n<br />

2<br />

2nk<br />

W = W<br />

N<br />

nk<br />

N / 2<br />

N / 2−1 ∑ 1 N / 2<br />

N / 2−1 N ∑ 2 N / 2<br />

n=<br />

0<br />

n=<br />

0<br />

nk k<br />

nk<br />

k<br />

[] [] [] [] []<br />

Xk = x nW + W x nW = Yk + W Zk k=<br />

012 ,, , , N − 1<br />

◆ Esta última ecuación muestra que el <strong>DFT</strong> <strong>de</strong> N puntos es la suma <strong>de</strong> dos<br />

<strong>DFT</strong>s <strong>de</strong> N/2 puntos (Y[k], Z[k]) realizadas con las secuencias par e impar<br />

<strong>de</strong> la secuencia original x[n]. Cada término Z[k] es multiplicado por un<br />

factor W N k , llamado “twiddle factor”. Ya que WN k+N/2 =-WN k y <strong>de</strong>bido a la<br />

periodicidad <strong>de</strong> Y[k] y Z[k] (periodo N/2) po<strong>de</strong>mos poner X[k] como<br />

[ ] = [ ] +<br />

k<br />

N [ ] ⋅ [ ]<br />

[ / 2]<br />

[ ] k[<br />

] [ ]<br />

Xk Yk W k Zk<br />

X k + N = Y k −WNk ⋅Z<br />

k<br />

Para k = 01 ,, , N / 2−1 N<br />

2nk<br />

N<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

28


17/11/99<br />

x[N-2]<br />

x[N-1]<br />

x[0]<br />

x[2]<br />

x[1]<br />

x[3]<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

<strong>DFT</strong><br />

N/2 Puntos<br />

<strong>DFT</strong><br />

N/2 Puntos<br />

Y[0]<br />

Y[1]<br />

Y[N/2-1]<br />

Z[0]<br />

Z[1]<br />

Z[N/2-1]<br />

W0<br />

x<br />

W1<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ Los dos <strong>DFT</strong> <strong>de</strong> N/2 puntos se pue<strong>de</strong> a su vez dividir para formar 4 <strong>DFT</strong>s<br />

<strong>de</strong> N/4 puntos, lo que produce las siguientes ecuaciones<br />

2k<br />

2k<br />

Yk [] = Uk [] + WN Vk []<br />

Zk [] = Rk [] + WN Sk []<br />

2k<br />

2k<br />

Yk [ + N/ 4]<br />

= Uk [] −WVk<br />

[] Zk [ + N/ 4]<br />

= Rk [] −WSk<br />

[]<br />

Para k = 01 ,, , N / 4−1 N<br />

x<br />

WN/2-1<br />

x<br />

-1<br />

-1<br />

-1<br />

+<br />

+<br />

+<br />

+<br />

+<br />

+<br />

Para k = 01 ,, , N /<br />

4−1 X[0]<br />

X[1]<br />

X[N/2-1]<br />

X[N/2]<br />

X[N/2+1]<br />

X[N-1]<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

N<br />

29


17/11/99<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ El proceso pue<strong>de</strong> repetirse sucesivamente hasta llegar a computar el<br />

<strong>DFT</strong> <strong>de</strong> dos valores x[n], en concreto x[k] y x[k+N/2], para<br />

k=0,1,...,N/2-1. Para una <strong>DFT</strong> <strong>de</strong> N=8 puntos tenemos el siguiente<br />

esquema Butterfly<br />

x[0]<br />

x[4]<br />

x[2]<br />

x[6]<br />

x[1]<br />

x[5]<br />

x[3]<br />

x[7]<br />

0<br />

W<br />

x<br />

0<br />

W<br />

x<br />

0<br />

W<br />

x<br />

0<br />

W<br />

x<br />

-1<br />

-1<br />

-1<br />

-1<br />

+<br />

+<br />

+<br />

+<br />

+<br />

+<br />

+<br />

+<br />

0<br />

W<br />

x<br />

2<br />

W<br />

x<br />

0<br />

W<br />

x<br />

2<br />

W<br />

x<br />

-1<br />

-1<br />

-1<br />

-1<br />

Etapa 1 Etapa 2 Etapa 3<br />

+<br />

+<br />

+<br />

+<br />

+<br />

+<br />

+<br />

+<br />

0<br />

W<br />

x<br />

1<br />

W<br />

x<br />

2<br />

W<br />

x<br />

3<br />

W<br />

x<br />

-1<br />

-1<br />

-1<br />

-1<br />

+ X[0]<br />

+ X[1]<br />

+ X[2]<br />

+ X[3]<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

+<br />

+<br />

+<br />

+<br />

X[4]<br />

X[5]<br />

X[6]<br />

X[7]<br />

30


17/11/99<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ Las características <strong>de</strong> una FFT <strong>de</strong> N puntos <strong>de</strong>cimada en el tiempo se<br />

sumarizan en la siguiente tabla :<br />

Número <strong>de</strong><br />

Grupos<br />

Butterflies por<br />

Grupo<br />

Exponentes<br />

Twiddle Factors<br />

Etapa 1 Etapa 2 Etapa 3 Etapa log2N<br />

N/2 N/4 N/8 1<br />

◆ Por cada butterfly tenemos una multiplicación y dos sumas complejas.<br />

Hay N/2 butterflies por etapa y log 2 N etapas.<br />

✦ El número total <strong>de</strong> multiplicaciones es ½N·log 2 N .<br />

✦ El número total <strong>de</strong> sumas es N·log 2 N .<br />

1 2 4 N/2<br />

(N/2)k,<br />

k=0<br />

(N/4)k,<br />

k=0,1<br />

(N/8)k,<br />

k=0,1,2,3<br />

k,<br />

k=0,1,...,N/2-1<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

31


17/11/99<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ Para pequeños valores <strong>de</strong> N, la diferencia pue<strong>de</strong> parecer pequeña, pero<br />

para valores gran<strong>de</strong>s la diferencia es enorme. Para un <strong>DFT</strong> <strong>de</strong> 1024<br />

puntos, el número <strong>de</strong> multiplicaciones en un FFT es aprox. 5000<br />

mientras que para un <strong>DFT</strong> normal es <strong>de</strong> aprox. 10 6 .<br />

❒ Radix-2 FFT-Decimación en Frecuencia<br />

◆ Expresaremos el FFT como suma <strong>de</strong> los FFT <strong>de</strong> dos secuencias, la<br />

primera con los N/2 primeros datos y la segunda con los N/2 últimos.<br />

N−1<br />

∑ N<br />

N / 2−1 ∑ N<br />

N−1<br />

∑<br />

nk<br />

N<br />

n=<br />

0<br />

n=<br />

0<br />

n= N/<br />

2<br />

N / 2−1 ∑ []<br />

nk<br />

N<br />

N/<br />

2−1 ∑ [ / 2]<br />

( n+ N/ 2)<br />

k<br />

N<br />

n=<br />

0<br />

n=<br />

0<br />

nk<br />

nk<br />

[] = [] = [] + []<br />

Xk xnW xnW xnW<br />

= xnW + xn+ N W<br />

N / 2−1 ∑ N<br />

N / 2−1 ∑<br />

n=<br />

0<br />

n=<br />

0<br />

nk k<br />

[] ( 1) [ / 2]<br />

= xnW + − xn+ N W<br />

N / 2−1 ∑<br />

k [ [] ( ) [ ]<br />

nk<br />

= xn + − 1 xn+ N/ 2 W k= 012 , , , ,<br />

N−1<br />

n=<br />

0<br />

N<br />

nk<br />

N<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

32


17/11/99<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ La <strong>de</strong>cimación en frecuencia se obtiene dividiendo la secuencia <strong>de</strong><br />

salida (X[k]) en dos ecuaciones, una para los índices pares y otro para<br />

los impares.<br />

N / 2−1 ∑<br />

[ ]<br />

[ 2 ] = [] + [ + / 2]<br />

X k xn xn N W<br />

n=<br />

0<br />

N / 2−1 ∑<br />

[ [] [ ]<br />

2nk<br />

N<br />

nk<br />

= xn + xn+ N/ 2 W k= 01 , , , N/<br />

2−1 n=<br />

0<br />

N/<br />

2−1 ∑<br />

[ ]<br />

[ 2 + 1] = [] − [ + / 2]<br />

N / 2<br />

X k xn xn N W<br />

n=<br />

0<br />

N / 2−1 ∑<br />

n( 2k+ 1)<br />

N<br />

n<br />

[ [ [] [ ] N]<br />

nk<br />

= xn − xn+ N/ 2 W W k= 01 , , , N/<br />

2−1 n=<br />

0<br />

◆ X[2k] y X[2k+1] son los resultados <strong>de</strong>l <strong>DFT</strong> <strong>de</strong> N/2 puntos realizado<br />

con las suma y la diferencia entre la primera y segunda mita<strong>de</strong>s <strong>de</strong> la<br />

secuencia <strong>de</strong> entrada.<br />

N/<br />

2<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

33


17/11/99<br />

x[0]<br />

x[1]<br />

x[N/2-1]<br />

x[N/2]<br />

x[N/2+1]<br />

x[N-1]<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

-1<br />

-1<br />

-1<br />

+<br />

+<br />

+<br />

+<br />

+<br />

+<br />

0<br />

W<br />

x<br />

1<br />

W<br />

x<br />

W<br />

x<br />

N/2-1<br />

<strong>DFT</strong><br />

N/2 Puntos<br />

<strong>DFT</strong><br />

N/2 Puntos<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

X[0]<br />

X[2]<br />

X[N-2]<br />

X[1]<br />

X[3]<br />

X[N-1]<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

34


17/11/99<br />

x[0]<br />

x[1]<br />

x[2]<br />

x[3]<br />

x[4]<br />

x[5]<br />

x[6]<br />

x[7]<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

W<br />

x<br />

0<br />

-1<br />

+<br />

-1 +<br />

W<br />

x<br />

-1<br />

+<br />

1<br />

W<br />

x<br />

2<br />

-1<br />

+<br />

W<br />

x<br />

3<br />

+<br />

+<br />

+<br />

+<br />

-1<br />

-1<br />

-1<br />

-1<br />

+<br />

+<br />

+<br />

W<br />

+ x<br />

2<br />

W<br />

x<br />

0<br />

+<br />

+<br />

+<br />

W<br />

+ x<br />

2<br />

W<br />

x<br />

0<br />

Butterfly<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

+<br />

W<br />

+ x<br />

0<br />

X[0]<br />

X[4]<br />

X[2]<br />

X[1]<br />

X[5]<br />

X[3]<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

+<br />

W<br />

+ x<br />

0<br />

+<br />

W<br />

+ x<br />

0<br />

+<br />

W<br />

+ x<br />

0<br />

Etapa 1 Etapa 2 Etapa 3<br />

-1<br />

-1<br />

-1<br />

-1<br />

X[6]<br />

X[7]<br />

35


17/11/99<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

◆ Las característica <strong>de</strong>l FFT <strong>de</strong>cimado en frecuencia son<br />

Número <strong>de</strong><br />

Grupos<br />

Butterflies por<br />

Grupo<br />

Exponentes<br />

Twiddle Factors<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Etapa 1 Etapa 2 Etapa 3 Etapa log2N<br />

1 2 4 N/2<br />

N/2 N/4 N/8 1<br />

n,<br />

n=0,...,N/2-1<br />

2n,<br />

n=0,...,N/4-1<br />

4n,<br />

k=0,...,N/8-1<br />

(N/2)n,<br />

n=0<br />

❒ Se pue<strong>de</strong> observar que en el caso <strong>de</strong> <strong>de</strong>cimación en el tiempo, la secuencia<br />

<strong>de</strong> entrada <strong>de</strong>be ser reor<strong>de</strong>nada mientras que la salida aparece en el or<strong>de</strong>n<br />

correcto.<br />

❒ Para la <strong>de</strong>cimación en frecuencia, la secuencia está en or<strong>de</strong>n mientras que<br />

la salida habrá que reor<strong>de</strong>narla.<br />

❒ Se da la circunstancia que esa reor<strong>de</strong>nación es simplemente invertir el<br />

índice en binario. Por ejemplo, en la misma posición que x[1] aparece<br />

X[4], y 001 invertido es 100.<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

36


17/11/99<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

❒ <strong>DFT</strong> en 2 dimensiones<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ En aplicaciones como procesamiento <strong>de</strong> imagen, las señales <strong>de</strong>pen<strong>de</strong>n<br />

<strong>de</strong> dos variables n1 y n2 (el eje x y el eje y en una imagen bidimensional).<br />

Por tanto necesitamos exten<strong>de</strong>r el concepto <strong>de</strong> <strong>DFT</strong> a dos dimensiones.<br />

◆ Dada una secuencia x(n1 ,n2 ), se <strong>de</strong>fine la <strong>DFT</strong> como<br />

( 1 , 2)<br />

Xk k<br />

⎧N1<br />

−1N2−1<br />

− j( 2π N1 ) k1n1 − j( 2π<br />

N2) k2n2 ⎪∑∑xn<br />

( 1 , n2) e e 0≤ n1 ≤ N1 −1, 0≤ n2 ≤ N2<br />

−1<br />

⎪n1=<br />

0n2=<br />

0<br />

= ⎨<br />

⎪<br />

0,<br />

en otro caso<br />

⎪<br />

⎩<br />

◆ La I<strong>DFT</strong> <strong>de</strong> X(k 1 ,k 2 ) se <strong>de</strong>fine como<br />

( 1 , 2)<br />

xn n<br />

⎧ N1<br />

−1N1<br />

−1<br />

1<br />

j( 2π N1 ) k1n1 j( 2π<br />

N2) k2n2 ⎪ ∑∑<br />

X( k1 , k2) e e 0≤ n1 ≤ N1 −1, 0≤ n2 ≤ N2<br />

−1<br />

⎪N1N2<br />

k1<br />

= 0k2=<br />

0<br />

= ⎨<br />

⎪<br />

0,<br />

en otro caso<br />

⎪<br />

⎩<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

37


❒ FFT-2D<br />

17/11/99<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

◆ Al igual que en el caso <strong>de</strong> señales unidimensionales, disponemos <strong>de</strong> un<br />

eficiente algoritmo para realizar el <strong>DFT</strong>.<br />

◆ Descomposición Fila-Columna<br />

✦ Reescribimos la ecuación anterior<br />

N1<br />

−1N2−1<br />

− ( 2π ) − ( 2π<br />

)<br />

( 1 , 2) = ( 1 , 2)<br />

X k k x n n e e<br />

=<br />

∑<br />

n = 0n<br />

= 0<br />

N<br />

n<br />

1<br />

1<br />

−1<br />

= 0<br />

∑<br />

2<br />

( 1 2)<br />

j N k n j N k n<br />

( 2 )<br />

1 1 1 2 2 2<br />

2<br />

( 1 2) ( 1 2)<br />

✦ Si consi<strong>de</strong>ramos n 2 fijo (pe, n 2 =0), f(k 1 ,n 2 ) es el <strong>DFT</strong> unidimensional <strong>de</strong><br />

x(n 1 ,n 2 )| n2=0 con respecto a la variable n 1 . De esta forma obtenemos una<br />

matriz f(k 1 ,n 2 ) para todos los posibles valores <strong>de</strong> n 2 (Figura).<br />

✦ Ahora po<strong>de</strong>mos calcular X(k 1 ,k 2 ) a partir <strong>de</strong> f(k 1 ,n 2 ),<br />

( 2 )<br />

N −1<br />

− j π N k n − j π N k n<br />

1<br />

2 2 2 1 1 1<br />

∑ f k , n e , don<strong>de</strong> f k , n = ∑x<br />

n , n e<br />

N<br />

−1<br />

2<br />

( 1 , 2) = ( 1 , 2)<br />

∑<br />

Xk k fk n e<br />

n = 0<br />

2<br />

( 2π<br />

)<br />

− j N k n<br />

2 2 2<br />

n<br />

2<br />

= 0<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

38


N 2 -1<br />

17/11/99<br />

n 2<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

✦ Fijamos k 1 (pe, k 1 =0), por lo que f(k 1 ,n 2 )| k1=0 es una columna <strong>de</strong> f(k 1 ,n 2 ) y<br />

X(0,k 2 ) es la <strong>DFT</strong> unidimensional <strong>de</strong> f(k 1 ,n 2 )| k1=0 con respecto a la variable<br />

n 2 . Obtendremos X(k 1 ,k 2 ) haciendo N 1 <strong>DFT</strong> 1D para cada valor <strong>de</strong> k 1<br />

(Figura).<br />

x(n<br />

n2 1 ,n2 ) f(k1 ,n2 )<br />

N 1 -1<br />

n 1<br />

FFT 1D<br />

N 1 puntos<br />

N 2 -1<br />

N 1 -1<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

k 1<br />

39


N 2 -1<br />

17/11/99<br />

n 2<br />

FFT (Fast <strong>Fourier</strong> Transform)<br />

f(k 1 ,n 2 )<br />

N 1 -1<br />

k 1<br />

FFT 1D<br />

N 2 puntos<br />

N 2 -1<br />

Número <strong>de</strong><br />

Multiplicaciones<br />

2 2<br />

Calculo Directo N1N2 Descomposición<br />

Fila-Columna con<br />

FFT 1D<br />

NN<br />

2<br />

1 2<br />

k 2<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Número <strong>de</strong><br />

Sumas<br />

2 2<br />

N1N2 X(k 1 ,k 2 )<br />

log 2( NN 1 2)<br />

NN 1 2log2( NN 1 2)<br />

N 1 -1<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

k 1<br />

40


17/11/99<br />

>> X = fft(x)<br />

FFT con MATLAB<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Hace la FFT <strong>de</strong>l vector x. “X” es un vector <strong>de</strong> números complejos<br />

or<strong>de</strong>nados <strong>de</strong>s<strong>de</strong> k=0...N-1. Se recomienda que la longitud <strong>de</strong>l vector<br />

x sea una potencia <strong>de</strong> 2. Lo que no se recomienda es que la longitud<br />

<strong>de</strong> x sea un número primo.<br />

Otra opción <strong>de</strong>l la FFT es especificar el número <strong>de</strong> puntos con el<br />

que se quiere hacer la FFT.<br />

>> X = fft(x,N)<br />

Si la longitud <strong>de</strong> x es menor que N, el vector se rellena con<br />

ceros. Si es mayor, el vector es truncado.<br />

>> x = ifft(X)<br />

Hace la FFT inversa <strong>de</strong>l vector X. También se pue<strong>de</strong> especificar el<br />

número <strong>de</strong> puntos N con el que quiero hacer la IFFT.<br />

>> x = ifft(X,N)<br />

>> X = fftshift(X)<br />

Reor<strong>de</strong>na el vector X en or<strong>de</strong>n creciente <strong>de</strong> frecuencia. Si “X” es el<br />

vector resultante <strong>de</strong> hacer una FFT, utilizando esta función<br />

reor<strong>de</strong>namos los puntos en función <strong>de</strong> la frecuencia.<br />

❒ A continuación tienen unos ejemplos <strong>de</strong>l uso <strong>de</strong> las FFT. Los programas <strong>de</strong><br />

MATLAB utilizados los pue<strong>de</strong>n conseguir en el Web <strong>de</strong> la asignatura.<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

41


17/11/99<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

FFT con MATLAB: fftej1.m → x(t)=sin(2·π·20·t)+chirp(5-40)<br />

x(t)=sin(2· ·20·t)+chirp(5-40)<br />

N=128 D=1 s<br />

x(t)<br />

|X[k]|<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

x(t)<br />

-2<br />

0 0.2 0.4 0.6 0.8 1<br />

Tiempo (s)<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

Módulo <strong>de</strong> Coeficientes Espectrales |X[k]|<br />

-80<br />

0<br />

-60 -40 -20 0 20 40 60 80<br />

Frecuencia (Hz)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

42


17/11/99<br />

FFT con MATLAB: fftej1.m →<br />

Fase (º)<br />

x(t)<br />

2000<br />

1500<br />

1000<br />

500<br />

-500<br />

0<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=sin(2·π·20·t)+chirp(5-40)<br />

x(t)=sin(2· ·20·t)+chirp(5-40)<br />

N=128 D=1 s<br />

Fase <strong>de</strong> Coeficientes Espectrales X[k]<br />

-1000<br />

-80 -60 -40 -20 0 20 40 60 80<br />

Frecuencia (Hz)<br />

Comparación entre x(t) y su reconstrucción a partir <strong>de</strong> X[k]<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

0 0.2 0.4 0.6<br />

Tiempo (t)<br />

0.8 1<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

43


x(t)<br />

17/11/99<br />

FFT con MATLAB: fftej1.m →<br />

-0.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

-1<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=sin(2·π·20·t)+chirp(5-40)<br />

x(t)=sin(2· ·20·t)+chirp(5-40)<br />

N=128 D=1 s<br />

Comparación entre x(t) y su reconstrucción a partir <strong>de</strong> X[k]<br />

-1.5<br />

0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99<br />

Tiempo (t)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

44


17/11/99<br />

FFT con MATLAB: fftej1.m →<br />

|X[k]|<br />

x(t)<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=sin(2·π·20·t)+chirp(5-40)<br />

x(t)=sin(2· ·20·t)+chirp(5-40)<br />

N=32 D=1 s<br />

Módulo <strong>de</strong> Coeficientes Espectrales |X[k]|<br />

Aliasing 32-20=12 Hz<br />

-20<br />

0<br />

-15 -10 -5 0 5 10 15<br />

Frecuencia (Hz)<br />

Comparación entre x(t) y su reconstrucción a partir <strong>de</strong> X[k]<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

-0.5<br />

-1<br />

-1.5<br />

-2<br />

-2.5<br />

0 0.2 0.4 0.6<br />

Tiempo (t)<br />

0.8 1<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

45


17/11/99<br />

FFT con MATLAB: fftej2.m →<br />

x(t)<br />

|X[k]|<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=exp x(t)= exp(-2·t)+0.2·chirp(60-100)<br />

(-2·t)+0.2·chirp(60-100)<br />

N=256 D=1 s<br />

x(t)=exp(-2t)+0.2·chirp(60-100)<br />

-0.2<br />

0 0.2 0.4 0.6 0.8 1<br />

Tiempo (s)<br />

0.45<br />

0.4<br />

0.35<br />

0.3<br />

0.25<br />

0.2<br />

0.15<br />

0.1<br />

0.05<br />

Módulo <strong>de</strong> los coeficientes espectrales |X[k]|<br />

-150<br />

0<br />

-100 -50 0 50 100 150<br />

Frecuencia (Hz)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

46


17/11/99<br />

FFT con MATLAB: fftej2.m →<br />

Fase(X[k]) (º)<br />

1500<br />

1000<br />

500<br />

-500<br />

-1000<br />

0<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=exp x(t)= exp(-2·t)+0.2·chirp(60-100)<br />

(-2·t)+0.2·chirp(60-100)<br />

N=256 D=1 s<br />

Fase <strong>de</strong> los coeficientes espectrales X[k]<br />

-1500<br />

-150 -100 -50 0 50 100 150<br />

Frecuencia (Hz)<br />

x(t)<br />

1.4<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

Comparación entre x(t) y su reconstrucción a partir <strong>de</strong> X[k]<br />

-0.2<br />

0 0.2 0.4 0.6 0.8 1<br />

Tiempo (t)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

47


17/11/99<br />

x(t)<br />

FFT con MATLAB: fftej2.m →<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=exp x(t)= exp(-2·t)+0.2·chirp(60-100)<br />

(-2·t)+0.2·chirp(60-100)<br />

N=256 D=1 s<br />

Comparación entre x(t) y su reconstrucción a partir <strong>de</strong> X[k]<br />

0.96 0.97 0.98 0.99 1<br />

Tiempo (t)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

48


17/11/99<br />

|X[k]|<br />

FFT con MATLAB: fftej2.m →<br />

x(t)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=exp x(t)= exp(-2·t)+0.2·chirp(60-100)<br />

(-2·t)+0.2·chirp(60-100)<br />

N=64 D=0.1 s<br />

0.1<br />

0.09<br />

0.08<br />

0.07<br />

0.06<br />

0.05<br />

0.04<br />

0.03<br />

0.02<br />

0.01<br />

Módulo <strong>de</strong> los coeficientes espectrales |X[k]|<br />

0<br />

-400 -300 -200 -100 0 100<br />

Frecuencia (Hz)<br />

200 300 400<br />

1.2<br />

1.1<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

Comparación entre x(t) y su reconstrucción a partir <strong>de</strong> X[k]<br />

0.6<br />

0 0.02 0.04 0.06 0.08 0.1<br />

Tiempo (t)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

49


17/11/99<br />

FFT con MATLAB: fftej3.m →<br />

x(t)<br />

|X[k]|<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=exp x(t)= exp(-2·t)·sin(2· (-2·t)·sin(2·π·200·t) ·200·t)<br />

N=128 D=0.2 s<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

x(t)=exp(-2t)·sin(2·p·200·t)<br />

-1<br />

0 0.05 0.1<br />

Tiempo (t)<br />

0.15 0.2<br />

0.09<br />

0.08<br />

0.07<br />

0.06<br />

0.05<br />

0.04<br />

0.03<br />

0.02<br />

0.01<br />

Módulo <strong>de</strong> los coeficientes espectrales <strong>de</strong> x(t)<br />

-400<br />

0<br />

-300 -200 -100 0 100 200 300 400<br />

Frecuencia (Hz)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

50


17/11/99<br />

Fase X[k]<br />

FFT con MATLAB: fftej3.m →<br />

200<br />

150<br />

100<br />

50<br />

-50<br />

-100<br />

-150<br />

0<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=exp x(t)= exp(-2·t)·sin(2· (-2·t)·sin(2·π·200·t) ·200·t)<br />

N=128 D=0.2 s<br />

Fase <strong>de</strong> los coeficientes espectrales X[k]<br />

-200<br />

-400 -300 -200 -100 0 100 200 300 400<br />

Frecuencia (Hz)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

51


17/11/99<br />

FFT con MATLAB: fftej4.m →<br />

|X[k]|<br />

x(t)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=sin(2·π·200·t+5·sin(2·<br />

x(t)=sin(2· ·200·t+5·sin(2·π·2·t)) ·2·t))<br />

N=256 D=0.5 s<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

x(t)=sin(2·pi·200·t+5·sin(2·pi·2·t)<br />

-1<br />

0 0.1 0.2 0.3<br />

Tiempo (t)<br />

0.4 0.5<br />

0.1<br />

0.09<br />

0.08<br />

0.07<br />

0.06<br />

0.05<br />

0.04<br />

0.03<br />

0.02<br />

0.01<br />

Módulo <strong>de</strong> los coeficientes espectrales <strong>de</strong> x(t)<br />

0<br />

-300 -200 -100 0<br />

Frecuencia (Hz)<br />

100 200 300<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

52


17/11/99<br />

FFT con MATLAB: fftej4.m →<br />

Fase X[k]<br />

7000<br />

6000<br />

5000<br />

4000<br />

3000<br />

2000<br />

1000<br />

0<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=sin(2·π·200·t+5·sin(2·<br />

x(t)=sin(2· ·200·t+5·sin(2·π·2·t)) ·2·t))<br />

N=256 D=0.5 s<br />

Fase <strong>de</strong> los coeficientes espectrales X[k]<br />

-1000<br />

-300 -200 -100 0 100 200 300<br />

Frecuencia (Hz)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

53


17/11/99<br />

FFT con MATLAB: fftej4.m →<br />

x(t)<br />

|X[k]|<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=sin(2·π·200·t+5·sin(2·<br />

x(t)=sin(2· ·200·t+5·sin(2·π·2·t)) ·2·t))<br />

N=128 D=0.2 s<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

x(t)=sin(2·pi·200·t+5·sin(2·pi·2·t)<br />

-1<br />

0 0.05 0.1<br />

Tiempo (t)<br />

0.15 0.2<br />

0.06<br />

0.05<br />

0.04<br />

0.03<br />

0.02<br />

0.01<br />

Módulo <strong>de</strong> los coeficientes espectrales <strong>de</strong> x(t)<br />

-400<br />

0<br />

-300 -200 -100 0 100 200 300 400<br />

Frecuencia (Hz)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

54


17/11/99<br />

FFT con MATLAB: fftej4.m →<br />

Fase X[k]<br />

700<br />

600<br />

500<br />

400<br />

300<br />

200<br />

100<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=sin(2·π·200·t+5·sin(2·<br />

x(t)=sin(2· ·200·t+5·sin(2·π·2·t)) ·2·t))<br />

N=128 D=0.2 s<br />

Fase <strong>de</strong> los coeficientes espectrales X[k]<br />

0<br />

-400 -300 -200 -100 0 100 200 300 400<br />

Frecuencia (Hz)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

55


17/11/99<br />

FFT con MATLAB: fftej5.m →<br />

x(t)<br />

|X[k]|<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=sin(2·π·200·t-5·<br />

x(t)=sin(2· ·200·t-5· exp(-2·t)) exp(-2·t))<br />

N=256 D=0.5 s<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

x(t)=sin(2·pi·200·t-5·exp(-2t))<br />

-1<br />

0 0.1 0.2<br />

Tiempo (t)<br />

0.3 0.4 0.5<br />

0.18<br />

0.16<br />

0.14<br />

0.12<br />

0.1<br />

0.08<br />

0.06<br />

0.04<br />

0.02<br />

Módulo <strong>de</strong> los coeficientes espectrales <strong>de</strong> x(t)<br />

0<br />

-300 -200 -100 0 100 200 300<br />

Frecuencia (Hz)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

56


17/11/99<br />

FFT con MATLAB: fftej5.m →<br />

Fase X[k]<br />

150<br />

100<br />

50<br />

-50<br />

-100<br />

0<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)=sin(2·π·200·t-5·<br />

x(t)=sin(2· ·200·t-5· exp(-2·t)) exp(-2·t))<br />

N=256 D=0.5 s<br />

-150<br />

-300 -200 -100 0 100 200 300<br />

Frecuencia (Hz)<br />

Comparación entre el espectro <strong>de</strong> señales moduladas<br />

en amplitud (x) y moduladas en frecuencia (o)<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

Fase <strong>de</strong> los coeficientes espectrales X[k]<br />

0<br />

160 170 180 190 200 210 220 230 240<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

57


17/11/99<br />

FFT con MATLAB: fftej7.m →<br />

x(t)<br />

|X[k]|<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

→ x(t)=exp x(t)= exp(-2·t)·sin(2· (-2·t)·sin(2·π·3·t) ·3·t)<br />

N=16 D=1 s<br />

Puntos <strong>de</strong> muestreo (--) y Reconstrucción a partir <strong>de</strong> X[k] (o)<br />

-0.8<br />

0 0.2 0.4 0.6 0.8 1<br />

Tiempo (s)<br />

0.25<br />

0.2<br />

0.15<br />

0.1<br />

0.05<br />

Módulo <strong>de</strong> los coeficientes espectrales <strong>de</strong> x(t)<br />

0<br />

-8 -6 -4 -2 0 2 4 6 8<br />

Frecuencia (Hz)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

58


17/11/99<br />

FFT con MATLAB: fftej7.m →<br />

Fase X[k]<br />

x(t)<br />

200<br />

150<br />

100<br />

50<br />

0<br />

-50<br />

-100<br />

-150<br />

→ x(t)=exp x(t)= exp(-2·t)·sin(2· (-2·t)·sin(2·π·3·t) ·3·t)<br />

N=16 D=1 s<br />

Fase <strong>de</strong> los coeficientes espectrales X[k]<br />

-200<br />

-8 -6 -4 -2 0 2 4 6 8<br />

Frecuencia (Hz)<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

Comparación entre x(t) y su reconstrucción a partir <strong>de</strong> X[k]<br />

-0.8<br />

0 0.5 1<br />

Tiempo (t)<br />

1.5 2<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

59


17/11/99<br />

FFT con MATLAB: fftej7.m →<br />

Fase X[k]<br />

|X[k]|<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

2000<br />

1500<br />

1000<br />

500<br />

-500<br />

-1000<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)= (1+t 2 /2)·sin(2·π·5·t)+ /2)·sin(2· ·5·t)+ 0.2·chirp(20-60)<br />

N=128 D=1 s<br />

Módulo <strong>de</strong> los coeficientes espectrales <strong>de</strong> x(t) |X[k]|<br />

-80<br />

0<br />

-60 -40 -20 0 20 40 60 80<br />

Frecuencia (Hz)<br />

0<br />

Fase <strong>de</strong> los coeficientes espectrales X[k]<br />

-1500<br />

-80 -60 -40 -20 0 20 40 60 80<br />

Frecuencia (Hz)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

60


17/11/99<br />

FFT con MATLAB: fftej8.m →<br />

x(t)<br />

2.5<br />

-0.5<br />

-1.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

-1<br />

-2<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

→ x(t)= (1+t 2 /2)·sin(2·π·5·t)+ /2)·sin(2· ·5·t)+ 0.2·chirp(20-60)<br />

N=128 D=1 s<br />

Comparación entre x(t) y su reconstrucción a partir <strong>de</strong> X[k]<br />

-2.5<br />

0 0.5 1 1.5<br />

Tiempo (t)<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

61


17/11/99<br />

|X[k]|<br />

FFT con MATLAB: goodbye.m<br />

N=4096 Fs=22050 Hz Nh=1000 Nh=1000<br />

goodbye.au<br />

0.25<br />

0.2<br />

0.15<br />

0.1<br />

0.05<br />

0<br />

-0.05<br />

-0.1<br />

-0.15<br />

-0.2<br />

-0.25<br />

0 0.05 0.1 0.15 0.2<br />

Tiempo (s)<br />

-1.5 -1 -0.5 0 0.5 1 1.5<br />

x 10 4<br />

-4<br />

9<br />

x 10<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

Espectro <strong>de</strong> goodbye.au<br />

0<br />

Frecuencia (Hz)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

62


17/11/99<br />

|X[k]<br />

FFT con MATLAB: goodbye.m<br />

N=4096 Fs=22050 Hz Nh=1000 Nh=1000<br />

9 x 10 -4 Espectro <strong>de</strong> goodbye.au filtrado<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

-1.5 -1 -0.5 0 0.5 1 1.5<br />

x 10 4<br />

0<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

63


17/11/99<br />

Amplitud y(t)<br />

0.03<br />

0.02<br />

0.01<br />

-0.01<br />

-0.02<br />

-0.03<br />

FFT con MATLAB: good_wnd good_wnd.m<br />

.m<br />

Ni=1245 Ni=1245<br />

Nw=128 Nw=128<br />

Nh=10 Nh=10<br />

Fs=22050 Hz<br />

0<br />

Señal (--) y Recontrucción con 10 armónicos (--)<br />

-0.04<br />

0.056 0.057 0.058 0.059 0.06 0.061 0.062 0.063<br />

Tiempo (s)<br />

|Y[k]|<br />

-1.5 -1 -0.5 0 0.5 1 1.5<br />

x 10 4<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

Espectro <strong>de</strong> la señal (--) y filtrado (--)<br />

0<br />

Frecuencia (Hz)<br />

5º Curso-Tratamiento Digital <strong>de</strong> Señal<br />

Capítulo 6: <strong>Transformada</strong> <strong>Discreta</strong> <strong>de</strong> <strong>Fourier</strong> (<strong>DFT</strong>)<br />

64

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!