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.
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 findpeaks
resultado 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. :
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:
fuente
Respuestas:
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.
fuente
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.
fuente
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.
fuente
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.
fuente