广义频谱图

广义频谱图(Generalized spectrogram),为频谱图的通用型。为了得知信号随着时间的频率分布状态,以频谱图观察时,其分辨率受到测不准原理影响,频率分辨率与时间分辨率相乘为定值。为解决此问题,于是将频谱图推广至广义频谱图。

一段随时间变化的信号,同时具有时域和频域的特征,若想要了解一个信号在某段时间内的频率特征,最好的方式就是使用时频分析,观察一段信号的时频分布图。频谱图(Spectrogram)就是其中一种同时表示时间和频率特征的分布图。

广义频谱图的定义

以高斯函数作为窗函数(window function),使用时频分析,求出两组不同长度的窗函数的加伯转换,即    ,再将   取共轭复数后相乘。公式如下:

 

其中 加伯转换窗函数 为时间  为频率。

加伯转换的公式如下:

 

 

若将 ,则与原本频谱图无异。

长度不同的窗函数,其时频域的分辨率不同,依据测不准原理,较窄的窗函数,时间分辨率较好,而频率分辨率较差;相反的,较宽的窗函数,频率分辨率较好,而时间分辨率较差。

为了同时在时间和频率轴上都达到更好的分辨率,把在频谱图原定义中的 分为两个长短不同的波形。例如 : 可以让 长度较宽,在频域上面有良好的分辨率,而 则长度较窄,在时域上有良好的分辨率。先分别运算  ,再相乘,变为 。如此一来时域和频域上的分辨率都能兼顾到。

优点

  • 有优于测不准原理的时间分辨率与空间分辨率。
  • 由于各自的加伯转换并不会有cross term,故此方法也不会有cross term出现。
  • 有省时方法:当一组加伯转换中的数值为零时,我们将不用去计算另一组,因为相乘后还是零。

缺点

  • 需要计算两组加伯转换,即与频谱图相比,最高会多花两倍的时间
  • 需要去最佳化  

例子

当我们的输入信号为:

 

我们先分别求出   的 。经Matlab计算后,如下图

 
加伯转换中,sigma=0.1的频谱图
 
加伯转换中,sigma=1.6的频谱图

将其中一个取共轭复数后,两者相乘,得到广义频谱图如下;

 
广义频谱图

我们可以与 的加伯转换比较:

 
加伯转换中,sigma=0.4.的频谱图

可以发现广义频谱图无论是在时间分辨率下,或是频率分辨率下,都优于 的加伯转换。

变形

原本的广义频谱图公式为  

我们可以对此再进行一般化,如下

 

或者如下方形式:

 

两种方法新增了  两变数,期望能找到更好的分辨率。

参见

参考来源