高级过程,只有频谱时计算倒谱

信息处理 fft matlab 倒谱分析
2022-01-27 09:37:04

我不是 DSP 专家,所以我希望有人检查我的思维过程:

我有一个代表频谱的文本文件(由一些 FFT 硬件计算),我想计算一个倒谱。我在下面的示例中使用 Octave,但这不是必需的。

  • 我的源数据是两列:frequency, amplitude, 即:
+----------+----------+
| 0.00E+00 | 6.93E+01 |
| 1.00E+01 | 6.95E+01 |
| 2.00E+01 | 7.38E+01 |
| ...      | ...      |
| 2.00E+03 | 6.51E+01 |
+----------+----------
  • 将数据加载到 Octave,并用于ifft将频谱放入时域。然后rceps用来计算倒谱:

    rceps(ifft(my_data(:,2))); % my_data is the 2000x2 matrix from above

  • 绘制 的结果rceps如果我从时域信号开始,生成的曲线应该等于产生的倒谱。


当只有频谱 (FFT) 可用时,这是找到倒谱的正确方法,还是我的思维过程存在缺陷?

1个回答

倒谱定义为:

C=|Flog(P(f))|2

F是傅里叶变换和P(f)是功率谱。如果您已获得信号的功率谱,则无需返回时域。只需取对数,计算 FFT,取结果的平方。

此外,您列出的数据是严格的正面和真实的,所以我假设它是频谱。在问题的最后,您输入了频谱(FFT)。如果您拥有的是实值时域信号的 FFT,而不是频谱,我希望它具有虚部。