Est-il habituel de corriger le gain d'une fenêtre?

9

Considérez comment la fenêtre Hanning est définie:

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

Selon cette définition, il a un gain de 0,5, qui est simplement la valeur moyenne des coefficients. En revanche, les fenêtres Flattop, telles que définies, ont un gain unitaire, probablement par conception.

Il semblerait approprié de redimensionner la fenêtre Hanning par un facteur de 2, mais je n'ai jamais vu cela discuté nulle part. Il semblerait que toutes les fenêtres devraient être mises à l'échelle pour un gain unitaire.

En pratique, les fenêtres sont-elles généralement corrigées pour leur gain? Sinon, pourquoi pas?

ÉDITER:

Puisque personne n'a donné de réponse, je vais développer un peu.

Il est assez facile de trouver des documents qui signalent le gain des fenêtres les plus courantes. Mais je n'ai vu personne se référer à la correction du gain avant de l'utiliser pour l'analyse spectrale. Peut-être que j'ai toujours manqué cette déclaration, ou tout le monde suppose que la correction du gain est une exigence évidente.

Il semble logique de régler le gain d'une fenêtre sur l'unité afin que le niveau d'énergie du signal soit préservé. De plus, comment peut-on comparer les différentes fenêtres pour la précision de l'amplitude si l'une a un gain de 0 dB, comme le fait un flattop, et l'autre a une perte de près de 10 dB, comme le fait le Gauss.

Les fenêtres sont également largement utilisées pour la conception de filtres FIR. Dans cette application, il doit être clair que le signal à fenêtrer, une impulsion sinc, a l'essentiel de son énergie au centre de la fenêtre. Par conséquent, la fenêtre fait peu pour réduire l'énergie totale de l'impulsion sinc. Ainsi, lorsqu'il est utilisé pour la conception de filtres, nous ne voulons pas de gain unitaire, mais plutôt une amplitude de crête unitaire, comme la plupart des fenêtres, à l'exception des flattops. Quelque chose d'autre qu'une amplitude de crête unitaire affecterait le gain du filtre FIR résultant.

user5108_Dan
la source
1
Cela dépend de l'application et de la façon dont la fenêtre doit être appliquée (par exemple, soit par multiplication ou convolution). Certains types courants de normalisation évoluent vers un gain CC unitaire ou vers une énergie unitaire.
Jason R
Je parlais de postuler via la multiplication.
user5108_Dan
2
En raison des festons, le gain de la fenêtre n'est pas constant à toutes les fréquences, selon la fenêtre. Par conséquent, toute mise à l'échelle dépend du type d'analyse que l'on fait.
hotpaw2
Comment appelez-vous le gain d'une fenêtre ??
Yves Daoust
2
Le gain d'une fenêtre, si je comprends bien, est la valeur moyenne des coefficients (ie Sum / N). Voici deux articles qui utilisent cette définition Fred Harris (voir le tableau 1 pour une comparaison des gains de fenêtre) et Max Planck Inst (voir leur définition et l'utilisation de S1). Cette définition semble assez claire si vous regardez simplement l'effet de l'application d'une fenêtre à une onde sinusoïdale pure.
user5108_Dan

Réponses:

3

Oui, il est de coutume de corriger le gain d'une fenêtre, sauf dans certains cas que j'évoquerai plus loin. (Si vous n'êtes intéressé que par l'amplitude relative, vous n'avez bien sûr pas besoin de corriger le gain.)

Parce que la fenêtre réduit le gain du signal d'origine (domaine temporel), l'amplitude obtenue par FFT doit être corrigée. Par exemple, si vous utilisez la fenêtre Hanning, vous devez multiplier toutes les amplitudes par 2 (l'inverse de 0,5). Si je comprends bien, la plupart des progiciels pour FFT corrigent automatiquement la fenêtre utilisée.

Cependant, une telle correction n'est bonne que lorsque toutes les fréquences d'intérêt se répartissent dans la fenêtre du domaine temporel. Par exemple, supposons que vous ayez 1024 données avec tous les niveaux de signal à zéro, à l'exception du point # 512 qui a une valeur de 1 (signal d'impulsion). De toute évidence, aucune fenêtre ne fait rien aux données. Donc, si vous corrigez les amplitudes pour le gain de fenêtre (multipliez par 2), vous vous retrouverez avec une surestimation de l'amplitude. Si vos 1024 données sont toutes nulles, sauf le tout premier point avec une valeur de 1, alors chaque point a une valeur de zéro après le fenêtrage, et vous perdez le signal.

Donc, si vous avez affaire à des signaux aléatoires, avec toutes les composantes de fréquence censées se situer presque également sur la longueur du signal, vous devez (ou devriez) corriger le gain de la fenêtre que vous utilisez.

J-Matthew
la source
Je vous remercie. C'est ce que je pensais être le cas, mais je n'avais jamais vu cela déclaré nulle part.
user5108_Dan
1

une façon de "corriger le gain d'une fenêtre" est de le faire dans la définition de la fenêtre. qu'est-ce que cela signifierait? corriger le gain ? à quelle fréquence? chez DC? si vous corrigez le gain, au DC, d'une fenêtre, cela signifie que tous les coefficients s'ajoutent à 1.

n=-+w[n]=1

ou

-+w(t) t=1
robert bristow-johnson
la source
Voulez-vous dire que le gain d'une fenêtre est fonction de la fréquence? Je calcule le gain d'une fenêtre comme la somme du coeff divisé par N, la moyenne. Je veux que ce soit 1, pas la somme, comme vous l'avez montré. Ainsi, le facteur de correction de gain pour un Hanning est de 2. Lorsque j'utilise des fenêtres à gain corrigé avec un fft, j'obtiens des valeurs d'amplitude correctes. C'est-à-dire; toutes les fenêtres que je teste donnent les mêmes amplitudes pour chaque composante spectrale, et elles sont toutes d'accord avec un fft non fenêtré. Si j'utilise des fenêtres avec un gain non corrigé, elles donnent toutes des résultats différents et seul le flattop donne les valeurs d'amplitude correctes.
user5108_Dan
W(F)=-w(t)e-j2πFtt
F
W(ejω)=n=-w[n]e-jωn
ω212
De mon point de vue, le gain de la fenêtre Hann est de 1/2 à toutes les fréquences, pas seulement DC. En d'autres termes, chaque composante spectrale du fft est inférieure de 6 dB à ce qu'elle devrait être. Lorsque j'utilise une fenêtre flattop qui a un gain unitaire, chaque composante spectrale est au bon niveau. Je dois faire quelque chose de complètement faux.
user5108_Dan
ne sais pas comment vous le voyez de cette façon. comment utilisez-vous votre fenêtre Hann? à quels endroits de votre signal d'origine appliquez-vous la fenêtre et que faites-vous des données fenêtrées?
robert bristow-johnson
Je crée un signal multi-ton, puis le fenètre comme ceci, où N = 1024 sig (n) = 1 + sin (50 * n * 2 * Pi / N) + sin (75 * n * 2 * Pi / N) gagne (n) = 0,5 - 0,5 * cos (n * 2 * Pi / (N-1)) windowed_sig (n) = sig (n) * win (n) Ensuite, je prends le fft de windowed_sig. Les résultats semblent corrects. C'est juste que le fft des signaux fenêtrés semble être en erreur. L'erreur est de 6 dB pour une fenêtre Hann, d'environ 10 dB pour un Gauss et de 0 dB pour un flattop.
user5108_Dan
0

Le demi-facteur se normalise en amplitude unitaire.

Yves Daoust
la source
Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article.
jojek
@jojek: pas besoin d'explication plus longue, c'est une question élémentaire.
Yves Daoust
Je suis d'accord avec Yves ici: la question semble élémentaire. Et cette réponse indique certainement la fausseté de la déclaration de l'interrogateur By this definition, it has a gain of 0.5.
Peter K.
@PeterK .: merci pour le soutien. Après tout, j'avais tort de répondre à une question vide de sens: le "gain" d'une fenêtre n'est pas défini.
Yves Daoust
1
@PeterK .: merci, je le ferai moi-même, selon ce que le PO répond à ma demande de clarification.
Yves Daoust