如何处理卡尔曼滤波器中的对数项?

信息处理 离散信号 估计 卡尔曼滤波器 衍生物
2022-02-13 11:03:03

我正在尝试为类似于本文的回波脉冲检测应用程序实现卡尔曼滤波器(这里有一个开源版本(第 16 页))

测量变量为状态向量为h(x,t)=A0(tτT)αexp(tτT)x=[A0 α T τ ]T

为了计算测量灵敏度矩阵,我们需要计算关于的偏导数。我将它作为获得。 Hk=hx|x=x^kαhα=hlog(tτT)在此处输入图像描述

τ将对应于脉冲包络的开始,因此实际上它会大于前几个时间步长。初始化的卡尔曼滤波器时,这个偏导数项对于迭代的起始值变得未定义,因为在 etc 等小于并且对数未定义负值。τt=0,1timestep,2timestepτ

1个回答

首先,您正在尝试评估指数的导数。如果指数的底为正,则存在导数。但是,如果基数为负,则导数不存在。当您的指数为负数时,使用卡尔曼滤波器将毫无意义。

其次,您的回波包络模型是

A(t)=A0(tτT)αe(tτT)

其中是飞行时间,回波包络不是 0 是没有意义的t<ττ

您可以在方程中添加一个单位步长,以确保 A(t) = 0 for t <τ

A(t)=A0(tτT)αe(tτT)u(tτ)