本发明涉及通信技术领域,具体涉及一种无线传感器网络下基于fisher信息矩阵与sukf的目标跟踪方法。
背景技术:
无线传感器网络(wsn:wirelesssensornetwork)的发展特别得益于当今时代无线通信、低功耗嵌入式技术和片上系统等技术的发展。它以体积小、造价低、容易推广和健全的信息采集等优势被普遍的应用于反恐、战争、抗救、卫生、民生等领域,而目标跟踪更是一项重要的应用领域。无线传感器网络的拓扑结构对提高整个网络的mac协议和路由协议的效率有很大的影响,是网络中数据传递与处理的基础。
无线传感器网络节点的通信模块是整个网络能量消耗的主要部分,所以目前的拓扑控制主要针对两个方面进行研究:一是传输功率机制;二是分簇机制。传输功率机制通过调节节点的发射功率,在保证整个网络连通条件下,降低发射信息之间的干扰,从而改善网络的通信环境。分簇机制通过一种算法或者标准选择某些节点作为簇成员,并从簇成员中选择一个簇头用于数据融合与信息传递,减少参与跟踪节点的数目,避免过早的出现“空洞”期,从而延长网络寿命。静态的分簇需要对整个网络进行分簇,利用网络中的簇头构建与基站进行信息传输的骨架,这种方法不仅需要的参与节点众多,而且无法保证分簇的有效性。在此基础上,动态的分簇方法是在被跟踪目标附近建立跟踪簇,并且跟踪簇根据被跟踪目标进行更新。
技术实现要素:
本发明为解决现有无线网络节点的控制方式存在参与节点众多,采用静态簇节点选取,需要对整个网络进行分簇,存在有效性差等问题,提供一种基于fisher信息矩阵与sukf的目标跟踪算法。
基于fisher信息矩阵与sukf的目标跟踪方法,该方法由以下步骤实现:
步骤一、采用基于fisher信息矩阵方法建立动态跟踪簇;
步骤一一、节点初始化;
将无线传感器节点随机设置在监测区域后会向周围节点发布所述节点的自身信息,该节点接收周围节点的信息后进行存储筛选,并记录rl=2rc范围内的节点信息,rl为传感器节点存储周围节点坐标的选择半径,rc为传感器节点有效测量半径;
步骤一二、选取以预测位置为原点,有效测量半径rc范围内的节点作为候选簇集;即ri=rc,i为传感器节点数,ri为第i个传感器节点与预测坐标点的距离,1≤i≤m;前一簇集中节点经过滤波算法获得预测坐标点,以所述预测坐标点为中心,rc为半径内的所有传感器节点作为候选节点加入候选簇;即ri≤rc,记录候选簇集为s*(k),同时确定初始簇集s(k);
步骤一三、通过信息判据公式,选择候选簇集中的第一个节点作为簇头,选取簇头用于传输测量信息与节点自身信息;
步骤一四、候选簇集中簇成员选择;
采用贯序方式对簇成员进行选择,将选择的簇成员加入到初始簇集s(k)中,并从候选簇集s*(k)中剔除该节点,所述初始簇集s(k)节点测量到的数据传输到簇头节点,所述测量到的数据中包含自身节点的信息和测量目标的信息,由簇头节点处理数据进行滤波并获得下一时刻目标预测位置;
步骤一五、簇头切换;
对步骤一四所述的下一时刻目标预测位置跟踪,如果簇头节点ch(k)不在下一时刻簇集s(k+1)内,则返回执行步骤一三;反之,对簇头剩余节点能量进行判断,判断节点能量是否小于簇内节点能量的加权平均值,如果是,则簇头节点ch(k)不继续竞选,返回执行步骤一三;如果否,簇头节点ch(k)继续作为跟踪簇头,执行步骤一六;
步骤一六、簇成员的变更;
预测下一时刻簇集s(k+1),当初始簇集s(k)中的节点j不属于下一时刻簇集s(k+1)时,节点j发布退簇集信号后进入休眠状态;当节点j属于集合s(k+1),节点不退出跟踪簇;
步骤二、采用基于sukf的目标跟踪滤波算法,对步骤一建立的动态跟踪簇进行滤波与信息传递;
步骤二一、滤波过程初始化;
建立跟踪簇后,簇头唤醒簇内成员节点对目标进行跟踪检测,根据各节点观测值对目标进行预定位;获得目标状态向量与误差协方差的最优估计;
步骤二二、数据传递;
传感器节点间的数据传递按照步骤一四中节点的选择顺序进行,由节点i接收节点i-1传递的目标状态滤波值,
若节点i是跟踪簇集中的头结点,则该节点接收前一时刻簇集尾的目标状态滤波值,并利用目标状态滤波值计算出2n+1个sigma采样点与对应权值,并对其加权求和,获得目标状态量的一步预测;
当i不是跟踪簇集中的头节点时,节点i接收自身簇中节点i-1的滤波值,作为目标状态滤波值对当前跟踪节点的测量值进行滤波;
步骤二三、迭代更新;
对步骤二二获得的一步预测值进行ut变换,获得一组采样点集,将所述采样点集带入观测方程,获得观测量的一步预测值;
步骤二四、性能检测;
滤波迭代结束前对跟踪的统计特性进行检测,如满足统计特性要求或者当前节点为跟踪簇集中最后一个节点则停止迭代,获得滤波结果;将所述滤波结果通过多跳路由方式发送给终端。
本发明的有益效果:本发明所述的方法利用fisher信息矩阵计算目标选取的判断依据,优化分簇方法,达到降低整个能量有限网络的能耗,延长网络寿命的目的,并与相匹配的sukf算法相结合。
本发明所述的方法与集中式滤波算法相比,基于贯序ukf滤波的wsn目标跟踪算法具有如下的优点:
1)在无线传感器网络中,跟踪簇中范围内选择部分节点进行有限次滤波迭代,以满足对跟踪精度的要求,当达到性能要求时结束迭代,成员节点之间不在传递迭代数据,减少了不必要的能源开销。
2)避免了集中式滤波中所有观测数据于簇头中集中处理,降低发送数据与接收数据时能量损耗,减轻簇头的负担。滤波算法的任务同时由多个子节点分布执行,提高了算法工作效率。
3)在每一个跟踪簇内同时只有两个传感器节点之间进行含有各自信标数据之间的通信,这种方法避免了通信信号之间的冲突,降低了信号之间的干扰。
4)本发明方法把簇头的工作分配到各个成员节点,极大地减少了节点之间的数据传递,避免了数据碰撞与干扰,与集中式滤波算法进行仿真对比,最大程度上减少了网络能耗,提高了估计精度。
附图说明
图1为本发明所述的基于fisher信息矩阵与sukf的目标跟踪方法中sukf算法流程图;
图2为本发明所述的基于fisher信息矩阵与sukf的目标跟踪方法的流程图;
图3为本发明所述的基于fisher信息矩阵与sukf的目标跟踪方法中wsn中基于节点选择动态分簇图;
图4为本发明所述的基于fisher信息矩阵与sukf的目标跟踪方法目标运动轨迹图;
图5为三种滤波算法跟踪效果对比图;
图6为采用本发明所述的基于fisher信息矩阵与sukf的目标跟踪方法和两种现有方法进行300次仿真均方根误差结果图。
具体实施方式
具体实施方式一、结合图1和图2说明本实施方式,基于fisher信息矩阵与sukf的目标跟踪方法,该方法由以下步骤实现:
一、基于fisher信息矩阵的节点选取方法
本实施方式中采用的动态簇节点选取标准与目标的fisher信息矩阵有关。
在节点选取标准的公式(2)中,引用信息度量参数c'k,所述信息度量额头公式(1)表示为:c'k(s)=det(jb)
节点的选取标准的公式如下
其中的信息度量c'k可通过cramer-rao下界理论中目标位置的估计误差协方差矩阵r与fisher信息矩阵的关系,公式如下:
r>j-1(3)
其中,
上式表示从观测数据中获得的信息。这里
在高斯白噪声的环境中,无迹卡尔曼滤波状态
jb,k=jp,k+jd,k(6)
因此由无迹卡尔曼滤波得到目标坐标的估计
这样由fisher信息矩阵得到一个衡量此时精确度程度的量,定义为信息度量。则信息度量可以表示为:
所有的传感器统计特性相同,即方差相同。那么信息度量公式可表示为公式(1)的形式。
2.基于sukf的目标跟踪算法
在步骤1中基于fisher信息矩阵建立一个性能最优化的动态跟踪簇,用于对机动目标的跟踪。根据步骤1中建立的贯序选择型动态分簇,本实施方式使用贯序型无迹卡尔曼滤波算法在相对应的跟踪簇中进行滤波与信息传递,sukf的算法过程如流程图1所示。其具体实施过程如下:
步骤a、初始化
建立跟踪簇后,簇头唤醒簇内成员节点对目标进行跟踪检测,根据各节点观测值对目标进行预定位。设状态变量xk是n维向量,则目标给定的初始最优估计为
步骤b、数据传递
传感器节点间的数据传递按照步骤1中节点的选择顺序进行,由节点i接收节点i-1传递的目标状态估值。若节点i是跟踪簇中的头结点(i=1),则该节点接收来自前一时刻簇尾的目标状态滤波估值,并利用状态估值计算出2n+1个sigma采样点与对应权值,这里的n指的是状态的维数,并计算对他们的加权求均值,得到目标状态量的一步预测。当i不是跟踪簇中的头节点时,节点i接收自身簇中节点i-1的滤波值,利用状态估计结果对当前跟踪节点的测量值进行滤波。
步骤c、迭代更新
使用上一步骤获得的预测值和对应误差协方差矩阵计算观测量的滤波值。对一步预测值使用ut变换,产生一组采样点集,新的采样点带入观测方程得到观测量的一步预测值。
步骤d、性能检测
目标跟踪的滤波过程中对状态估计的误差协方差矩阵反映了滤波的统计特性,在两种情况下迭代滤波终止迭代。第一种,用行列式pi(k+1|k+1)的行列式可以作为检验跟踪效果的标准,设性能指标的阀值为ζ,判定结果分为两种在滤波迭代结束前跟踪的统计特性已经满足检验标准,即终止迭代;第二种,所有跟踪簇成员已经遍历一遍,即i为最后一个节点。这样得到的结果就是最后的滤波结果。
步骤e、终端传递:结束滤波节点i把跟踪信息通过多跳路由方式发送给终端。
具体实施方式二、结合图1至图6说明本实施方式,本实施方式为具体实施方式一所述的基于fisher信息矩阵与sukf的目标跟踪方法的实施例:本发明通过滤波过程中的预测协方差矩阵与测量协方差矩阵,计算探测节点与移动目标之间的fisher信息矩阵,得出衡量该时刻节点跟踪精确度的信息判据;信息判据与节点剩余能量相结合,从而作为新的分簇判据;无线传感器网络中的簇节点状态分为休眠、待机、跟踪。在该分簇方法下的簇中数据的传递与处理不需要簇头的集中式处理,提高了能量的利用率,延长了网络的生命周期。为了解决集中式滤波算法中存在着簇头的总通信量与计算负担过高问题,提出了一种与ukf-f节点选择动态分簇算法相适应的贯序ukf算法。该方法把簇头的工作分配到各个成员节点,极大地减少了节点之间的数据传递,避免了数据碰撞与干扰,与集中式滤波算法进行仿真对比,最大程度上减少了网络能耗,提高了估计精度。具体过程为:
一、基于fisher信息矩阵的无线传感器网络动态分簇,簇模型示意图如图3所示,其具体步骤如下:
步骤1、节点初始化,通过节点之间信息交换记录自身节点周围的信息;
首先节点随机的散布于监测区域后会向周围发布包含自身节点位置和剩余能量的信息。节点接收到来自周围节点的信息后进行存储的筛选,它们会记录rl=2rc(rl为传感器节点存储周围节点坐标的选择半径,rc为传感器的有效测量半径)范围内的节点信息。
步骤2、以预测位置探测半径范围内节点作为候选簇;
选择有效探测范围内的节点作为候选簇集,即ri=rc,i=1,2,...。根据性能要求与精度需求进行综合调整动态簇成员数量n。节点经过滤波算法得到预测坐标,以该坐标点为中心,rc为半径内的所有传感器节点作为候选节点加入候选簇集。即ri≤rc,(i=1,2,...),ri表示第i个传感器节点与目标预测位置的距离。记录候选簇集为s*(k),同时还确定一个初始簇集s(k)。
步骤3、通过信息判据公式得到最佳节点作为簇头;
更进一步的技术方案是,所述步骤3中选择簇头的判决模型为下式所示。
其中,
j为s*(k)中选出的使信息判决、节点能量和接收信号强度加权和最小的节点。ω1,ω2,ω3是相应权值并且满足ω1+ω2+ω3=1,e(j)是节点的剩余能量,ck为fisher信息判据表示测量信号的精确度,rssi(j)为节点j接收到来自目标的信号强度。a是一个参数代表节点j测量到来自单位距离的目标的无线信号强度,n和d0分别表示路径损耗参数与单位距离。为实现无线传感器网络中的目标跟踪,首先选取动态簇中的簇头用于传输测量信息与节点自身信息,其中包括节点自身位置,节点剩余能量。簇头的选取标准包含目标与测量节点之间信息判据、节点的接收信号强度。簇头竞选成功的节点广播竞选信息“1”,候选簇中剩余节点接收信号后不在参与簇首竞选,自身状态置“0”。
步骤4、预选簇中簇成员选择;
采用贯序式方法对簇成员进行选择,采用公式(2)进行节点的选出后加入到初始簇集s(k),并从候选簇集s*(k)中剔除该节点。初始簇集s(k)节点测量到的数据传输到簇头节点,数据中包含自身节点的信息、测量目标的信息,由簇头节点处理数据进行滤波并得到下一时刻目标预测位置。
步骤5、动态簇的簇头切换;
进行下一时刻(k+1时刻)目标预测位置跟踪时,如果簇头节点ch(k)仍在簇集内,即ch(k)∈s(k+1),需要对簇头剩余节点能量进行判断,如果节点能量低于加权值,如公式(12)所示,
则簇头ch(k)不在继续竞选,这里α是控制阀值系数,n表示候选簇集中节点数。反之,选簇头ch(k)不会发布退选信息。簇成员节点的选取仍旧依照信息度量判据的方式选取,每次测量的成员节点并不唯一。
当簇头ch(k)不属于出下一时刻簇集s(k+1)时,簇头节点ch(k)向网络发送退选信号,并且自身状态置“0”。这时重复步骤3中过程,簇头更新。
步骤6、簇成员的变更;
继续预测得到的下一时刻簇集s(k+1),当s(k)中的节点j不属于s(k+1)时,节点j发布退簇信号后进入休眠以节省能量;当节点j仍属于集合s(k+1),节点不会退出跟踪簇。
二、基于sukf的目标跟踪滤波算法
在得到步骤一建立的贯序选择动态簇中进行目标跟踪需要对数据进行滤波与传递,其具体实施步骤如下所示。
步骤a、初始化
滤波的初始对整个目标跟踪有重要的影响,在这里目标状态向量的最优估计与误差协方差的最优估计为
步骤b、数据传递
在ukf滤波中需要计算2n+1个sigma采样点与对应权值,这里的n指的是状态的维数,并计算对他们的加权求均值,得到系统状态量的一步预测。
利用k-1时刻状态估值进行ut变换得到sigma点:
对应的一步预测为:
通过加权求均值得到系统的一步预测量:
当i不是跟踪簇中的头节点时,节点i接收自身簇中节点i-1的滤波值,利用状态估计结果对当前跟踪节点的测量值进行滤波,接收信息表达式如下:
其中i表示跟踪簇中节点序号,h表示sigma采样点的序号,ω(h)表示对应采样点的权重值。
步骤c、迭代更新
节点对接收到的对一步预测值使用ut变换,产生一组采样点集,新的采样点带入观测方程得到观测量的一步预测值。
其中λ是一个调节参数。
对sigma粒子对应观测值加权求和获得观测量预测值,并计算预测值误差协方差矩阵:
计算ukf滤波器增益:
最后计算系统的状态更新和协方差更新:
步骤d、性能检测
目标跟踪的滤波过程中对状态估计的误差协方差矩阵反映了滤波的统计特性,其行列式pi(k+1|k+1)的行列式可以作为检验跟踪效果的标准,设性能指标的阀值为ζ,
判定结果分为两种在滤波迭代结束前跟踪的统计特性已经满足检验标准,即迭代误差协方差矩阵的迹小于阀值
同时算法停止迭代。如果不满足条件则进行数据传递,节点i用i表示的滤波结果(状态滤波向量,误差协方差等)传递给节点i+1,i(i+1):=i(i)。然后返回步骤c,节点i+1以i滤波结果为基础继续进行滤波。
步骤e、终端传递
结束滤波后节点i把跟踪信息通过多跳路由方式发送给终端。
本实施方式中,在matlab仿真平台下验证基于fisher信息矩阵与sukf的目标跟踪滤波算法(sukf-f)。
在一个900m×350m的监控区域内随机的部署1000个无线传感器节点,每个无线节点的最大观测距离r=80m,节点之间的最大通信距离为r=160m,如图4所示,图中“。”表示网络中节点的坐标位置。每个节点能够通过初始化进行自定位,即节点知道自身位置并与邻居节点之间通信传递信息。
(1)无线传感器节点规格统一,即节点测量噪声相同σ2=0.1,并且网络节点时间同步。
(2)采样间隔t=1s。目标以初速度(10.0,50.0),从初始位置(10,25)沿如图4所示路径出发,目标的初始状态向量x(0)=[10,25,10,50,2,-4]t。仿真中系统噪声w(k)服从高斯分布的白噪声具有协方差矩阵qk,测量噪声v(k)具有协方差矩阵rk的高斯白噪声,分别表示为:
节点选择方法分别为本实施方式中的基于fisher信息矩阵的节点选择动态成簇,基于最近邻的分簇方法(pnn)。对sukf-f、ekf-f、ukf-pnn三种算法在上述模拟环境中进行仿真,每个算法运用matlab仿真软件进行300次蒙特卡洛仿真实验,并且每次实验都使用上述目标轨迹和噪声统计特性。设ukf-f算法中用于组成跟踪簇的节点个数m=4。
如图5所示是三种不同算法仿真目标跟踪轨迹图。图中“—”表示的目标真实的运动轨迹;“-*-.”表示利用sukf-f算法得到的滤波后运动轨迹;“-·-”表示ekf-f算法滤波后的运动轨迹;“-×-”表示利用ukf-pnn算法滤波后得到的运动轨迹。图6为三种滤波方法的均方根误差结果对比图,从图中可以看出sukf比其他两种算法具有更低的滤波误差。