天天动画片 > 八卦谈 > 短时距傅里叶变换

短时距傅里叶变换

八卦谈 佚名 2023-10-08 08:39:52

我们都知道傅里叶变换,它是把时间信号变换到频率域,得到信号的频率信息。

Fourier Transform

当然还有反傅里叶变换,它把频率域的信号变换回时间域

反傅里叶变换

这个看起来有些抽象的公式起源于傅里叶的一个想法:我能否把任意信号用一组正弦信号展开?傅里叶的答案是,可以的。任意信号都可以展开为一组正弦信号:

傅里叶级数

如果把傅里叶级数中的正弦函数用三角公式展开为sin和cos,傅里叶级数就化为了下面的形式:

傅里叶级数

可以看到,信号被展开为一组频率为整数倍基频的正弦函数和余弦函数。这样,我们接下来只需要确定各个函数前面的系数就行了。由三角函数的正交性(只和自己相乘做积分不是0,和别的相乘做积分是0),可以对两边乘上某个sin/cos,再同时作积分,这样就得到该sin/cos的系数:

用正弦信号展开的方波

动态图可以看这个视频


傅里叶变换就是傅里叶级数的连续形式。

我们通过傅里叶变换获取信号的频率信息。但是傅里叶变换存在一个问题:它得到的频率分布是整条信号的频率分布平均,并不能反映频率随时间的变换。对于时变信号,只得到一个平均的频率分布是远远不够的,我们需要知道频率随时间的变化,比如:

分析频率随时间变化的过程就叫时频分析。

很自然地我们想到,把整条信号切成一个个小片段,给每个小片段分别作傅里叶变换,得到了频率在每个小片段上的分布,以很短时间的小片段的平均频率分布作为这一时间点的频率,最后把所有小片段拼起来,不就得到了频率随时间的变化吗?

这就叫:短时距傅里叶变换(Short time Fourier transform STFT)。

短时距傅里叶变换

其中h(t)是用来“切”信号的时窗。大体上讲,这个时窗是一个只在有限长度上有值,在其他区域都是0的窗,这样就把这个有限长度上的信号截取出来。

信号的截取

我们通过移动时窗在时间轴上的的位置来截取一个个小片段。

如果我们选用的时窗函数是高斯函数:

高斯函数

那么此时短时距傅里叶变换就是大名鼎鼎的Gabor 变换

移动的时窗
得到的时频图

动态演示见视频:

到这一步可能有人会问了,你加了个两边衰减的时窗,会不会造成信号的信息损失啊?答案是,不会的。短时傅里叶变换的结果再反变换回时间,可以得到原来的时间信号。

就以刚才的Gabor变换为例子

高斯窗函数

由高斯积分公式

高斯积分公式

高斯窗在全空间的积分等于1

高斯窗函数的频域函数

由一般高斯积分公式

高斯窗函数的频域函数等于这个

我们对短时傅里叶变换结果做一个时间上的积分,也就是把每一段加起来

代入

换元,利用高斯积分公式

得到结果:

可见,短时傅里叶变换得到的结果加起来就是信号的频域函数,不会造成信息损失。


最后再明确一点,你得到的时频关系是不精确的。还记得时宽和频宽的概念吗?

时宽 频宽

你每个窗函数得到的片段上的频率分布,实际上是在中心频率和平均时间由带宽、时宽组成的长方形。

在这个长方形面积里,任意一点都可能是真实的频率,但由于不确定性原理,你永远也能同时精确地测量时间和频率,你只能去尽可能逼近不确定性关系的极限。

当选用的窗函数越窄,你对频率的到达时间越确定,同时对频率的分布不确定;当选用的窗函数越宽,你对频率的分布越加确定,同时对频率的到达时间越发不确定,因为频率分布是这一时间段的平均。


这就是短时距傅里叶变换的全部内容啦!

总结:

  1. 短时距傅里叶变换可以在不损失信号信息的情况下得到频率随时间的变化。

  2. 对时间、频率的确定受限于不确定性原理,和选用的窗函数宽度。

参考资料:《时频分析与小波变换》

更多系列知识请看本人文集。

推荐:


本文标题:短时距傅里叶变换 - 八卦谈
本文地址:www.ttdhp.com/article/40907.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们