Si vous souhaitez effectuer une analyse spectrale sur un signal avec une grande composante CC et que vous souhaitez supprimer ce pic CC, alors une fonction de fenêtre n'est pas ce que vous voulez. Comme d'autres réponses l'ont noté, un filtre passe-haut (ou, vu différemment, un filtre coupe-bande avec l'entaille à fréquence nulle) est une solution appropriée.
Pour comprendre pourquoi, vous devez réfléchir à ce que l'application d'une fonction de fenêtre fait à la réponse en fréquence de chaque sortie DFT. La DFT est définie comme:
X[ k ] = ∑n = 0N- 1x [ n ] e- j 2 πn kN
Une interprétation du fonctionnement de la DFT est celle d'une banque de filtres à fréquences également espacées entre - f sN etfs- fs2 . Refonte de la somme ci-dessus comme suit:Fs2
X[ k ] =∑n= 0N- 1Xk[ n ]
où:
xk[n]=x[n]e−j2πnkN
Ainsi, la ème sortie DFT est générée en prenant d'abord le signal d'entrée x [ n ] et en le multipliant par une exponentielle complexe à la fréquence - 2 π kkx[n] pour donner un signal abaisséxk[n]. Le signal résultant est ensuite additionné sur lafenêtre àNéchantillons pour produire la sortie DFTX[k]. Il s'agit en fait d'un filtre à moyenne mobile (parfois appelé filtre à wagon couvert), dont la réponse impulsionnelle peut être décrite comme:−2πkNxk[n]NX[k]
b[n]={1, x=0,1,…,N−10, otherwise
La réponse en amplitude du filtre boxcar peut être trouvée en prenant la transformée de Fourier à temps discret (DTFT) de cette réponse impulsionnelle:
|H(f)|=∣∣∣∣∣sin(Nπffs)sin(πffs)∣∣∣∣∣
f
x[n]
X[k]=∑n=0N−1w [ n ] x [ n ] e- j 2 πn kN= ∑n = 0N- 1w [ n ] xk[ n ]
Avec la fonction de fenêtre en place, le downconverted Xk[ n ]passe effectivement à travers un filtre FIR avec une réponse impulsionnelle décrite par la fonction fenêtre. Ainsi, la réponse en amplitude par sortie de la DFT est:
| H( f) | = | W( f) |
où W( f) le DTFT de la fonction fenêtre w [ n ]. Notez maintenant que si vous avez choisi une fonction de fenêtre qui avait un zéro à DC et l'avez utilisée pour prémultiplierx [ n ]avant la DFT, vous provoqueriez en fait l'effet non voulu de l'annulation non seulement du courant continu dans le spectre résultant, mais aussi des fréquences centrales de chacune des sorties DFT. Ce n'est probablement pas ce que vous voulez.
Donc, si vous voulez vraiment simplement annuler la composante CC du signal, la supprimer via un autre type de prétraitement, pas de fenêtrage dans le domaine temporel, est la voie à suivre. Vous pouvez utiliser un filtre passe-haut linéaire avec une fréquence de coupure très basse ou soustraire la moyenne estimée du signal en premier, par exemple. Le choix entre ces méthodes doit être basé sur les autres contraintes de votre système.