性能跟踪

2024-10-22

性能跟踪(通用7篇)

性能跟踪 篇1

Informix数据库系统是由美国IBM公司开发出来的关系型数据库产品。多年来经过不断地更新及升级, 目前已经形成了以数据库系统核心IBM Informix Dynamic Server (IDS) 为基础, 以多种数据库软件开发工具相互配合而构成的综合数据库系列产品, 具有强大、丰富的开发及应用功能。

随着用户需求的越来越多, 应用系统也越来越复杂, 数据量也飞快增长。然而, 与之对应的应用系统吞吐量却很难提高, 甚至逐步下降。在实际应用系统中, 经常会出现系统资源的负载不高, CPU、内存等使用率很低, 不到50%。同时查看informix的检查点 (Checkpoint) 的时间也很短, 一般在1~2s之内, 最大不超过5s。而前台业务操作却速度慢, 响应长。这时候就要考虑是不是某些应用程序中调用的SQL执行有问题, 有没有走索引路径, 是否存在大表的顺序扫描 (SEQUENTIAL SCAN) , 从而需要关注informix数据库的访问方法。

1 访问方法

访问方法是指informix优化器从数据库表中检索数据的方法。基本上有两种方法。 最简单的方法是表的顺序扫描。当需要读取表中大多数数据时, 或者当表没有索引时, 优化器就会选择执行表顺序扫描。另一种方法就是使用索引, 如果一些列上有索引, 那么优化器就有可能使用键索引扫描 (key-only index scan) 。

优化器将比较每种方法的成本, 确定使用最好的一种。它将评估查询执行成本的每一个方面, 对于小型表 (有 1, 000 行或更少行) 来说, 顺序扫描的成本不会很昂贵, 尤其在 SQL 或应用程序中重复使用某个表的时候, 这样, 该表会一直保存在内存中。但是如果某个表有 100, 000 或更多的行, 那么顺序扫描将对性能产生致命影响。这时候, 就需要考虑向该表添加索引, 并尽可能的利用索引来访问表中的数据的, 与按顺序读取相比, 按随机顺序读取数据时的磁盘访问时间要长得多。因此考虑使用键索引扫描, 同时避免顺序扫描。

2 顺序扫描判断及解决

2.1 利用onstat-u命令获得高io的数据库线程id

onstat描述在处理期间动态改变的信息, 如缓冲区, 锁和用户的情况, 见表1。

这里着重关注nreads和nwrites列。这两列表示线程已执行的读调用数 (nreads) 和写调用数 (nwrites) 。如果nreads值较大, 就初步怀疑可能存在顺序扫描。然后需要进一步对这个数据库线程进行分析。在实际中, 由于同一个数据库server上可能有很多的线程, 可以利用SHELL对命令的输出进行简化。对nreads值对进行排序, 直接找到IO最高的线程。

$ onstat -u|awk '{print $3, $4, $9, $10}'|sort +2 -n -r|more

2790 cbps8 923767 0

45 cbps8 713734 0

323 cbps8 449911 68233

322 cbps8 447057 72579

330 cbps8 377230 696

2.2 onstat –g sql获得具体的SQL语句

利用onstat –u命令输出的sessid (会话标识号) 列。取道线程的id号, 然后可以利用onstat –g sql sessid命令来获得具体的sql语句, 见表2。

2.3 利用informix性能分析工具判断是否存在顺序扫描

Informix 提供的用来收集详细 SQL 查询计划和执行统计数据的最全面的工具是 SET EXPLAIN 实用程序。该实用程序将生成一个名为 sqexplain.out 的文件, 并详细记录查询的每个执行步骤。此外, 它还提供估算的查询成本, 并预计查询结果。通过检查 SET EXPLAIN 输出文件, 您可以确定是否可以采取措施来提高该查询的性能。

用dbaccess命令执行下列语句。产生sqexplain.out文件。

set explain on;

select cntr_no from BAT_REPRT_QUEUE

where CNTR_NO = '2002620203S64100005886';

set explain off;

查看sqexplain.out文件

select cntr_no from bat_reprt_queue

where cntr_no = '2002620203S64100005886'

Estimated Cost: 125480

Estimated # of Rows Returned: 1

1) cbps8.: SEQUENTIAL SCAN

Filters: cbps8.bat_reprt_queue.cntr_no = '2002620203S64100005886'

可以将以上输出分成三个部分: ①第一部分记录了查询语句②第二部分记录了该查询的估算成本③第三部分详细地描述了所执行查询的每一步骤。

这里最重要的是第二和第三部分。估算成本是优化器用来比较查询计划的成本单元。这些单元并不是直接对应时间;它们表示的是典型磁盘访问的相对时间。 优化器将选择执行的估算成本是所有被估算计划中最低的查询计划。第三部分对于查询调优是至关重要的, 因为它提供了大量有用的信息, 从上展示中可以看出这个SQL语句在执行时存在顺序扫描 (SEQUENTIAL SCAN) 。

2.4 根据具体数据表情况, 考虑增加索引等

存在顺序扫描不一定就是性能瓶颈, 不能盲目的增加索引。前面提到对于小数据量的表来说, 可以全部装入内存, 而在内存中的表进行顺序扫描要比通过索引搜索同一表快得多。因此, 这时还要考虑数据表的记录条数和这个数据表中已有索引以及索引字段的重复率。

Select count (*) from bat_reprt_queue;

select count (distinct cntr_no) from bat_reprt_queue;

执行以上语句得到表bat_reprt_queue有180多万条数据, 不重复的cntr_no记录数有约110万条。同时还注意到此表原来没有建立索引。因此可以针对cntr_no字段增加索引。具体语句如下:

create index idx_batreprtq_gs on bat_reprt_queue (cntr_no) ;

update statistics for table bat_reprt_queue;

update statistics high for table bat_reprt_queue (cntr_no) ;

建立完索引后一定要对相应数据表作统计更新。再次执行$onstat –u|more语句, 产生的sqexplain.out文件如下:

select cntr_no from BAT_REPRT_QUEUE

where CNTR_NO = '2002620203S64100005886'

Estimated Cost: 3

Estimated # of Rows Returned: 1

1) cbps8.bat_reprt_queue: INDEX PATH

(1) Index Keys: cntr_no (Serial, fragments: ALL)

Lower Index Filter: cbps8.bat_reprt_queue.cntr_no = '2002620203S64100005886'

3 结论

在Informix数据库中通过顺序扫描的判断及增加索引的方法, 将原来的估算成本从125480减小到3, 从而减少了数据访问时间, 提高了的SQL语句的执行性能。

摘要:从大数据量数据库表中检索数据时, 如果存在顺序扫描, 将会严重影响查询性能。通过跟踪、分析判断是否存在顺序扫描及相应的解决办法, 来提高SQL语句的执行性能。

关键词:INFORMIX,SQL,性能优化

参考文献

[1]Ellie Quigley.UNIX SHELLS by EXAMPLE, UNIXSHELL实例精解[M].张茹译.北京:中国电力出版社, 2002:25-33, 61-75.

[2]Informix Press公司.Informix Guide To SQL Reference&Syntax Second Edition, 深入学习:Informix SQL编程祥解[M]. (第2版) .伟峰, 张荣, 李青, 等译.北京:电子工业出版社, 2001:104-106.

[3]Ron Flannery.The Informix Handbook, Informix实用全书[M].邱仲潘译.北京:电子工业出版社, 2002:237-257.

[4]Konrad King, SQL Tips, Techniques.SQL编程实用大全[M].杜大鹏, 龚小平, 史艳辉, 等译.北京:中国水利水电出版社, 2002:234-243.

性能跟踪 篇2

非线性滤波问题中最优解法需要得到条件后验概率的完整描述才能够求解[1],但这种精确描述需要大量参数而且无法实际应用[2]。非线性滤波问题有两种次优近似解决方法:一种是 EKF[3](Extended Kalman Filter,扩展卡尔曼滤波),忽略高阶项,线性逼近非线性状态;另一种是 UKF[4](Unscented Kalman Filter,Unscented变换卡尔曼滤波),采样逼近非线性分布。EKF存在精度低,计算涉及Jacobian矩阵等不足之处,限制了EKF的应用[1]。UKF是以Unscented变换为基础,通过采样方式达到更精确逼近状态分布的滤波方法,具有精度高,无须计算Jacobian矩阵等优点。随着研究的不断深入,UKF的应用范围也在不断得到扩展。本文在研究UKF算法基础上,提出了一种根据系统特性简化Unscented变换的改进UKF算法,该算法提高了系统精度和鲁棒性。

1 系统模型

对观测站和运动目标在同一平面内的跟踪问题展开算法的应用讨论。对于三维目标定位时可以应用同样的方法。测量模型如图1所示。

设运动目标所在的平面是以测量站为坐标原点的二维坐标系。目标以速度矢量v¯在平面内运动,在某一时刻t1位于点P1(x1,y1),在下一时刻t2位于点P2(x2,y2)。在t1,t2两时刻,测量站可以测得目标距站距离ρ1,ρ2以及它们相对于x轴的夹角θ1,θ2,且在某一观测时刻有如下计算关系:

{ρ=x2+y2θ=arctan(yx)(1)

目标不同时刻间的坐标(x,y)变化不仅包含了每一时刻所处的位置信息,而且还包含了速度以及加速度的大小。测量值(ρ,θ)与对应时刻的坐标(x,y)之间有式(1)所示的非线性转化关系。根据连续测量到的某一时间段的若干(ρ,θ)值,可以掌握目标的完备运动状态信息。直接测量得到(ρ,θ)不可避免地会混有各种噪声。于是,如何减小噪声的影响,从而得到较为精准的目标位置信息就成为滤波算法应用的直接目的。

2 Unscented变换及UKF算法流程

Unscented变换是一种计算随机变量在经历非线性变换后的统计特性的方法。通过一个非线性函数y=f(x),对L维的随机变量x进行非线性传播。记x的均值和方差为x¯Px。根据式(2):

{χ0=x¯χi=x¯+((L+λ)Ρx)ii=1,2,,Lχi=x¯-((L+λ)Ρx)i-Li=L+1,L+2,,2L(2)

得到2L+1个矢量χi(Sigma点),组成矩阵χ

式(2)中λ=α2(L+k)-L,λ是一个尺度参数,取一个较小的值;常数α决定这些矢量在点x¯附近扩展范围,一般取10-4≤α≤1;k是另一个尺度参数,通常取0;((L+λ)Ρx)i为矩阵平方根的第i列。对式(2)所获得的矢量点χi通过式(3)非线性函数f(·)进行非线性传播,得到变换后的矢量点Yi:

Yi=f(χi),i=0,1,2,,2L(3)

利用加权样本值均值和协方差逼近系统输出y的统计特性Y¯Ρy:

{Y¯i=02LwimYiΡyi=02Lwic(Yi-Y¯)(Yi-Y¯)Τ(4)

其中:

{w0m=λ/(L+λ)w0c=λ/(L+λ)+(1-α2+β)wic=wim=1/[2(L+λ)],i=1,2,,2L(5)

且满足i=02Lwim=1i=02Lwic=1α同式(2)中λ中参数,β包含x分布的先验信息,在高斯分布下β=2。

这种以Unscented变换为基础的统计特性传播方式应用到Kalman滤波中,即是UKF。具体计算过程如下[4,5,6,7]:

设非线性系统状态方程和观测方程为:

{xk+1=Axk+ukzk=Η(xk)+wk(6)

式中:A为状态转移矩阵;H(·)为观测矢量转换矩阵;uk为过程噪声高斯白噪声序列;wk为观测噪声,也设为高斯白噪声序列。

(1) 滤波初始化

{xE=E[x0]Ρ0=E[(x0-xE)(x0-xE)Τ](7)

式中:E[·]代表取矩阵均值。

(2) 根据式(2)进行Unscented变换,得到Sigma点χi,i=0,1,2,…,2L

(3) 计算状态矢量矩阵

yk|k-1(i)=Aχi,i=0,1,2,,2L(8)

(4) 预测状态均值和方差

{xE(k|k-1)=i=02Lwimyk|k-1(i)Ρ(k|k-1)=i=02Lwic[yk|k-1(i)-xE(k|k-1)][yk|k-1(i)-xE(k|k-1)]Τ+Q(9)

式中Q为系统噪声协方差矩阵。

(5) 预测测量采样点

Vk|k-1(i)=Η[yk|k-1(i)],i=0,1,2,,2L(10)

(6) 预测测量值方差及其与状态矢量的协方差

{zE(k|k-1)=i=02LwimVk|k-1(i)Ρzz=i=02Lwic[Vk|k-1(i)-zE(k|k-1)][Vk|k-1(i)-zE(k|k-1)]Τ+RnΡxz=i=02Lwic[yk|k-1(i)-xE(k|k-1)][Vk|k-1(i)-zE(k|k-1)]Τ(11)

式中Rn为测量协方差矩阵。

(7) 计算UKF增益、更新状态矢量和方差矩阵

{W=ΡxzΡzz-1xE(k|k)=xE(k|k-1)+W[z(k)-zE(k|k-1)]Ρ(k|k)=Ρ(k|k-1)-WΡzzWΤ(12)

式中z(k)为观测值。

3 对UKF的改进

UKF的计算以Unscented变换得到χi点为基础,而每一次Unscented变换都要进行MMSE(最小均方误差)矩阵的矩阵平方根((L+λ)Ρx)i的获取。矩阵平方根可以通过下三角Cholesky分解等矩阵三角分解算法获得,矩阵的三角分解计算量相当于作一次高斯消去过程的计算量,大约L3/3次计算[8](L为矩阵维数)。每一次滤波迭代都要进行此种计算,无疑要占用大量计算资源,拖延整个UKF计算周期,降低了系统时效性。为此,在研究系统特性基础上提出FMSR(Fixed Matrix Square Root,固定矩阵平方根)算法以简化χi点获取方法。

在矩阵(L+λ)Px中,对于特定系统(L+λ)为定值,Px携带状态分布信息,随系统模型确定而确定,在每次迭代进行时会随统计特征的变化而更新。实验发现:Px主队角线元素携带状态向量主要信息;其对角线各元素随滤波进行,能快速稳定收敛,此后只在此收敛值附近有微小的波动。波动反映了单次计算统计规律的变化,但是此种波动较小,可以看作是系统分布规律的高阶影响。忽略此高阶影响对计算结果不会有显著影响。于是,在掌握系统分布特性的基础之上,设置能够替代(L+λ)Px矩阵反映状态向量分布特性的确定矩阵σI,其中σ为由(L+λ)Px对角元素确定的一个常数,I为与Px同形的单位矩阵。

IiI的第i列,则I=[I1,I2,…,IL],i=1,2,…,LRi=(σΙ)i为矩阵σI的矩阵平方根第i列。由于I是单位矩阵,所以Ri=σΙii=1,2,,L。计算σ即可求得矩阵平方根Ri,可省去约FL3/3次L×L维矩阵的三角分解过程(F为滤波次数),降低了计算复杂性。改进后, 式(2) 变为:

{χ0=x¯χi=x¯+σΙi,i=1,2,,Lχi=x¯-σΙi-L,i=L+1,L+2,,2L(13)

以此Sigma点为基础进行UKF计算即构成FMSRUKF。

4 仿真验证

为了验证FMSRUKF在本文跟踪模型中的应用效果,分别在模型中应用UKF,MAUKF[9],FMSRUKF三种方法进行数据仿真。

初始位置[x(t0),y(t0)]T=[50,200]T m;初始速度[vx(t0),vy(t0)]T=[2]T m/s;加速度[ax,ay]T=[0.01,0.015]T m/s2;距离测量误差为服从均值为0,方差为0.1的高斯分布。采样间隔为1 s。式(13)中σ取10-5。分别计算UKF,MAUKF,FMSRUKF的估计误差,仿真结果如图2,图3所示。

由图2,图3可以看出,FMSRUKF在精度和鲁棒性上均优于MAUKF和UKF。

5 结 论

通过一种简化Unscented变换构成FMSRUKF。省去了用矩阵分解方法求解最小MSE矩阵中矩阵平方根的过程,优化了滤波计算。通过系统建模仿真验证,FMSRUKF在简化UKF计算的基础之上,能进一步提高系统的精度和鲁棒性。

摘要:研究了Unscented变换的基本原理及UKF算法。为了降低跟踪系统计算的复杂性,在Unscented变换中,通过引入单位矩阵,以简单的数值计算取代复杂的矩阵分解求解矩阵平方根的过程,把UKF改进为FMSRUKF。通过对三维坐标系下作变加速运动目标的跟踪仿真,结果表明FMSRUKF有更好的精度和鲁棒性。

关键词:跟踪,Unscented变换,UKF,FMSRUKF

参考文献

[1]潘泉,杨峰,叶亮,等.一类非线性滤波器:UKF综述[J].控制与决策,2005,20(5):5481-5487.

[2]KUSHNER H J.Dynamical equations for optimum non-linear filtering[J].Differential Equations,1967,26(3):179-190.

[3]MAYBECK P S.Stochastic models estimation and control[M].New York:Academic,1982.

[4]JULIER S J,UHLMANN J K,DURRANT WHYTEN HF.A new approach for filtering nolinear system[C]//Proc.of the American Control Conf..Washington:Seattle,1995:1628-21632.

[5]JULIER S J.The spherical simplex unscented transforma-tion[C]//American Control Conf..Denver:[s.n.],2003:2430-2434.

[6]DIMIROVSKI Georgi M,XU Jiahe.UKF design and sta-bility for nonlinear stochastic systems with correlated noises[C]//Proceedings of the 46th IEEE Conference on Decisionand Control.[S.l.]:IEEE,2007:6221-6231.

[7]王常利,刘代志.双曲线定位精度仿真分析[J].核电子学与探测技术,2005,24(3):288-291.

[8]同济大学计算数学教研室.现代数值数学和计算[M].上海:同济大学出版社,2004.

[9]罗涌,钟洪声.一种改进的UKF算法在目标跟踪系统建模中的应用[J].遥测遥控,2008,29(1):55-58.

性能跟踪 篇3

锁相环 (PLL) 是一个相位误差控制系统, 它的基本组件包括鉴相器、环路滤波器和压控振荡器, 三者共同形成一个负反馈环路结构。由于锁相环路具有独特的信号捕获与跟踪性能, 它在卫星通信、第三代及第四代移动通信、电力电子技术、电力传动、无线电通讯等各个领域得到了广泛的使用。锁相环的跟踪性能是“锁相技术”课程教学中的重点内容。但由于锁相环路的相位模型相对复杂, 并且需要用到较多的S域分析、微分方程求解等知识, 学生在学习过程中普遍感觉比较抽象, 无法建立起对锁相环的动态跟踪特性的直观感性认知。

Vis Sim是一种功能强大的图形化原型建模和仿真软件[1], 该软件能够提供可拖放功能块的直观界面, 并包含有丰富的元件库和强大的数学运算模型, 还可将其他仿真软件中的元器件容易地转化为通用数学模型, 更能够与C++、DSP和集成的Matlab模块共享。目前利用Vis Sim进行自动控制系统建模、分析与开发的研究已受到广泛关注[2,3], 同时Vis Sim也被应用于电子线路、自动控制原理、嵌入式控制器DSP的实验教学中[4,5,6], 并取得了较好的教学效果。

本文首先对锁相环的跟踪性能进行理论分析, 然后采用Vis Sim仿真平台进行锁相环的构建与动态跟踪性能仿真, 给出当输入信号存在相位阶跃和频率阶跃两种情况时锁相环的相位误差变化曲线和动态跟踪输出波形, 从而帮助学生深刻理解锁相环的同步跟踪作用。

二、锁相环的跟踪性能分析

锁相环路的跟踪特性就是环路对不同输入暂态相位信号的响应。当锁相环处于锁定状态时, 环路输入信号相位θ1 (t) 会发生各种不可预知的变化, 如果环路工作在理想跟踪状态下, 则在输入信号相位和频率发生变化时, 输出信号的相位和频率就可以时刻与输入信号保持一致。这需要环路有一个跟踪的过程:开始会出现瞬态过程, 有瞬态相位误差产生;然后是环路处于稳定状态。锁相环路的瞬态相位误差与稳态相位误差统称为跟踪特性。锁相环跟踪性能的优劣通过观察环路相位误差θe (t) 随着时间的变化就可以直接判断, 理论上可以采用闭环误差传递函数来进行分析。当输入信号的频率或者相位变化规律不同时, 环路的跟踪过程也不同。常见输入信号的变化形式有相位阶跃和频率阶跃。

(一) 输入相位阶跃信号的锁相环跟踪性能分析

假设t<0时锁相环工作在锁定状态, 在t叟0时输入信号相位发生改变, 当输入相位阶跃信号时θ1 (t) =Δθ。利用锁相环的相位误差函数对输入相位阶跃信号的跟踪性能分析可知[7], 它的相位误差响应曲线的形状由阻尼系数ζ值决定, 当0<ζ<1时, 响应曲线为衰减振荡, 振荡频率由环路的固有谐振频率ωn决定。当ζ>1时响应曲线无振荡。当ζ=1时环路处于临界阻尼状态。稳态相位误差出现在瞬态过程完全消失之后, 对采用有源比例积分滤波器的二阶环路, 其稳态相位误差为零, 即可以无误差地跟踪相位阶跃信号。

(二) 输入频率阶跃信号的锁相环跟踪性能分析

当输入频率阶跃信号时θ1 (t) =Δwt, 式中Δw表示频率阶跃量.此时的暂态过程与输入相位阶跃信号时类似[7], 即当0<ζ<1时, 环路处于欠阻尼状态, 响应曲线为衰减振荡, 振荡频率也由ωn决定;当ζ>1, 环路处于过阻尼状态是一个非振荡过程。当ζ=1时环路处于临界阻尼状态。对采用有源比例积分滤波器的二阶环路, 其稳态相位误差也为零。

三、基于Vis Sim的锁相环跟踪性能仿真

(一) 基于Vis Sim的锁相环仿真模型

图1.给出了利用Vis Sim仿真软件中的元件库建立起来的锁相环仿真模型, 其中鉴相器采用简单的复数乘法器元件, 它有两个复信号输入端Z1和Z2, Z1端接复数形式的参考输入信号, Z2端接压控振荡器反馈回来的复信号, 鉴相增益为Kd=1。由于其输出端Z输出的是复信号, 所以在将其送入环路滤波器滤波之前, 要经过一个拆分器元件将复数信号拆分为实数部分和虚数部分, 然后将表示虚数部分的实信号送入后面的环路滤波器进行滤波。环路滤波器采用的是构成二阶锁相环路的滤波器元件。最后将压控振荡器元件输出的复信号经过一个共轭处理后送到鉴相器中。为了分析环路的相位误差特性, 将复数形式的参考输入信号的相位 (即输入相位θ1 (t) ) 与复数形式的压控振荡器输出信号的相位 (即输出相位θ2 (t) ) 送到一个差值运算器元件中, 其输出即为相位误差信号θe (t) 。

环路滤波器用来滤除鉴相器误差电压中的高频分量和噪声, 其参数的选择对环路的捕捉特性、稳定特性、噪声的滤除以及环路的噪声带宽都有很大的影响。通常在锁相环设计中先设定环路的噪声带宽、固有振荡频率以及阻尼系数等参数, 然后再计算出环路滤波器的参数。在Vis Sim仿真软件中环路滤波器的参数设置界面如图2.所示, 其中环路滤波器的类型 (Loop Filter Type) 可设置为有源比例积分滤波器 (Active) 和无源比例积分滤波器 (Passive) 。参数的设置方法有环路带宽设置法 (Loop Bandwidth) 和固有振荡频率 (Natural Freq) 设置法, 即给定环路带宽BL或者固有振荡频率ωn, 以及阻尼系数ζ (Damping Factor) , 压控振荡器的增益 (VCO Gain) K0, 鉴相器增益 (Detector Gain) Kd后, 系统就可以自动计算出环路的ωn或者BL, 并进一步计算出环路滤波器的参数τ1和τ2 (Tau1和Tau2) 。如图2中所示, 选择环路滤波器的类型为无源比例积分滤波器, 然后选取环路带宽设置法并设BL=0.5Hz, 并进一步设ζ=0.7071, K0=10Hz/V, Kd=1V/rad后, 系统可自动计算出环路的固有谐振频率ωn=0.95645rad/s以及无源比例积分滤波器中的参数τ1=68.683939和τ2=1.462676994。

压控振荡器的参数设置界面如图3 (a) .所示, 参数有压控振荡器的中心频率 (Center Frequency) , 输出信号的幅度 (Amplitude) , 初始相位 (Initial Phase) 和压控振荡器的增益 (VCO Gain) 以及积分方式 (Integration Method) 。在本文所做的仿真中设置输出信号的中心频率为2Hz, 幅度为1V, 初始相位为0°, 并采用欧拉积分方法 (Euler) 。输入参考信号选取复信号源元件, 它的参数设置界面如图3 (b) .所示, 除了可以设置频率、幅度、初始相位以外还可以设置相位输出模式 (Phase Output Mode) 和输出电压的单位 (Unit) 。在本文所做的仿真中设置相位输出模式为展开形式 (Unwrapped) , 输出电压的单位为伏特。

(二) 输入相位阶跃信号的锁相环跟踪性能仿真

设输入参考信号的频率与压控振荡器输出信号的中心频率一致, 即为2Hz。但是初始相位相对于压控振荡器输出信号的初始相位有一个相位阶跃值Δθ, 图4.给出了当Δθ=30°, BL=0.5Hz, ζ分别为0.5, 0.7071和3时相位误差随时间变化的曲线。可以看出当0<ζ<1, 相位误差会在稳定值附近上下振荡, 振荡的产生会使瞬态过程出现过冲现象, 即环路相差的瞬时值比稳定值大, 且ζ越小振荡越大。当ζ>1时环路的暂态响应无过冲现象。由前面的理论分析可知采用无源比例积分滤波器的锁相环可以无误差的跟踪相位阶跃信号, 即稳态相位误差为零, 图4.中的仿真结果验证了这一结论, 虽然不同的阻尼系数引起的振荡不同, 但最后相位误差都趋近于零。固定Δθ=30°, ζ=0.7071, 图5.给出了BL=0.3, 0.4和0.5Hz时相位误差的变化曲线, 可以看出环路噪声带宽越小, 瞬态相位误差出现最大过冲值的时间越大。通常输入相位阶跃信号时, 瞬态相位误差出现最大过冲值的时间与噪声带宽之间的关系可表示为T过冲=3π/8BL (s) 。为了观察环路的动态跟踪特性, 设输入参考信号的频率与压控振荡器输出信号的中心频率为0.2Hz, 且固定Δθ=30°, ζ=0.7071和BL=0.5Hz, 图6.给出了环路的动态跟踪输出波形, 可以看出在大约6秒左右压控振荡器的输出信号完全跟踪上了输入相位阶跃信号。

(三) 输入频率阶跃信号的锁相环跟踪性能仿真

设压控振荡器输出信号的中心频率为2Hz, 且输入参考信号的初始相位与压控振荡器输出信号的初始相位相同, 都为0°。图7.给出了当频率阶跃量Δf=0.1Hz, BL=0.5Hz, ζ分别为0.5, 0.7071和1.5时, 相位误差随时间变化的曲线可以看出此时相位误差曲线的变化规律与存在相位阶跃时类似, 即当0<ζ<1时, 相位误差会在稳定值附近上下振荡, 且ζ越小振荡越大。当ζ>1时环路的暂态响应无过冲现象。虽然阻尼系数不同相位误差随时间变化不同, 但最后相位误差都趋近于零, 验证了前面的理论结果。固定Δf=0.1Hz, ζ=0.7071, 图8.给出了BL=0.3, 0.4和0.5Hz时, 相位误差随时间变化的曲线, 可以看出环路噪声带宽越小, 瞬态相位误差出现最大过冲值的时间越大。通常输入频率阶跃信号时, 瞬态相位误差出现最大过冲值的时间与噪声带宽之间的关系时可表示为T过冲=3π/16BL (s) 。为了观察环路的动态跟踪特性, 设输入参考信号的频率为0.15Hz, 压控振荡器输出信号的中心频率为0.2Hz, ζ=0.7071和BL=0.5Hz, 图9.给出了环路的动态跟踪输出波形, 可以看出在大约6秒左右压控振荡器的输出信号完全跟踪上了输入频率阶跃信号。

四、结语

Vis Sim是一种功能强大的图形化建模和仿真软件, 本文在Vis Sim仿真平台上建立了二阶锁相环的仿真模型, 并对锁相环输入信号发生相位阶跃和频率阶跃两种情况下的锁相环跟踪性能进行了仿真, 给出了相位误差变化曲线和动态跟踪输出波形的仿真结果, 从而使学生更容易理解锁相环的动态跟踪性能, 有助于为今后工作中进行锁相环电路的设计与应用打下良好的基础。

摘要:锁相环的跟踪性能是“锁相技术”课程教学中的重点内容。本文首先对锁相环的跟踪性能进行理论分析, 然后基于VisSim仿真软件建立了二阶锁相环的仿真模型, 并对锁相环的跟踪性能进行了仿真。给出了锁相环的输入信号存在相位阶跃和频率阶跃两种情况下的相位误差变化曲线和动态跟踪输出波形。通过仿真, 学生更容易理解锁相环的动态跟踪性能, 有助于为今后工作中进行锁相环电路的设计与应用打下良好的基础。

关键词:锁相环路,跟踪性能,VisSim

参考文献

[1]Visual Solutions.Vis Sim/Motion User's Guide[M].Visual Solutions, Inc., 2001.

[2]沈艳霞, 纪志成, 姜建国.基于Vis Sim的无刷直流电机的仿真模型[J].哈尔滨:电机与控制学报, 2003, 7 (4) .

[3]纪志成, 程永奇, 沈艳霞.基于Vis Sim的永磁同步电机矢量控制系统建模与仿真[J].北京:系统仿真学报, 2005, 17 (7) .

[4]李红伟, 王洪诚, 赖欣.Vis Sim在“电力拖动自动控制系统”教学中的应用[J].南京:电气电子教学学报, 2008, 30 (2) .

[5]宋春宁, 黄清宝, 林小峰, 宋绍剑.Vis Sim软件在自动化专业实验教学中的应用[J].上海:实验室研究与探索, 2013, 32 (11) .

[6]吴定会, 江俊, 纪志成.基于V is Sim/M ATLAB电子线路的蒙特卡罗分析[J].北京:计算机仿真, 2005, 2 (8) .

性能跟踪 篇4

在检测过程中, 可以利用目标航迹的特征来提高系统的检测性能, 即所谓的检测前跟踪 ( TrackBefore Detect, TBD) 方法。常见的TBD方法包括Hough变换[1]、动态规划[2]及最大似然估计[3]等, 这些方法基于多帧数据沿目标的运动方向对信号进行积累, 所需的计算量较大, 且不能以迭代的方式进行处理, 很难处理复杂的目标运动模型。贝叶斯检测前跟踪算法直接对观测数据进行处理, 计算目标在各分辨单元存在的后验概率密度函数, 在这些后验概率密度函数的基础上, 对目标进行检测和跟踪, 能够以迭代的方式进行计算, 且能够处理任意的目标运动模型[4,5]。然而, 在雷达等系统的TBD应用中, 大多数文献考虑目标观测模型的方式同先检测后跟踪系统中目标的观测模型一样, 仅针对单个的分辨单元对目标的观测建立相应的概率模型[6,7], 而没有根据观测信号产生的机理建立目标的观测模型。文献[8]在雷达等系统的TBD应用中考虑了扫描波束对观测数据的影响, 即有限宽度的扫描波束能够在多个波束范围内产生目标回波, 接着应用Viterbi方法对目标进行检测。在实际的雷达等系统中, 观测数据同波束方向图及其扫描方式和匹配滤波器的时频域特性有关[9,10,11]。考虑匹配滤波器的时频域特性, 目标会在多个距离—多普勒单元产生回波, 其回波大小与信号带宽及匹配滤波器的特性有关。即一个点目标可能会分布在多个距离—多普勒分辨单元内, 在这些分辨单元内的回波也都是目标回波能量的一部分, 利用这些回波能量及对应分辨单元位置的关系可以提高系统的检测和跟踪性能, 也使得目标的观测模型与实际的观测数据更加吻合, 从而避免由于模型失配所带来的性能损失。

在贝叶斯检测前跟踪算法中, 考虑雷达等系统中匹配滤波器时频域特性对观测数据产生的影响, 并建立相应的模型, 以使目标的观测模型更符合实际观测数据, 避免由于模型失配所带来的性能损失;利用目标在多个距离—多普勒分辨单元扩散的能量及对应位置的相互关系能够提高系统的检测和跟踪性能。下面首先对贝叶斯检测前跟踪算法进行描述, 之后建立目标的状态转移方程及目标的观测模型, 其中对目标的观测模型进行详细叙述, 最后进行仿真验证。

1 贝叶斯检测前跟踪算法

利用贝叶斯理论对目标进行检测和跟踪, 其主要过程是基于观测到的每一帧数据、目标的运动模型、噪声和目标的统计特性计算每一分辨单元存在目标的后验概率密度函数, 在这些后验概率密度函数的基础上对目标检测和跟踪。贝叶斯检测前跟踪算法能够在帧数据间以概率的形式对信号进行积累, 从而可以对低信噪比的目标进行检测和跟踪[4]。

1. 1 系统模型

首先定义目标的状态矢量xk, 下标k表示采样时刻, 目标的状态转移方程可以表示为:

式中, fk - 1 ( ·) 表示相邻时刻目标状态转移的函数关系; vk表示k时刻目标动态模型的噪声, 用来衡量在两相邻时刻目标状态转移的不确定性。

在雷达等系统中, 目标回波大小是未知的, 在检测和跟踪过程中需要将目标回波的幅度Ik作为目标状态的一个分量。为了实现跟踪和检测过程的一体化处理, 需要在状态中引入一个分量Ek用来表示目标是否存在的情况 ( Ek= H1表示目标存在的情况; Ek= H0表示目标不存在的情况; H1表示目标存在的假设; H0表示目标不存在的假设) 。由此, 目标的状态矢量可以表示为xk= [mTk, Ik, Ek]T, 其中mk表示k时刻目标状态的运动分量 ( 在直角坐标系中, 当不考虑加速度时, mk=[xk, yk, zk, x·k, y·k, z·k]T, 其中mk中前3项表示目标在空间中的位置, 后3项表示目标对应的速度分量; 考虑加速度时, mk中还需加入对应的加速度分量) , 上标T表示向量或矩阵的转置。

在雷达等系统中, 针对贝叶斯检测前跟踪算法, 由于直接对原始观测数据进行处理, 处理的观测量为整个观测空域的一个多维观测数据矩阵, 下面对距离维和多普勒维进行考虑, 观测数据zk= { zrk, d} ( r, d分别为距离分辨单元和多普勒分辨单元的索引) 。由此, 对于某一分辨单元, 目标的观测模型为:

式中, wrk, d表示分辨单元的观测噪声; hk (·) 表示目标状态同观测值之间的关系。

1. 2 预测和滤波

为了以一种迭代的方式计算目标状态的后验概率密度函数, 可以分预测和滤波来进行。

预测是根据目标现在的状态, 以及目标状态的转移方程预测目标下一时刻的状态, 其计算过程为[4]:

目标状态的转移模型设定为一阶马尔可夫模型, 即目标在下一时刻的状态只与目标当前时刻的状态有关。设定系统噪声和观测噪声相互独立, 式 ( 3) 可以变为:

式 ( 3) 和式 ( 4) 中, p (xk- 1Zk- 1) 为上一时刻目标状态的后验概率密度函数; Zk - 1= ( zk - 1, …, z1) 表示直到k -1时刻所有的观测数据; p ( xk| xk - 1) 为目标状态转移概率密度函数, 根据式 ( 1) 进行求解。

滤波主要是根据系统当前时刻的观测值, 对预测值进行修正。其计算过程为[8]:

从式 ( 2) 可以看出, 目标当前时刻的观测只与目标当前时刻的状态有关。因此, 式 ( 5) 可以写为:

1. 3 检测和跟踪

在得到目标状态的后验概率密度函数之后, 就可以利用它来对目标进行检测和跟踪。在贝叶斯理论下, 检测不是必需的, 检测只是人为地设定阈值对目标是否存在进行判断。其过程可以描述为[5]:

在雷达等系统中, 检测常采用Neyman-Pearson准则, 即在系统满足一定虚警概率的情况下, 使得系统的检测概率最大。由此, 检测阈值γk要根据系统要求的虚警概率进行设定。

在检测到目标的情况下, 就需要对目标的状态进行估计, 在贝叶斯理论中, 常见的估计方法有2种: ①按照最大后验概率方法进行估计; ②按照贝叶斯最小均方误差方法进行估计。方法①对目标的状态进行估计, 即选择使得目标状态后验概率最大的目标状态作为估计值, 可以表示为:

按照方法②对目标状态进行估计, 即选择使得贝叶斯均方误差最小的目标状态作为目标状态的估计值, 可以表示为:

按照式 ( 9) 对目标状态进行估计需要进行积分或求和运算, 按照式 ( 8) 对目标状态进行估计则只需要确定目标状态后验概率密度函数最大值所对应的位置。

2 目标观测模型

从式 ( 4) 和式 ( 6) 中可以看出, 为了迭代计算目标状态的后验概率密度函数, 首先需要根据目标的动态方程对目标的状态进行预测, 接着需要根据目标的观测模型及实际观测值对预测进行修正。由此可见, 目标动态模型和观测模型直接影响着系统的性能。目标的动态方程常建立在直角坐标系下, 根据目标的机动能力按照匀速运动模型或匀加速运动模型建立动态方程[11,12]。为了使观测数据与目标的观测模型相吻合, 需要针对观测数据产生的机理建立目标的观测模型, 以避免由于目标观测模型失配所带来的损失。下面具体分析匹配滤波器的时频域特性对目标回波信号的影响。

在雷达等系统中, 为了充分利用时域信号的能量, 使输出某时刻的瞬时信噪比最大, 需要采用匹配滤波器[11]。信号通过匹配滤波器的输出不为冲激函数, 因此目标通过匹配滤波器的输出也会扩展到多个距离—多普勒单元, 利用目标在这些距离—多普勒单元上的观测, 以及它们位置的相关信息, 可以改善系统的检测和跟踪性能, 避免由于观测数据与观测模型不匹配所带到的性能损失。模糊函数表示匹配滤波器的输出, 对于带宽为5 MHz, 时宽为20μs的线性调频信号, 时延为0时的模糊函数如图1所示, 频延为0时的模糊函数如图2所示。

从图1和图2中可以看出, 目标经匹配滤波器后会分布在不同的距离—多普勒单元, 充分考虑它们之间的关系可以使系统的观测模型与实际观测数据更加吻合, 从而充分利用目标的散射能量, 提高系统的检测性能。

下面以目标在时域或距离维的扩展为例进行说明, 与目标在频域维的扩展情况类似。为了较充分利用目标在时域上分布的散射能量, 同时不显著增加系统的计算复杂度, 考虑到匹配滤波器的时域特性, 仅需考虑匹配滤波器输出主瓣的范围。考虑到信号的分辨能力, 在时域上常按照距离分辨力对匹配滤波后的信号进行采样。由此, 仅需考虑与目标位置最近的2个时域采样单元。在这2个时域采样单元上, 目标回波幅度受匹配滤波器的输出特性决定。设定匹配滤波器的时域输出归一化波形为so ( t) , 其对应的等效距离维输出波形为so ( R) , 目标位置为RT, 离目标位置最近的2个时域采样单元对应的距离分别为R1和R2, 有R1≤RT≤R2, 则目标在采样单元R1和R2对应的幅度调制因子分别为so ( RT- R1) 和so ( R2- RT) 。匹配滤波器输出为sinc函数时, 按照距离分辨力进行采样示意图如图3所示。

3 处理流程

匹配滤波器对波形相同而幅值不同的时延信号具有自适应性, 而对频移信号不具有自适应性[11]。结合匹配滤波器的上述性质及信号的模糊函数, 为了使得观测数据与目标的观测模型相吻合, 目标状态中的速度分量有2种处理方式。

第1种处理方式是直接结合匹配滤波器的时频域特性计算式 ( 6) 中的似然函数值p (zkx k) , 处理方式如图4所示。

图4中, 系统处理的对象为脉冲压缩后的信号, 针对匹配滤波器的时频域特性, 在不同的目标状态下计算观测似然函数。利用匹配滤波器的时频域特性和扫描方向图建立观测模型, 能够使观测数据与观测模型更吻合, 从而减小由于模型失配所带来的性能损失。

第2种处理方式利用目标状态中的速度分量调整匹配滤波器的冲激响应, 避免由于目标运动所带来的失配损失; 之后利用匹配滤波器的时域特性在不同的目标状态下计算似然函数, 如图5所示。

图5中, 系统处理的对象为脉冲压缩前的信号, 在不同的目标状态下, 利用目标状态的速度分量调制匹配滤波器的冲激响应, 使匹配滤波器与目标回波信号匹配, 从而避免由于匹配滤波器失配所带来的损失。脉冲压缩之后, 针对匹配滤波器的时域特性计算观测似然函数。

第1种处理方式直接处理脉冲压缩后的数据, 根据匹配滤波器的时频域特性建立目标的观测模型, 使观测数据能够与观测模型很好地吻合, 减小系统性能的损失。

第2种处理方式需要处理脉冲压缩前的数据, 根据目标的状态设置匹配滤波器的参数, 使匹配滤波器能够与回波信号匹配, 减小由于回波信号频移所带来的失配损失, 提高回波信号的信噪比; 另外, 对于时域频域耦合的信号 ( 如线性调频信号) , 能够在脉冲压缩阶段除去时域和频域之间的耦合性, 使距离测量更加准确。

两种处理方式都针对回波信号的模型建立目标的观测模型, 使观测数据能够与目标的观测模型较好地吻合, 减小由于模型失配所带来的损失。第2种处理方式相对于第1种处理方式, 能够减小由于回波信号频移所带来的匹配损失, 进一步提高脉冲压缩后的信噪比。另外, 第2种处理方式在脉压阶段也解决了回波信号时域和频域耦合的问题; 而对于第1种处理方式, 则需要在计算观测似然函数阶段考虑回波信号时域频域的耦合。然而, 第2种处理方式需要在目标所有的状态情况下对原始观测数据进行脉冲压缩处理, 计算量较大。

4 数值仿真及分析

下面对上述模型进行仿真分析, 以验证系统的跟踪性能。在贝叶斯检测前跟踪算法中, 从式 ( 2) 中可以看出, 观测与目标状态之间呈现高度非线性关系, 由此很难用一般的跟踪滤波方法进行处理。对于贝叶斯检测前跟踪算法, 为了求解式 ( 4) 和式 ( 6) , 通常有两种近似方法: 第1种方法是采用网格近似方法, 即将目标的状态离散化, 由此式 ( 4) 所示的积分运算就可以转变为求和运算; 第2种方法是采用粒子滤波方法, 用大量粒子的随机运动来近似目标状态的后验概率密度[4]。

下面采用粒子滤波的方法对目标状态的后验概率密度进行近似, 在SIR滤波器的基础上, 采用MCMC方法解决SIR粒子滤波器中粒子的多样性, 采用Auxiliary SIR滤波器的方法使得粒子更集中在目标可能出现的位置附近[4]。

考虑距离维和多普勒维, 目标在雷达的射线范围做直线运动, 速度分量受到一个随机扰动, 目标在连续时间状态下的状态方程可以表示为:

式中, 表示距离和多普勒;w ( t) 为零均值的高斯系统噪声。设定目标的初始状态为[100 km, 250 m/s]', w ( t) 的功率谱密度设为5。

发射带宽为5 MHz, 时宽为20μs的线性调频信号, 脉冲压缩前按照2倍信号带宽进行采样, 脉冲压缩后按照1倍带宽进行重采样, 由此可知, 距离分辨率为30 m。

脉冲压缩后的信噪比设定为SNR =9 dB, 考虑匹配滤波器时频域特性前后, 贝叶斯检测前跟踪算法目标位置的均方根误差如图6所示, 其中实线表示考虑匹配滤波器时频域特性时目标位置的均方根误差, 虚线表示不考虑匹配滤波器时频域特性时目标位置的均方根误差。

从图6中可以看出, 考虑匹配滤波器时频域特性时目标位置的均方根误差要小于不考虑匹配滤波器时频域特性时目标位置的均方根误差, 这主要是因为考虑匹配滤波器时频域特性时, 目标的观测模型与处理的数据更加吻合, 减小了由于目标观测模型失配引起的性能损失, 改善了贝叶斯检测前跟踪算法的性能。

5 结束语

目标通过匹配滤波器的输出会扩展到多个距离—多普勒单元, 利用目标在这些距离—多普勒单元上的观测以及它们位置的相关信息, 可以改善贝叶斯检测前跟踪算法的性能。本文详细分析了观测信号的产生机理, 根据匹配滤波器时频域特性建立合适的观测模型, 给出了利用匹配滤波器时频域特性的贝叶斯检测前跟踪算法的处理流程, 从而避免由于观测数据与观测模型不匹配所带来的性能损失, 改善了贝叶斯检测前跟踪算法的性能。本文的结论对贝叶斯检测前跟踪算法在实际工程中的应用有一定的指导意义。

参考文献

[1]CARLSONB D, WILSON S L.Search Radar Detection and Track with the Hough Transform Part III:Detection Performance with Binary Integration[J].IEEE Trans on AES, 1994, 30 (1) :116-125.

[2]李涛, 吴嗣亮, 曾海彬, 等.基于动态规划的雷达检测前跟踪新算法[J].电子学报, 2008, 36 (9) :1 824-1 828.

[3]TONISSEN S, SHALOM Y B.Maximum Likelihood TrackBefore-Detect with Fluctuating Target Amplitude[J].IEEE Trans on AES, 1998, 34 (3) :796-809.

[4]RISTIC B, GORDON N.Beyond the Kalman Filter:Particle Filters for Tracking Applications[M].London:Artech House, 2004.

[5]吴孙勇, 廖桂生, 杨志伟.改进粒子滤波的弱目标跟踪与检测[J].宇航学报, 2010, 31 (10) :2 395-2 401.

[6]MORELANDE M R, KASTELLA K.A Bayesian Approach to Multiple Target Detection and Tracking[J].IEEE Trans on SP, 2007, 55 (5) :1 589-1 604.

[7]ORLANDO D, LOPS M, RICCI G.Track-Before-Detect Strategies for STAP Radars[J].IEEE Trans on SP, 2010, 58 (2) :933-938.

[8]BUZZIS, VENTURINO L.Track-Before-Detect Procedures for Early Detection of Moving Target from Airborne Radars[J].IEEE Trans on AES, 2005, 41 (3) :937-954.

[9]焦子朋, 耿哲, 周思玥.MTI在连续波雷达中的应用研究[J].无线电工程, 2012, 42 (11) :62-64.

[10]丁静.稳健数字波束形成算法研究[J].无线电通信技术, 2012, 38 (6) :30-32.

[11]吴顺君, 梅晓春.雷达信号处理与数据处理技术[M].北京:电子工业出版社, 2008.

性能跟踪 篇5

随着石化资源的紧缺日益加剧, 太阳能等新能源的发电技术开始崛起, 但其具有波动性, 间歇性且运行时需要具备一定的电能存储系统。为了保证储能设备的寿命和并网的稳定性, 必须采取合理的控制策略和实施方案。滞环电流控制作为一种优良的跟踪控制方法, 被广泛的应用于逆变技术之中。但是当直流侧存在谐波时, 滞环电流跟踪控制性能会因此而下降, 甚至会跟踪失败, 跟踪波形严重畸变。本文就直流电源中含有的谐波对滞环电流控制性能的影响进行分析研究。

1 滞环电流控制的基本原理及工作过程

滞环电流控制电路工作原理[1,2]:电流参考方向如图1所示, 当指令电流Iref处于正半周期时, 且当I0—Iref>△I时, 滞环电流控制器给VT1开关管施加门极关断信号, 给VT2开关管延时施加正向门极触发信号;此时, 由于负载是阻感负载, 先通过VD2续流二极管向电源侧馈能, VT2开关管由于承受反压不能导通;负载电流逐渐减小, 当I0—Iref=0时, 馈能过程结束后, VT2导通, 负载电流继续减小;当I0—Iref<—△I, 滞环电流控制器输出给VT2施加门极关断信号, 给VT1开关管延时施加正向门极触发信号;同理, 此时由VD1向直流电源侧馈能, 当I0—Iref=0, 馈能过程结束后, VT1导通, 负载电流继续增大;当I0—Iref>△I时, 滞环电流控制器给VT1开关管施加门极关断信号, 给VT2开关管延时施加正向门极触发信号, 如此循环下去。当指令电流在负半周期时, 同理分析。工作过程及触发脉冲形成原理如图2所示。

2 整流输出波形纹波分析

在整流电路中, 为了使输出波形为一基本恒定的直流电压, 在整流电路输出端并联大电容。其工作过程:当电容电压低于整流后的直流脉动电压, 电源向电容充电, 同时向负载供能, 电容存储电能;当整流后的脉动直流电压低于电容电压时, 电容器放电, 电容器将电能传送给负载。在放电过程中, 电容电压随RC时间常数按指数形式下降, 直到电容再次充电, 输出电压也因此呈现出周期性纹波[1,3]。

当整流电路工作在稳定状态, 经过三相不可控整流器后, 得到波形如图3所示, 可以确定整流后电压波形函数为:

其中:U为三相电源相电压幅值最大值。当电路工作在稳定状态时, 且由于电容充电时间极短, 可以认为电容的电压与所并联的电源电压是相同的。因此充电时, 电压变化率为:

放电时, 电容电压随RC时间常数按指数形式变化, 则电容电压可表示为:

放电时的电压变化率为:

当工作在稳定状态时, 认为充放电一周期内电容电量是不变的。且当整流输出电路并联电容容值较大, 电路输出纹波较小时, 可以认为, 图3中t1<t2≈T, 则进一步可以认为充电纹波主要由时间常数RC决定, 而电路中负载是恒定的, 则纹波的大小主要取决于电容容值大小[1,3]。根据式 (3) 、式 (4) 可知, 针对于同一整流电路时, 当输出端并联电容越大时, 电压变化率绝对值越小, 即输出波形的纹波越小。

3 主电路图

基于滞环电流控制电路之上, 建立主电路拓扑结构, 如图4所示。主电路由整流电路与滞环电流跟踪控制电路组成。整流电路为滞环电流跟踪控制电路的直流电源部分。整流滤波电路通过改变并联电容容值来实现直流电源波动性模拟, 由上述分析可知, 并联电容器的容值大小。直接影响到直流电源纹波大小电容器容值越大, 直流电源输出纹波越小, 反之亦然。

4 实验仿真及波形分析

本文就滞环环宽为±0.5 A, 交流电线电压为380 V, 对直流侧并联单电容容值分别为100μF, 1 000μF的系统进行了仿真实验。其中指令信号为幅值10 A频率50 Hz的正弦电流波。直流电压输出电压波形如图5、图6所示。从图中可以看出, 并联电容容值越大, 直流侧纹波波动范围越小, 即含有谐波量越少, 同时从图7、图8可以看出, 并联电容值越大, 滞环电流跟踪控制输出电流波形跟踪程度越好。此外从图5、图7中能够发现在并联电容值较小时, 直流输出电压波形波动范围很大, 且跟踪电流输出波形出现跟踪失败的结果, 使得输出波形品质严重畸变, 在实践中一定要避免此现象的发生。图9、图10分别输出电流的FFT结果, 从图中可以看出, 增大直流侧并联电容器容值, 可以增大基波含有量, 减小电流谐波总畸变率 (THD) 。但是在并联电容器容值增大到一定情况下, 通过增大并联电容容值来改善波形质量效果不大。因此在实际应用时, 需要综合考虑进行折中选择, 才能使其达到最优化。

5 结论

通过仿真实验验证了直流电源中谐波对滞环控制电流跟踪控制技术的性能影响, 实验表明谐波使得滞环电流跟踪控制技术性能下降, 严重时会造成跟踪失败, 输出波形畸变严重, 可能会对其他系统造成干扰甚至破坏。

参考文献

[1]王兆安, 黄俊.电力电子技术[M].北京:机械工业出版社, 2000.

[2]李宋, 叶满园.随机带宽滞环电流控制技术[J].电力电子技术, 2010, 44 (9) :72-73.

性能跟踪 篇6

多目标性能评价指标在跟踪系统设计与评价方面具有非常重要的意义,同时,多目标跟踪性能评价也是一个非常困难的问题。多目标跟踪性能指标作为评价多目标跟踪算法性能好坏的一个量值,对于算法选择、分析和评估起着非常重要的作用。一般来说,算法的性能指标主要包括:精度、复杂度、运行时间、收敛性、鲁棒性、实时性、一致性等等。在本文中,我们重点考虑是集值估计算法精度指标问题。

对于多目标跟踪性能的评价指标,最为常见的就是均方误差(MSE)。MSE指的是真值和估计值之间的期望差值。实际上,由于期望通常很难获得。因此,直接计算MSE指标就非常困难。因此,经常使用的一个指标是均方根误差(RMSE),它利用Monte Carlo仿真的采样值来统计逼近该期望值。RMSE在多目标跟踪领域是一个最为常用的指标,但是,RMSE指标有几个不足:首先,它不是欧氏空间上的距离概念;其次,当目标个数很大的情况下,例如上百个批次,用RMSE作为多目标跟踪评价指标就显得过于冗余。实际上在大批次目标情况下,单个目标的跟踪性能指标越来越被弱化。换句话说,在这种情况下,人们更多地关注对整体目标群的跟踪性能的评价,而不再关注单个目标的跟踪性能。然而,RMSE的定义是建立在各个目标真值和其估计值之间存在明确对应关系的基础之上的。或者说,需要首先考虑关联的问题,否则,RMSE是没法直接使用的。因此,RMSE在大批次目标情况下应用是很繁琐的,也是不现实的。在这种情况下,自然会考虑目标集的跟踪评价指标,这种目标集的评价指标实际上可以抽象为集合之间的距离。Wasserstein距离就是建立在评价集合间差异的一种度量指标[1,2],并被进一步引入到多目标跟踪领域[3]。然而,Wasserstein距离对于集合元素个数的差别惩罚过重,因此,一致性比较差。为了克服这个问题,Schuhmacher等引入Optimal Subpattern Assignment(OSPA)距离[4],它是建立在Wasserstein距离基础之上,并且修正了Wasserstein距离中的不足。Circular position error probability(CPEP)把目标跟踪位置正则化到某个阈值半径的圆上[5],判断目标是否丢失,统计出目标的跟踪丢失率。本文将对这些指标进行比较分析,同时给出算例进行分析说明,指出各个指标的特点、算法实现和应用方法等。

1 随机集多目标跟踪性能指标

1.1 均方误差(MSE)和均方根误差(RMSE)

均方误差的定义如下:

其中:xk是k时刻目标真实状态值,是目标状态估计值,如前所述,上式中期望值计算比较困难。因此,通常利用RMSE来代替:

其中:M是总的Monte Carlo仿真次数,xk,i是第i次仿真数据,是相应的状态估计值,它利用样本值统计值代替真实的期望值。RMSE误差不是欧式空间上的距离,因此,其度量指标和常规距离概念有所不同。此外,在多目标情况下,RMSE需要考虑目标真实状态值和估计值之间的对应关系,也就是说首先需要先解决关联问题。否则,两个不同目标状态之间相减没有任何意义,在这种情况下计算RMSE误差就失去了参考意义,这一点也是RMSE不能用于集值估计算法的主要障碍。

1.2 圆丢失概率(CPEP)

该指标用于评价目标跟踪丢失率的情况,在最初的文献[5]中定义如下

这里是2范数,r表示圆阈值。这里“所有的”指的是所有的估计值,一般包括两类:第一类是指Monte Carlo仿真值;第二类是多个估计器的估计值。CPEP取值在[0,1]区间之间,值越大,表示跟踪丢失率越大。从式(3)可以看出,它同样需要考虑目标真实状态和估计状态之间的对应关系。文献[5]中通过Monte Carlo仿真来计算CPEP丢失率。Vo等在文献[6-7]中引入该指标,并给出了如下的公式:

其中:Hk=[I2,02],r是位置误差半径。不过,这个式子的表达容易给人造成误解:Xk是所有目标的估计状态集,并不是(3)中的所有某个目标估计值,二者具有不同含义。因此,本文建议该公式修改为

上式表示对于所有估计值并且是对应状态为xk的目标估计值。实际上,如果利用Mont Carlo仿真计算该丢失率,我们可以给出如下的计算式:

式中:M是Monte Carlo次数或者估计器个数,是k时刻所有Monte Carlo估计集值,即,表示没有丢失的目标标签,是集合中的元素个数。上式可以直接计算,不需要考虑估计和真实值之间的对应关系。

1.3 Wasserstein距离

Wasserstein距离是统计理论上的一个指标,用于度量两个密度函数之间的距离[8],p阶Wasserstein距离定义如下:

其中:µ,ν是边缘概率分布,其对应的随机变量分别是xµ,yν;G(x,y)是所有xµ,yν的联合概率分布;g是其中任意一个联合分布。Wasserstein开始主要应用在度量数字图像某些特征的相近程度,例如纹理和颜色的相近程度[9]。Oliver Drummond等把该概念用于多目标误差判断[1,2],Hoffman等给出了Lp意义上的Wasserstein距离[3],即:

其中:C={Ci,j}是一个n×m矩阵,其中的元素Ci,j和满足如下的条件

因此∑ni=1∑mj=1Ci,j=1,其中,Wasserstein距离用于评价两个集合之间的距离,两个集中任意一个为空集时,Wasserstein距离不存在。该距离不仅评价集合元素之间的差异,并且也评价集合间元素个数(集合势)的差异。

1.4 OSPA距离

Wasserstein距离对于集合之间势的差别惩罚过重,并且当集合元素和势之间同时出现误差的条件下。即使对于集合元素数值误差很小,但是由于集合势存在误差,使得评价数值出现很大的误差,这和实际的直观理解不一致。因此,Dominic Schuhmacher等提出了修正的OSPA距离[4],定义如下。

分别对应p阶和无穷大评价指标。其中的参数c是一个水平参数,其物理含义是目标状态估计误差阈值,用于调节集合势的估计误差比重。

2 误差解释及性能分析

我们主要从以下几个方面分析这几个指标数学和物理上的含义及各自的特点。

2.1 距离含义

MSE本身就是距离的概念,虽然RMSE本身和欧氏空间上的距离概念有所不同,也是向量空间中的一种范数概念。CPEP是一种概率测度上的度量指标,指的是目标在某个球面邻域内的丢失率。Wasserstein是一种集合之间距离的度量指标。它本质上可以解释为一个如下的优化问题:

即满足上述约束条件的集合X和X之间的最短距离。当两个集合势不同时,两个集合之间的Wasserstein距离会增加。这时候,由于包含集合势的误差,在这种条件下,比较Wasserstein距离是没有意义的。当两个集合势相同时,Wasserstein可以解释为两个集合之间的最小平均距离。

和Wasserstein距离有所不同,OSPA距离也可以解释成为如下的一个优化问题:

OSPA距离基本含义是单个目标的平均误差,也可以被解释为位置和集合势两部分距离:

OSPA有两个参数p和c,p是距离敏感性参数,对于任意的参数1≤p1≤p2≤∞,OSPA距离满足下面的关系:

c是一个水平调节数,用与调节集合势误差的影响。也就是说,如果我们认为距离误差比势误差更重要,那么水平数c可以选择小点。相反,c取大一些的值。对于参数1≤c1≤c2≤∞,OSPA距离满足如下的关系:

从上式(18),(19)可以看出,OSPA距离对于参数p,c是一致的。

2.2 计算实现

RMSE计算简单,这里我们重点考虑其他三个指标的计算问题。CPEP是概率测度的计算,分别根据目标的真实状态和估计状态之间的差值和阈值r之间的关系来计算,主要通过Monte Carlo仿真来实现。Wasserstein距离是一个线性优化问题,因此,我们可以通过优化程序处理包来实现。OSPA距离可以利用匈牙利算法来解决。

从上述分析也可以看出,对于基于随机集的误差评估,或者集值估计的误差评判,传统的RMSE,欧式距离,范数等等的概念很难应用。主要原因是传统的算法是一种点和点之间误差评判准则,因此,可以直接应用的范数概念来解释评价。而基于随机集的估计理论则需要对集合估计性能进行评判,它属于点集-点集之间的度量,评判起来更为复杂,点集-点集之间的评价指标至少应该满足如下的条件:

1)集合中元素的顺序不应该影响最终的评判结果,或者说,集合元素不变,顺序变化,那么评价指标结果应该一致,不发生变化。显然,传统的范数是不能直接应用的。这和范数的交换率类似,即对于任意的两个点x,y,范数d(x,y)=d(y,x)。而对于任意的两个集合X,Y,集值评价指标满足如下的两类交换性条件:

上式第一个条件对应集合元素的次序变化,其中,Li,Lj,Jm,Jn分别表示不同的排序;第二个条件对应两个评价集合位置交换,这个也是集值评价指标的基本要求。

2)从1)的要求也可以看出,集值估计的评价指标必须满足元素位置的不变性,也必须满足集合位置的不变性。这个问题似乎只能转化成为一个优化算法的最优解问题。这一点也可以从Wasserstein距离和OSPA距离定义看出来,这种最优解常常是一个最优分配问题,目前基于随机集的多目标跟踪性能评价指标都是基于这种思路的。

3)RMSE很难作为随机集多目标跟踪算法的评价指标,主要原因是RMSE要求确定目标估计状态和实际状态之间的对应关系。如前所说,在大批次目标情况下或者集值估计算法中无法直接使用。

3 算例

在这部分我们分别给出线性和非线性两个算例,来比较分析这些指标的评价效果。由于RMSE需要考虑真值和估计值之间的对应关系,我们重点分析集值估计算法的评价,因此,这里暂不考虑RMSE,只分析CPEP,Wasserstein距离和OSPA距离三个指标。

3.1 算例1:线性跟踪系统

考虑三个目标的运动,目标系统运动方程和量测方程如下

目标初始位置分别为x01,=(500,20,-500,10),x0,2=(500,25,500,-20),Qk=cov(wk,wk)=diag(25,25),Rk=cov(vk,vk)=diag(100,100)。我们利用GM-PHD滤波器跟踪目标[6]。假设采样时间为T=1 s,目标的出生强度为υγ(x)=.01N(x,x01,,P0)+.01N(x,x0,2,P0)。其中矩阵Fk-1,Gk-1定义如下:

图1是目标状态估计过程,图2分别是x,y方向目标状态的估计,图3是基于1 000次蒙特卡洛仿真(MC)的目标个数估计。可以看出,GM-PHD滤波器能很好地跟踪三个产生于不同时刻的目标,估计目标个数也能很好刻画了实际目标个数的变化过程。图4分别用三个不同指标对系统的跟踪过程进行评价,通过1 000MC仿真,可以看出,在目标个数变化的时刻,Wasserstein距离会出现很大的误差,这个误差大小不受控制。即如果目标位置都很接近,但是因为估计个数变化,会导致评价指标出现很大的误差,这个和人们直观上的感觉是不一致的。

另外一种情况是目标位置估计误差相差很大,而个数估计准确,这时候Wasserstein距离可能并不大,这个也和实际中的直觉不一致。而OSPA指标通过引入水平参数c来解决这个问题。可以看出,如果目标位置估计比较重要,而目标个数出现误差相对不太重要,那么取比较小的水平参数c,在图4中对应c取100对应的值。可以看出目标个数出现变化的地方波峰不明显,OSPA曲线整体比较平缓,主要反映的是跟踪位置误差的变化。如果目标个数估计误差比较重要,那么我们可以进一步增加c的取值,那么相应的OSPA距离也会增加。随着水平参数c值变大,评价指标也增加。在目标个数估计不正确的地方,OSPA距离会进一步增加,甚至出现一个波峰。并且c值越大,波峰越明显。因此,OSPA参数能更全面地描述集合误差的估计。这种基于集合的误差评判指标是随机集理论中必须要考虑的问题。

图4中,在第6∼9时刻之间,OSPA指标出现一个波峰,主要原因是由于目标漏检的存在,使得目标个数为零,这意味着出现空集,在这种情况下。按照OSPA定义,取最大的水平值,而这个水平值一般远大于正常的跟踪误差。这样使得第10时刻反而出现峰谷。目标出生和死亡时间如下表1所示。

图5给出的是目标丢失率曲线,可以看出目标丢失的地方都集中在目标个数发生变化的地方。分别对应目标出生,死亡的时刻。例如第10时刻目标2产生,第20个时刻目标3产生,40个时刻目标1死亡。

3.2 算例2:非线性跟踪系统

为了比较方便,假设目标的运动方程不变,量测方程为如下的角度、距离量测方程:

其中:量测协方差阵Rk=cov(vk,vk)=diag(σ2k,θ,σ2k,r),σk,θ=2π/180rad,σk,r=10005m,杂波个数还是40个,其它参数和上面的线性方程一致。

我们通过Particle-PHD滤波器获得PHD粒子分布,通过MCMC方法估计多目标状态[10]。比较线性的情况(虽然线性和非线性很难直接比较,但是从相同的运动方程,相同的杂波个数,相同的观测区域上来说,可以提供一个比较一致的参考),总体说来,非线性情况下跟踪性能有所降低。这可以从图6,图7中看出。目标个数估计也偏大,主要原因是非线性作用后,目标的状态分布变得复杂,在杂波作用下,使得虚警个数增加。同时,Wasserstein距离,OSPA距离相对比线性情况有所增加。在第10个时刻目标2产生,三个指标都出现波峰,主要原因是在非线性条件下,虽然从图8看,第10个时刻目标个数估计的平均值比较精确,但由于目标个数估计值的方差变大,使得三个指标都出现波峰。在其他目标个数变化的地方,OSPA波峰不明显,主要原因是虚警的增加,使得整个估计误差变大。在丢失率方面,在目标个数发生变化的地方,丢失率明显增加。比较图5和图10,可以看出非线性量测的丢失率要高于线性量测系统。

4 结论

本文着重分析了三种常用于随机集多目标算法性能评价指标:CPEP,Wasserstein距离和OSPA距离。可以看出CPEP主要用于判断目标丢失率,针对CPEP计算中的一些不足,本文进行了分析和修正;Wasserstein距离可以用于评价随机集估计性能,但是它在目标个数估计不正确的情况下往往会出现很大的误差,这一点和直观上的理解不一致。而OSPA距离弥补了Wasserstein距离在这方面的不足,通过一个水平参数来弥补这个不足,值越小,说明目标位置的估计误差越重要;相反,值越大,说明目标个数估计出现的误差越重要。

参考文献

[1]Drummond O E,Fridling B E.Ambiguities in evaluating performance of multiple target tracking algorithms[J].Proc.Signal Data Processing Small Targets(S0277-786X),1992,1698:326-337.

[2]Drummond O E.Performance evaluation of single target tracking in clutter[J].Proc.Signal Data Processing Small Targets(S0277-786X),1995,2468:92-104.

[3]Hoffman J,Mahler R.Multitarget miss distance via optimal assignment[J].IEEE Trans.Sys.,Man,and Cybernetics Part A(S1083-4427),2004,34(3):327-336.

[4]Schuhmacher Dominic,Vo Ba-Tuong,Vo Ba-Ngu.A Consistent Metric for Performance Evaluation of Multi-Object Filters[J].IEEE Transactions on Signal Processing(S1053-587X),2004,56(8):3447-3457.

[5]Ruan Y,Willett P.The turbo PMHT[J].IEEE Transactions on Aerospace and Electronic Systems(S0018-9251),2004,40(4):1388-1398.

[6]Vo Ba-Ngu,Ma Wing-Kin.The Gaussian Mixture Probability Hypothesis Density Filter[J].IEEE Transactions on Signal Processing(S1053-587X),2006,54(11):4091-4104.

[7]Ba-Tuong Vo,Ba-Ngu Vo,Antonio Cantoni.Analytic Implementations of the Cardinalized Probability Hypothesis Density Filter[J].IEEE Transactions on Signal Processing(S1053-587X),2007,55(7):3553-3567.

[8]Jordan Richard,Kinderlehrer David,Otto Felix.The variational formulation of the Fokker-Planck equation[J].SIAM J.Math.Anal(S0030-1410),1998,29(1):1-17.

[9]Bissacco A,Chiuso A,Soatto S.Classification and Recognition of Dynamical Models:The Role of Phase,Independent Components,Kernels and Optimal Transport[J].IEEE Transactions on Pattern Analysis and Machine Intelligence(S0162-8828),2007,29(11):1958-1972.

性能跟踪 篇7

关键词:交互式多模型,粒子滤波,声源跟踪

在机动目标跟踪领域,交互式多模型(interact-ing multiple model,IMM)[1,2]是在第一代多模型算法的基础上引入模型之间的交互而得出的。经典IMM算法采用卡尔曼作为滤波器,而卡尔曼滤波器只能处理线性系统、高斯噪声情况下的跟踪,这就导致IMM算法应用的局限性。因为粒子滤波算法 (particle filter,PF)[3]解决了非线性系统、非高斯噪声情况下的跟踪问题,所以该算法成为近年来IMM研究的热点之一。

粒子滤波是基于蒙特卡罗仿真的递推最优贝叶斯估计。其基本思想是:通过寻找一组在状态空间中传播的随机样本对概率密度函数进行近似,根据样本均值及其对应的权值计算状态变量的估计值[4,5]。

为了将IMM算法应用在非线性、非高斯的环境下,Boers和Driessen[6]将IMM与PF结合,构建了交互式多模型粒子滤波(interacting multiple model parti-cle filter,IMMPF)。IMMPF算法在模型的交互和融合方面与原有的IMM算法相同,改进的地方在于滤波器由原来的卡尔曼替换为粒子滤波。相比于IMM算法,IMMPF算法能够在非线性、非高斯的跟踪情况下得到状态输出的最优解。

1基本的IMMPF算法

系统的状态转移方程和观测方程可以表示为

式中,X(k) 表示k时刻模型mk的状态向量;F和G分别为状态转移矩阵和过程噪声输入矩阵;W表示过程噪声。对于不同的模型,状态转移矩阵F 、过程噪声输入矩阵G以及过程噪声W是不相同的。 Z(k) 表示相应的观测向量;H表示观测矩阵;V表示观测噪声。

假设系统中模型个数为M ,mk= 1,2,⋯M 。系统模型之间的转移概率由马尔科夫链表示,即

一般来说,在整个声源运动过程中pij是恒定不变的 。 若已知初 始状态X( )0 ,初始模型 概率以及各个时刻观测值Z(k) ,就可以估计出k时刻的状态估计X(k) 。

假设k - 1时刻各个 模型的模 型概率为第i个模型在k - 1时刻的状态估计和相应的协方差分别表示为Xi(k - 1) 和Pi(k - 1) 。交互式多模型粒子滤波算法主要分为以下四步。

(1)输入交互

k - 1时刻模型的交互概率为

式中,归一化因子为

交互后模型j在k - 1时刻的输入为

交互后模型j在k - 1时刻状态变量的协方差为

(2)模型匹配滤波

预测k时刻粒子状态可表示为

式中,Fj为模型j的状态转移矩阵;Gj和Wj分别为模型j的过程噪声输入矩阵及过程噪声。

预测观测值如下

Hj为模型j的观测矩阵。

粒子的残 差为,且

其中,R是观测噪声的协方差。

归一化后的权值为

k时刻模型j的状态估计为

k时刻模型j协方差估计为

(3)模型概率修正

预测观测值的均值:

残差协方差为

(4)交互输出

2改进的IMMPF算法

为了提高IMMPF算法的跟踪精度、降低算法的运算量,相关学者从不同的角度对IMMPF进行了改进。改进算法大致可以分为三类:

(1)基于马尔科夫转移概率的修正

经典的IMMPF或IMM算法一般假设马尔科夫转移概率为固定值且是一阶的。一阶的马尔科夫转移概率容易造成滤波的精度不高。为了提高跟踪的精度,JIAN LAN等[7]将二阶马尔科夫转移概率引入到IMMPF算法中,文献通过实验证实采用二阶马尔科夫转移概率的IMMPF算法与原有算法相比,跟踪精度更高。封普文等[8]为了打破转移概率为固定值的限制,利用后验信息对马尔科夫转移概率矩阵进行修正,提出一种马尔科夫转移概率矩阵在线更新算法。IMMPF算法的模型集是有限的,在跟踪强机动目标时容易出现发散的现象。文献[9]提出一种机动性检测的PTHMM算法。该算法将目标的机动性作为观测量,马尔科夫转移概率矩阵作为隐藏状态,建立隐马尔科夫模型,利用维特比算法计算出模型转移概率权值,进而动态修正转移概率矩阵。

马尔科夫转移概率矩阵是交互式多模型粒子滤波很重要的一个参数,其精确与否将直接决定交互后每个滤波器输入状态变量的精确度,进而影响整个算法的精确度。

(2)基于模型概率的修正

模型概率作为决定最后输出结果的一个参量, 其对最终的输出结果也起着至关重要的作用。模型概率类似于粒子滤波中权值,对并行运算的每个滤波器的输出结果加权融合得到最终的输出结果。对模型概率进行修正也能提高算法的跟踪精度。

在IMMPF算法中,模型概率的计算只是利用了新息和模型概率的预测值,没有利用当前时刻的状态协方差。文献[10]综合利用状态协方差的信息、 新息和模型概率的预测值等信息,提出基于模型概率修正的交互式多模型算法。朱军祥[11]基于模糊推理算法对模型概率进行了修正。修正后的算法将较小的模型概率设置成零,使与当前运动状态匹配程度更高的模型概率变大,进而降低模型之间的竞争, 提高跟踪的精度。

(3)滤波算法的改进

IMMPF算法在解决非线性、非高斯问题时,能够获得最优解。但当目标处于线性运动时,IMMPF算法的跟踪精度要低于IMM算法。文献[12]对滤波部分作了改进,其在滤波部分综合使用了卡尔曼滤波和粒子滤波。当状态方程是线性时滤波器匹配卡尔曼滤波器,当状态方程是非线性模型匹配粒子滤波。虽然粒子滤波在解决非线性、非高斯问题时具有无可比拟的优势。文献[13]为解决粒子滤波退化问题,提出一种改进的残差重抽样算法。算法不再单独求取每个粒子的复制次数,而是对粒子权重与总的粒子数的乘积累积求和后再取整,也就是求得累积粒子复制次数,最后输出粒子,保证重采样前后粒子数目不变。文献[14]通过改变目标状态方程的似然函数来调整粒子的权值,使得采样粒子更有效。文献[15]将无迹粒子滤波运用到IMM算法。无迹粒子滤波的重要性抽样函数考虑了当前时刻的量测信息,采样得到的粒子更接近真实后验概率密度函数,从而使滤波结果更加精确。

3IMMPF算法在声源跟踪的仿真结果与分析

声源跟踪实质上是一种非线性滤波,运动模型是影响跟踪效果很重要的一个因素。IMMPF的运动模型可以包含多种运动形式,因此可以跟踪随意运动的目标。声源跟踪作为目标跟踪的一种应用场景,将IMMPF算法应用在声源跟踪当中一方面丰富了声源跟踪的理论,另一方面也拓展了IMMPF算法的应用领域。下文的论述是对IMMPF算法在声源跟踪的应用进行了仿真实验。

3.1实验仿真环境

实验在一个5 m×4 m×3 m的房间内进行,房间的混响通过IMAGE模型仿真获得。实验中选取房间混响为300 ms,信噪比为30 d B的一段语音信号进行仿真分析。

实验采用匀速、左转弯和右转弯三种模型对声源的运动轨迹进行模拟仿真。实验中观测时间间隔T = 0.064 s,初始模型概率均为1 3 ,模型转移概率矩阵,粒子数N = 200 。匀速模型 、左转弯以 及右转弯 三个模型 对应的过 程噪声协 方差Q1= 0.01,Q2= 0.1,Q3= 0.1 ,观测模型 噪声协方 差R = 0.01 。 三种模型 初始状态 协方差分 别为 、P1(0)=diag(10- 6× [400,100,400,100])、P2(0)=diag(10-6×[100,100,100,100])、P3(0)=diag(10- 6× [100,100,100,100])。 初始状态 设定为[0.8; 0.4; 0.2; 0.3] ,转弯速率为1.13°/s。

运动轨迹:

整个声源运动时间持续100 s,主要经历五个阶段

(1)0~20 s匀速直线运动;

(2)21~45 s声源以1.13°/s的速率作 左转弯运动;

(3)46~60 s目标继续作匀速运动;

(4)61~85 s声源以1.13°/s的速率作右转弯运动;

()匀速运动。

3.2实验仿真结果分析

实验仿真结果如图1所示。由图1可以看出, IMMPF算法在匀速运动阶段能够得到较好的跟踪效果。当声源处于转弯运动时,跟踪结果与真实轨迹稍有偏差。转弯模型是影响跟踪精度的一个很重要的参量,对转弯模型的优化有助于提高跟踪的精度。

4结论

IMMPF算法融合了IMM和PF各自的优点,在解决非线性、非高斯情况下的状态估计具有明显的优势。与此同时也要看到,IMMPF算法作为最近几年刚被提出的算法,其算法本身还不够成熟,在声源跟踪的应用也只是初步的尝试[16]。如要完善IMMPF算法在声源跟踪的应用,仍有许多问题亟待解决。

【性能跟踪】推荐阅读:

数据跟踪07-15

政策跟踪05-12

实时跟踪05-24

质量跟踪06-05

快速跟踪06-08

信息跟踪06-17

光电跟踪06-22

产品跟踪07-29

人员跟踪07-30

跟踪观察08-01

上一篇:诊治误区下一篇:语文课堂教学机智