窗函数:给信号裁边
约 10 分钟
上一章留下的坑:傅里叶变换默认信号「从头到尾完整」。可现实中我们只能录一小段——比如只录钢琴声的一秒钟。直接拿这一秒去做 FFT,频谱上会出现本不存在的杂散频率,这叫频谱泄漏。
为什么会泄漏:截断相当于给信号乘上一个「矩形窗」——窗外全归零。而时域相乘对应频域卷积:矩形窗的频谱带着长长的旁瓣,和真实频谱一卷,能量就「漏」到了邻近频率。直觉类比:把一首歌硬剪断,断口处的「咔哒」声就是突变引入的假频率。
补救办法——换窗:不用生硬的矩形窗,改用两端平滑渐变到零的窗函数,让信号「温柔地开始和结束」。常见的有汉宁窗、海明窗、布莱克曼窗。代价是:主瓣变宽,频率分辨力略降——泄漏和分辨力是一对跷跷板,选窗就是在两者之间权衡。
真实例子:语音识别把语音切成 25 毫秒的小帧,每帧乘汉宁窗再做 FFT,频谱图干净得多;心电信号分段分析时也必须加窗,否则杂散峰会淹没微弱的病理成分。
常见误区:「窗函数能提高采样率或增加信息」——不能。它只是让已有信息在频域呈现得更干净,不创造任何新信息。
练一练:用音频分析软件对同一段纯音分别加矩形窗和汉宁窗做频谱,比较两边杂散峰的多少。
小纸条
为什么直接截断一段信号做 FFT 会出现频谱泄漏?
登录 后可看答案