nick9806 发表于 2008-4-12 18:16

导师不懂,虚心向高手请教:用卡尔曼滤波的干扰力观测器

导师不懂,完全自己找答案。头疼,苦于寻找结果,没有一起讨论的人。问题说明如下:
要求:利用卡尔曼滤波观测器将干扰力观测出来
实际的干扰力已经混杂在输入量电流中了。为了验证观测器的正确性,我先在Simulink模拟中,将阶越作为干扰力输入。但观测器里面的结果令人头疼!不知道原因何在,请教高手。具体请参见图和附件。

nick9806 发表于 2008-4-14 16:52

经过昨天和同学的讨论,现在问题比较清楚了。我把我自己的问题说一下。
1.模型状态方程错误: 第一个矩阵应该是[ 1Tf1;01f2;001]
2.离散系统积分环节理解错误。在时间连续系统里面,积分环节应该是1/s 得到低一阶的量。而相对应的离散系统里面应该是 Unit Delay,得到上一个时刻的量。
3. Q取值错误。Q为过程方差。我现在模拟的结果是,位移、速度没问题,干扰力无限接近目标值,缓慢增加,但一直没达到。问题出在了Q的取值上面。原来Q取值为Q= [ 0.500; 00.50; 000.5] 是我随便取的。因为不理解其中的含义。问题就出在第3个0.5上面。我个人理解,这三个值表示模型值和观测值之间的差距。取的越小,表示越接近。所以干扰力在慢慢接近目标值,却一直达不到。就像控制里面,没有震动的情况一样。我把3行3列的0.5 取值为很大的一个数时候,干扰力观测值就开始围绕给定值(阶越)震动,最后达到稳定状态。我觉得这里Q值就像控制里面的P环节,使控制的量尽快接近目标值。R值我试了几个对观测结果没什么影响。因为我这里是模拟,如果是真实系统,必须求出R。 R=cov(测量值).

就先想到这些,模拟系统还在完善。但愿对做类似东西的朋友能有帮助,没让我白写。

[ 本帖最后由 nick9806 于 2008-4-14 17:02 编辑 ]

nick9806 发表于 2008-4-14 16:55

4. 还有个问题,用Kalman-Filter写的Matlab Fcn有点问题。能有空把正确的程序发上来。
页: [1]
查看完整版本: 导师不懂,虚心向高手请教:用卡尔曼滤波的干扰力观测器