Bode, response plot ของระบบ Mass spring damped system

MIMO

จากที่ได้ศึกษาจากบล๊อก จำลองการทำงานของ Mass spring damped system บล๊อกนี้ขอนำเสนอการ plot ที่จำเป็นเพิ่มเติมต่อการวิคราะห์ระบบ

1) รันสคริปข้อมูลพื้นฐานระบบ mass spring damped system

clear;
close all;

%% Parameters

m = 1;   %[kg]
k = 0.8;   %[N/m]
c = 0.2; %[Ns/m]

% timestep
dt = 0.001;  %[s]
experimentStopTime = 60; %[s]

% frequencies
wmin = 0.1;  %[Hz]
wmax = 10;   %[Hz]

%% State-space parameter

A = [0 1; -k/m -c/m];
B = [0 1/m]';
C = [1 0];
D = [0];

2) รัน Simulink model ดังนี้

3) รันสคริปเพื่อ plot กราฟผลลัพธ์

%% State-space system
sys = ss(A,B,C,D);
figure;
    bode(sys, {wmin, wmax});
    title('Bode Diagram (state-space system)');


%% Physical system

% Time domain
figure;
    subplot(2,1,1);
        plot(time_sim, x_sim);
        ylabel('x (m)');
    subplot(2,1,2);
        plot(time_sim, F_sim);
        ylabel('F (N)');
    xlabel('time (sec)');

% Bode Plot
datat=iddata(x_sim, F_sim, dt);  % represent the system as input and output 
                                 % data with timestep dt (time domain)
dataf=fft(datat);   % same data in the frequency domain
set(dataf,'InputName','F', 'OutputName', 'x')

gf=spafdr(dataf);  % estimate frequency response using spectral analysis
    
figure;
    bode(gf, {wmin, wmax});
    title('Bode Diagram (simulation)');

% Estimate transfer function
% Of the form:  X/F = 1/(m*s^2 + c*s + k)
np = 2;
nz = 0;
fprintf('\nEstimating transfer function....\n');
sysest = tfest(dataf, np, nz)

ดาวน์โหลดไฟล์ได้ที่นี่