¿Cómo aplico una ventana de función a una señal?

9

¿Cómo puedo aplicar una función de ventana como Hamming o Lanczos a una señal, usando sus coeficientes?

Quiero decir, ¿qué método puedo usar para hacer esto? FFT? ¿Circunvolución? ¿Qué método tiene el mejor rendimiento?

walteram
fuente
44
Normalmente, se hace una multiplicación vectorial de una función de ventana, escalada a la misma longitud de vector que los datos, y el vector de datos, antes de una FFT.
hotpaw2
Describa su aplicación con más detalle.
nibot

Respuestas:

3

Escribí esta larga respuesta para alguien ayer en stackoverflow.com. .

/programming/9694297/matlab-fft-xaxis-limits-messing-up-and-fftshift/9699983#9699983

Es un ejemplo basado en matlab que muestra cómo usar la FFT para el análisis, pero podría darle algunas ideas. A la mitad del segundo bloque de código, aplico una función de ventana a una señal almacenada en búfer. Esto es efectivamente una multiplicación vectorial de la función de ventana con cada bloque de datos de serie temporal almacenados en el búfer. Solo uso un engañoso truco de matriz diagonal para hacerlo de manera eficiente.

aprender
fuente
15

¿Cómo puedo aplicar una función de ventana como Hamming o Lanczos a una señal, usando sus coeficientes?

Simplemente multiplique, punto por punto.

nibot
fuente