功率谱密度为微伏^ 2 / Hz?

时间:2014-03-29 01:50:48

标签: matlab signals psd

这是我的microvolt ^ 2 / Hz我的PSD程序,其中W是我的数据。

Fs=128
x1 =W;
L = length(x1);
NFFT = 2^nextpow2(L); 
f = Fs/2*linspace(0,1,NFFT/2+1);
n = 0:L-1;
pxx1 = pwelch(x1,L);
plot(pxx);

我需要知道我的程序在这里是对还是错,以便用microvolt ^ 2 / Hz构建PSD。

1 个答案:

答案 0 :(得分:0)

使用pwelch确实是正确的做法,以每Hz的单位^ 2获得功率谱密度。但是,您可能希望为pwelch提供更多参数。

% input is a time series x

fs=128                    % sample rate (Hz)
bw = 0.1;                 % desired spectrum resolution (Hz)
nfft = fs/bw;             % length of fft (samples)
nfft = 2^nextpow2(nfft);  % round to nearest power of 2
bw = fs / nfft;           % actual resolution

% Estimate the power spectral density
[Pxx, f] = pwelch(x, hanning(nfft), nfft/2, nfft, fs);

% Plot the results
loglog(f, Pxx)
xlabel('frequency [Hz]');
ylabel('units^2 / Hz');