Se você está preocupado em fazer uma análise espectral de um sinal com um grande componente CC e deseja suprimir esse pico de CC, uma função de janela não é o que você deseja. Como algumas outras respostas observadas, um filtro passa-alto (ou, visto de maneira diferente, um filtro de entalhe com o entalhe na frequência zero) é uma solução apropriada.
Para entender o porquê, você precisa pensar no que a aplicação de uma função de janela faz na resposta de frequência de cada saída DFT. O DFT é definido como:
X[k]=∑n=0N−1x[n]e−j2πnkN
Uma interpretação de como o DFT funciona é como um banco de filtros em frequências igualmente espaçadas entre - f sN efs−fs2 . Redefina a soma acima da seguinte maneira:fs2
X[k]=∑n=0N−1xk[n]
Onde:
xk[n]=x[n]e−j2πnkN
Assim, a ésima saída DFT é gerada pegando primeiro o sinal de entrada x [ n ] e multiplicando-o por um exponencial complexo na frequência - 2 π kkx[n] para gerar um sinal de conversão descendentexk[n]. O sinal resultante é então somado sobre ajanelaN-sample para produzir a saída DFTX[k]. Este é efetivamente um filtro de média móvel (às vezes chamado de filtro de vagão), cuja resposta ao impulso pode ser descrita como:−2πkNxk[n]NX[k]
b[n]={1, x=0,1,…,N−10, otherwise
A resposta de magnitude do filtro de vagão coberto pode ser encontrada usando a transformada de Fourier em tempo discreto (DTFT) dessa resposta de impulso:
|H(f)|=∣∣∣∣∣sin(Nπffs)sin(πffs)∣∣∣∣∣
Este é um núcleo do Dirichlet , e às vezes é chamado de "sinc periódico", pois parece um pouco com uma função sinc, mas se repete periodicamente, o que um sinc não faz. Essa expressão fornece a resposta de magnitude de cada saída DFT, em que é medido como o deslocamento de frequência da frequência central do respectivo compartimento de saída. Isso ilustra o efeito de vazamento espectral ; cada saída DFT possui uma resposta de frequência que cobre uma faixa contínua do espectro do sinal de entrada, não apenas a frequência central discreta de cada saída.f
Agora considere como as coisas mudam se você aplicar uma função de janela ao sinal de entrada antes de executar o DFT: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]
Portanto, se você realmente deseja apenas cancelar o componente DC do sinal, removê-lo através de algum outro tipo de pré-processamento, não a janela no domínio do tempo, é o caminho a percorrer. Você pode usar um filtro passa-alto linear com uma frequência de corte muito baixa ou subtrair a média estimada do sinal primeiro, por exemplo. A escolha entre esses métodos deve basear-se em outras restrições que seu sistema possui.