Plot command, how to plot a signal with FFT result?
조회 수: 6 (최근 30일)
이전 댓글 표시
just started with Matlab today, like it alot.
im trying to plot a signal and then the FFT result where they are using the same graph/plot.
Tried doing this several times, the input signal plots out, the FFT result is this tiny scrunched up little plot in the upper left. the way of putting 2 plots together in the same chart is the question. right now it does one, then its paused, then the next one.
thanks
Fs = 10; % Sampling frequency
T = 1/Fs; % Sample time
L = 100; % 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);
x = cos(3*pi*(t)) + (.5 * (cos(2*pi*(t))));
y = x ; %+ 2*randn(size(t)); % Sinusoids plus noise
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(Fs*t(1:50),y(1:50))
pause;
% Plot single-sided amplitude spectrum.
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
%
댓글 수: 0
채택된 답변
bym
2011년 5월 19일
Why would you want to plot the time domain & Frequency domain on the same plot? Take a look at subplot as in :
subplot(211)
plot(Fs*t(1:50),y(1:50))
subplot(212)
plot(f,2*abs(Y(1:NFFT/2+1)))
댓글 수: 2
bym
2011년 5월 19일
the first 2 numbers are the size of the plot grid (here 2 row 1 column) and the 3rd number is the index of the "active plot"
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Spectral Analysis에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!