学习卡尔曼滤波的一些粗浅认识以及如何在雷达系统中进行应用
本文章先根据以下两处学习资料对卡尔曼滤波卡尔曼增益的由来做一个简要推导,其次简单分析了以下在雷达系统中应用卡尔曼滤波进行跟踪需要哪些变量。
感谢大佬们的付出,学习资料主要参考以下两个部分:
1、卡尔曼增益的简单推导
首先借用B站up的PPT里的卡尔曼滤波五个公式:
 
 对于预测部分, 
     
      
       
        
         
         
           x 
          
         
           ^ 
          
         
         
         
           t 
          
         
           − 
          
         
           1 
          
         
        
       
      
        {\hat x_{t - 1}} 
       
      
    x^t−1表示 
     
      
       
       
         ( 
        
       
         t 
        
       
         − 
        
       
         1 
        
       
         ) 
        
       
      
        (t-1) 
       
      
    (t−1)时刻的状态估计, 
     
      
       
       
         F 
        
       
      
        F 
       
      
    F表示状态转移矩阵, 
     
      
       
        
         
         
           x 
          
         
           ^ 
          
         
        
          t 
         
        
          − 
         
        
       
      
        \hat x_t^- 
       
      
    x^t−的 
     
      
       
        
         
        
          − 
         
        
       
      
        ^- 
       
      
    −号表示该值还不是最佳的状态估计值,待会儿还要根据观测值对该值进行修正。 
     
      
       
       
         B 
        
       
      
        B 
       
      
    B是控制矩阵,表示控制量 
     
      
       
       
         u 
        
       
      
        u 
       
      
    u如何作用于当前状态。举链接视频里的例子,假如小车的状态有位置和速度两个变量,用 
     
      
       
        
        
          x 
         
        
          t 
         
        
       
         = 
        
        
         
         
           [ 
          
          
           
           
             p 
            
           
             t 
            
           
          
            , 
           
           
           
             v 
            
           
             t 
            
           
          
         
           ] 
          
         
        
          T 
         
        
       
      
        {x_t} = {\left[ {{p_t},{v_t}} \right]^T} 
       
      
    xt=[pt,vt]T表示,那么做匀加速运动的小车的状态方程可以表示成:
 
而预测部分的第二个公式表示的是协方差矩阵的更新。上述引用的博客对此作的解释是:基于高斯分布来建立状态变量,对于 
     
      
       
       
         ( 
        
       
         t 
        
       
         − 
        
       
         1 
        
       
         ) 
        
       
      
        (t-1) 
       
      
    (t−1)时刻,均值为 
     
      
       
        
         
         
           x 
          
         
           ^ 
          
         
         
         
           t 
          
         
           − 
          
         
           1 
          
         
        
       
      
        {\hat x_{t - 1}} 
       
      
    x^t−1,方差为 
     
      
       
        
        
          P 
         
         
         
           t 
          
         
           − 
          
         
           1 
          
         
        
       
      
        {P_{t - 1}} 
       
      
    Pt−1,其中均值被称为最佳估计,这也很好理解,因为均值代表了小车的位置和速度。而 
     
      
       
       
         F 
        
       
      
        F 
       
      
    F的作用是将上一时刻估计的每个点移动到了新的位置,那么此时刻的均值和方差就分别为 
     
      
       
       
         F 
        
        
         
         
           x 
          
         
           ^ 
          
         
         
         
           t 
          
         
           − 
          
         
           1 
          
         
        
       
      
        F{\hat x_{t - 1}} 
       
      
    Fx^t−1, 
     
      
       
       
         F 
        
        
        
          P 
         
         
         
           t 
          
         
           − 
          
         
           1 
          
         
        
        
        
          F 
         
        
          T 
         
        
       
      
        F{P_{t - 1}}F^T 
       
      
    FPt−1FT。
 到了更新部分,则需要用观测值来修正估计量了。同样以视频里的小车为例,观测矩阵为:
  
      
       
        
         
         
           z 
          
         
           t 
          
         
        
          = 
         
        
          H 
         
         
          
          
            x 
           
          
            ^ 
           
          
         
           t 
          
         
           − 
          
         
        
          + 
         
        
          v 
         
        
       
         z_t = H\hat x_t^-+v 
        
       
     zt=Hx^t−+v
 也就是说观测量和预测部分的状态预测 
     
      
       
        
         
         
           x 
          
         
           ^ 
          
         
        
          t 
         
        
          − 
         
        
       
      
        \hat x_t^- 
       
      
    x^t−还有关系。根据博客里的解释,这里也有一个高斯分布的变化,即观测矩阵 
     
      
       
       
         H 
        
       
      
        H 
       
      
    H作用域状态预测 
     
      
       
        
         
         
           x 
          
         
           ^ 
          
         
        
          t 
         
        
          − 
         
        
       
      
        \hat x_t^- 
       
      
    x^t−上,得到了我们希望看到的观测值的分布,均值为 
     
      
       
       
         H 
        
        
         
         
           x 
          
         
           ^ 
          
         
        
          t 
         
        
          − 
         
        
       
      
        H\hat x_t^- 
       
      
    Hx^t−,方差为 
     
      
       
       
         H 
        
        
        
          P 
         
        
          t 
         
        
          − 
         
        
        
        
          H 
         
        
          T 
         
        
       
      
        H{P_{t}^-}H^T 
       
      
    HPt−HT。
 对于实际的观测而言,我们有观测值 
     
      
       
        
        
          z 
         
        
          t 
         
        
       
      
        z_t 
       
      
    zt和测量噪声协方差 
     
      
       
       
         R 
        
       
      
        R 
       
      
    R。
现在有了两个高斯分布,将这两个高斯分布乘起来会得到我们的滤波结果。根据相乘后高斯分布的均值和方差:
 
      
       
        
         
         
           μ 
          
         
           ′ 
          
         
        
          = 
         
         
         
           μ 
          
         
           0 
          
         
        
          + 
         
         
          
           
           
             σ 
            
           
             0 
            
           
             2 
            
           
           
           
             ( 
            
            
             
             
               μ 
              
             
               1 
              
             
            
              − 
             
             
             
               μ 
              
             
               0 
              
             
            
           
             ) 
            
           
          
          
           
           
             σ 
            
           
             0 
            
           
             2 
            
           
          
            + 
           
           
           
             σ 
            
           
             1 
            
           
             2 
            
           
          
         
         
        
          σ 
         
         
          
          
          
            ′ 
           
          
            2 
           
          
         
        
          = 
         
         
         
           σ 
          
         
           0 
          
         
           2 
          
         
        
          − 
         
         
          
          
            σ 
           
          
            0 
           
          
            4 
           
          
          
           
           
             σ 
            
           
             0 
            
           
             2 
            
           
          
            + 
           
           
           
             σ 
            
           
             1 
            
           
             2 
            
           
          
         
        
       
         \mu ' = {\mu _0} + \frac{{\sigma _0^2\left( {{\mu _1} - {\mu _0}} \right)}}{{\sigma _0^2 + \sigma _1^2}}\\ \sigma {'^2} = \sigma _0^2 - \frac{{\sigma _0^4}}{{\sigma _0^2 + \sigma _1^2}} 
        
       
     μ′=μ0+σ02+σ12σ02(μ1−μ0)σ′2=σ02−σ02+σ12σ04
 令 
     
      
       
       
         k 
        
       
         = 
        
        
         
         
           σ 
          
         
           0 
          
         
           2 
          
         
         
          
          
            σ 
           
          
            0 
           
          
            2 
           
          
         
           + 
          
          
          
            σ 
           
          
            1 
           
          
            2 
           
          
         
        
       
      
        k = \frac{{\sigma _0^2}}{{\sigma _0^2 + \sigma _1^2}} 
       
      
    k=σ02+σ12σ02,新得到高斯分布的均值、方差可以化简为
  
      
       
        
         
         
           μ 
          
         
           ′ 
          
         
        
          = 
         
         
         
           μ 
          
         
           0 
          
         
        
          + 
         
        
          k 
         
         
         
           ( 
          
          
           
           
             μ 
            
           
             1 
            
           
          
            − 
           
           
           
             μ 
            
           
             0 
            
           
          
         
           ) 
          
         
         
        
          σ 
         
         
          
          
          
            ′ 
           
          
            2 
           
          
         
        
          = 
         
         
         
           σ 
          
         
           0 
          
         
           2 
          
         
        
          − 
         
        
          k 
         
         
         
           σ 
          
         
           0 
          
         
           2 
          
         
        
       
         \mu ' = {\mu _0} + k\left( {{\mu _1} - {\mu _0}} \right)\\ \sigma {'^2} = \sigma _0^2 - k\sigma _0^2 
        
       
     μ′=μ0+k(μ1−μ0)σ′2=σ02−kσ02
 写成矩阵形式为
  
      
       
        
         
          
           
            
            
              K 
             
            
              = 
             
             
             
               Σ 
              
             
               0 
              
             
             
              
              
                ( 
               
               
                
                
                  Σ 
                 
                
                  0 
                 
                
               
                 + 
                
                
                
                  Σ 
                 
                
                  1 
                 
                
               
              
                ) 
               
              
              
              
                − 
               
              
                1 
               
              
             
            
           
          
         
         
          
           
            
             
             
               μ 
              
             
               ′ 
              
             
            
              = 
             
             
             
               μ 
              
             
               0 
              
             
            
              + 
             
            
              K 
             
             
             
               ( 
              
              
               
               
                 μ 
                
               
                 1 
                
               
              
                − 
               
               
               
                 μ 
                
               
                 0 
                
               
              
             
               ) 
              
             
            
           
          
         
         
          
           
            
            
              Σ 
             
             
              
             
               ′ 
              
             
            
              = 
             
             
             
               Σ 
              
             
               0 
              
             
            
              − 
             
             
              
              
                K 
               
              
                Σ 
               
              
             
               0 
              
             
            
           
          
         
        
       
         \begin{array}{l} {\bf{K}} = {{\bf{\Sigma }}_0}{\left( {{{\bf{\Sigma }}_0} + {{\bf{\Sigma }}_1}} \right)^{ - 1}}\\ {\bf{\mu }}' = {{\bf{\mu }}_0} + {\bf{K}}\left( {{{\bf{\mu }}_1} - {{\bf{\mu }}_0}} \right)\\ {\bf{\Sigma }}{'} = {\bf{\Sigma }}_0 - {\bf{K\Sigma }}_0 \end{array} 
        
       
     K=Σ0(Σ0+Σ1)−1μ′=μ0+K(μ1−μ0)Σ′=Σ0−KΣ0
 将上面的两个高斯分布的均值和方差 
     
      
       
        
        
          ( 
         
         
          
          
            μ 
           
          
            0 
           
          
         
           , 
          
          
          
            Σ 
           
          
            0 
           
          
         
        
          ) 
         
        
       
         = 
        
        
        
          ( 
         
         
         
           H 
          
          
           
           
             x 
            
           
             ^ 
            
           
          
            t 
           
          
            − 
           
          
         
           , 
          
         
           H 
          
          
          
            P 
           
          
            t 
           
          
            − 
           
          
          
          
            H 
           
          
            T 
           
          
         
        
          ) 
         
        
       
      
        \left( {{{\bf{\mu }}_0},{{\bf{\Sigma }}_0}} \right) = \left( {H\hat x_t^ - ,HP_t^ - {H^T}} \right) 
       
      
    (μ0,Σ0)=(Hx^t−,HPt−HT)、 
     
      
       
        
        
          ( 
         
         
          
          
            μ 
           
          
            1 
           
          
         
           , 
          
          
          
            Σ 
           
          
            1 
           
          
         
        
          ) 
         
        
       
         = 
        
        
        
          ( 
         
         
          
          
            z 
           
          
            t 
           
          
         
           , 
          
         
           R 
          
         
        
          ) 
         
        
       
      
        \left( {{{\bf{\mu }}_1},{{\bf{\Sigma }}_1}} \right) = \left( {{z_t},R} \right) 
       
      
    (μ1,Σ1)=(zt,R)带入上式可得
  
      
       
        
         
          
           
            
            
              K 
             
            
              = 
             
            
              H 
             
             
             
               P 
              
             
               t 
              
             
               − 
              
             
             
             
               H 
              
             
               T 
              
             
             
              
              
                ( 
               
               
               
                 H 
                
                
                
                  P 
                 
                
                  t 
                 
                
                  − 
                 
                
                
                
                  H 
                 
                
                  T 
                 
                
               
                 + 
                
               
                 R 
                
               
              
                ) 
               
              
              
              
                − 
               
              
                1 
               
              
             
            
           
          
         
         
          
           
            
             
             
               μ 
              
             
               ′ 
              
             
            
              = 
             
            
              H 
             
             
              
              
                x 
               
              
                ^ 
               
              
             
               t 
              
             
               − 
              
             
            
              + 
             
            
              K 
             
             
             
               ( 
              
              
               
               
                 z 
                
               
                 t 
                
               
              
                − 
               
              
                H 
               
               
                
                
                  x 
                 
                
                  ^ 
                 
                
               
                 t 
                
               
                 − 
                
               
              
             
               ) 
              
             
            
           
          
         
         
          
           
            
             
             
               Σ 
              
             
               ′ 
              
             
            
              = 
             
            
              H 
             
             
             
               P 
              
             
               t 
              
             
               − 
              
             
             
             
               H 
              
             
               T 
              
             
            
              − 
             
            
              K 
             
            
              H 
             
             
             
               P 
              
             
               t 
              
             
               − 
              
             
             
             
               H 
              
             
               T 
              
             
            
           
          
         
        
       
         \begin{array}{l} {\bf{K}} = HP_t^ - {H^T}{\left( {HP_t^ - {H^T} + R} \right)^{ - 1}}\\ {\bf{\mu }}' = H\hat x_t^ - + {\bf{K}}\left( {{z_t} - H\hat x_t^ - } \right)\\ {\bf{\Sigma }}' = HP_t^ - {H^T} - {\bf{K}}HP_t^ - {H^T} \end{array} 
        
       
     K=HPt−HT(HPt−HT+R)−1μ′=Hx^t−+K(zt−Hx^t−)Σ′=HPt−HT−KHPt−HT
 又由于
  
      
       
        
         
         
           μ 
          
         
           ′ 
          
         
        
          = 
         
        
          H 
         
         
          
          
            x 
           
          
            ^ 
           
          
         
           t 
          
         
         
         
         
           Σ 
          
         
           ′ 
          
         
        
          = 
         
        
          H 
         
         
         
           P 
          
         
           t 
          
         
           − 
          
         
         
         
           H 
          
         
           T 
          
         
        
       
         {\bf{\mu }}' = H{{\hat x}_t}\\ {\bf{\Sigma }}' = HP_t^ - {H^T} 
        
       
     μ′=Hx^tΣ′=HPt−HT
 同时将 
     
      
       
       
         K 
        
       
      
        {\bf{K}} 
       
      
    K中左边第一项的 
     
      
       
       
         H 
        
       
      
        H 
       
      
    H约掉后,可以化简成
  
      
       
        
         
          
           
            
            
              K 
             
            
              = 
             
             
             
               P 
              
             
               t 
              
             
               − 
              
             
             
             
               H 
              
             
               T 
              
             
             
              
              
                ( 
               
               
               
                 H 
                
                
                
                  P 
                 
                
                  t 
                 
                
                  − 
                 
                
                
                
                  H 
                 
                
                  T 
                 
                
               
                 + 
                
               
                 R 
                
               
              
                ) 
               
              
              
              
                − 
               
              
                1 
               
              
             
            
           
          
         
         
          
           
            
             
              
              
                x 
               
              
                ^ 
               
              
             
               t 
              
             
            
              = 
             
             
              
              
                x 
               
              
                ^ 
               
              
             
               t 
              
             
               − 
              
             
            
              + 
             
            
              K 
             
             
             
               ( 
              
              
               
               
                 z 
                
               
                 t 
                
               
              
                − 
               
              
                H 
               
               
                
                
                  x 
                 
                
                  ^ 
                 
                
               
                 t 
                
               
                 − 
                
               
              
             
               ) 
              
             
            
           
          
         
         
          
           
            
             
             
               P 
              
             
               t 
              
             
            
              = 
             
             
             
               P 
              
             
               t 
              
             
               − 
              
             
            
              − 
             
            
              K 
             
            
              H 
             
             
             
               P 
              
             
               t 
              
             
               − 
              
             
            
           
          
         
        
       
         \begin{array}{l} {\bf{K}} = P_t^ - {H^T}{\left( {HP_t^ - {H^T} + R} \right)^{ - 1}}\\ {{\hat x}_t} = \hat x_t^ - + {\bf{K}}\left( {{z_t} - H\hat x_t^ - } \right)\\ {P_t} = P_t^ - - {\bf{K}}HP_t^ - \end{array} 
        
       
     K=Pt−HT(HPt−HT+R)−1x^t=x^t−+K(zt−Hx^t−)Pt=Pt−−KHPt−
 也就推出了更新部分的公式。
2、如何在雷达系统中应用应用卡尔曼滤波
接下来阐述如何在实际的雷达系统中应用卡尔曼滤波进行跟踪。从预测和更新两个部分的变量分别进行分析。
 1、首先对于预测部分,状态方程由目标的运动方式来建模,例如匀速或匀加速运动就不需要控制变量部分。对于一个三维空间中的目标, 
     
      
       
        
         
         
           x 
          
         
           ^ 
          
         
         
         
           t 
          
         
           − 
          
         
           1 
          
         
        
       
      
        \hat x_{t-1} 
       
      
    x^t−1可以用一个九维向量来表示,例如
  
      
       
        
         
          
          
            x 
           
          
            ^ 
           
          
          
          
            t 
           
          
            − 
           
          
            1 
           
          
         
        
          = 
         
         
         
           [ 
          
          
          
            x 
           
          
            1 
           
          
         
           , 
          
          
          
            v 
           
          
            1 
           
          
         
           , 
          
          
          
            a 
           
          
            1 
           
          
         
           , 
          
          
          
            x 
           
          
            2 
           
          
         
           , 
          
          
          
            v 
           
          
            2 
           
          
         
           , 
          
          
          
            a 
           
          
            2 
           
          
         
           , 
          
          
          
            x 
           
          
            3 
           
          
         
           , 
          
          
          
            v 
           
          
            3 
           
          
         
           , 
          
          
          
            a 
           
          
            3 
           
          
          
          
            ] 
           
          
            T 
           
          
         
        
       
         {{\hat x}_{t - 1}} = {[{{x_1}},{{v_1}},{{a_1}},{{x_2}},{{v_2}},{{a_2}},{{x_3}},{{v_3}},{{a_3}} ]^T} 
        
       
     x^t−1=[x1,v1,a1,x2,v2,a2,x3,v3,a3]T
 其中, 
     
      
       
        
        
          x 
         
        
          1 
         
        
       
         , 
        
        
        
          x 
         
        
          2 
         
        
       
         , 
        
        
        
          x 
         
        
          3 
         
        
       
      
        x_1,x_2,x_3 
       
      
    x1,x2,x3分别表示 
     
      
       
       
         ( 
        
       
         t 
        
       
         − 
        
       
         1 
        
       
         ) 
        
       
      
        (t-1) 
       
      
    (t−1)时刻目标的坐标, 
     
      
       
        
        
          v 
         
        
          1 
         
        
       
         , 
        
        
        
          v 
         
        
          2 
         
        
       
         , 
        
        
        
          v 
         
        
          3 
         
        
       
      
        v_1,v_2,v_3 
       
      
    v1,v2,v3分别表示 
     
      
       
       
         ( 
        
       
         t 
        
       
         − 
        
       
         1 
        
       
         ) 
        
       
      
        (t-1) 
       
      
    (t−1)时刻目标沿三个坐标轴方向的速度, 
     
      
       
        
        
          a 
         
        
          1 
         
        
       
         , 
        
        
        
          a 
         
        
          2 
         
        
       
         , 
        
        
        
          a 
         
        
          3 
         
        
       
      
        a_1,a_2,a_3 
       
      
    a1,a2,a3分别表示 
     
      
       
       
         ( 
        
       
         t 
        
       
         − 
        
       
         1 
        
       
         ) 
        
       
      
        (t-1) 
       
      
    (t−1)时刻目标沿三个坐标轴方向的加速度。目标的速度和加速度则可以通过连续三帧目标检测的结果进行求解,求得之后可以知道 
     
      
       
       
         F 
        
       
      
        F 
       
      
    F矩阵。 
     
      
       
       
         P 
        
       
      
        P 
       
      
    P矩阵距离、方位、俯仰测量精度给出。 
     
      
       
       
         Q 
        
       
      
        Q 
       
      
    Q矩阵这里如何给我还不太懂。有了以上参数,就可以完成预测部分了。
 2、对于更新部分,第一个是 
     
      
       
       
         H 
        
       
      
        H 
       
      
    H矩阵。 
     
      
       
       
         H 
        
       
      
        H 
       
      
    H矩阵其实很好给,比如量测得到目标位置,那么可以令 
     
      
       
       
         H 
        
       
      
        H 
       
      
    H为
  
      
       
        
        
          H 
         
        
          = 
         
        
          [ 
         
        
          1 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          ; 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          1 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          ; 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          1 
         
        
          , 
         
        
          0 
         
        
          , 
         
        
          0 
         
        
          ] 
         
        
          ; 
         
        
       
         H=[1,0,0,0,0,0,0,0,0; 0,0,0,1,0,0,0,0,0; 0,0,0,0,0,0,1,0,0]; 
        
       
     H=[1,0,0,0,0,0,0,0,0;0,0,0,1,0,0,0,0,0;0,0,0,0,0,0,1,0,0];
  
     
      
       
        
        
          z 
         
        
          t 
         
        
       
      
        z_t 
       
      
    zt则通过当前时刻的量测值来给出。 
     
      
       
       
         R 
        
       
      
        R 
       
      
    R矩阵这里如何给我也不太懂。当这些参数获取完毕后,更新部分也可以进行。
 因此,卡尔曼滤波就可以应用在雷达系统中进行跟踪滤波了。