I want to study the response of the system.
I want to find the resonant frequency of the sprung mass (m1) and the resonant frequency of the unsprung mass (m2).
Because I am not sure if I have understood the meaning of resonant. Let's say that we have a suspension system and we stimulated with a step response 0.1(m).
That means, for example at 1(Hz) the sprung mass (m1) vibrating at the high level? and at 10(Hz) the unsprung mass (m2) vibrating at the high level?
I've read about bode plot and I did some things as you can see below but I don't know if this is the way to find the Resonant Frequencies. Maybe FFT is what I'm looking for?
In my bode plot (Picture below):
Blue Line: The first peak corresponds to the resonant frequency of the sprung mass (m1)? and Orange Line: Τhe second peak (which is higher than the first peak of orange line) corresponds to the resonant frequency of the unsprung mass (m2)?
If yes how can I get these values? What I need to add to my code?
Can I change the units from decibel to m?
clc;
clear all;
close all;
%% Parameters
m1 = 400; % Sprung Mass (kg)
m2 = 40; % Unsprung Mass (kg)
k1 = 21000; % Suspension Stiffness (N/m)
k2 = 150000; % Tire Stiffness (N/m)
b1 = 1500; % Suspension Damping (N*s/m)
b2 = 0; % Tire Damping Coefficient (N*s/m)
%% Transfer Function
num1 = [(0) (0) (b1*b2) (b1*k2+b2*k1) (k1*k2)];
den1 = [(m1*m2) (m1*b1+m1*b2+m2*b1) (m1*k1+m1*k2+m2*k1+b1*b2) (b1*k2+k1*b2) (k1*k2)];
G1 = tf(num1,den1); % G1(s) = X1(s)/Xr(s)
num2 = [(0) (m1*b2) (m1*k2+b1*b2) (b1*k2+b2*k1) (k1*k2)];
den2 = [(m1*m2) (m1*b1+m1*b2+m2*b1) (m1*k1+m1*k2+m2*k1+b1*b2) (b1*k2+k1*b2) (k1*k2)];
G2 = tf(num2,den2); % G2(s) = X2(s)/Xr(s)
%% Results
figure;
step(0.1*G1,0:0.01:5);
hold on;
step(0.1*G2,0:0.01:5);
title('');
legend('m1','m2');
xlabel('Time (s)');
ylabel('Amplitude (m)');
axis([]);
grid on;
figure;
bode(G1);
hold on;
bode(G2);
title('');
legend('m1','m2');
axis([]);
grid on;