¿Es habitual corregir la ganancia de una ventana?

9

Considere cómo se define la ventana de Hanning:

0.5 - 0.5 * cos(n*2*Pi/(N-1))

Según esta definición, tiene una ganancia de 0.5, que es simplemente el valor promedio de los coeficientes. Por el contrario, las ventanas Flattop, tal como se definen, tienen ganancia de unidad, presumiblemente por diseño.

Parecería apropiado escalar la ventana de Hanning por un factor de 2, pero nunca he visto esto discutido en ningún lado. Parecería que todas las ventanas deberían ser escaladas para ganar la unidad.

En la práctica, ¿se corrigen las ventanas por su ganancia? ¿Si no, porque no?

EDITAR:

Como nadie ha dado una respuesta, voy a elaborar un poco.

Es bastante fácil encontrar documentos que reporten la ganancia de las ventanas más comunes. Pero en ninguna parte he visto a nadie referirse a corregir la ganancia antes de usarla para el análisis espectral. Tal vez siempre me haya perdido esa declaración, o todos asumen que la corrección de ganancia es un requisito obvio.

Parece de sentido común establecer la ganancia de una ventana en la unidad para que se conserve el nivel de energía de la señal. Además, ¿cómo se puede comparar las distintas ventanas para la precisión de amplitud si una tiene una ganancia de 0 dB, como lo hace una superficie plana, y la otra tiene una pérdida de casi 10 dB, como lo hace el Gauss?

Las ventanas también se usan ampliamente para el diseño de filtros FIR. En esta aplicación, debe quedar claro que la señal a ser ventana, un pulso sinc, tiene la mayor parte de su energía en el centro de la ventana. En consecuencia, la ventana hace poco para reducir la energía total del pulso sinc. Por lo tanto, cuando se usa para el diseño de filtros, no queremos una ganancia unitaria, sino más bien la amplitud máxima de la unidad, como la mayoría de las ventanas, excepto las planchas. Algo más que la amplitud máxima de la unidad afectaría la ganancia del filtro FIR resultante.

user5108_Dan
fuente
1
Depende de la aplicación y de cómo se aplicará la ventana (por ejemplo, mediante multiplicación o convolución). Algunos tipos comunes de normalización están escalando a ganancia de CC unitaria o a energía unitaria.
Jason R
Me refería a la aplicación por multiplicación.
user5108_Dan
2
Debido al festoneado, la ganancia de la ventana no es constante en todas las frecuencias, dependiendo de la ventana. Por lo tanto, cualquier escala depende del tipo de análisis que uno esté haciendo.
hotpaw2
¿Cómo se llama la ganancia de una ventana?
Yves Daoust
2
La ganancia de una ventana, según tengo entendido, es el valor promedio de los coeficientes (es decir, Suma / N). Aquí hay dos documentos que usan esta definición Fred Harris (ver la tabla 1 para una comparación de las ganancias de la ventana) y Max Planck Inst (ver su definición y uso de S1). Esta definición parece bastante clara si simplemente observa el efecto de aplicar una ventana a una onda sinusoidal pura.
user5108_Dan

Respuestas:

3

Sí, es habitual corregir la ganancia de una ventana, excepto en algunos casos a los que me referiré más adelante. (Si solo le interesa la amplitud relativa, por supuesto, no necesita corregir la ganancia).

Debido a que la ventana reduce la ganancia de la señal original (dominio del tiempo), la amplitud obtenida a través de FFT debe corregirse. Por ejemplo, si usa la ventana de Hanning, debe multiplicar todas las amplitudes por 2 (el recíproco de 0.5). Según tengo entendido, la mayoría de los paquetes de software para FFT corrigen automáticamente la ventana utilizada.

Sin embargo, dicha corrección es buena solo cuando todas las frecuencias de interés se distribuyen a lo largo de la ventana del dominio del tiempo. Por ejemplo, suponga que tiene 1024 datos con todos los niveles de señal de cero, excepto el punto # 512 que tiene un valor de 1 (señal de impulso). Obviamente, cualquier ventana no hace nada a los datos. Entonces, si corrige las amplitudes para la ganancia de la ventana (multiplique por 2), terminará con una sobreestimación de la amplitud. Si sus 1024 datos son todos cero, excepto el primer punto con un valor de 1, entonces cada punto tiene un valor de cero después de la ventana y pierde la señal.

Por lo tanto, si se trata de señales aleatorias, con todos los componentes de frecuencia que se espera que se encuentren casi de manera uniforme a lo largo de la señal, debe (o debería) corregir la ganancia de la ventana que utiliza.

J-Matthew
fuente
Gracias. Esto es lo que pensé que debería ser el caso, pero nunca lo había visto en ningún lado.
user5108_Dan
1

Una forma de "corregir la ganancia de una ventana" es hacerlo en la definición de la ventana. ¿Qué significaría esto? corrigiendo la ganancia donde ? a que frecuencia en DC? Si está corrigiendo la ganancia, en DC, de una ventana, significa que todos los coeficientes se suman a 1.

n=+w[n]=1

o

+w(t) dt=1
robert bristow-johnson
fuente
¿Estás diciendo que la ganancia de una ventana es una función de la frecuencia? Calculo la ganancia en una ventana como la suma del coeff dividido por N, el promedio. Quiero que esto sea 1, no la suma, como has demostrado. Por lo tanto, el factor de corrección de ganancia para un Hanning es 2. Cuando uso ventanas con corrección de ganancia con un fft, obtengo valores de amplitud correctos. Que es decir; Todas las ventanas que pruebo dan las mismas amplitudes para cada componente espectral, y todas están de acuerdo con un FFT sin ventanas. Si uso ventanas con ganancia no corregida, todas dan resultados diferentes y solo la superficie plana proporciona los valores de amplitud correctos.
user5108_Dan
W(f)=w(t)ej2πftdt
f
W(ejω)=n=w[n]ejωn
ω212
A mi modo de ver, la ganancia de la ventana de Hann es 1/2 en todas las frecuencias, no solo DC. En otras palabras, cada componente espectral en el fft es 6 dB más bajo de lo que debería ser. Cuando uso una ventana plana que tiene ganancia unitaria, cada componente espectral está en el nivel correcto. Debo estar haciendo algo completamente mal.
user5108_Dan
No sé cómo lo ves de esa manera. ¿Cómo estás usando tu ventana Hann? ¿En qué lugares de su señal original está aplicando la ventana y luego qué hace con los datos de la ventana?
robert bristow-johnson
Creo una señal multitono, luego la ventana de esta manera, donde N = 1024 sig (n) = 1 + sin (50 * n * 2 * Pi / N) + sin (75 * n * 2 * Pi / N) gana (n) = 0.5 - 0.5 * cos (n * 2 * Pi / (N-1)) windowed_sig (n) = sig (n) * win (n) Luego tomo el fft de windowed_sig. Los resultados parecen correctos. Es solo que el fft de las señales en ventana parece estar equivocado. El error es 6 dB para una ventana de Hann, aproximadamente 10 dB para un Gauss y 0 dB para una superficie plana.
user5108_Dan
0

El medio factor se normaliza a la amplitud de la unidad.

Yves Daoust
fuente
Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación.
jojek
@jojek: no hay necesidad de una explicación más larga, esta es una pregunta elemental.
Yves Daoust
Estoy de acuerdo con Yves aquí: la pregunta parece elemental. Y esta respuesta ciertamente indica la falacia de la declaración del interlocutor.By this definition, it has a gain of 0.5 .
Peter K.
@PeterK .: gracias por el apoyo. Después de todo, me equivoqué al responder una pregunta sin sentido: la "ganancia" de una ventana no está definida.
Yves Daoust
1
@ PeterK .: gracias, lo haré yo mismo, dependiendo de lo que responda el OP a mi solicitud de aclaración.
Yves Daoust