フィルターのクリア

How do i convert time domain data into frequency domain?

12 ビュー (過去 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 Center および File ExchangeFourier Analysis and Filtering についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by