y-axis' unit of measure of a FFT and of a PSD
조회 수: 8 (최근 30일)
이전 댓글 표시
Hello everyone,
I performed a FFT and a PSD of a accelerometric signal (g is the unit of measure). The code is the following:
NFFT2_acc=2^nextpow2(N_s_acc); % Next power of 2 from length of y
S_acc=fft(detrend(s_acc),NFFT2_acc)/N_s_acc;
fa=Fsa/2*linspace(0,1,NFFT2_acc/2+1);
figure;
plot(fa,2*abs(S_acc(1:NFFT2_acc/2+1)))
grid on
title('Single-Sided Amplitude Spectrum of s_{acc}(t) (AT5H1X08)')
xlabel('f (Hz)')
ylabel('S_{acc}(f)')
saveas(gcf,'fft_s_acc_AT5H1X08','jpg')
figure;
[pxxa,fxa]=pwelch((detrend(s_acc)),[],[],[],Fsa);
plot(fxa,pxxa);
grid on
title('Power Spectral Density of s_{acc}(t) (AT5H1X08)')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB/Hz)')
saveas(gcf,'psd_x_acc_AT5H1X08','jpg')
I was wondering what are the unit of measure on the y-axis' of the two plots. Thank you!
댓글 수: 0
답변 (1개)
Bruno Luong
2020년 9월 3일
편집: Bruno Luong
2020년 9월 3일
For a vector A of length N
B = fft(A)
The Parseva'sl theorem tells
norm(A) = norm(B) / sqrt(N)
So actually the unit of
B / sqrt(N)
is unit of A.
Now the problem is to know what is the unit of sqrt(N). N depends on your sampling. In principle it's unitless since
N = T / Fs
where T is the acquisition period and Fs is the sampling frequency. But you observe that if you change Fs while keeping T constant, N changed inversonally to Fs. So it's up to you to "interpret" the unit of N (which is sometime not clear).
May be it's better to compute a more natural normalization
C = fft(A)/sqrt(length(A))
Then the unit of C is less ambiguous and it's the unit of A (the energies - l2 norm - of A and C are identical).
For PWELCH it depends on the windows size (which plays the same role as N in FFT) and the window-function that PWELCH uses. The proper normalization is to divide the ouput by the l2-norm of the window-function computed on the sliding window. You can have those information with little reverse engineering and the information provided by the document page. But it's not straignforward.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Parametric Spectral Estimation에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!