这是我的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。
答案 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');