¿Cuáles son los orígenes de las funciones de ventana en DSP? ¿Por qué no usar una ventana rectangular?

Hasta donde yo sé, en DSP deseamos eliminar o reducir el efecto de algunas señales no deseadas separando su espectro de frecuencia del espectro de toda la señal (nuestra señal principal y el ruido). Este proceso se realiza utilizando una ventana de forma rectangular, ¿verdad? Pensé que la función de ventana es algo en el dominio de la frecuencia que se multiplica por el espectro de frecuencia de nuestra señal principal que se filtra. Pensé que tomamos una FFT de la señal principal, la multiplicamos con la ventana del rectángulo de filtro que parece un rectángulo en el dominio de la frecuencia (cada muestra de la ventana se multiplica con la muestra correspondiente de la FFT de la señal principal) y luego hicimos una FFT inversa para recuperar la señal principal filtrada.

¡Mi confusión surge al saber que la función de ventana tiene su origen en el dominio del tiempo y no en el dominio de la frecuencia y la función de la ventana está convolucionada en el tiempo con nuestra señal principal para filtrarla! (Para la función de ventana en el dominio de la frecuencia tenemos todo este lío con lóbulos que se ven extraños, que es otra cosa que no entiendo). ¿Por qué no filtramos en el dominio de la frecuencia tomando FFT y multiplicándola con una ventana y luego haciendo una FFT inversa?

Aparentemente, una ventana rectangular es mala ya que sus lóbulos laterales no son lo suficientemente pequeños y hay algo llamado "fuga de energía" en el espectro, por lo que no usamos una ventana rectangular. Todo me confunde.

Respuestas (3)

Su verdadera confusión parece ser un malentendido fundamental de lo que hacen los DSP. Los DSP están optimizados para realizar convoluciones . Dado que se debe almacenar un coeficiente y realizar una acumulación múltiple para cada punto de la convolución, el número de puntos está limitado por la memoria y el tiempo de procesador disponible. Por lo tanto, las circunvoluciones deben tener necesariamente un ancho finito, por lo que estos tipos de filtros a menudo se denominan respuesta de impulso finito o FIR .

Aparte de la restricción en el ancho de la convolución, nada en el hardware DSP dice qué puede hacer con esa convolución, o más específicamente, qué coeficientes puede usar. Todos los coeficientes juntos forman la función con la que está convolucionando una señal de entrada. A veces se denominan colectivamente kernel de filtro .

Hay muchos usos posibles para esta capacidad básica proporcionada por los DSP. A veces, el deseo es eliminar todo el contenido más allá de cierta frecuencia sin alterar el contenido por debajo de esa frecuencia, pero esa es solo una de las muchas cosas útiles que puede hacer una convolución digital amplia.

Sin embargo, incluso cuando se usa un DSP de esta manera, no se hace con una "ventana de forma rectangular". Siempre habrá una ventana de un tamaño finito (esa es la base de un filtro FIR), pero la forma de esa ventana rara vez es rectangular. Usar hardware DSP para implementar un filtro rectangular es más bien un desperdicio. Dado que todos los coeficientes son iguales, puede implementar este caso específico de convolución con un búfer circular, dos multiplicaciones y dos adiciones por muestra, independientemente del ancho del búfer. Esto a veces se denomina filtro de "promedio móvil" o filtro de "caja". Para la mayoría de los propósitos, estos no tienen muy buenas características. Parece que se usan mucho por dos razones: son la reacción instintiva de aquellos que no prestaron atención en la clase de procesamiento de señales, y son conceptualmente fáciles de implementar.

El caso específico de un filtro de paso bajo de corte agudo requiere que el núcleo del filtro sea una función de sincronización. Un sinc en el dominio del tiempo se asigna a un rectángulo en el dominio de la frecuencia y viceversa.

También parece estar confundido porque una FFT está involucrada de alguna manera. Se puede usar una transformada de Fourier o muchas otras herramientas de análisis para determinar cuál debe ser el kernel de filtro, pero una vez que se determinan los coeficientes del kernel, todo es solo una convolución en tiempo de ejecución. Si comienza sabiendo lo que quiere hacer con una señal en términos de una multiplicación en el dominio de la frecuencia, entonces se necesita una transformada de Fourier para encontrar el núcleo del filtro que realizará esa operación en el dominio del tiempo como una convolución. Sin embargo, existen muchos criterios posibles para manipular una señal, y no todos pueden expresarse en el dominio de la frecuencia. Algunos pueden llegar directamente a usted en el dominio del tiempo, en cuyo caso es posible que no se necesite un análisis de Fourier para determinar el núcleo del filtro.

Mi confusión surge al saber que la función de ventana tiene su origen en el dominio del tiempo.

Esto es correcto. Normalmente, cuando hablamos de una función de ventana , estamos hablando de algo que se aplica en el dominio del tiempo.

¡y no el dominio de frecuencia y la función de ventana se convolucionan en el tiempo con nuestra señal principal para filtrarla!

Esto es incorrecto. La función de ventana no se convoluciona con la señal de entrada, se multiplica por ella.

Convolucionar la ventana con la entrada sería equivalente a multiplicar después de hacer la FFT (tanto de la ventana como de la señal de entrada). Esto sería equivalente a lo que describe en su primer párrafo. Pero calcularlo como una convolución en el dominio del tiempo requeriría potencialmente mucho más esfuerzo computacional que hacer una multiplicación en el dominio de la frecuencia.

Pensé que la función de ventana es algo en el dominio de la frecuencia que se multiplica por el espectro de frecuencia de nuestra señal principal que se filtra.

Si multiplicamos en el dominio de la frecuencia, normalmente no lo llamamos función de ventana. Lo llamamos filtro.

¿Por qué no filtramos en el dominio de la frecuencia tomando FFT y multiplicándola con una ventana y luego haciendo FFT inversa?

A menudo filtramos de esta manera. Pero la creación de ventanas no es lo mismo que el filtrado. El filtrado es equivalente a la convolución en el dominio del tiempo.

Pero cuando hacemos ventanas, en realidad queremos una multiplicación en el dominio del tiempo.

Creo que esto no funcionará muy bien ya que nuestra señal principal no es periódica (como el habla) y no tenemos TODAS las muestras cuando hacemos la FFT.

Esta es exactamente la razón por la que usamos funciones de ventana. Cuando hacemos una transformada discreta de Fourier (DFT), asumimos que hemos muestreado uno o más períodos de una función periódica. Pero, como usted dice, esta es a menudo una suposición muy pobre.

El resultado es que nuestra señal periódica extendida tiene grandes saltos donde la última muestra se envuelve en la primera muestra. Cuando hacemos la DFT, ese gran salto puede ser la característica dominante cuyos efectos vemos en el espectro. Pero no es en absoluto lo que queremos estudiar.

Por lo general, nuestra función de ventana es "grande" en el medio y "pequeña" en los bordes. Esto mejora las características que queremos ver en nuestras muestras y minimiza el efecto del salto entre la última y la primera muestra.

Por supuesto, también podemos ver su efecto en el dominio de la frecuencia en términos de lóbulos laterales, etc., pero como dices, es un poco complicado entenderlo.

hmm, eso es extraño, siempre he pensado en filtros en el dominio de la frecuencia, por ejemplo, tenemos una respuesta de frecuencia de 1 hasta una frecuencia de corte = filtro de paso bajo. Ahora tome el espectro de frecuencia de la señal principal y multiplíquelo con el espectro de frecuencia de este filtro. Esto es muy fácil de entender ya que el dominio del tiempo se confunde con las circunvoluciones (hmm, ¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿3¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿por por qué debido a por donde lo hace la convolución = filtrado ???)???) pero en el dominio de la frecuencia todo tiene sentido. Entonces, ¿la ventana no es = filtrado?
@ quantum231, la multiplicación en el dominio de la frecuencia es equivalente a la convolución en el dominio del tiempo. Entonces, un filtro definido por una respuesta espectral que multiplica en el dominio de la frecuencia podría definirse de manera equivalente por una respuesta de impulso que convolucionaría en el dominio del tiempo.
¿Dónde puedo encontrar cómo se concibió esta idea de usar ventanas en el tiempo? Aquí no estamos haciendo convolución en absoluto, es una simple multiplicación. Estoy muy sorprendido.
Para este tema, recomiendo Hamming, RW, Digital Filters , disponible en Dover. Tiene una cobertura muy legible de ventanas. Tenga en cuenta que la "ventana de hamming" de uso muy común lleva el nombre del autor.
En realidad, lo que me confunde es esta nueva forma de filtrar, simplemente estamos multiplicando la ventana con la entrada en lugar de convolucionarla. Esto me está confundiendo. Es tan diferente de lo que tenía en mente sobre los filtros.
@quantum231, Windows y los filtros son cosas diferentes con propósitos diferentes. Es por eso que funcionan de manera diferente.
Si alguien recuerda ASYST, tenían ventanas al revés, convolucionando en el dominio del tiempo (si no recuerdo mal), al menos hasta que informé del error alrededor de 1989.

Filtrar con una ventana rectangular en el dominio de la frecuencia es equivalente a convolucionar con una función sinc (sin(pi*x)/(pi*x)) en el dominio del tiempo. Si estuviera usando un filtro de ancho infinito, las cosas funcionarían bien. Sin embargo, las implementaciones reales rara vez son infinitas, y la aplicación de una ventana de filtro (como Hamming, Hanning (realmente von Hann), coseno, etc.) puede minimizar algunos de los efectos más desagradables de los lóbulos laterales truncados de la función sinc.

Tomar la fft, multiplicar por la ventana rectangular en el dominio de la frecuencia y luego tomar la fft inversa es equivalente a la convolución con la función sinc en el dominio del tiempo, y comparte sus deficiencias