How to display the Amplitude and Phase Spectra plots in one page one on top of another?

2 visualizaciones (últimos 30 días)
I want to display the Amplitude and Phase Spectra plots in one page one on top of another, so if anyone could help me with that it would be great. Actually I am new to matlab, and I made this program by learning short programs published here on mathworks site.
%PLOTTING THE WAVE SPECTRUM OF THE DATA PROVIDED
%Taken :- The sample rate of 5 samples/second or deltaT = 0.2
data = importdata('Signal.txt');
a = (data);
dataT = importdata('Time.txt');
b = (dataT);
figure, plot(b,a,'b.-', 'LineWidth', 2);
axis([0 92.4 -2 2]);
grid on;
title('Wave Spectrum of Data', 'FontSize', 17);
xlabel('Time', 'FontSize', 13);
ylabel('Wavelet', 'FontSize', 13);
line([0,100], [0, 0], 'Color', 'k', 'LineWidth', 2);
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
set(gcf, 'Name', 'Wave Spectrum Of Data', 'NumberTitle', 'Off');
hold on
%PLOTTING THE FFT(FAST FOURIER TRANSFORM) OF THE DATA
spectrum = fft(data);
deltaT = 0.2;
numElements = length(spectrum);
Fs = 1 / deltaT;
shiftedSpectrum = fftshift(abs(spectrum));
f = (Fs) * linspace(-numElements/2, numElements/2, numElements);
figure, plot(f, shiftedSpectrum, 'b.-', 'LineWidth', 2);
axis([0 1157.5 0 80]);
grid on;
title('FFT(FAST FOURIER TRANSFORM) of Wave', 'FontSize', 17);
xlabel('Frequency', 'FontSize', 13);
ylabel('Amplitude', 'FontSize', 13);
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
set(gcf, 'Name', 'FFT Of Wave', 'NumberTitle', 'Off');
hold on
%PLOTTING THE AMPLITUDE SPECTRA OF THE DATA PROVIDED
nexttile([1 1]);
figure, plot(f, abs(spectrum), 'b.-', 'LineWidth', 2);
axis([0 1157.5 0 80]);
grid on;
title('Amplitude Spectrum of Data', 'FontSize', 17);
xlabel('Frequency', 'FontSize', 13);
ylabel('Amplitude', 'FontSize', 13);
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
set(gcf, 'Name', 'Amplitude Spectrum', 'NumberTitle', 'Off');
hold on
%PLOTTING PHASE SPECTRA OF THE DATA PROVIDED
nexttile([1 2]);
figure, plot(f, angle(spectrum),'b.-', 'LineWidth', 2);
axis([0 1157.5 -4 4]);
grid on;
title('Phase Spectrum of Data', 'FontSize', 17);
xlabel('Frequency', 'FontSize', 13);
ylabel('Phase (radians)', 'FontSize', 13);
line([0,1157.5], [0, 0], 'Color', 'k', 'LineWidth', 2)
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
set(gcf, 'Name', 'Phase Spectrum', 'NumberTitle', 'Off');
hold on

Respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by