How do i convert time domain data into frequency domain?

조회 수: 7 (최근 30일)
Dhyan Hariprasad
Dhyan Hariprasad 2017년 4월 18일
댓글: noran omar 2019년 4월 28일
I have vibration data from an accelerometer. In forst image I have plotted timeperiod and amplitude. For doing fft, I did fft(amplitude) X=fft(amplitude); plot(Timeperiod,abs(X),'r'); How can I convert time to frequency.

채택된 답변

Star Strider
Star Strider 2017년 4월 18일
See the documentation on fft (link), particularly the code between the first (top) two plot figures. That will show you how to calculate the frequency vector and correctly plot the Fourier transform.
  댓글 수: 3
Star Strider
Star Strider 2017년 4월 19일
My pleasure.
There have been discussions of the legality of copying and posting sections of code here, and I’m not certain if that extends to the documentation. I will remove the code and change this Comment if copying the documentation code is a problem. (I’ve posted my own code that closely resembles this code in several of my Answers, so I doubt it its a problem.)
From the Documentation
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector
% Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
y = x + 2*randn(size(t)); % Sinusoids plus noise
figure(1)
plot(Fs*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)'
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
% Plot single-sided amplitude spectrum.
figure(2)
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
I added the figure designations to prevent the second plot from overwriting the first when you run this.
noran omar
noran omar 2019년 4월 28일
star strider,
i need to understand why did you devide by the length at 'Y = fft(y,NFFT)/L;' and also why to devide by 2*linspace(0,1,NFFT/2+1) in 'f = Fs/2*linspace(0,1,NFFT/2+1);'. thank you for your help.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by