嵌入式设计应用
时变时延的在线自适应估计
本文提出了一种时变时延的在线自适应估计新方法.首先,本文给出了一种修正的强跟踪滤波器算法,并且建立了时变时延的估计模型.基于此模型,时变时延可以被当成系统状态由修正的强跟踪滤波器算法直接进行估计.所提出的方法具有使用简单、跟踪迅速、精度高等特点.最后,仿真实验结果验证了本文方法的有效性.
关键词:时变;时延;自适应估计;在线
On-Line Adaptive Estimation of Time-Varying Time Delay
ZHOU Dong-hua
(Dept.of Automation,Tsinghua University,Beijing 100084,China)
Abstract:A new approach to on-line adaptive estimation of time-varying time delay is proposed.First,a modified strong tracking filter algorithm is presented,and an estimation model for the time-varying time delay is set up.Based on this model,the time-varying time delay can be directly estimated by the modified strong tracking filter algorithm.The proposed approach is characterized by easy implementation,rapid tracking,high accuracy and etc.Finally,simulated experimental results are provided to show the effectiveness of the proposed approach.
Key words:time-varying;time delay;adaptive estimation;on-line
一、引 言
不同地点的两个传感器所接收的同一信号一般都存在时延,这个时延的估计与跟踪技术在诸如声纳、雷达等对象的信号处理中具有重要的作用.设y1(k+1),y2(k+1)是两个传感器上得到的观测序列,即:
(1)
其中,s(k+1)是源信号,e1(k+1),e2(k+1)是零均值、独立的白噪声,其方差分别为R1和R2,a是已知的信号衰减因子.T(k+1)是两感器之间的时变时延,其值是未知的非负整数.现在的研究目标就是要给出T(k+1)的有效估计方法.
此问题近年来已受到了国内外学者的关注.文献[1]采用高阶统计量方法,给出了一种有效的定常时延的估计方法.文献[2]基于梯度算法给出了一种时变时延的估计方法,其前提条件是误差函数必需是单峰的.利用随机逼近算法,文献[3]得到了一种时变时延的估计方法,其缺点是动态跟踪精度太差.文献[4]和文献[5]给出了两种有效的时变时延的估计方法,然而,它们具有算法复杂,设计困难的共同缺点.
本文基于一种修正的强跟踪滤波器算法,给出一种新的时变时延的在线自适应估计方法.所提出的方法具有使用简单,跟踪迅速,精度高等特点.仿真实验结果验证了本文方法的有效性.
二、一种修正的强跟踪滤波器算法
一类离散时间非线性系统由下式描述:
(2)
其中状态x∈Rn,输入u∈Rp,输出y∈Rm,非线性函数f:Rm×Rn→Rn和h:Rn→Rm对x有连续的偏导数;过程噪声v(k)∈Rq是零均值,方差为Q(k)的高斯白噪声,测量噪声e(k)∈Rm也是零均值,方差为R(k)的高斯白噪声,Γ(k)是已知的适当维数的矩阵,v(k)和e(k)是统计独立的.
通过引入一个弱化因子β,我们在这里进一步给出关于系统I的一种修正的强跟踪滤波器(MSTF-Modified Strong Tracking Filter),由下式给出:
(k+1|k+1)=(k+1|k)+K(k+1)γ(k+1) (3)
(k+1|k)=f(k,u(k),(k|k)) (4)
其中,
K(k+1)=P(k+1||k)HT(k+1,(k+1|k))[H(k+1,
(k+1|k))P(k+1|k)HT(k+1,(k+1|k))
+R(k)]-1 (5)
P(k+1|k)=LMD(k+1)F(k,u(k),(k|k))P(k|k)
FT(k,u(k),(k|k))+Γ(k)Q(k)ΓT(k) (6)
P(k+1|k+1)=[I-K(k+1)H(k+1,(k+1|k))]P(k+1|k) (7)
γ(k+1)=y(k+1)-h(k+1,(k+1|k)) (8)
其中, (9)
(10)
LMD(k+1)=diag{λ1(k+1),λ2(k+1),…,λn(k+1)} (11)
(12)
(13)
N(k+1)=V0(k+1)-β.R(k+1)-H(k+1,(k+1|k))
.Γ(k)Q(k)ΓT(k)HT(k+1,(k+1|k)) (14)
M(k+1)=F(k,u(k),(k|k))P(k|k)FT(k,u(k),
(k|k))HT(k+1,(k+1|k))H
.(k+1,(k+1|k))=(Mij) (15)
(16)
其中ρ=0.95是遗忘因子,β1是一预先选定的弱化因子.选取原则为αi1,i=1,2,…,n[6].下面给出弱化因子的物理意义.
由求取渐消因子的公式(11)~(16)得知,只有当:
V0(k+1)-β.R(k+1)-H(k+1,(k+1|k))Γ(k)Q(k)ΓT(k)HT(k)HT(k+1,(k+1|k))>0时,渐消因子才有可能起作用.由于已知R(k+1)>0,因此,选择更大的弱化因子β将减弱渐消因子的调节作用,使得估计值更加平滑.但是,若选择的β值太大,渐消因子将永不会起作用,此MSTF就会退化为通常的扩展卡尔曼滤波器(EKF),滤波效果反而会变差.怎样选取一个最优的β是一个有待解决的问题.实际应用时,可以通过计算机仿真,根据估计的总体误差,很容易地选择一个适当的β.
此MSTF的计算量与STF的计算量几乎完全一样[8].因此,此MSTF算法是一种实时算法.
三、时变时延的估计方法
首先,给出如下定义:
定义1:实数b的整数部分记为INT(b).
定义2:实数b的偏上整数记为round(b),由下式定义:
(17)
为估计时延T(k+1),我们建立如下估计模型:
(18)
将式(18)与式(2)相比较,当把T(k)看做状态变量x(k),[y1(k+1) y2(k+1)]T作为输出变量时,上节给出的修正的STF算法可以直接用来估计T(k).此时有:
考虑到估计出的时延应该为非负整数,由定义1和2,为方便起见,分别把时延的估计值(k|k)和预报值(K+1|k)的偏上整数记做(k|k)和(k+1|k),即,(k|k)=round((k|k)),(k+1|k)=round((k+1|k)).此时,应该用下面两公式替代原公式(9)和(10).
(19)
(20)
式(20)中,用到了恒等式(k+1|k)=(k|k),此式来自(k+1|k)=(k|k).这是由式(18)中的第1式和式(4)得到的.
另外,式(8)中的(k+1|k)也应由(k|k)替代.显然,这时的修正STF算法中,Γ(k)=1,u(k)=0,Q=0,αi=1.
由式(13)得知,Mii不能全部为零,因此由式(15)得知,H(.)永远不能为零矩阵.为此,可以把式(20)修改为:
(21)
其中,c(k)=a[s(k-(k|k))-s(k+1-(k|k))].
四、仿真实验
实验1:
源信号s(k)是周期为16,幅度为±1的方波,a=0.4,噪声信号的协方差矩阵为R0=diag[0.022 0.022],时变时延设置成:
在修理正的STF算法中,取(0|0)=1≠T(0),β=5,P(0|0)=100,R=R0.仿真实验结果由图1所示.
图1 例1仿真实验结果;TD:时滞;FG:滤波器增益 实验2: |
图2 例2仿真实验结果;TD:时滞;FG:滤波器增益 实验3: |
图3 例3仿真实验结果;TD:时滞;FG:滤波器增益 上述实验结果验证了如下结论: 五、与其它方法的比较 六、结 论 |
全部0条评论
快来发表一下你的评论吧 !