目标跟踪PCRLB(后验克拉美罗下界)MATLAB仿真实现

PCRLB(后验克拉美罗下界)具有预测能力,能够通过递推的形式进行计算, 能为下一时刻的目标状态估计误差提供下界, 因此常被用作运动目标跟踪误差的评价准则。

用量测信息z_k^q对目标状态向量x_k^q进行估计时, 其无偏估计量\hat{x}_{k|k}^{q}(z_k^q) 与目标状态向量间必须满足:

  J^{-1}(x_k^q)表示 k 时刻目标 q 的 PCRLB, 即关于x_k^q的Fisher 信息矩阵(FIM, Fisher Information matrix)的逆。 FIM 可计算如下:

 P(z_k^q,x_k^q,)表示状态向量与量测向量的联合 PDF:

k 时刻关于目标 q 的 FIM 的递推式可计算为: 

 这部分的参考文献如下:

本博客通过MATLAB对上述过程进行代码实现,通过UKF(无迹卡尔曼滤波)对目标状态进行跟踪滤波,并从仿真图中可以看到目标跟踪的位置RMSE与速度RMSE能够逐渐收敛到跟踪的PCRLB。仿真结果分别如下:

 

主要代码如下:

%% 参数定义
sV=zeros(n,N,MC,1); % 真实状态
eV=zeros(n,N,MC,chan); %状态估计
PV=zeros(n,n,N,MC,chan);
rV=zeros(3,N,MC,M); 
for i=1:MC

    x=[30000,80,20000,80]'; %初始状态变量
    P_0=diag([1e6,1e2,1e6,1e2]); %初始方差
    %滤波器初始化
    xk_UKF=x;   Pk_UKF=P_0;   % UKF单雷达滤波
    x0=mvnrnd(x,P_0); % 初始状态
    %x0=(x+normrnd(0,0.001)')';
    x=x0';
    for k=1:N
        %% 目标运动学模型,匀速运动CV模型
        w=sqrtm(Qk)*randn(4,1);%过程噪声
        x=Fk*x+Gk*w;
        sV(:,k,i,1)=x;
        %% radar measuremnt
        for m=1:M
            v=normrnd(v_mu,[sigma_r(m); sigma_b(m);sigma_d(m)]);
            % 两个雷达测量
            [r,b,d] = measurements3(x,xp(:,m)); %rm=距离,bm=角度 dm=多普勒速度
            rm=r+v(1);
            bm=b+v(2);
            dm=d+v(3);
            rV(:,k,i,m)=[rm,bm,dm]';  
        end
        % UKF
        [xk_UKF,Pk_UKF] = fun_3UKF(xk_UKF,Pk_UKF,Fk,Gk,rV(:,k,i,1),Qk,sigma_r(1),sigma_b(1),sigma_d(1),xp(:,1));
        PV(:,:,k,i,1)=Pk_UKF;%滤波方差
        eV(:,k,i,1)=xk_UKF;%滤波估计值, 1表示滤波结果
        % PCRLB
        [d11,d12,d22] = fun_pcrlbfusion(x,Fk,Gk,Qk,sigma_r,sigma_b,sigma_d,xp);
        d11_pcrlb(:,:,k,i)=d11;
        d12_pcrlb(:,:,k,i)=d12;
        d22_pcrlb(:,:,k,i)=d22;
    end
end

%雅可比矩阵
 Hk= [H11  0  H12  0 ;
      H21  0  H22  0 ;
      H31 H34 H32 H35 ];

%Fisher信息矩阵分量
-----------------此处省略-------------------

如有代码问题,请加V(Lucky_YQW)交流。

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
克拉,又称为克莱(Kramer's Kronig Relations),是一组重要的数学关系,用于描述复杂介质中的光学特性。基于这个关系,可以通过测量介质的折射率或吸收系数来间接推导出其整个频率范围内的光学性质。这个方法被广泛用于光学材料的研究和分析。 MATLAB是一款功能强大的数值计算软件,它提供了丰富的工具和函数,能够进行复杂数学运算、绘图和数据分析等。使用MATLAB进行克拉仿真可以更方便地研究和分析复杂介质的光学性质。 在MATLAB中,可以通过编写脚本或函数来实现克拉仿真。首先,需要收集介质的频率响应数据,包括折射率或吸收系数。然后,利用克拉的数学关系,根据收集到的数据进行计算,得到介质的相干函数或频率响应图像。 MATLAB中提供了许多用于数据处理和分析的函数,如FFT(快速傅里叶变换)和IFFT(快速逆傅里叶变换),可以用于频域与时域之间的转换。这些函数可以用于实现克拉的数学计算。另外,MATLAB还提供了丰富的绘图函数,可以将计算结果可视化,更直观地展示介质的频率响应。 总之,MATLAB的强大功能和丰富的工具使得克拉仿真更加便捷和高效。通过利用MATLAB进行仿真,可以更深入地理解和研究复杂介质的光学性质,从而为光学材料的设计和应用提供更有力的支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿呆汪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值