硬汉嵌入式论坛

 找回密码
 立即注册
查看: 77|回复: 3
收起左侧

[DSP] FFT几种常用的窗函数特点,大类分为常规窗和平顶窗

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 8 小时前 | 显示全部楼层 |阅读模式
第一部分:窗函数是什么?

想象一下,你有一段无限长的信号(比如一段音乐或振动数据),但你只能截取其中一小段来进行分析(例如从第1秒到第2秒)。这个“截取”的过程,在数学上就相当于给原始信号乘以一个“窗”。

定义: 窗函数是一个在特定区间内非零,而在区间之外为零或趋近于零的数学函数。在信号处理中,它被用来“加窗”于一段信号,即只观察信号在窗内的部分。

核心作用:

频谱分析: 当我们对加窗后的信号进行傅里叶变换(FFT)时,目的是分析其频率成分。如果不加窗(相当于使用矩形窗),在截断处会产生不连续性,导致频谱中出现大量虚假的、不属于原信号的频率成分,这个现象称为 “频谱泄漏”。

滤波器设计: 用于设计有限长冲激响应滤波器。

加窗的本质: 在时域将信号与窗函数相乘,相当于在频域将信号的频谱与窗函数的频谱进行卷积。因此,加窗后我们看到的频谱,其实是真实频谱被窗函数的频谱“模糊化”或“染色”后的结果。

第二部分:常规窗函数

常规窗函数是我们最常接触的类型,例如汉宁窗、汉明窗、布莱克曼窗等。

设计目标:
常规窗函数的主要设计目标是在频谱主瓣宽度和旁瓣衰减之间取得一个平衡。

主瓣宽度: 决定了频率分辨能力。主瓣越窄,区分两个靠得很近的频率成分的能力就越强。

旁瓣衰减: 决定了抑制频谱泄漏的能力。旁瓣越低,由强频率信号泄漏到弱频率信号区域的能量就越少。

常见常规窗的特点:

矩形窗: 主瓣最窄(频率分辨率最高),但旁瓣很高,衰减慢(频谱泄漏最严重)。

汉宁窗: 主瓣变宽,但旁瓣显著降低,是常用的折中选择。

汉明窗: 类似汉宁窗,但优化了第一个旁瓣的高度。

布莱克曼窗: 旁瓣更低,但主瓣更宽。

一句话总结常规窗: 它们都牺牲了一部分频率分辨率来换取更好的频谱泄漏抑制,但没有一个能在振幅测量上做到绝对精确。

第三部分:平顶窗函数

平顶窗是一种特殊设计的窗函数,它的设计目标与常规窗函数有根本性的不同。

设计目标:
平顶窗的首要设计目标不是频率分辨率,而是极佳的振幅精度。它要确保在频域上,对一个正弦波(单频信号)进行测量时,能尽可能准确地读出其真实振幅。

工作原理:
平顶窗的频谱有一个非常平坦的顶部。当我们分析一个频率正好落在FFT频率点(即频点中心)的正弦信号时,它的能量会完全集中在主瓣内。平顶窗的主瓣非常宽,但顶部极其平坦。这意味着,即使信号的频率有微小的偏移,没有完全对准频点中心,其在主瓣内的响应也几乎保持不变,从而保证了振幅读数的准确性。

特点:

优点: 振幅测量精度极高(通常优于0.1%)。

缺点:

主瓣非常宽: 频率分辨率极差,无法区分靠得很近的频率成分。

旁瓣衰减一般: 频谱泄漏抑制能力不如汉宁窗或布莱克曼窗。

应用场景:
主要用于校准和精确的电功率测量。

例如,在实验室中用标准信号源校准一个数据采集系统时,就需要用平顶窗来确保测量到的电压或功率值是绝对准确的。

在分析电力系统的谐波时,需要精确知道50Hz基波及其各次谐波(100Hz, 150Hz...)的幅值,这时平顶窗是理想选择。

第四部分:核心区别对比

为了让区别更直观,我们用一个表格来总结:

23.png

如何选择?
你想找信号里有哪些频率成分? (例如,分析一段音频的音高,或机械振动的主要频率)

选择常规窗,如汉宁窗。你需要良好的频率分辨率来区分靠得近的频率。

你已经知道信号的频率,想精确测量它的振幅有多大? (例如,测量一个已知频率的正弦波的电压,或分析电力谐波的幅值)

选择平顶窗。你需要最高的振幅精度,而可以牺牲频率分辨率。

直观比喻
常规窗(如汉宁窗) 像一把锋利的匕首:刀刃很尖(主瓣窄),可以精确地“刺中”并分离不同的目标(频率),但用力过猛可能会伤及周围(频谱泄漏)。

平顶窗 像一个宽大平坦的秤盘:它非常笨重,无法区分两个靠得很近的物体(频率分辨率差),但它能给出物体重量(振幅)的极其精确的读数。

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
 楼主| 发表于 8 小时前 | 显示全部楼层
23.png

24.png

如何选择?一个简单的指南

不知道用什么,或者需要平衡分辨率和泄漏:

首选 Hanning 窗。它在绝大多数情况下都是一个安全且高效的选择。

需要高频率分辨率来区分靠得很近的频率:

这意味着你需要窄的主瓣。可以考虑 矩形窗(但泄漏严重),或者接受 Hanning/Hamming 窗的折中。

需要高动态范围,即测量一个微弱信号,而它旁边有一个很强的信号:

这意味着你需要极低的旁瓣来防止强信号淹没弱信号。

选择 Blackman 或 Nuttall 窗。它们能最大程度地抑制频谱泄漏。

需要抑制紧邻主瓣的泄漏,但对远处的泄漏不关心:

选择 Hamming 窗。它的第一个旁瓣比Hanning窗低得多。

用于功率谱密度估计:

Welch 窗 是一个常见的选择,因为其两端平滑过渡到零的特性。
回复

使用道具 举报

4

主题

1470

回帖

1482

积分

至尊会员

积分
1482
发表于 8 小时前 | 显示全部楼层
回复

使用道具 举报

5

主题

133

回帖

148

积分

初级会员

积分
148
发表于 8 小时前 | 显示全部楼层

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-11-21 20:53 , Processed in 0.041982 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表