Matlab功率谱密度(PSD)实现方程

Posted

技术标签:

【中文标题】Matlab功率谱密度(PSD)实现方程【英文标题】:Matlab power spectrum density(PSD) implement equation 【发布时间】:2017-09-06 01:13:09 【问题描述】:

伙计们,我正在学习如何使用 matlab 计算信号的 PSD。我知道函数Periodogram() 效果很好,但我想直接使用fft 方法。当我想详细学习时,我发现这个网站很有帮助:

https://www.mathworks.com/help/signal/ug/power-spectral-density-estimates-using-fft.html

但是,我在第一个示例中遇到了问题。我对这个说法有点困惑

psdx = (1/(Fs*N)) * abs(xdft).^2;

不知道为什么要用FsN作为参数。

【问题讨论】:

【参考方案1】:

(1/(Fs*N)) 是一个归一化因子,以确保数值算法符合Parseval's Theorem。

【讨论】:

现在我明白为什么我们需要1/N。但是1/Fs 来自哪里? @SihaoSun 1/Fs 从“power in bin”转换为“power per bin”,因此得到的psdx每个频率间隔的功率,而不是该频率附近的功率 我完全理解你的意思。还有一个关于bin的小问题,bin是X-Y坐标轴上的一条线还是一个区域? @SihaoSun 在此上下文中的“bin”是频率区间。严格来说,它不对应 X-Y 坐标平面中的任何东西,但我想如果你愿意的话,我想你可以把它想象成 X 轴上的一条线。

以上是关于Matlab功率谱密度(PSD)实现方程的主要内容,如果未能解决你的问题,请参考以下文章

光学算法——PSD功率谱密度

FFT的功率谱密度

转载时域信号的频谱功率谱和功率谱密度计算

怎么在matlab中仿真功率谱密度为1的高斯白噪声?

信号频率估计经典功率谱估计及其MATLAB仿真

信号频率估计经典功率谱估计及其MATLAB仿真