FFT results in noisy power spectrum

조회 수: 7 (최근 30일)
Eric Jenkins
Eric Jenkins 2018년 4월 29일
댓글: dpb 2018년 4월 30일
I have a tremor signal captured at 1500 Hz over a 30 second window which gives a total sample of 45,000 data points. Before downsampling or decimating, I would like to know where the power is within the signal. I should be getting peaks at 5 Hz, 8-12 Hz and possibly something at 20-22 Hz. When I do the FFt, I can see peaks around those points, but there is a lot of noise in the response (see photo). What should I do to fix this? Do I need to create a smaller window, or should I reduce the sampling rate?
Fs = 1500;
T = 1/Fs;
L = length(filtRy(A)); %A is the low pass filtered 45,000 point range for analysis
t = (0:L-1)*T;
f = Fs*(0:(L/2))/L;
ZRy = fft(filtRy);
P2 = abs(ZRy/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
plot(f,P1)
  댓글 수: 3
Eric Jenkins
Eric Jenkins 2018년 4월 30일
Would you recommend using the smooth function to do this?
dpb
dpb 2018년 4월 30일
No, not what saying -- pwelch in Signal Processing TB is set up to do estimation or you can do it manually in looping and doing FFT on overlapping sections and averaging the PSD estimates.
Noise will average out; real components in the signal will standout.
The problem with tremor data is that it likely isn't stationary with time but if the averaging doesn't help, that's part of the reason and uncovers the problem.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Spectral Estimation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by