标题 | 基于无线传感器网络时钟同步的定位算法研究 |
范文 | 陈辉 熊辉 殷昌盛 魏浩 摘 要: 讨论了在无线传感器定位节点(文中称为锚节点)位置已知条件下,基于信号到达时间差(TDOA)的时间同步算法。根据所有传感器定位节点彼此之间周期性地广播信号,测量信号到达时间(TOA)来估计时间频率的偏移。当信源发送信号,由于传感器钟差造成的初始TDOA误差可以通过一系列补偿计算来减少误差。在一个加性高斯白噪声模型里,通过卡尔曼滤波提高钟差和频差的估计精度。在此基础上改善标签节点的定位精度。 关键词: 无线传感器网络; 卡尔曼滤波; 定位; 到达时间差; 到达时间; 钟差估计 中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2015)07?0023?05 0 引 言 随着无线电技术的发展,人们在利用信息上已经不再满足于相互之间的通信和联络,对目标进行有效定位和跟踪,获取有用信息加以利用,成为人们更进一步的技术追求和现实需要。伴随着物联网的发展,无线传感器网络逐渐成为其概念应用的重要技术支撑。传感器节点必须明确自身位置才能详细说明“在什么位置或区域发生了特定事件”,实现对外部目标的定位和追踪[1],从而为人们获知事态,做出相应决策提供依据。诸多新近的定位技术,较为准确的定位方法是基于传感器定位节点的测距方法。这些方法通常使用TOA、TOF或者TDOA进行定位。在基于TOA/TDOA的无线传感器网络定位中,都会根据各自系统需要获得相对准确的时间同步从而进行定位。 在诸多文献中无线传感器的时间同步方法有很多。其中引用较多的方法是参考广播同步算法(Reference Broadcast Synchronization)[2]、传感器时间同步协议(TPSN)[3]、泛洪时间同步协议(FTSP)[4]。另外,Noh等人提出基于双向消息交换数学评估时间同步方法的性能[5]。他们提到的方法被用来解决不同系统中存在的问题。但是,两个连续不断的TOA测量估计时间同步仍没有达到满意的效果。 本文使用一个补偿算法来补偿钟差以达到提高定位精度的目的。无线传感器网络中的锚节点彼此之间周期性地广播信号或者数据包。每个锚节点利用自身接收器的本地时钟将信号的TOA信息记录下来。骨干网络的服务器收集所有的时间戳来估计计算每对锚节点之间的频差。采用卡尔曼滤波进一步提高钟差和频差的精确性。 1 模型建立 TDOA定位技术是通过检测信号到达两个锚节点的时间差来确定标签节点(即需定位节点)的位置[6]。当标签节点向多个锚节点发送信号时,由于锚节点距离标签节点不一样,不同的锚节点接收信号有一个时间差。而信号波在同一个介质中的传输速率相同,因此可以计算出标签节点到达两个锚节点的距离差[7],由双曲线计算原理得出定位位置。 假设一个有[N]个锚节点的无线传感器网络,其锚节点位置为:[xi,]其中[i=1,2,…,N,]一个标签节点的位置设为[x0。][N]个锚节点的内部时钟的标称频率为[f0,]未知时钟偏移为[εi,]每个锚节点有一个未知的起始时间[Ωi。]同时将这种锚节点周期性的广播信号称为“眨眼”信号。 第[i]个锚节点的时钟实际频率可以表示为: [fi=f0(1+εi)] (1) 假设当前发送广播包为锚节点[p,]在锚节点[j]处测量的TOA时间可以表示为: [tj,p(k)=kTs+djp1+εj1+εp+Ωj+nj,p(k)] (2) 式中:[djp=xj-xpc]为两个锚节点之间的传播时延;[Ωj,j=1,2,…,N]为各个锚节点的起始时间;[Ts]为前后两个广播包发送的时间间隔;[nj,p(k)]为TOA的测量噪声,可以看作加性高斯白噪声(AWGN)。经过泰勒级数展开有: [1+εj1+εp≈1+εj-εp] (3) TOA可以近似表示为: [tj,p(k)=kTs+djp1+εj-εp+Ωj+nj,p(k)] (4) 令[ejp=εj-εp]为两个锚节点之间的频差,由于晶振制作工艺和水平等原因其数值通常介于点典型值[10-6]和[10-4]之间。对于无线传感器网络,锚节点之间的距离通常在300 m以内,[djpejp]则为一个远小于[10-10]的时间数值,对于定位结果的影响不大,这里可以略去。本地测量的TOA可以进一步简化为: [tj,p(k)≈kTs+kTsejp+djp+Ωj+nj,p(k)] (5) 则标签节点到锚节点[i]和锚节点[j]之间的TDOA为: [ti,p(k)-tj,p(k)=kTs+kTseip+dip+Ωi+ni,p(k)-kTs+kTsejp+djp+Ωj+nj,p(k)=kTseij+dip-djp+Ωi-Ωj+ni(k)-nj(k) ] (6) 2 估计频差和钟差 通过对连续两次锚节点广播获得的TOA进行分析计算,可获得锚节点钟差和频差的估计值。每个锚节点按照时间间隔[T]发送信号,其他锚节点根据他们各自的时钟接收信号并记录TOA时间。连续两次“眨眼”信号的TDOA测量过程如图1所示。 图1 连续两次“眨眼”测量的TOA信息 [ti,p(k+1)-tj,p(k+1)-(dip-djp)=ti,q(k)-tj,q(k)-(diq-djq)+T?eij(k)+ni(k)-nj(k)] (7) 令[xij(k)]为锚节点[q]发送信号测量的钟差: [xij(k)=ti,q(k)-tj,q(k)-diq-djq] (8) [xij(k+1)=xij(k)+T?eij(k)+ni(k)-nj(k)] (9) 式中:[eij(k)]为锚节点之间存在的频差;[ni(k)]为测量噪声,可以看作高斯白噪声。锚节点之间的钟差实际上是由频差随时间累积造成的,在实际系统中锚节点之间的频差可能会随着时间而发生偏移,因此本文采用卡尔曼滤波对钟差和频差进行滤波估计。 由于[eij(k)]是晶振的相对频率偏移,这里可以把随机频率偏移看成是一个方差为[σ2f]的加性高斯白噪声。 锚节点[i]和[j]之间的频偏可表示为: [eij(k+1)=eij(k)+nf,i(k)-nf,j(k)] (10) 式中:[nf,i(k)]为锚节点晶振的随机频率扰动,可以看作AWGN。让[?ij(k)]为锚节点[q]发送信号的本地真实钟差,真实钟差可表示为: [?ij(k+1)=?ij(k)+T?eij(k)] (11) 假设[sil(k)]为状态向量,状态转移矩阵可以用[Φ]来表示: [sil(k)=?il(k)eil(k),Φil=1T01,] [nil(k)=T?nf,i(k)-T?nf,l(k)nf,i(k)-nf,l(k)] 得到时钟偏移状态转移方程为: [si1(k+1)=Φi1si1(k)+ni1(k), i=2,3,…,N] (12) 将[N-1]个方程合并: [s(k+1)=Φs(k)+Γv(k)] (13) 其中: [s(k)=s21(k)s31(k)?sN1(k)2(N-1)×1] [Φ=Φ21Φ31?ΦN1] [Γ=-TT0…0-110…?-T0T…0-101…0?????-T00…T-100…12(N-1)×N] [v(k)=nf,1(k)nf,2(k)…nf,N(k)T] 其中[v(k)~Ν(0,Qv),][Qv]是频率波动向量的协方差矩阵,结合式(9)和式(11),钟差观测方程为: [xi1(k)=?i1(k)+ni(k)-n1(k),i=2,3,…,N] (14) 设: [H=1000010?????????10(N-1)×2(N-1)] [u(k)=n1(k)n2(k)…nN(k)T] [C=-110…0-101??????0-10…01(N-1)×N] 钟差观测方程可以转变为矩阵形式: [y(k)=Hs(k)+Cu(k)] (15) 其中[u(k)~Ν(0,Qu)。] 卡尔曼滤波过程如下: (1) 预测 [s(k+1|k)=Φs(k|k)] (16) (2) 预测误差方差阵 [Ps(k+1|k)=Φ?Ps(k|k)?ΦT+ΓQv(k)ΓT] (17) (3) 卡尔曼增益 [K(k+1)=Ps(k+1|k)HT[H?Ps(k+1|k)?HT+CQu(k+1)CT]-1] (18) (4) 滤波 [s(k+1|k+1)=s(k+1|k)+K(k+1)[y(k+1)-H?s(k+1|k)]] (19) (5) 滤波误差方差阵 [Ps(k+1|k+1)=[I-K(k+1)?H]?Ps(k+1|k)] (20) 3 标签定位 3.1 TDOA测量补偿 由于标签根据各自周期发射信号,一些类似于CSMA/CA这样的介质访问方法,可以用于避免锚节点“眨眼”和标签发送信号的冲突。他们发送信号的机制类似图2所示。 图2 标签和锚节点测量的TOA信息 标签节点到达两个锚节点的TDOA为: [ψij(kT+τ0)=ti,0(kT+τ0)-tj,0(kT+τ0)=?ij(kT+τ0)+τ0eij(k)+di,0-dj,0+ni,0(kT+τ0)-nj,0(kT+τ0)] (21) 其中[τ0]是最后锚节点“眨眼”的耗费时间。减去最初TDOA,则得到获得补偿的TDOA: [zij(kT+τ0)=ψij(kT+τ0)-?ij(k)-τ0eij(k)] (22) [zij(kT+τ0)=?ij(kT+τ0)-?ij(k)-τ0eij(k)+di,0-d1,0+ni,0(kT+τ0)-n1,0(kT+τ0)] (23) 对于所有[N]个锚节点,有[N-1]个独立的TDOA补偿变量[zi1(kT+τ0),i=2,3,…,N:] [zi1(kT+τ0)=1τ0??i1(k)-?i1(k)ei1(k)-ei1(k)+-τ0τ0?nf,1(kT+τ0)nf,i(kT+τ0)+di,0-d1,0+-11?n1,0(kT+τ0)ni,0(kT+τ0)] (24) 则标签节点的TDOA为: [z=f(x0)+w] (25) 其中: [z=z21(kT+τ0),…,zN1(kT+τ0)T] (26) [f(x0)=1cx0-x2-x0-x1??x0-xi-x0-x1?x0-xN-x0-x1] (27) [w=Dse(k)+Cτv0(kT+τ0)+Cu0(kT+τ0)] (28) [se(k)=s(k)-s(k)] (29) [D=1τ00……0001τ00…?……………?00…01τ0(N-1)×2(N-1)] (30) [Cτ=-τ0τ00…0-τ00τ0??????0-τ00…0τ0(N-1)×N] (31) 由于[se(k)]和[u0(kT+τ0)]是各自独立的,所以[w]的协方差矩阵为: [Qw=E(wwT)=CQuCT+CτQvCTτ+DM(kk)DT] (32) 3.2 最大似然估计 似然方程为: [p(z,x0)=1(2π)MN/2det(Qw)12?exp-12z-f(x0)TQ-1wz-f(x0)] (33) [x0]的最大似然估计为: [x0=argminz-f(x0)TQ-1wz-f(x0)] (34) 假定在高斯白噪声下,最大似然估计有一个最小二乘估算,但是因为函数的非线性,总体而言公式(34)闭合形式的解并不存在,因此需要数值极小化。在这里,使用一个连续的线性算法[8],概述如下: (1) 设[x0(m)]为估计量经过[m]次迭代的结果,并有[x0=x0(m)+Δ(m),]对[f(x0)]在[x0(m)]附近进行线性化,得到: [f(x0)≈f(x0(m))+G(x0(m))Δ(m)] (35) 其中[G(x0(m))]为Jacobian矩阵: [G(x0)=?f(x0)?x0] (36) 将式(35)代入式(34),可以解决最小线性化问题: [Δ(m)=GT(x0(m))Q-1wG(x0(m))-1?GT(x0(m))Q-1wz-f(x0(m))] (37) 其中: [G(x0)=1crT2(x0)-rT1(x0),…,rTN(x0)-rT1(x0)T] (38) [ri(x0)]定义了一个单位长度的矢量: [ri(x0)=x0-xix0-xi,i=1,2,…,N] (39) (2) [(m+1)]次迭代估计为: [x0(m+1)=x0(m)+Δ(m)] (40) 注意到当[GT(x0(m))Q-1wG(x0(m))-1]很大的时候,迭代的方法会停在某个局部最小值并且不会收敛。两步过程,即从一个粗栅格搜索并持续一个迭代的过程可以被用来寻找全局最小值。通过公式(40)不断进行迭代的过程,如果前后两次迭代的结果差距大于0.1 mm,则继续进行迭代过程,直到二者的差距小于0.1 mm时,迭代结束。当前所得到的[x0]即为标签定位的结果。 标签位置估计的CRLB是Fisher信息矩阵(FIM)的转置: [J(x0)=E??x0lnp(s;x0)??x0lnp(s;x0)T] (41) 因为高斯噪声,公式(41)变为: [J(x0)=?f(x0)?x0TQ-1w?f(x0)?x0=GT(x0)Q-1wG(x0)] (42) 假定[J-1(x0)]存在,[x0]任意元素的方差为[[J-1(x0)]nn,]标签位置估计的CRLB为: [σ2x,t=n=12[J-1(x0)]nn] (43) 4 仿真结果 在本节,通过仿真对时钟频率偏移的补偿算法进行测试。定义一个二维空间,四个锚节点的位置如图3所示。锚节点记下其他锚节点或者标签发送来的TOA数据包的时戳,并且将这些信息发送给定位服务器,由它进行时钟偏移估计计算。 图3 锚节点位置设置 4.1 时钟差异估计结果 通过蒙特卡洛仿真实现文中提及的频率偏移估计算法的评估,如图4所示。四个锚节点的频率各自显示出10,15,20,30的周期性正弦变化。[{σe(1,j),j=2,3,4}]是三个各自独立的[{e1j,j=2,3,4}]频率偏移平方根方差。均方根误差结果是平均超过10 000个独立噪声实现。 通过仿真,随着数据量的增加,随着之前数据的代入,误差估计效果将进一步提高。 4.2 标签定位结果 在图5中,随着不同的[T]周期均方根误差和CRLB显示了标签定位结果,首先能得出如果[T]值取得足够小,RMSE和CRLB就会减小,这是由于时钟漂移的变化远小于“眨眼”周期。虽然在“眨眼”周期[T]很小时,能得到更加精确的标签定位估计,但是由于随之而来的锚节点“眨眼”产生的大量的信息和数据,从考虑系统稳定角度需要限制定位标签的数量。所以一个适当的[T]值是必要的。另一方面,当TOA测量标准偏差在[σf]之下,RMSE会远大于CRLB。这是因为TOA测量标准差[σn]小于[σf]时,由于随机的时钟波动而引起的钟差占主导因素。 图4 对TOA测量时钟频率偏移RMSE估计, T=0.1,0.2,0.4,0.8 图5 在不同锚节点眨眼间隔下,标签位置估计 的CRLB与RMSE比较 5 结 语 本文提出了一个新的无线传感器TDOA时间同步补偿算法。所有传感器或者锚节点都装备有相同标称频率的石英时钟。实际上锚节点彼此异步工作,锚节点间的频率偏移通过锚节点“眨眼”估计。卡尔曼滤波被用来提高估计性能并减少计算量。这种方法简单并且极大方便异步锚节点的无线传感器网络。 参考文献 [1] VARESE C, RABAEY J M, BEUTEL J. Locationing in distri?buted ad?hoc wireless sensor network [C]// Proceedings of the 2001 IEEE International Conference on Acoustics, Speech, and Signal. Salt Lake: IEEE Signal Processing Society, 2001, 4: 2037?2040. [2] ELSON J, GIROD L, ESTRIN D. Fine?grained network time synchronization using reference broadcasts [C]// Proceedings of 5th Symposium on Operating System Design and Implementation, Boston, MA: [s.n.], 2002: 147?163. [3] GANERIWAL S, KUMAR R, SRIVASTAVA M B. Timing?syn protocol for sensor networks [C]// Proceedings of SenSys. Los Angeles, CA: [s.n.], 2003: 138?149. [4] MAROTI M, KUSY B, SIMON G, et al. The ?ooding time synchronization protocol [C]// Proceedings of SenSys. Baltimore, MD: [s.n.], 2004: 39?49. [5] NOH K, CHAUDHARI Q M, SERPEDIN E, et al. Novel clock phase offset and skew estimation using two?way timing message exchanges for wireless sensor networks [J]. IEEE Transactions on Communications, 2007, 55(4): 766?777. [6] 许秀兰.无线传感器网络距离无关定位算法研究[J].计算机与现代化,2009(10):6?9. [7] 张健,李鸥.改进的无线传感器网络TDOA定位算法[J].计算机工程与应用,2010,46(16):117?120. [8] KAY S M. Fundamentals of statistical signal processing, Volume I: estimation theory [M]. [S.l.]: Prentice Hall, 1993. 技术文 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。