FFT的功率谱密度
Posted
技术标签:
【中文标题】FFT的功率谱密度【英文标题】:Power spectral density of FFT 【发布时间】:2014-07-27 18:10:22 【问题描述】:我有一段代码可以获取部分信号的 FFT,我现在正在尝试获取 PSD,
Fs = 44100;
cj = sqrt(-1);
%T=.6;
dt = 1/Fs;
left=test(:,1);
right=test(:,2);
time = 45;
interval =.636;
w_range = time*Fs: (time+interval)*Fs-1;
I = left(w_range);
Q = right(w_range);
n = interval * Fs;
f = -Fs/2:Fs/n:Fs/2-Fs/n;
s = I+cj.*Q;
% Smooth the signal ss = smooth(s,201);
sf = (fftshift(fft(ss(1:n)))); %FFT of signal
figure(1) plot(f,((20*log10((abs(sf))./max(abs(sf))))))
据我了解,为了获得 PSD,我只需要将 sf
提高到 2 的幂,或者我还需要执行什么操作?
【问题讨论】:
我猜应该是sf.*conj(sf)
或(abs(sf)).^2
?
我的意思是通过对频谱进行绝对平方来计算 PSD。另一种方法是使用 Wiener-Khinchin 定理,它使您能够通过傅里叶变换自相关函数计算 PSD。如果我提供了任何不相关的信息,我会说抱歉,因为我没有查找 PSD 的教科书。
【参考方案1】:
从技术上讲,是的,您可以通过取其 FFT 的平方幅度来获得周期性信号的功率谱密度 (PSD)。请注意,如果您要在对数分贝标度上绘制它,20*log10(abs(sf))
或 10*log10(abs(sf).^2)
之间确实没有区别。
然而,通常情况下,以这种方式计算的 PSD 估计值往往具有相当大的方差。有许多techniques 可用于改进估计。一个简单的方法包括将window 应用于数据部分,执行 FFT,然后平均得到的 PSD(即平均平方大小)。
【讨论】:
【参考方案2】:你完全正确。你只需要建立绝对值的平方。
【讨论】:
以上是关于FFT的功率谱密度的主要内容,如果未能解决你的问题,请参考以下文章