How can I plot 'period' by using fft functoin??
조회 수: 2 (최근 30일)
이전 댓글 표시
How can I plot 'period' by using fft functoin??
댓글 수: 1
Mathieu NOE
2021년 11월 8일
hello
maybe you should show what you have tried so far... and then we will help you
tx
채택된 답변
Chunru
2021년 11월 8일
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sampling period
L = 1500; % Length of signal
t = (0:L-1)*T; % Time vector
S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
X = S + 2*randn(size(t));
Y = fft(X);
% Compute the two-sided spectrum P2. Then compute the single-sided spectrum P1
% based on P2 and the even-valued signal length L.
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
% Define the frequency domain f and plot the single-sided amplitude spectrum P1.
% The amplitudes are not exactly at 0.7 and 1, as expected, because of the added
% noise. On average, longer signals produce better frequency approximations.
figure
f = Fs*(0:(L/2))/L;
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
%% Plot the spectrum vs period (this can be done but rarely used)
figure
f = Fs*(0:(L/2))/L;
plot(1./f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('T - period (sec)')
ylabel('|P1(T)|')
xlim([0 0.2])
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

