0

システムの応答を研究したい。

ばね上質量(m1)の共振周波数とばね下質量(m2)の共振周波数を求めたい。

レゾナントの意味を理解できたかどうかわからないからです。サスペンション システムがあり、ステップ応答 0.1(m) で刺激したとします。

ということは、例えば1(Hz)でバネ上質量(m1)が高いレベルで振動しているということでしょうか?10(Hz)では、ばね下質量(m2)が高いレベルで振動していますか?

私はボード線図について読んだことがあり、以下に示すようにいくつかのことを行いましたが、これが共振周波数を見つける方法であるかどうかはわかりません. 多分FFTは私が探しているものですか?

私のボード線図(下の図)では:

青線: 最初のピークは、ばね上質量 (m1) の共振周波数に対応しますか? およびオレンジ ライン: 2 番目のピーク (オレンジ ラインの最初のピークよりも高い) は、ばね下質量 (m2) の共振周波数に対応しますか?

はいの場合、どうすればこれらの値を取得できますか? コードに何を追加する必要がありますか?

単位をデシベルから 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;

Reaponse、ボード線図、および 2 DOF システム

4

0 に答える 0