DFT: eliminación del efecto de ventana en el dominio espectral con convolución


11

Estaba pensando en el tema de las ventanas DFT y se me ocurrió una idea. Un DFT producirá el espectro de una señal contorneada con el espectro de la ventana utilizada, por lo tanto, tiene lóbulos principales y lóbulos laterales.

Pensé que sería posible eliminar el efecto de ventana en el espectro de la señal volviendo a convolucionar tanto la señal como la magnitud del espectro de la ventana, y de hecho funcionó como se puede ver en la siguiente imagen.

ingrese la descripción de la imagen aquí

A la izquierda está el espectro original generado con una ventana de control. Derecha es el espectro contorneado por el DFT de una ventana colgante. La parte superior es el espectro en sí, la parte inferior es el findpeaksresultado de MATLAB .

Nunca leí nada sobre esta técnica, pero estoy bastante seguro de que no he inventado nada allí. Entonces, me pregunto si hay un beneficio de hacer este procesamiento en el espectro o si hay un inconveniente que no estoy viendo.

Por lo que veo, esto podría ayudar a la detección de picos como podemos ver en la imagen anterior. Además, parece que el espectro está un poco distorsionado, como podemos ver en las 2 imágenes siguientes. :

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Donde el gráfico azul es el espectro y el gráfico rojo el espectro post-convolucionado.

  • ¿Alguna idea de esto?
  • ¿Hay algún problema que pueda surgir de esta convolución post-FFT?
  • ¿Algún trabajo que trate el tema?

EDITAR

Puede encontrar un script aquí que generará el siguiente gráfico:

ingrese la descripción de la imagen aquí


1
¿Podría proporcionar el código que utilizó para trazar las figuras? Supongo que la suavidad de la función enrevesada es solo una cuestión de resolución. No se puede deshacer la ventanas mediante la convolución todavía una vez más con la misma ventana (que en efecto se de convolución, que es lo que la respuesta de RBJ se refiere a). Además, una mejora real sería una mayor resolución de frecuencia y / o una mayor supresión del lóbulo lateral, nada de lo cual se logra aquí. Encontrar los picos "correctos" es relativamente fácil para ambas funciones.
Matt L.

Acabo de editar mi publicación para agregar un ejemplo de código.
Pier-Yves Lessard

Respuestas:


1

De hecho, hay una desventaja en su sugerencia: las señales que mostró están claramente divididas en sus componentes de frecuencia, pero en general, las señales de la vida real tienden a ser más ruidosas.

Dependiendo de la aplicación, desearía tanta amortiguación de fugas (lóbulos principales más altos / lóbulos laterales más pequeños de una frecuencia de señal en el espectro transformado) o, como otro ejemplo, el lóbulo principal más estrecho posible.

En sus parcelas, es visible que suavizar los espectros de magnitud con una ventana hace lo opuesto a esto: los lóbulos principales se ensanchan y se hacen más pequeños, mientras que los productos de fuga transforman una ganancia de señal de tiempo finito en potencia. Aplicado a señales ruidosas, esto produciría una desventaja significativa.

Sin embargo, su sugerencia sigue siendo bastante útil para la identificación de picos.


1

siendo fiel al tema "eliminar el efecto de ventana en el dominio de frecuencia a través de convolución" (a pesar de que el OP quizás quería lograr algo más o algo similar), siento agregar mi comentario teniendo experiencia personal con este tema específico.

A menudo tengo la necesidad de eliminar una ventana de Hann en el dominio de la frecuencia, trabajando en un marco STFT que utiliza marcos con ventana de Hann por defecto, para llevar el procesamiento espectral avanzado donde se espera que el espectro de entrada sea NO en ventana (por ejemplo, convolución de superposición o guardado filtración).

En una palabra: sí, puedes. A pesar de que la eliminación matemática de una ventana (ya sea en el dominio del tiempo o de la frecuencia) implica la reconstrucción de datos que se pierden para siempre, en la práctica es posible que tenga una pérdida mínima probable.

Tomemos una ventana Hann (coseno elevado). Su fórmula en el dominio del tiempo es y = (1-cos (pi * x)) / 2 con x que varía de cero a y excluye uno a través del marco. Su representación de dominio de frecuencia correspondiente es bin0 = (0.5,0i), bin1 = (- 0.5,0i). Para eliminar su efecto en el dominio del tiempo, es posible que simplemente desee dividir la señal entre la función de ventana mencionada anteriormente. Para hacer lo mismo en el dominio de la frecuencia, simplemente puede convolver el espectro para que no se muestre con el espectro del recíproco de dicha función. Dado que esta función es cero en ambos extremos (en realidad es matemáticamente cero solo en el primer punto, a menos que haya errores de redondeo), para evitar el infinito, simplemente puede intercambiar el infinito con un valor grande como 10000 más o menos. El resultado de tal convolución es el espectro sin ventanas. Al convertirlo al dominio de tiempo atrás,

Sin embargo, quizás no pueda eliminar una ventana rectangular, porque la cantidad de datos perdidos al multiplicar grandes áreas de la señal por cero es imposible de recuperar en teoría. Pero creo que esto depende del contenido del espectro. Por ejemplo, si es el espectro de una sinusoide simple, al eliminar el patrón de ventana rectangular convolucionando con el espectro de una función que es un valor alto donde el rectángulo era cero y uno donde era uno (es decir, su recíproco), aún puede obtener (sustancialmente) el espectro de una sinusoide para reconstruir toda la señal.


0

Es una buena pregunta y una buena idea que estoy bastante seguro de que otros han tenido. la de convolución en el dominio de la frecuencia es como la multiplicación en el dominio del tiempo y si está desconvolución, el efecto de una ventana de Hann en el dominio de la frecuencia, es como su división por el efecto de la ventana de Hann en el dominio del tiempo. en las colas donde la ventana de Hann va a cero, hay una división entre un número demasiado pequeño para preocuparse.

por lo general, se deja el efecto de ventana porque si está transformando de nuevo, es posible que desee el efecto de la ventana en el dominio del tiempo. o si nunca está transformando de nuevo (este es un análisis o modelado alg y no una modificación alg), entonces solo le interesan los parámetros que son propiedades de esos picos, y simplemente trata el efecto conocido de convolucionarse con un conocido kernel y eso podría modificar un parámetro extraído de manera determinista. entonces solo compensa eso en su parámetro extraído.

Por último, dependiendo de lo que esté haciendo, es posible que desee considerar el uso de una ventana de Guassian para el análisis. tiene muy poco problema con el lóbulo lateral y, en condiciones lineales (como un filtro), cada sinusoide con ventana conserva la forma de la ventana cuando se transforma nuevamente en el dominio del tiempo. esa ventana se puede deshacer y se puede aplicar una ventana Hann después de volver a transformarse en el dominio del tiempo.


66
En principio estoy de acuerdo con sus declaraciones. Sin embargo, el OP no está hablando de deconvolución, sino que involucra el espectro obtenido con el espectro de la ventana de Hanning. (es decir, esencialmente ventanas con una ventana cuadrada)
Maximilian Matthé

1
no, el OP habla de eliminar el efecto, no duplicar el efecto. la división es lo mismo que la multiplicación por el recíproco. se multiplica por un número que le da el resultado que llamamos cociente . Siendo que convolucionar en un dominio es lo mismo que multiplicar en el otro dominio, entonces la deconvolución es lo mismo que convolucionar con algo especialmente determinado.
robert bristow-johnson

2
El OP está hablando de eliminar las ondas, realizando una convolución del espectro obtenido con el espectro de la ventana. Esto produce la multiplicación de la señal con la ventana al cuadrado (una ventana de la multiplicación inicial en el tiempo, la segunda proviene de la convolución en frecuencia)
Maximilian Matthé

1
Bueno no exactamente. Hago una convolución de las magnitudes del espectro que producen resultados diferentes de la multiplicación de la ventana cuadrada. No estoy seguro de lo que representa matemáticamente ... Lo veo como una correlación cruzada entre ambas magnitudes de espectro (ya que los espectros de Windows son simétricos).
Pier-Yves Lessard el

0

La técnica que usó para suavizar el espectro a menudo se usa al analizar el espectro en sí mismo y no le importan los efectos en el dominio del tiempo (por ejemplo, hacer detección de señal basada en frecuencia o medición de ancho de banda). Ni siquiera hay un requisito de que la ventana utilizada para suavizar sea la misma que la ventana utilizada en el dominio del tiempo. Una de las razones principales para usar una ventana de dominio de tiempo antes de la DFT es minimizar la discontinuidad en la envoltura que la DFT supone en los extremos de la señal (la DFT es inherentemente circular). El propósito del suavizado en el dominio de la frecuencia es facilitar el análisis, como la detección de picos o la medición del ancho de banda. La "mejor" ventana para uno puede no ser la "mejor" ventana para el otro. De hecho, nunca he visto el DFT de una ventana utilizada para el suavizado espectral.


La forma en que lo entiendo es que estoy haciendo una correlación cruzada con el espectro, por lo tanto, obtengo picos en el centro de los lóbulos principales. Usar las ventanas del dominio del tiempo parece ser la elección obvia y no veo por qué usaría una correlación cruzada de ventanas de vagones para encontrar dónde se encuentra el espectro de la ventana de Hanning. ¿Por qué querríamos algo más que la misma ventana?
Pier-Yves Lessard el

Sí, el resultado que describe es una convolución con la autocorrelación de la ventana, pero eso es convolucionar con una ventana diferente. La autocorrelación dará como resultado un pico MUY ajustado en DC. Entonces convolvió efectivamente el espectro de señal con un filtro de paso bajo muy ajustado. Es la respuesta de frecuencia de este filtro lo que le está dando el resultado que ve, no el hecho de que sea una autocorrelación. El hecho de que sea una autocorrelación es una coincidencia.
Cassman
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.