分割频率序列:我们需要带通滤波吗?

信息处理 功率谱密度 带通
2022-02-06 21:18:11

我正在尝试实现所谓的“第二频谱”。基本上,你这样做:

  1. 取一个长度为的时间序列。N
  2. 将其分成段,每个段的长度为mN=N/m
  3. 对于每个段,进行傅里叶变换。结果是'第一个频谱',mSi(1)(f1),i=1:m
  4. 将每个频谱划分为个八度,一个八度从开始,到结束,其中,而中的最低频率对于 Hz,八度音阶将类似于:1-2 Hz、2-4 Hz、4-8 Hz、8-16 Hz 等。nfL=f0×2pfH=f0×2p+1p=0,1,2,etcf0Si(1)(f1)f0=1
  5. 对于每个频谱中的每个八度音程,将该八度音程中的所有频谱值相加。
  6. 为每个八度音阶构造一个时间序列。将有长度为的时间序列。nm
  7. 以这些时间序列的傅里叶变换为例。这是第二个频谱,Sn(2)(f2)

我已经实现了这个算法(在 C++ 中),但我有一个问题:

问:在第 4 步中,我可以简单地将频谱信号分成“就像那样”的八度音阶吗?我的意思是,对这些八度音阶没有任何类型的带通滤波?

编辑:我所说的“就像那样”的意思就好像我正在通过一个矩形窗口(在频率域中)传递频谱。

1个回答

我以前没有听说过第二个频谱,但是是的,您可以像这样在频域中切出一个区域。这等效于时域中的最大长度带通滤波器,实际上是对于给定 FFT 长度可以实现的最佳滤波器。