数字信号处理--加窗

1. 数字信号处理为什么要加窗?

防止频谱泄漏现象
快速傅里叶变换(FFT)实现了时域到频域的转换,是信号分析中最常用的基本功能之一。FFT变换时,总是从离散数据中选取一部分处理,将其称为一帧数据。而且FFT是在一定假设下完成的,即认为被处理的信号是周期信号。因此,FFT之前会对这一帧数据进行周期扩展。
以CW信号为例,如果选取的这一帧数据不是信号周期的整数倍,则在周期扩展时会存在样点的不连续性,如下图所示。这将导致FFT之后得到的频谱失真,主要体现在频率成分上。理论上,频谱中只包含待测信号的频率,但实际上此时的频谱包含众多的频率分量。通常将这种现象称为频谱泄露效应。
在这里插入图片描述
在很多情况下,并不能测量到整数个周期。 因此,测量到的信号就会被从周期中间切断,与时间连续的原信号显示出不同的特征。有限数据采样会使测量信号产生剧烈的变化。 这种剧烈的变化称为不连续性。
采集到的周期为非整数时,端点是不连续的。 这些不连续片段在FFT中显示为高频成分。这些高频成分不存在于原信号中。 这些频率可能远高于奈奎斯特频率,在0~ 采样率的一半的频率区间内产生混叠。 使用FFT获得的频率,不是原信号的实际频率,而是一个改变过的频率。 类似于某个频率的能量泄漏至其他频率。 这种现象叫做 频谱泄漏。频率泄漏使好的频谱线扩散到更宽的信号范围中。
为了抑制频谱泄露效应,可以采用诸如Hanning、Kaiser等多种时间窗。还有一种特殊的时间窗——矩形窗,其实就是不加时间窗,直接对原始样点做FFT变换,上述例子就是采用矩形窗的情况。只有采用矩形窗,而且窗宽度不是信号周期的整数倍时,才会发生明显的频谱泄露效应。
语音信号一般在10ms到30ms之间,我们可以把它看成是平稳的。为了处理语音信号,我们要对语音信号进行加窗,也就是一次仅处理窗中的数据。因为实际的语音信号是很长的,我们不能也不必对非常长的数据进行一次性处理。明智的解决办法就是每次取一段数据,进行分析,然后再取下一段数据,再进行分析。

2. 怎样截取一段数据

一种方式就是构造一个函数。这个函数在某一区间有非零值,而在其余区间皆为0.汉明窗就是这样的一种函数。它主要部分的形状像sin(x)在0到pi区间的形状,而其余部分都是0.这样的函数乘上其他任何一个函数f,f只有一部分有非零值。

3. 为什么汉明窗这样取呢?

因为之后我们会对汉明窗中的数据进行FFT,它假设一个窗内的信号是代表一个周期的信号。(也就是说窗的左端和右端应该大致能连在一起)而通常一小段音频数据没有明显的周期性,加上汉明窗后,数据形状就有点周期的感觉了。
因为加上汉明窗,只有中间的数据体现出来了,两边的数据信息丢失了,所以等会移窗的时候,只会移1/3或1/2窗,这样被前一帧或二帧丢失的数据又重新得到了体现。简单的说汉明窗就是个函数,它的形状像窗,所以类似的函数都叫做窗函数。
下图便是加窗之后的效果图(实现时频局域化)
在这里插入图片描述
4. 这里需要注意的点
1、加窗并不是为了截取信号的某一节,
因为FFT算法是认为你采样的信号是无限长的周期的信号,也就是你32k的数据会被认为是不断重复的,32k最后一个点之后又连到第一个点,这样不断重复,这样就有可能出现波形突然不连续的情况,这个不连续会导致FFT结果出现频谱泄漏现象,
但是你的实际信号是连续的,所以加窗的目的就是让不太连续的地方(最后一个点和第一个的连接处)看上去平滑了,没有原来那么明显的突变了,
2、原始数据*窗函数,数据都变样了,FFT后的频谱为什么还能作为参考依据?
加窗以后数据变样了就是加窗的目的,如果你关心的频率范围与窗函数本身的频率范围没有交集,那么加窗FFT后的频谱是有参考价值的,不过你要自己加入幅值修正,

3、窗函数的频谱里也会有频率能量较大的成分,那么加入窗函数后,FFT后频谱会不会由于窗函数相乘了以后导致出现本来没有谐波或毛刺的位置出现了毛刺呢?

有一种情况,比如:32k的点数,前面一段是1kHz,中间一段是2kHz,后面一段是3kHz,这样的信号就不适合加窗,加窗FFT后的结果肯定是有问题的,
这样的信号要么不能加窗FFT,要加窗就应该以更加精细的尺度进行分析,换句话说加窗只适用于关注的频率在各时间点上分布比较均匀的信号。

解答1:加窗和直接采样不一样,一方面,加窗一般是滤波器,通带内的系统函数不一定是常数值,加窗在时域进行,窗函数的频域形状是一个窗,把带外的分量滤除,相当于低通滤波器,若是矩形滤波器,相当于低通滤波,把带外高频分量直接滤除,另一方面,采样在不同的采样采样率下对信号的近似程度不一样,但是加窗是直接截取一段。

解答2:当窗是矩形窗的时候,采样区间为0–5s,此时加窗的效果和采样是相同的,但针对其他窗的时候不成立。
5.几种窗函数特性
https://baike.sogou.com/v8906031.htm?ch=ww.xqy.xgbk

6. 选窗原则

https://wenku.baidu.com/view/a3821a126c175f0e7cd13717.html
注:参考资料
(1)https://mp.weixin.qq.com/s?src=11&timestamp=1599555080&ver=2571&signature=sPpLnspO3-x7oakFMTN6BGcRAbcXoRe4laERrvOh-NPCRjozAspIjKITMwKER4CMM2wiAc1Lqi8FdG7PRc6m1A9GoPyJJp0FgEA1RCKelEKlKfixT4Z6WrfbTJTj6wZj&new=1
(2)https://blog.csdn.net/weixin_40162095/article/details/106410076?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
(3)https://blog.csdn.net/weixin_38313518/article/details/78106150?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
(4)https://blog.csdn.net/wordwarwordwar/article/details/72590859?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
(5)https://wenwen.sogou.com/z/q824226941.htm?ch=ww.xqy.xgzs&pid=ww.xqy.xgzs

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值