内容主要提取自 edX 平台上Chalmers的micromaster项目:Emerging Automotive Technologies: Sensor Fusion and Non-linear Filtering for Automotive Systems

内容主要包括高斯滤波器,扩展卡尔曼滤波器(Extended KF),无迹卡尔曼滤波器(Unscented KF)和容积卡尔曼滤波器(Cubature KF)。

 

1 模型说明

模型包括系统动态模型(Motion Model)和观测模型(Measurement Model):

                                                      

心电传感器的中值滤波_心电传感器的中值滤波

                                                      

心电传感器的中值滤波_卡尔曼滤波_02

其中 心电传感器的中值滤波_概率论_03 为状态变量,心电传感器的中值滤波_概率论_04 为测量变量,

心电传感器的中值滤波_心电传感器的中值滤波_05

 和 心电传感器的中值滤波_心电传感器的中值滤波_06 为独立噪声。

 

2 高斯滤波器

滤波器的通用形式为贝叶斯滤波器,采用递推算法,每次递推包括预测(prediction)和更新(update),即:

                            已知:

心电传感器的中值滤波_卡尔曼滤波_07

                            预测:

心电传感器的中值滤波_卡尔曼滤波_08

                            更新:

心电传感器的中值滤波_方差_09

递推方式要求

心电传感器的中值滤波_概率论_10

 对任意 k 都保持同一种概率分布,以便进行下一次递推。如果

心电传感器的中值滤波_卡尔曼滤波_11

 服从高斯分布,则称为高斯滤波器

对于非线性模型,我们近似预测和更新阶段结果均服从高斯分布。即:

                            已知:

心电传感器的中值滤波_卡尔曼滤波_12

                            预测:

心电传感器的中值滤波_卡尔曼滤波_13

                            更新:

心电传感器的中值滤波_方差_14

高斯分布由均值和方差决定,每个阶段只需求解对应的均值和方差,其中更新后的均值即为所求对状态变量的估计。具体步骤如下:

预测(设

心电传感器的中值滤波_高斯滤波_15

 均值为零,方差为

心电传感器的中值滤波_方差_16

):                              

心电传感器的中值滤波_心电传感器的中值滤波_17

                                           

心电传感器的中值滤波_卡尔曼滤波_18

                   

心电传感器的中值滤波_心电传感器的中值滤波_19

                               

心电传感器的中值滤波_卡尔曼滤波_20

                               

心电传感器的中值滤波_卡尔曼滤波_21

更新(设

心电传感器的中值滤波_方差_22

 均值为零,方差为 

心电传感器的中值滤波_概率论_23

):假设 

心电传感器的中值滤波_概率论_24

 服从联合高斯分布:                                        

心电传感器的中值滤波_卡尔曼滤波_25

其中:

                    

心电传感器的中值滤波_概率论_26

                                 

心电传感器的中值滤波_概率论_27


心电传感器的中值滤波_卡尔曼滤波_28

                                    

心电传感器的中值滤波_概率论_29


心电传感器的中值滤波_概率论_30

求得联合高斯分布后  

心电传感器的中值滤波_方差_31

,可根据如下性质求  

心电传感器的中值滤波_心电传感器的中值滤波_32

,即:                                              

心电传感器的中值滤波_方差_33

                                                     

心电传感器的中值滤波_方差_34

其中:

心电传感器的中值滤波_卡尔曼滤波_35

 即为卡尔曼增益 心电传感器的中值滤波_高斯滤波_36 。观察可以发现,高斯滤波器的关键在于在预测步求

心电传感器的中值滤波_方差_37

 和

心电传感器的中值滤波_心电传感器的中值滤波_38

,在更新步求 

心电传感器的中值滤波_概率论_39

心电传感器的中值滤波_方差_40 和 心电传感器的中值滤波_心电传感器的中值滤波_41。五者均具有以下形式:                          

心电传感器的中值滤波_概率论_42

 ;其中

心电传感器的中值滤波_高斯滤波_43

 为非线性函数,

心电传感器的中值滤波_高斯滤波_44

 为高斯分布

不同的积分求解策略将形成不同的卡尔曼滤波器。

 

3 扩展卡尔曼滤波器(EKF)

扩展卡尔曼滤波器通过泰勒级数来线性化函数

心电传感器的中值滤波_心电传感器的中值滤波_45

 来求解积分。

预测步:

                      

心电传感器的中值滤波_概率论_46

                                  

心电传感器的中值滤波_卡尔曼滤波_47

                                  

心电传感器的中值滤波_心电传感器的中值滤波_48

       

心电传感器的中值滤波_心电传感器的中值滤波_49

                  

心电传感器的中值滤波_方差_50

                  

心电传感器的中值滤波_心电传感器的中值滤波_51

更新步:

                                    

心电传感器的中值滤波_卡尔曼滤波_52

                             

心电传感器的中值滤波_高斯滤波_53


心电传感器的中值滤波_卡尔曼滤波_54


心电传感器的中值滤波_心电传感器的中值滤波_55

                               

心电传感器的中值滤波_高斯滤波_56

                                    

心电传感器的中值滤波_方差_57

扩展卡尔曼滤波器因为线性化了模型中的非线性函数,因此当模型非线性度较大时,误差较大。

 

4 无迹卡尔曼滤波器(UKF)和容积卡尔曼滤波器(CKF)

这两种卡尔曼滤波器采用类似高斯求积的方式,求解积分,即:

                                                

心电传感器的中值滤波_方差_58

与高斯求积略有不同的是,这里

心电传感器的中值滤波_心电传感器的中值滤波_59

 的影响被归入权重系数 心电传感器的中值滤波_心电传感器的中值滤波_60 中。

无迹卡尔曼滤波器按如下述方法取 心电传感器的中值滤波_方差_61 和 心电传感器的中值滤波_卡尔曼滤波_62

预测步:

                                                 

心电传感器的中值滤波_概率论_63

                                                 

心电传感器的中值滤波_高斯滤波_64

                                             

心电传感器的中值滤波_心电传感器的中值滤波_65

                                                       

心电传感器的中值滤波_卡尔曼滤波_66

其中 心电传感器的中值滤波_高斯滤波_67 为状态向量 心电传感器的中值滤波_高斯滤波_68 的维度

心电传感器的中值滤波_方差_69

 表示 

心电传感器的中值滤波_卡尔曼滤波_70

 的第 心电传感器的中值滤波_方差_71 列,

心电传感器的中值滤波_概率论_72

心电传感器的中值滤波_心电传感器的中值滤波_73 为可调参数,当 心电传感器的中值滤波_概率论_74 服从高斯分布时,取

心电传感器的中值滤波_卡尔曼滤波_75

 。                               

心电传感器的中值滤波_高斯滤波_76

                

心电传感器的中值滤波_概率论_77


心电传感器的中值滤波_高斯滤波_78

更新步:

                                        

心电传感器的中值滤波_高斯滤波_79

                                       

心电传感器的中值滤波_心电传感器的中值滤波_80

                                   

心电传感器的中值滤波_心电传感器的中值滤波_81

                                               

心电传感器的中值滤波_概率论_82

                               

心电传感器的中值滤波_心电传感器的中值滤波_83

                                 

心电传感器的中值滤波_概率论_84


心电传感器的中值滤波_概率论_85

                            

心电传感器的中值滤波_方差_86


心电传感器的中值滤波_心电传感器的中值滤波_87

容积卡尔曼滤波器则按下述方法取 心电传感器的中值滤波_心电传感器的中值滤波_88 和 心电传感器的中值滤波_卡尔曼滤波_89 

                                               

心电传感器的中值滤波_卡尔曼滤波_90

                                             

心电传感器的中值滤波_高斯滤波_91

                                                    

心电传感器的中值滤波_心电传感器的中值滤波_92

其中 心电传感器的中值滤波_心电传感器的中值滤波_93 和  

心电传感器的中值滤波_高斯滤波_94

 根据预测步和更新步分别取值。

无迹卡尔曼滤波计算 2n+1 个点;容积卡尔曼滤波计算 2n 个点,当状态向量维度增加时,点 心电传感器的中值滤波_心电传感器的中值滤波_95 的位置越远离均值 心电传感器的中值滤波_高斯滤波_96