Se ti preoccupi di fare un'analisi spettrale su un segnale con un grande componente DC e vuoi sopprimere quel picco DC, allora una funzione finestra non è quella che desideri. Come notato da altre risposte, un filtro passa-alto (o, visto in modo diverso, un filtro notch con la tacca a frequenza zero) è una soluzione appropriata.
Per capire perché, è necessario pensare a cosa fa l'applicazione di una funzione finestra alla risposta in frequenza di ogni uscita DFT. Il DFT è definito come:
X[ k ] = ∑n = 0N- 1x [ n ] e- j 2 πn kN
Un'interpretazione di come funziona il DFT è come un banco di filtri a frequenze equidistanti tra - f sN efs- fS2 . Rifusione della somma sopra come segue:fS2
X[ k ] =∑n =0N- 1XK[ n ]
dove:
XK[ n ] = x [ n ] e- j 2πn kN
Quindi, l' output DFT -th viene generato prendendo prima il segnale di input x [ n ] e moltiplicandolo per un esponenziale complesso in frequenza - 2 π kKx [ n ] per produrre un segnale convertito verso il bassoxk[n]. Il segnale risultante viene quindi sommato sullafinestraN-sample per produrre l'uscita DFTX[k]. Questo è effettivamente un filtro a media mobile (a volte chiamato filtro boxcar), la cui risposta all'impulso può essere descritta come:- 2 πKNXK[ n ]NX[ k ]
b[n]={1, x=0,1,…,N−10, otherwise
La risposta di grandezza del filtro boxcar può essere trovata prendendo la trasformata di Fourier a tempo discreto (DTFT) di quella risposta all'impulso:
|H(f)|=∣∣∣∣∣sin(Nπffs)sin(πffs)∣∣∣∣∣
f
x[n]
X[k]=∑n=0N−1w[n]x[n]e−j2πnkN=∑n=0N−1w[n]xk[ n ]
XK[ n ]
| H( f) | = | W( f) |
W( f)w [ n ]x [ n ]
Quindi, se vuoi davvero solo cancellare il componente DC del segnale, rimuoverlo tramite un altro tipo di pre-elaborazione, non una finestra nel dominio del tempo, è la strada da percorrere. Ad esempio, è possibile utilizzare un filtro passa-alto lineare con una frequenza di taglio molto bassa o sottrarre prima la media stimata dal segnale. La scelta tra questi metodi dovrebbe essere basata su quali altri vincoli ha il tuo sistema.