1 问题描述
(1)将扩张状态观测器的极点统一配置在s平面负实轴-wo处,可以缩减待调节的参数;
(2)计算机计算出来的LESO特征根的数值解,含有一个极小的虚部,导致LESO的状态量输出含有振荡。
2 计算过程
LESO方程:
误差系统的近似:
极点配置:
选取矩阵G保证(A-GC)的特征根全为-wo,此时由于
所以矩阵(A-GC)只有一个线性无关的特征向量,因此矩阵(A-GC)不能对角化。因此不能做一定的修正,虽然可以将矩阵(A-GC)变换为Jordan矩阵。
3 Matlab给出的(A-GC)特征值的数值解
(1)计算程序
function pa = parameters
%UNTITLED 此处显示有关此函数的摘要
% 此处显示详细说明
clear,clc
wo=100;
pa.A1=[-3*wo,1,0;-3*wo^2,0,1;-wo^3,0,0];
[v,d]=eig(pa.A1);
pa.d1=diag(d);
% pa.A01=v\pa.A1*v;
% pa.A02=real(pa.A01);
% pa.P=v;
% pa.A03=diag([-wo, -wo, -wo]);
% pa.x01=[1,3,2]';
% pa.x03=pa.P\pa.x01;
% pa.B1=diag( real(pa.d1) );
%
% wo=1000;
% pa.A2=[-3*wo,1,0;-3*wo^2,0,1;-wo^3,0,0];
% [v,d]=eig(pa.A2);
% pa.d2=diag(d);
% pa.B2=diag( real(pa.d2));
%
% wo=2000;
% pa.A3=diag([-wo, -wo, -wo]);
% [v,d]=eig(pa.A3);
% pa.d3=diag(d);
% pa.B3=diag(real(pa.d3));
end
(2)计算结果
pa =
包含以下字段的 struct:
A1: [3×3 double]
d1: [3×1 double]
>> pa.d1
ans =
1.0e+02 *
-0.999998906304313 + 0.000001893914034i
-0.999998906304313 - 0.000001893914034i
-1.000002187391376 + 0.000000000000000i
>>
(3)分析
由于计算出的特征值含有误差,即存在一定的虚部项,反映在时域上,必然会存在一个正弦函数,即时域上的解是衰减振荡的。
计算机数值计算导致的误差,导致LESO暂态时的跟踪误差很大!
评论(0)
您还未登录,请登录后发表或查看评论