• CKF计算流程梳理


    CKF计算流程梳理

    #===========3:t-1时刻容积点计算
    
    #分解成AT*A(下三角*上三角)取下三角
    S1 = np.linalg.cholesky(Pk)
    
    #计算容积点,repmat()把元素复制m行n列
    #=================================t-1时刻的2n个容积点
    
    #============4:传播容积点,把每一个容积点带入非线性运动状态转移方程,计算出状态向量
    ####################
    for i in range(m):
        
        
        #传播容积点
        
    ####
    
    #============5:一步预测,t时刻状态向量估计
    #状态量预测值
    
    #对每一个预测值,减去容积点
    #计算出估计的误差协方差矩阵
    
    #============6:t时刻的容积点计算
    #Cholesky分解法又称平方根法
    #Cholesky 分解是把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解
    #得到t时刻的标准差
    S2=np.linalg.cholesky(Ppr)
    
    #得到t时刻的容积点,共有2n个
    S2_ke = np.matmul(S2,kesai)
    
    #============7:t时刻容积点非线性传播,目标是计算观测向量
    
    #计算量测预测值      量测=观测向量
    #计算出t时刻的观测向量的估计值
    Ypre = (1/m)*np.sum(yr,axis=1).reshape(2,1)
    
    #============8:卡尔曼滤波相关参数计算
    #计算出观测误差协方差
    Pyy=(1/m)*(np.matmul(yr,yr.T)-np.matmul(Ypre,Ypre.T))+R
    #状态与观测向量交互协方差
    Pxy=(1/m)*(np.matmul(Xp,yr.T) - np.matmul(Xpr,Ypre.T))
    
    #卡尔曼增益
    K = np.matmul(Pxy,inv(Pyy))   
    
    
    #===========9:t时刻的状态估计和协方差计算
    
    
    #状态估计 
    #计算出预测结果                     
    Xjian_new=Xpr+np.matmul(K,Y_del)  
    
    
    #估计误差协方差    
    #计算t时刻的协方差矩阵                 
    
    Pk = Ppr-K_Pyy_T
    
    #至此,一轮迭代完成

    ####################

  • 相关阅读:
    hdu 5119 Happy Matt Friends
    hdu 5128 The E-pang Palace
    hdu 5131 Song Jiang's rank list
    hdu 5135 Little Zu Chongzhi's Triangles
    hdu 5137 How Many Maos Does the Guanxi Worth
    hdu 5122 K.Bro Sorting
    Human Gene Functions
    Palindrome(最长公共子序列)
    A Simple problem
    Alignment ( 最长上升(下降)子序列 )
  • 原文地址:https://www.cnblogs.com/herd/p/15998047.html
Copyright © 2020-2023  润新知