摘 要: 討論了在無(wú)線傳感器定位節(jié)點(diǎn)(文中稱為錨節(jié)點(diǎn))位置已知條件下,基于信號(hào)到達(dá)時(shí)間差(TDOA)的時(shí)間同步算法。根據(jù)所有傳感器定位節(jié)點(diǎn)彼此之間周期性地廣播信號(hào),測(cè)量信號(hào)到達(dá)時(shí)間(TOA)來(lái)估計(jì)時(shí)間頻率的偏移。當(dāng)信源發(fā)送信號(hào),由于傳感器鐘差造成的初始TDOA誤差可以通過(guò)一系列補(bǔ)償計(jì)算來(lái)減少誤差。在一個(gè)加性高斯白噪聲模型里,通過(guò)卡爾曼濾波提高鐘差和頻差的估計(jì)精度。在此基礎(chǔ)上改善標(biāo)簽節(jié)點(diǎn)的定位精度。
關(guān)鍵詞: 無(wú)線傳感器網(wǎng)絡(luò); 卡爾曼濾波; 定位; 到達(dá)時(shí)間差; 到達(dá)時(shí)間; 鐘差估計(jì)
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)07?0023?05
0 引 言
隨著無(wú)線電技術(shù)的發(fā)展,人們?cè)诶眯畔⑸弦呀?jīng)不再滿足于相互之間的通信和聯(lián)絡(luò),對(duì)目標(biāo)進(jìn)行有效定位和跟蹤,獲取有用信息加以利用,成為人們更進(jìn)一步的技術(shù)追求和現(xiàn)實(shí)需要。伴隨著物聯(lián)網(wǎng)的發(fā)展,無(wú)線傳感器網(wǎng)絡(luò)逐漸成為其概念應(yīng)用的重要技術(shù)支撐。傳感器節(jié)點(diǎn)必須明確自身位置才能詳細(xì)說(shuō)明“在什么位置或區(qū)域發(fā)生了特定事件”,實(shí)現(xiàn)對(duì)外部目標(biāo)的定位和追蹤[1],從而為人們獲知事態(tài),做出相應(yīng)決策提供依據(jù)。諸多新近的定位技術(shù),較為準(zhǔn)確的定位方法是基于傳感器定位節(jié)點(diǎn)的測(cè)距方法。這些方法通常使用TOA、TOF或者TDOA進(jìn)行定位。在基于TOA/TDOA的無(wú)線傳感器網(wǎng)絡(luò)定位中,都會(huì)根據(jù)各自系統(tǒng)需要獲得相對(duì)準(zhǔn)確的時(shí)間同步從而進(jìn)行定位。
在諸多文獻(xiàn)中無(wú)線傳感器的時(shí)間同步方法有很多。其中引用較多的方法是參考廣播同步算法(Reference Broadcast Synchronization)[2]、傳感器時(shí)間同步協(xié)議(TPSN)[3]、泛洪時(shí)間同步協(xié)議(FTSP)[4]。另外,Noh等人提出基于雙向消息交換數(shù)學(xué)評(píng)估時(shí)間同步方法的性能[5]。他們提到的方法被用來(lái)解決不同系統(tǒng)中存在的問(wèn)題。但是,兩個(gè)連續(xù)不斷的TOA測(cè)量估計(jì)時(shí)間同步仍沒(méi)有達(dá)到滿意的效果。
本文使用一個(gè)補(bǔ)償算法來(lái)補(bǔ)償鐘差以達(dá)到提高定位精度的目的。無(wú)線傳感器網(wǎng)絡(luò)中的錨節(jié)點(diǎn)彼此之間周期性地廣播信號(hào)或者數(shù)據(jù)包。每個(gè)錨節(jié)點(diǎn)利用自身接收器的本地時(shí)鐘將信號(hào)的TOA信息記錄下來(lái)。骨干網(wǎng)絡(luò)的服務(wù)器收集所有的時(shí)間戳來(lái)估計(jì)計(jì)算每對(duì)錨節(jié)點(diǎn)之間的頻差。采用卡爾曼濾波進(jìn)一步提高鐘差和頻差的精確性。
1 模型建立
TDOA定位技術(shù)是通過(guò)檢測(cè)信號(hào)到達(dá)兩個(gè)錨節(jié)點(diǎn)的時(shí)間差來(lái)確定標(biāo)簽節(jié)點(diǎn)(即需定位節(jié)點(diǎn))的位置[6]。當(dāng)標(biāo)簽節(jié)點(diǎn)向多個(gè)錨節(jié)點(diǎn)發(fā)送信號(hào)時(shí),由于錨節(jié)點(diǎn)距離標(biāo)簽節(jié)點(diǎn)不一樣,不同的錨節(jié)點(diǎn)接收信號(hào)有一個(gè)時(shí)間差。而信號(hào)波在同一個(gè)介質(zhì)中的傳輸速率相同,因此可以計(jì)算出標(biāo)簽節(jié)點(diǎn)到達(dá)兩個(gè)錨節(jié)點(diǎn)的距離差[7],由雙曲線計(jì)算原理得出定位位置。
假設(shè)一個(gè)有[N]個(gè)錨節(jié)點(diǎn)的無(wú)線傳感器網(wǎng)絡(luò),其錨節(jié)點(diǎn)位置為:[xi,]其中[i=1,2,…,N,]一個(gè)標(biāo)簽節(jié)點(diǎn)的位置設(shè)為[x0。][N]個(gè)錨節(jié)點(diǎn)的內(nèi)部時(shí)鐘的標(biāo)稱頻率為[f0,]未知時(shí)鐘偏移為[εi,]每個(gè)錨節(jié)點(diǎn)有一個(gè)未知的起始時(shí)間[Ωi。]同時(shí)將這種錨節(jié)點(diǎn)周期性的廣播信號(hào)稱為“眨眼”信號(hào)。
第[i]個(gè)錨節(jié)點(diǎn)的時(shí)鐘實(shí)際頻率可以表示為:
[fi=f0(1+εi)] (1)
假設(shè)當(dāng)前發(fā)送廣播包為錨節(jié)點(diǎn)[p,]在錨節(jié)點(diǎn)[j]處測(cè)量的TOA時(shí)間可以表示為:
[tj,p(k)=kTs+djp1+εj1+εp+Ωj+nj,p(k)] (2)
式中:[djp=xj-xpc]為兩個(gè)錨節(jié)點(diǎn)之間的傳播時(shí)延;[Ωj,j=1,2,…,N]為各個(gè)錨節(jié)點(diǎn)的起始時(shí)間;[Ts]為前后兩個(gè)廣播包發(fā)送的時(shí)間間隔;[nj,p(k)]為TOA的測(cè)量噪聲,可以看作加性高斯白噪聲(AWGN)。經(jīng)過(guò)泰勒級(jí)數(shù)展開有:
[1+εj1+εp≈1+εj-εp] (3)
TOA可以近似表示為:
[tj,p(k)=kTs+djp1+εj-εp+Ωj+nj,p(k)] (4)
令[ejp=εj-εp]為兩個(gè)錨節(jié)點(diǎn)之間的頻差,由于晶振制作工藝和水平等原因其數(shù)值通常介于點(diǎn)典型值[10-6]和[10-4]之間。對(duì)于無(wú)線傳感器網(wǎng)絡(luò),錨節(jié)點(diǎn)之間的距離通常在300 m以內(nèi),[djpejp]則為一個(gè)遠(yuǎn)小于[10-10]的時(shí)間數(shù)值,對(duì)于定位結(jié)果的影響不大,這里可以略去。本地測(cè)量的TOA可以進(jìn)一步簡(jiǎn)化為:
[tj,p(k)≈kTs+kTsejp+djp+Ωj+nj,p(k)] (5)
則標(biāo)簽節(jié)點(diǎn)到錨節(jié)點(diǎn)[i]和錨節(jié)點(diǎn)[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 估計(jì)頻差和鐘差
通過(guò)對(duì)連續(xù)兩次錨節(jié)點(diǎn)廣播獲得的TOA進(jìn)行分析計(jì)算,可獲得錨節(jié)點(diǎn)鐘差和頻差的估計(jì)值。每個(gè)錨節(jié)點(diǎn)按照時(shí)間間隔[T]發(fā)送信號(hào),其他錨節(jié)點(diǎn)根據(jù)他們各自的時(shí)鐘接收信號(hào)并記錄TOA時(shí)間。連續(xù)兩次“眨眼”信號(hào)的TDOA測(cè)量過(guò)程如圖1所示。
圖1 連續(xù)兩次“眨眼”測(cè)量的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)]為錨節(jié)點(diǎn)[q]發(fā)送信號(hào)測(cè)量的鐘差:
[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)]為錨節(jié)點(diǎn)之間存在的頻差;[ni(k)]為測(cè)量噪聲,可以看作高斯白噪聲。錨節(jié)點(diǎn)之間的鐘差實(shí)際上是由頻差隨時(shí)間累積造成的,在實(shí)際系統(tǒng)中錨節(jié)點(diǎn)之間的頻差可能會(huì)隨著時(shí)間而發(fā)生偏移,因此本文采用卡爾曼濾波對(duì)鐘差和頻差進(jìn)行濾波估計(jì)。
由于[eij(k)]是晶振的相對(duì)頻率偏移,這里可以把隨機(jī)頻率偏移看成是一個(gè)方差為[σ2f]的加性高斯白噪聲。
錨節(jié)點(diǎn)[i]和[j]之間的頻偏可表示為:
[eij(k+1)=eij(k)+nf,i(k)-nf,j(k)] (10)
式中:[nf,i(k)]為錨節(jié)點(diǎn)晶振的隨機(jī)頻率擾動(dòng),可以看作AWGN。讓[?ij(k)]為錨節(jié)點(diǎn)[q]發(fā)送信號(hào)的本地真實(shí)鐘差,真實(shí)鐘差可表示為:
[?ij(k+1)=?ij(k)+T?eij(k)] (11)
假設(shè)[sil(k)]為狀態(tài)向量,狀態(tài)轉(zhuǎn)移矩陣可以用[Φ]來(lái)表示:
[sil(k)=?il(k)eil(k),Φil=1T01,]
[nil(k)=T?nf,i(k)-T?nf,l(k)nf,i(k)-nf,l(k)]
得到時(shí)鐘偏移狀態(tài)轉(zhuǎn)移方程為:
[si1(k+1)=Φi1si1(k)+ni1(k), i=2,3,…,N] (12)
將[N-1]個(gè)方程合并:
[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]是頻率波動(dòng)向量的協(xié)方差矩陣,結(jié)合式(9)和式(11),鐘差觀測(cè)方程為:
[xi1(k)=?i1(k)+ni(k)-n1(k),i=2,3,…,N] (14)
設(shè):
[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]
鐘差觀測(cè)方程可以轉(zhuǎn)變?yōu)榫仃囆问剑?/p>
[y(k)=Hs(k)+Cu(k)] (15)
其中[u(k)~Ν(0,Qu)。]
卡爾曼濾波過(guò)程如下:
(1) 預(yù)測(cè)
[s(k+1|k)=Φs(k|k)] (16)
(2) 預(yù)測(cè)誤差方差陣
[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 標(biāo)簽定位
3.1 TDOA測(cè)量補(bǔ)償
由于標(biāo)簽根據(jù)各自周期發(fā)射信號(hào),一些類似于CSMA/CA這樣的介質(zhì)訪問(wèn)方法,可以用于避免錨節(jié)點(diǎn)“眨眼”和標(biāo)簽發(fā)送信號(hào)的沖突。他們發(fā)送信號(hào)的機(jī)制類似圖2所示。
圖2 標(biāo)簽和錨節(jié)點(diǎn)測(cè)量的TOA信息
標(biāo)簽節(jié)點(diǎn)到達(dá)兩個(gè)錨節(jié)點(diǎn)的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]是最后錨節(jié)點(diǎn)“眨眼”的耗費(fèi)時(shí)間。減去最初TDOA,則得到獲得補(bǔ)償?shù)腡DOA:
[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)
對(duì)于所有[N]個(gè)錨節(jié)點(diǎn),有[N-1]個(gè)獨(dú)立的TDOA補(bǔ)償變量[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)
則標(biāo)簽節(jié)點(diǎn)的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)]是各自獨(dú)立的,所以[w]的協(xié)方差矩陣為:
[Qw=E(wwT)=CQuCT+CτQvCTτ+DM(kk)DT] (32)
3.2 最大似然估計(jì)
似然方程為:
[p(z,x0)=1(2π)MN/2det(Qw)12?exp-12z-f(x0)TQ-1wz-f(x0)] (33)
[x0]的最大似然估計(jì)為:
[x0=argminz-f(x0)TQ-1wz-f(x0)] (34)
假定在高斯白噪聲下,最大似然估計(jì)有一個(gè)最小二乘估算,但是因?yàn)楹瘮?shù)的非線性,總體而言公式(34)閉合形式的解并不存在,因此需要數(shù)值極小化。在這里,使用一個(gè)連續(xù)的線性算法[8],概述如下:
(1) 設(shè)[x0(m)]為估計(jì)量經(jīng)過(guò)[m]次迭代的結(jié)果,并有[x0=x0(m)+Δ(m),]對(duì)[f(x0)]在[x0(m)]附近進(jìn)行線性化,得到:
[f(x0)≈f(x0(m))+G(x0(m))Δ(m)] (35)
其中[G(x0(m))]為Jacobian矩陣:
[G(x0)=?f(x0)?x0] (36)
將式(35)代入式(34),可以解決最小線性化問(wèn)題:
[Δ(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)]定義了一個(gè)單位長(zhǎng)度的矢量:
[ri(x0)=x0-xix0-xi,i=1,2,…,N] (39)
(2) [(m+1)]次迭代估計(jì)為:
[x0(m+1)=x0(m)+Δ(m)] (40)
注意到當(dāng)[GT(x0(m))Q-1wG(x0(m))-1]很大的時(shí)候,迭代的方法會(huì)停在某個(gè)局部最小值并且不會(huì)收斂。兩步過(guò)程,即從一個(gè)粗柵格搜索并持續(xù)一個(gè)迭代的過(guò)程可以被用來(lái)尋找全局最小值。通過(guò)公式(40)不斷進(jìn)行迭代的過(guò)程,如果前后兩次迭代的結(jié)果差距大于0.1 mm,則繼續(xù)進(jìn)行迭代過(guò)程,直到二者的差距小于0.1 mm時(shí),迭代結(jié)束。當(dāng)前所得到的[x0]即為標(biāo)簽定位的結(jié)果。
標(biāo)簽位置估計(jì)的CRLB是Fisher信息矩陣(FIM)的轉(zhuǎn)置:
[J(x0)=E??x0lnp(s;x0)??x0lnp(s;x0)T] (41)
因?yàn)楦咚乖肼?,公式?1)變?yōu)椋?/p>
[J(x0)=?f(x0)?x0TQ-1w?f(x0)?x0=GT(x0)Q-1wG(x0)] (42)
假定[J-1(x0)]存在,[x0]任意元素的方差為[[J-1(x0)]nn,]標(biāo)簽位置估計(jì)的CRLB為:
[σ2x,t=n=12[J-1(x0)]nn] (43)
4 仿真結(jié)果
在本節(jié),通過(guò)仿真對(duì)時(shí)鐘頻率偏移的補(bǔ)償算法進(jìn)行測(cè)試。定義一個(gè)二維空間,四個(gè)錨節(jié)點(diǎn)的位置如圖3所示。錨節(jié)點(diǎn)記下其他錨節(jié)點(diǎn)或者標(biāo)簽發(fā)送來(lái)的TOA數(shù)據(jù)包的時(shí)戳,并且將這些信息發(fā)送給定位服務(wù)器,由它進(jìn)行時(shí)鐘偏移估計(jì)計(jì)算。
圖3 錨節(jié)點(diǎn)位置設(shè)置
4.1 時(shí)鐘差異估計(jì)結(jié)果
通過(guò)蒙特卡洛仿真實(shí)現(xiàn)文中提及的頻率偏移估計(jì)算法的評(píng)估,如圖4所示。四個(gè)錨節(jié)點(diǎn)的頻率各自顯示出10,15,20,30的周期性正弦變化。[{σe(1,j),j=2,3,4}]是三個(gè)各自獨(dú)立的[{e1j,j=2,3,4}]頻率偏移平方根方差。均方根誤差結(jié)果是平均超過(guò)10 000個(gè)獨(dú)立噪聲實(shí)現(xiàn)。
通過(guò)仿真,隨著數(shù)據(jù)量的增加,隨著之前數(shù)據(jù)的代入,誤差估計(jì)效果將進(jìn)一步提高。
4.2 標(biāo)簽定位結(jié)果
在圖5中,隨著不同的[T]周期均方根誤差和CRLB顯示了標(biāo)簽定位結(jié)果,首先能得出如果[T]值取得足夠小,RMSE和CRLB就會(huì)減小,這是由于時(shí)鐘漂移的變化遠(yuǎn)小于“眨眼”周期。雖然在“眨眼”周期[T]很小時(shí),能得到更加精確的標(biāo)簽定位估計(jì),但是由于隨之而來(lái)的錨節(jié)點(diǎn)“眨眼”產(chǎn)生的大量的信息和數(shù)據(jù),從考慮系統(tǒng)穩(wěn)定角度需要限制定位標(biāo)簽的數(shù)量。所以一個(gè)適當(dāng)?shù)腫T]值是必要的。另一方面,當(dāng)TOA測(cè)量標(biāo)準(zhǔn)偏差在[σf]之下,RMSE會(huì)遠(yuǎn)大于CRLB。這是因?yàn)門OA測(cè)量標(biāo)準(zhǔn)差[σn]小于[σf]時(shí),由于隨機(jī)的時(shí)鐘波動(dòng)而引起的鐘差占主導(dǎo)因素。
圖4 對(duì)TOA測(cè)量時(shí)鐘頻率偏移RMSE估計(jì),
T=0.1,0.2,0.4,0.8
圖5 在不同錨節(jié)點(diǎn)眨眼間隔下,標(biāo)簽位置估計(jì)
的CRLB與RMSE比較
5 結(jié) 語(yǔ)
本文提出了一個(gè)新的無(wú)線傳感器TDOA時(shí)間同步補(bǔ)償算法。所有傳感器或者錨節(jié)點(diǎn)都裝備有相同標(biāo)稱頻率的石英時(shí)鐘。實(shí)際上錨節(jié)點(diǎn)彼此異步工作,錨節(jié)點(diǎn)間的頻率偏移通過(guò)錨節(jié)點(diǎn)“眨眼”估計(jì)??柭鼮V波被用來(lái)提高估計(jì)性能并減少計(jì)算量。這種方法簡(jiǎn)單并且極大方便異步錨節(jié)點(diǎn)的無(wú)線傳感器網(wǎng)絡(luò)。
參考文獻(xiàn)
[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] 許秀蘭.無(wú)線傳感器網(wǎng)絡(luò)距離無(wú)關(guān)定位算法研究[J].計(jì)算機(jī)與現(xiàn)代化,2009(10):6?9.
[7] 張健,李鷗.改進(jìn)的無(wú)線傳感器網(wǎng)絡(luò)TDOA定位算法[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(16):117?120.
[8] KAY S M. Fundamentals of statistical signal processing, Volume I: estimation theory [M]. [S.l.]: Prentice Hall, 1993.