You are on page 1of 20

Transformada de Fourier

Juan-Pablo Cceres a CCRMA Stanford University

Agosto, 2007

Contenidos
Introduccin o S ntesis Aditiva Anlisis Espectral a Transformada Continua de Fourier DFT Teoremas de Fourier FFT Convolucin o

Introduccin o

Toda seal n peridica, sin importar o cuan complicada parezca, puede ser reconstruida a partir de sinusoides cuyas frecuencias son mltiplos enteros de u una frecuencia fundamental, eligiendo las amplitudes y fases adecuadas.

Matemtico francs Joseph Fourier a e (1768-1830)

S ntesis Aditiva

Reglas de la S ntesis Aditiva (o s ntesis de Fourier):


Slo sinusoides pueden ser combinadas o Las frecuencias de todas las sinusoides deben estar armnicamente relacionas o

Slo tenemos libertad para cada sinusoide en la eleccin de: o o


Frecuencia fundamental Amplitud Fase

Expansin de S o ntesis Aditiva

Deep Note: La pieza de msica por computador ms famosa del mundo u a (James Andy Moorer) deep note.wav

Armnicos y Periodicidad o

Para una frecuencia fundamental f , cualquier mltiplo entero de f u es un armnico. o Una serie armnica puede expresarse entonce: o

f + 2f + 3f + 4f + 5f + 6f + 7f +
Una funcin (seal) f (t) es periodica son periodo si para o n cualquier t, f (t) = f (t + ), ( < t < )

Ejemplo: Onda Cuadrada

Ejemplos de S ntesis Aditiva: Clarinete


Con las siguientes reglas se puede construir un sonido tipo clarinete:

Slo los armonicos impares estan presentes o La Amplitud de los armnicos decrece a medida que el o nmero de armnico crece u o No hay diferencia de fase entre los armonicos (esto simplica la s ntesis) s(t) = 1 sin(nt + 0) con n impar n n=1 1 1 sin(3t + 0) + sin(5t + 0) + 3 5

s(t) = sin(t + 0) +

Anlisis Espectral a
Cualquier seal (waveform) perdica puede ser descompuesta en n o sinusoides Estudio de timbres musicales Clasicacin de sonidos por contenido espectral o Res ntesis usando s ntesis de Fourier Sintetizacin de sonidos hibridos (mezcla de sonidos o analizados, morphing) Creacin arbitraria de mezclas de frecuencias o El espectro (analizado) del clarinete debiera verse as :

Como detectamos (analizamos) las Frecuenias?

En el espectro anterior, aparecen claramente la energ de cada a sinusoide del clarinete. Como detectamos esto con anlisis? a Preambulo: Multiplicacin de Seales o n

Multiplicacin de Seales o n

Detector de Frecuencias
Multiplicacin de seales idnticas genera una seal que es siempre o n e n positiva.

x(t): sinusoide como seal de prueba (seal que ser n n a analizada) y(t): seal de sondeo, sinusoide con frecuencia variable n c(t): el producto de las 2 seles x(t)y(t) na

c(t) ser mayor cuando x(t) e y(t) sean idnticas. a e

Formalizacin del Detector o


Como seal de sondeo usamos un fasor: n ej2f t Este fasor tiene una sla componente en frecuencia. o Primero, multipicamos la sel de input con el fasor de sondeo: na x(t) ej2f t Finalmente sumamos (integramos) el producto: x(t)ej2f t

Transformada Continua de Fourier


X(f ) = t: Tiempo f : Frecuencia en Hz x(t): Seal de prueba n ej2f t : Fasor de Sondeo (Kernel Function) X(f ): Espectro en funcin de la frecuencia f o

x(t)ej2f t dt Transformada de Fourier

x(t) X(f ), es decir para una funcin x(t) existe un equivalente o X(f ). X(f ), el espectro, revela la fuerza (energ de varias componentes a) de frecuencia, ordenadas por frecuencia. La transformada de Fourier acta como un detector de energia en u frecuencia-dependiente

Transformada Inversa de Fourier

A partir de la transformada, podemos recuperar la seal original n tomando la Transformada Inversa de Fourier. x(t) =

X(f )ej2f t df

Transformada Inversa de Fourier

Notar la simetr con respecto a la Transformada de Fourier. a

Tranformadas Discretas (DFT)


El equivalente en tiempo y frecuencia discreta es la Transformada Discreta de Fourier (DFT)
N 1 n=0

X[k] =

x[n]e

2j kn N

DFT

N : Nmero de Samplers en x[n] u x[n]: Seal de prueba discreta (con n ndice n) X[k]: Espectro en funcin de la frecuencia discreta (con o ndice k) ejkn/N : Fasor de Sondeo discreto (Kernel Function)

Ejemplo

x(n) = A sin f 2

n N

Para simplicar este analisis, descomponemos nuestra transformada: X[k] =


N 1 n=0 N 1 n=0

x[n] cos

2 kn N 2 kn N

DCT

X[k] =

x[n] j sin

DST

Ejemplo
Para simplicar ms operemos en una DST real positiva a X[k] =
N 1 n=0

x[n] sin

2 kn N

DST

Para N = 8, f = 1 y k = 1, es decir ambas seal de sondeo y de n prueba son iguales: Sample Input Sondeo Producto 0 0 0 0 1
A 2 1 2 A 2

2 A 1 A

3
A 2 1 2 A 2

4 0 0 0

5 A 2 1 2
A 2

6 A 1 0

7 A 2 1 2
A 2

Ejemplo
n Para x(n) = A sin f 2 N con k = f , N 1 n=0

x[n] sin

2 kn N

=0+ = 4A

A A A A +A+ +0+ +A+ 2 2 2 2

Para un N general, se obtiene: 1 N


N 1 n=0

x[n] sin

2j kn N

A 2

Caso de Frecuencia sin Energ a

Para k = 2f 1 N
N 1 n=0

x[n] sin

2 2f n N

Se hace el mismo proceso y se suman los trminos: e A A A A 0+ +0 +0 +0+ =0 2 2 2 2 No hay energ en k = 2f a

Energ en las Frencuencias Negativas a


Veamos que pasa para k = f
N 1 n=0

x[n] sin k

2 n N

Nuevamente haciendo la tabla y sumando, 0 Normalizando: 1 N


N 1 n=0

A A A A A + 0 A = 4A 2 2 2 2

x[n] sin k

2j n N

A 2

Seal Combinada (Reconstruccin) n o


Podemos reconstruir la seal a partir de las componentes en n frecuencia, x[n] = A [sin(f 2n/N ) sin(f 2n/N )] 2 = A sin(f 2n/N )

Si hacemos el mismo ejemplo con seal de prueba cos(f 2n/N ) y n DCT, obtenemos: x[n] = A [cos(f 2n/N ) + cos(f 2n/N )] 2 = A cos(f 2n/N )

DST slo ve seales tipo sin, es decir componenter o n impares del Espectro DCT slo ve seales tipo cos, es decir componenter pares o n del Espectro

Seales con Fase Arbitraria n


Si se toma como seal de prueba: n x[n] = a cos(f 2n/N ) + b sin(f 2n/N ) Cualquier seal sinusoidal con fase arbitraria puede ser n representada por una suma de sin y cos: A sin( + ) = a cos + b sin Por lo tanto, usando la DCS y la DST juntas podemos detectar cualquier seal con frecuencia y fase arbitrarias. n Usando la DFT combinamos ambas en forma ms elegante: a X[k] =
N 1 n=0

x[n]e

2j kn N

DFT

Ms Complejo es Ms Simple a a

Teoremas de Fourier
Tenemos entonces la transformada discreta de Fourier, X[k] = Y su inversa, 1 x[n] = N Denimos k
N 1 k=0 N 1 n=0
2j kn N

x[n]e

, k = 0, 1, 2, . . . , N 1

DFT

X[k]e

2j kn N

, n = 0, 1, 2, . . . , N 1

IDFT

2k/N con lo que e


2j kn N

= ejk n

Y como notacin ocupamos el par transformado, o x X (x corresponde a X)

Teoremas de Fourier
Las sinusoides de la DFT sk [n] ejk n son periodicas tal que sk [n + mN ] = sk [n] para todo entero m. Como sabemos que cualquier seal x de largo N puede ser n expresada como combinacin lineal de las sinusoides DFT en el o dominion del tiempo, x[n] = 1 N X[k]sk (n)
k

implica que x[n] fuera del rango [0, N 1] es de extensin o peridica, i.e., x[n + mN ] = x[n] o Esto tambien sucede con la DFT con X[k + mN ] = X[k] Matemticamente, las seales x en que se opera una DFT son a n samples (muestras) de 1 periodo de una seal periodica, con n periodo N T

Teoremas de Fourier

Theorem (Linealidad) Para cualquier x, y CN y para , C, la DFT satisface: x + y X + Y Theorem (Conjugado) Para cualquier x CN , Flip(x) X x Flip(X)

Teoremas de Fourier
Theorem (Reverso) Para cualquier x CN , Flip(x) Flip(X) Corollary (Reverso) Para cualquier x RN , Flip(x) X Flip(X) = X Theorem x RN X es Hermitiano

Teoremas de Fourier: Simetr a

Theorem Para cualquier x RN , Re{X} es par y Im{X} es impar Theorem Para cualquier x RN , |X| es par y X es impar Theorem x par X par x real y par X real y par

Teoremas de Fourier: Shift

Theorem Para cualquier x CN y para cualquier entero , DF Tk [Shift (x)] = ejk X(k)

Seales de Fase Lineal n


Podemos escribir la Transformada de Fourier en forma polar, X[k] = G[k]ej[k] Por el Teorema de Shift para retrasos, ejk X[k] ejk G[k]ej[k] = G[k]ej[[k]k ]

Esto implica que la pendiente de la curva equivale al delay en el tiempo.


Pendiente negativa lineal equivale a retraso (delay) Pendiente positiva lineal equivale a adelanto

ejk es conocido como termino de fase lineal

Teoremas de Fourier: Zero Padding

Zero padding consiste en extender la seal con ceros, por ejemplo, n ZeroPad10 ([1, 2, 3, 4, 5]) = [1, 2, 3, 4, 5, 0, 0, 0, 0, 0] Theorem (Interpolacin Espectral) o Para seales de banda limitada, hacer Zero Pad en el tiempo n corresponde a interpolacin ideal en el dominio de la frecuencia. o

Ejemplo
Vemos que en los agujeros de frecuencia si hay contenido espectral cuando hacemos la interpolacin, o

Transformada Rpida (FFT) a


En la prctica, la Transformada de Fourier se calcula con una a algoritmo llamado Fast Fourier Transform o FFT. Por ejemplo en Matlab o Octave la funcin para calcular la transformada de o Fourier se llama fft. Este algoritmo es ms eciente cuando N es potencias de 2, i.e., a p con p un nmero entero. N =2 u Es por esto que en la prctica en general se hace Zero Padding de a modo que la seal tenga un largo N = p2 con los benecios, n

Mayor eciencia del algoritmo FFT Efecto colateral de mejorar la interpolacin espectral. o

FFT de una Sinusoide

FFT de una Sinusoide

FFT de una Sinusoide

Discontinuidades por extensin periodica, o

FFT de una Sinusoide

Teoremas de Convolucin o
Theorem (Convolucin) o Para cualquier x, y CN , xy X Y Theorem (Dual de la Convolucin) o Para cualquier x, y CN , xy 1 X Y N

Estos son quizas el ms importante teorema. Son la base de la a implementacin de Filtros por convolucin (Debido a la rapidez del o o FFT).

Otras Aplicaciones

La Transformada de Fourier es la base del anlisis y s a ntesis expectral,


Filtros y Convolucin o Transformada Corta de Fourier Espectrogramas Vocoders S ntesis sinusoidal

You might also like