Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana...

19
An´ alisis Espectral 1: Transformada Corta de Fourier y Ventanas Juan-Pablo C´ aceres CCRMA Stanford University Agosto, 2007 Contenidos An´ alisis de Se˜ nales de la Vida Real “Windowing” Transformada Corta de Fourier Visi´ on de Transformada de Fourier de la STFT Visi´ on de Banco de Filtros de la SFTF

Transcript of Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana...

Page 1: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Analisis Espectral 1: Transformada Corta deFourier y Ventanas

Juan-Pablo CaceresCCRMA

Stanford University

Agosto, 2007

Contenidos

Analisis de Senales de la Vida Real

“Windowing”

Transformada Corta de Fourier

Vision de Transformada de Fourier de la STFT

Vision de Banco de Filtros de la SFTF

Page 2: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Analisis de Senales de la Vida Real

Recordemos que cuando se analizan senales de la vida real, engeneral sus componentes en frecuencia no estan alineadas con lasfrecuencias de analisis del DFT. Tomamos como ejemplo,

x[n] = sin(

f2πn

N

)

, con N = 16, f = 3/4.

DFT interpreta la senal como 1 periodo de una senalperiodica infinitamente larga.

Discontinuidades en el Tiempo

Las discontinuidades periodicas en la senal producen un espectrocon muchos armonicos en altas frecuencias.

La DFT “escucha” clicks en estas discontinuidadesVemos que el espectro contiene energıa en todas las frecuenicas

Page 3: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Discontinuidades en la Senal

Sabemos por la ecuacion:

x[n] = sin(

f2πn

N

)

, con N = 16, f = 3/4

que nuestra senal solo debiera contener una componente defrecuencia. Los 2 problemas son:

Resolucion en Frecuencia: Solo vemos las frecuencias que sonmultiplos de nuestra frecuencia de analisis fN

Escape (leakage): Discontinuidades en los bordes de laventana de analisis producen esparcimiento de ruido en elresto del espectro.

Solucion al problema de Resolucion en FrecuenciaZero-padding.

Como Resolver el Problema de Escape (Leakage)

Para resolver el problema de escape de frecuencias (leakage)podemos,

Creamos una senal w[n] de igual largo N que nuestra senal deanalisis

w[n] gradualmente “fade in” y “fade out” en los bordes

Multiplicamos w[n] por x[n] y ası reducimos el efecto de lasdiscontinuidades en los bordees

Sin embardo, estamos alterando la senal de analisis x[n] por lo quela eleccion de w[n] tendra un efecto en el espectro resultante.

Este proceso se conoce como “Windowing”.

Page 4: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

“Windowing” y Ventana RectangularCuando tomamos N puntos de una senal para analizar, estamosimplıcitamente multiplicando por una Ventana Rectangular:

wR[n] ,

1 0 ≤ n < N0 para otros n

Por lo que la DFT es,

X[k] =

N−1∑

n=0

x[n]wR[n]e−2πj

Nkn

El problema con la VentanaRectangular es que introducediscontinuidades

Analisis de la Ventana RectangularPodemos reesscribir la ventana rectangular de modo que seasımetrica con respecto a 0 para que tenga Fase-Cero,

wR[n] ,

1 |n| ≥ M−1

20 para otros n

−20 −15 −10 −5 0 5 10 15 200

0.2

0.4

0.6

0.8

1

Time (samples)

Am

plit

ud

e

Zero−Phase Rectangular Window − M = 21

Page 5: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Analisis de la Ventana Rectangular

La tranformada de wR[n] es,

WR(ω) =sin(Mω/2)

sin(ω/2)

−3 −2 −1 0 1 2 3−4

−2

0

2

4

6

8

10

12

Normalized Frequency ω (rad/sample)

Am

plit

ude

DFT of a Rectangular Window of length M = 11

Notar que esta es la transformada completa (real), no solo lamagnitud. Solo se obtienen estas transformadas para ventanassimetricas centradas en 0.

Espectro de la Ventana Rectangular

−3 −2 −1 0 1 2 3

1

2

3

4

5

6

7

8

9

10

11

Normalized Frequency ω (rad/sample)

Am

plit

ude

DFT of a Rectangular Window − M = 11

Respuesta de Amplitud

−3 −2 −1 0 1 2 3−0.3927

0

0.3927

0.7854

1.1781

1.5708

1.9635

2.3562

2.7489

3.1416

3.5343

Normalized Frequency ω (rad/sample)

Phase (

rad)

Phase of Rectangular Window Transform (M = 11)

Main Lobe

Respuesta de Fase

Page 6: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Interpretacion en Audio

−3 −2 −1 0 1 2 3−40

−35

−30

−25

−20

−15

−10

−5

0

13 dB down

sidelobes sidelobes

main lobe

nulls nulls

Normalized Frequency ω (rad/sample)

Magnitude (

dB

)

DFT of a Rectangular Window − M = 11

Respuesta de Amplitud en dB

0.1 0.2 0.4 0.8 1.6 3.2 6.4

−54.1854

−48.1648

−42.1442

−36.1236

−30.103

−24.0824

−18.0618

−12.0412

−6.0206

0

Ideal −6 dB per octave line

Normalized Frequency (rad/sample)

Am

plit

ud

e (

dB

)

DFT of a Rectangular Window − M = 20

Partial

Main

Lobe

“Rolloff” de 6 dB pot octava

Propiedades de Ventanas

En genral, las ventanas tendran 3 propiedades que son las que nosinteresan y en las que basaremos nuenstra eleccion:

Ancho del lobulo principal (main lobe width)

Nivel de lobulos laterales (sidelobe level)

Pendiente de caida (rolloff)

Lo que pasa en general es que ventanas con ancho del lobuloprincipal mayor tienen menores niveles de lobulos laterales.

Page 7: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Otras VentanasHann o Hanning o “Raised Cosine”

wH(n) = wR(n)

[1

2+

1

2cos(ΩMn)

]

= wR(n) cos2

(ΩM

2n

)

−20 −15 −10 −5 0 5 10 15 200

0.2

0.4

0.6

0.8

1

Time (samples)

Am

plit

ude

Hann Window, M = 21

−3 −2 −1 0 1 2 3

−70

−60

−50

−40

−30

−20

−10

0

Normalized Frequency (rad/sample)

Magnitude (

dB

)

−31.5 dB

2ΩM+1

−2ΩM+1

Otras Ventanas

Propiedades de la ventana Hann:

Lobulo principal es 4ΩM de ancho

El primer lobulo es de −31 dB

Lobulos laterales decaen a una tasa de ≈ 18 dB / octava

Comparado con la ventana Rectangular:

Lobulo principal es 2ΩM de ancho

El primer lobulo es de −13 dB

Lobulos laterales decaen a una tasa de ≈ 6 dB / octava

Nota: ΩM , 2πM

Page 8: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Otras Ventanas

Ventana de Hamming

−20 −15 −10 −5 0 5 10 15 200

0.2

0.4

0.6

0.8

1

Time (samples)

Am

plit

ude

Hamming Window, M = 21

−3 −2 −1 0 1 2 3

−70

−60

−50

−40

−30

−20

−10

0

Normalized Frequency (rad/sample)

Magnitude (

dB

)

−40.6 dB

2ΩM−1

−2ΩM−1

Otras Ventanas

Propiedades de la ventana Hamming

Discontinuidades “golpean a cero” en los extremos

Lobulo principal es 4ΩM de ancho (como Hann)

Lobulos laterales decaen a una tasa de ≈ 6 dB / octava (pero“aliased”)

Primer lobulo lateral mejorado con respecto a Hann

Lobulos laterales cercanos a ser “rizados igual” (“esequalripple”)

Page 9: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Otras Ventanas

Ventana de Hamming mas larga

−100 −80 −60 −40 −20 0 20 40 60 80 1000

0.2

0.4

0.6

0.8

1

Time (samples)

Am

plit

ud

e

Hamming Window, M = 101

−3 −2 −1 0 1 2 3

−70

−60

−50

−40

−30

−20

−10

0

Normalized Frequency (rad/sample)

Ma

gn

itu

de

(d

B)

−42.7 dB

2ΩM−1

−2ΩM−1

Otras Ventanas

Comparando las 3 ventanas

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5−60

−50

−40

−30

−20

−10

0Window Transforms, Window length = 20

Magnitude (

dB

0)

Normalized Frequency (cycles per sample)

Rectangular

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5−60

−50

−40

−30

−20

−10

0

Magnitude (

dB

0)

Normalized Frequency (cycles per sample)

Hanning

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5−60

−50

−40

−30

−20

−10

0

Magnitude (

dB

0)

Normalized Frequency (cycles per sample)

Hamming

Page 10: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Otras Ventanas

Otras ventanas:

Blackman-Harris

Potencias-de-Coseno

Bartlett (“Triangular”)

Poisson

Hann-Poisson

Kaiser-Bessel

Dolph-Chebyshev

Gaussian

STFT: 2 Visiones

Existen dos visiones equivalentes de la Tranformada Corta deFourier (STFT)

Transformada de Fourier por Ventanas

Page 11: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

STFT: 2 Visiones

Banco de Filtros

STFT: 2 Visiones

Transformada de Fourier por VentanasBanco de Filtros

Page 12: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Vision de Transformada de Fourier de la STFT

Interpretacion Transformada de Fourier “Windowed” de la STFT.

La Transformada Corta de Fourier

La Transformada Corta de Fourier (STFT) se define como,

Xm(ω) =

∞∑

n=−∞

x[n]w[n −mR]e−jωn

con

x[n] = senal de entrada en el tiempo n

w[n] = ventana de largo M (e.g., Hamming)

Xm(ω) = DTFT de senal multiplicada por ventana en tiempo mR

R = largo de los saltos, en samplers, entre sucesivas DTFTs.

Page 13: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Inversa de La Transformada Corta de Fourier

Si la ventana w(n) tiene propiedad de Constant OverLap-Add(COLA) para saltos R:

∞∑

m=−∞

w[n−mR] = 1, ∀n ∈ Z (w ∈ COLA(R))

entonces la suma de las DTFTs individuales sera la DTFT de todox:

∞∑

m=−∞

Xm(ω) ,

∞∑

m=−∞

∞∑

n=−∞

x[n]w[n−mR]e−jωn

=

∞∑

n=−∞

x[n]e−jωn

∞∑

m=−∞

w[n−mR]

︸ ︷︷ ︸

1 si w∈COLA(R)

=

∞∑

n=−∞

x[n]e−jωn

, DTFTω(x) = X(ω)

←→ x[n] =1

∫ π

−π

X(ω)ejωndω

Page 14: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Ejemplo de COLA

Ejemplo de COLA para Hamming

Espectrogramas (o Sonogramas)

Plot de intensidad en dB de la STFT

Comunmente llamado sonograma cuando es aplicado a audio

Usado extensamente en analisis de voz, computer music ysıntesis de sonido

La audicion humanafunciona como y tipo deespectrograma en tiemporeal con la coclea del oıdointerno

Modelamiento espectral estabasado en la sıntesis delespectro de tiempo corto.

Time (sec)

Fre

q (

kH

z)

Steve Jobs says Hi

0 0.2 0.4 0.6 0.8 1 1.2 1.40

0.5

1

1.5

2

2.5

3

3.5

4

Page 15: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Resolucion en Frecuencia versus Temporal

Obtener mayor resolucion en frecuencia requiere un largo deventana M mayor.

Obtener mayor resolucion temporal requiere un largo de ventanaM menor.

Con esto en mente, los parametros de un espectrograma son:

Largo de ventana M

Tipo de ventana (Hamming, Kaiser, etc.)

Salto R

Largo N de la FFT

Demo snd

Vision de Banco de Filtros de la SFTF

Si reagrupamos los terminos de la definicion de la STFTobtenemos la interpretacion de banco de filtros:

Xm(ωk) =

∞∑

n=−∞

[x[n]e−jωkn]︸ ︷︷ ︸

xk[n]

w[n −m]

= [xk ∗ Flip(w)] (m)

La operativa de esta interpretacion es,

1. Se rota el espectro de x de modo de mover la frecuencia ωk

hacia 0 (se modula por e−jωkn en el dominio del tiempo)

2. Se usa w como un filtro pasa-bajos en frecuencia 0

La STFT es interpretada como un set ordenado en frecuencia desenales en el tiempo de banda angosta.

Page 16: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Vision de Banco de Filtros de la SFTF

Vision de Banco de Filtros de la SFTF

Page 17: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Vision de Banco de Filtros de la SFTF

Dominio del tiempo:

Un canal del banco de filtros de la STFT

Dominio de la Frecuencia:

Un canal del banco de filtros de la STFT

Ejemplo con Ventana Cuandrada

Banco de filtros de la STFT

Page 18: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Ejemplo de Output con Chirp

0 100 200 300 400 500 600 700 800 900 1000−1

0

1

x(n

)

10−channel DFT filterbank output for a linear chirp input

100 200 300 400 500 600 700 800 900 1000

2468

|X0(n

)|

100 200 300 400 500 600 700 800 900 1000

12345

|X1(n

)|

100 200 300 400 500 600 700 800 900 1000

12345

|X2(n

)|100 200 300 400 500 600 700 800 900 1000

12345

|X3(n

)|

100 200 300 400 500 600 700 800 900 1000

12345

|X4(n

)|

100 200 300 400 500 600 700 800 900 1000

2468

|X5(n

)|

100 200 300 400 500 600 700 800 900 1000

12345

|X6(n

)|

100 200 300 400 500 600 700 800 900 1000

12345

|X7(n

)|

100 200 300 400 500 600 700 800 900 1000

12345

|X8(n

)|

100 200 300 400 500 600 700 800 900 1000

12345

|X9(n

)|

Time (samples)

Analisis/Sıntesis de la STFT

Page 19: Análisis Espectral 1: Transformada Corta de Fourier y … · Juan-Pablo Caceres CCRMA ... ventana de analisis producen esparcimiento ... DFT of a Rectangular Window − M = 11 Respuesta

Conclusiones

La Transformada Corta de Fourier se aplica en

1. Espectrogramas

2. Peak Tracking en audio

3. Phase Vocoder

4. Sines+Noise modeling