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

5

Por lo que sé, en DSP deseamos eliminar o reducir el efecto de algunas señales no deseadas al separar su espectro de frecuencias del espectro de toda la señal (nuestra señal principal y el ruido). Este proceso se realiza mediante el uso de 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 frecuencias de nuestra señal principal que se está filtrando. Pensé que tomamos una FFT de la señal principal, la multipliqué con la ventana del rectángulo del filtro que parece un rectángulo en el dominio de la frecuencia (cada muestra de 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. 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, por lo que quizás la señal principal filtrada no sea buena.

Mi confusión surge al saber que la función de la ventana tiene sus orígenes en el dominio del tiempo y no el dominio de la frecuencia, y la función de la ventana se ha convuelto en el tiempo con nuestra señal principal para filtrarla. (Para la función de ventana en el dominio de frecuencia, tenemos todo este lío con lóbulos que parecen raros, 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 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 que se llama "fuga de energía" en el espectro, por lo que no utilizamos una ventana rectangular. Todo me confunde.

    
pregunta quantum231

3 respuestas

2

Su verdadera confusión parece ser un malentendido fundamental de lo que hacen los DSP. Los DSP están optimizados para realizar convoluciones . Debido a 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 disponible del procesador. Por lo tanto, las circunvoluciones por necesidad deben tener un ancho finito, por lo que a estos tipos de filtros se les suele llamar respuesta de impulso finito o FIR .

Aparte de la restricción en el ancho de la convolución, nada en el hardware de DSP dice qué puede hacer con esa convolución, o más específicamente, qué coeficientes puede usar. Todos los coeficientes forman la función con la que se está convirtiendo una señal de entrada. A veces se denominan colectivamente el 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 alguna frecuencia sin alterar el contenido por debajo de esa frecuencia, pero esa es solo una de las muchas cosas útiles que puede hacer una gran convolución digital.

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 algún tamaño finito (que 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 multiplicados y dos adiciones por muestra, independientemente de la amplitud 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 sinc. Un sinc en el dominio de tiempo se asigna a un rectángulo en el dominio de frecuencia y viceversa.

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

    
respondido por el Olin Lathrop
5
  

Mi confusión surge al saber que la función de ventana tiene sus orígenes en el dominio de 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 la frecuencia y la función de la ventana se convierten a tiempo con nuestra señal principal para filtrarlo.

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

Convertir 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 la 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 frecuencias de nuestra señal principal que se está filtrando.

Si multiplicamos en el dominio de frecuencia, generalmente no llamamos a eso una función de ventana. Lo llamamos un filtro.

  

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

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

Pero cuando hacemos ventanas, en realidad queremos la 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 discurso) y no tenemos TODAS las muestras cuando hacemos la FFT

Esto es exactamente por qué usamos las funciones de ventana. Cuando hacemos una transformada de Fourier discreta (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 saltos grandes donde la última muestra se ajusta a 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.

Normalmente, 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 y así sucesivamente, pero como dices, es un poco peludo como para moverte la cabeza.     

respondido por el The Photon
1

Filtrar con una ventana rectangular en el dominio de la frecuencia es equivalente a convolving con una función sinc (sin (pi * x) / (pi * x)) en el dominio del tiempo. Si estuvieras usando un filtro de ancho infinito, las cosas saldrí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 el fft, multiplicar por la ventana rectangular en el dominio de la frecuencia y luego tomar el fft inverso es equivalente a la convolución con la función sinc en el dominio del tiempo, y comparte sus defectos

    
respondido por el Scott Seidman

Lea otras preguntas en las etiquetas