Identified linear system contribution of input is zero

1 回表示 (過去 30 日間)
Valeriy
Valeriy 2024 年 4 月 27 日
コメント済み: Valeriy 2024 年 4 月 27 日
Hello,
I identified a cont. 3rd order linear system using System Identification Toolbox:
y = Cx + Du + e
dx/dt = Ax + Bu + Ke
Upon inspecting the model (which looked decent to me) I see that the "D" value, which is the contribution of input to system output, is zero.
How can this be? The system describes a DC motor controlled by PWM commands (output is shaft position). Surely the commands sent to the motor should influence the position?
I get the following values:
% A weights (3x3 matrix)
A = [ ...
0.0356, -3.4131, -14.9525;
-1.0591, 85.8128, 334.3098;
1.5729, -95.1123, -175.5517;
];
% B weights (3x1 vector)
B = [ ...
-0.0019;
0.0403;
-0.0225;
];
% C weights (1x3 vector)
C = [ -5316.9, 24.87, 105.92 ];
% D weight (scalar)
D = 0;
% K weights (3x1 vector)
K = [ ...
-0.0025;
-0.0582;
0.0984;
];
% Initial state
x0 = [ ...
-0.0458;
0.0099;
-0.0139;
];

採用された回答

Paul
Paul 2024 年 4 月 27 日
The commands do influence the position of the motor through the dynamics as described by the differential equation. The output of the motor is position, so the input to the motor can't have an instantaneous effect on the position, as would be the case if D were non-zero. For example, torque has to integrate to velocity, which in turn has to integrate to position. Hence, a physically realizable applied torque will not cause an instantaneous change in position.
  1 件のコメント
Valeriy
Valeriy 2024 年 4 月 27 日
Can't believe I didn't think of this, thank you for the quick response!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLinear Model Identification についてさらに検索

タグ

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by