Answers:
最常见的连续窗口函数(冯·汉恩等)的一阶导数将拒绝DC,但仍具有与原始窗口函数相似的幅频响应。因此,如果与阶段无关,则仍然可以使用原始的“好”标准进行窗口选择。
如果您要对具有大直流分量的信号进行频谱分析,并且想要抑制该直流峰值,那么窗函数就不是您想要的。正如其他一些答案所指出的那样,高通滤波器(或者换句话说,陷波频率为零的陷波滤波器)是一种合适的解决方案。
要了解原因,您需要考虑将窗函数应用于每个DFT输出的频率响应。DFT定义为:
DFT如何工作的一种解释是,在− f s之间的等间隔频率上的一组滤波器和fs。重铸以上总和,如下所示:
哪里:
因此,通过首先取所述输入信号生成的第DFT输出X [ Ñ ]在频率和相乘通过复指数- 2 π ķ产生下变频信号xk[n]。然后,将所得信号在N样本窗口上求和,以产生DFT输出X[k]。这实际上是一个移动平均滤波器(有时称为棚车滤波器),其脉冲响应可以描述为:
可以通过对该脉冲响应进行离散时间傅立叶变换(DTFT)来找到棚车滤波器的幅度响应:
因此,如果您确实只想消除信号的DC分量,那么可以通过其他类型的预处理(而不是时域加窗)将其删除。例如,您可以使用截止频率非常低的线性高通滤波器,或者首先从信号中减去估计的平均值。在这些方法之间进行选择应基于系统具有的其他约束。
我认为使用窗口功能不是消除DC的好方法。正如endolith所提到的,一种常见的方法是在开窗之前减去均值。另一种选择是在分析之前对信号应用高通滤波器,例如,截止频率约为10 Hz。