2021.10.27-28科研日志

一、工作内容

这两天的时间没干别的,全力在解决《Adaptive Kalman filter for actuator fault diagnosis》仿真的BUG。

26日想到的系统模型不对,当时觉得可能系统模型是给出的那个增广的模型,后来仔细思考了一下发现不对,还是通过增广分解出来的那个模型。因为不仅文献中对各个矩阵的维度进行了明确的说明,包括在算法中如果要使用这种增广的矩阵,同样其他相关矩阵也需要重新进行定义。

于是写了一维的AKF进行测试,将 Φ ( t ) \Phi(t) Φ(t)值定义为一个固定值,发现可以正常运行。

于是将原5维程序中 Φ ( t ) \Phi(t) Φ(t)值定义为一个固定值,发现可以正常运行。此时把重心转移到了攻击构造上,但是攻击的式子反复琢磨后觉得没有问题。

27日想到莫非是 Φ ( t ) \Phi(t) Φ(t)值不应该是动态的?但是 Φ ( t ) \Phi(t) Φ(t)其实是包含在算法中,而且算法关于 Φ ( t ) \Phi(t) Φ(t)值的部分其实就是对 Φ ( t ) \Phi(t) Φ(t)值的滤波,相当于是考虑了 Φ ( t ) \Phi(t) Φ(t)值。同时文献中也有明确说明 Φ ( t ) \Phi(t) Φ(t)值是时变的。

将一维AKF的 Φ ( t ) \Phi(t) Φ(t)值也写成与输入量挂钩的动态值,发现可以正常运行。

28日白天想到是不是因为受攻击的状态数量超过了量测值的数量,通过调试也发现不是这个原因,回到文献发现文献说的是 θ \theta θ的维度不能超过 y y y的维度,而不是受攻击量测的维度,也就是只要 θ \theta θ是二维的,即使通过 Φ ( t ) \Phi(t) Φ(t)作用在了所有的状态量上,也不影响参数的估计。
偶然发现其实在这种设定之下,参数值的第二个分量是可以估计出来的,只是第一个分量估计有很大误差,但是感觉均值确实还是跟到了参数真实值。因此灵机一动,这种一半能估计,一半不能的情况,应该是跟模型相关。测试变更第一分量和第二分量的顺序,即将B矩阵垂直镜像翻转,这样使得本来是加到第一个量测的量加到第二个,发现如此之后第一分量可以估计,第二分量不能,也就是BUG出现了反转。因此思考可能是输入设定问题,通过加大输入后,发现BUG得到解决。
到此仿真实现了复现。

二、心得

三、未解决的问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值