陳琳琳,馮秀芳
(太原理工大學(xué) 軟件學(xué)院,山西 太原 030024)
軌跡追蹤在老年人健康護(hù)理、安全檢測以及智能家居方面發(fā)揮著重要作用,而現(xiàn)有的軌跡追蹤技術(shù)大部分依靠多個收發(fā)器采集數(shù)據(jù),如Widar[1]、DynamicMusic[2]等,不能更好服務(wù)于家庭、辦公室等單鏈路場景。對此mD-Track[3]和Widar2.0[4]提出基于單鏈路的被動軌跡追蹤,通過融合多維度信息和多參數(shù)聯(lián)合定位來進(jìn)行定位追蹤。這為基于單鏈路定位技術(shù)提供了理論支持。追蹤技術(shù)主要通過捕捉目標(biāo)反射信號來提取位置信息,但是相比較靜態(tài)反射信號而言,目標(biāo)反射信號較弱,這使得捕捉目標(biāo)信號較為困難。而現(xiàn)有的技術(shù)中都存在目標(biāo)參數(shù)提取工作量大和計算時間較長的問題。為解決現(xiàn)存在的問題,本文設(shè)計了JDP(聯(lián)合動態(tài)參數(shù))算法,該算法通過使用帶通濾波器調(diào)整信號頻率去除靜態(tài)信號,將得到的信號進(jìn)行分解得到所需要的參數(shù)信息,如果使用窮舉法來分解每一條路徑將會使計算復(fù)雜度增加,為此使用SAGE(空間交替廣義最大化)算法來對信號路徑迭代搜索,減少搜索空間將得到所需要的信號路徑。由于所得到的參數(shù)含有大量的無關(guān)參數(shù),所得的參數(shù)并不能直接用于定位追蹤,因此需要在眾多參數(shù)中選取可以用于定位的目標(biāo)參數(shù)。利用人體移動會使得信號產(chǎn)生多普勒頻移來強(qiáng)化動態(tài)參數(shù)特征,以此方便目標(biāo)參數(shù)的提取。
人體的運(yùn)動使得WiFi信號傳播路徑變化,CSI可以表示信號變化信息,通過CSI分析得到反射路徑參數(shù)信息,進(jìn)而通過參數(shù)信息進(jìn)行人體定位及軌跡追蹤。
CSI是描述物理層特性的信道響應(yīng)信息,使用正交頻分復(fù)用技術(shù)(orthogonal frequency division multiplexing,OFDM)可以得到WLAN網(wǎng)絡(luò)中的CSI,CSI靜態(tài)時相對很穩(wěn)定,動態(tài)時通過2.4 GHz無線網(wǎng)絡(luò)的30組子載波幅度和相位詳細(xì)的描述了物理層狀態(tài)信息,較為靈敏地反應(yīng)了室內(nèi)無線環(huán)境的變化情況,人體在室內(nèi)運(yùn)動時會影響到CSI的變化[9]。CSI是由信號傳輸?shù)亩鄰叫?yīng)產(chǎn)生,因此可以由時間t頻率f和接收器的天線s表示如式(1)所示
(1)
其中,L是多路徑的總數(shù),Pl是l條路徑的信號,τl為路徑的傳播因子,α為復(fù)衰減因子,N是捕捉的背景噪聲和高斯白噪聲。
由于人體的運(yùn)動會使得信號傳輸路徑發(fā)生變化,進(jìn)而引起WiFi信號的變化,使得信號內(nèi)的參數(shù)飛行時間(time of flight,TOF)、到達(dá)角(angle of arrive,AOA)和多普勒頻移(doppler frequency shift,DFS)發(fā)生變化,而CSI描述信號的變化信息,即信號的衰減、偏移以及相位的變化。通過CSI可以分析出信號的傳輸路徑,分析路徑的信息得到該路徑的參數(shù),參數(shù)代表意義如圖1所示。通過多維參數(shù)估計算法來進(jìn)行多個路徑的參數(shù)估計。通過提取的參數(shù)估計來進(jìn)行三角定位,得到定位目標(biāo)。
圖1 參數(shù)意義表示模型
在得到了定位所需的參數(shù)AOA、DFS以及TOF后,以及知道收發(fā)器所在的位置,可以定位到移動目標(biāo)所在的位置。通過TOF乘以光速即可知道信號從發(fā)射端經(jīng)過人體反射到接收端傳輸?shù)穆窂?,將接收器和發(fā)射器作為橢圓焦點(diǎn)即可求知人體所在的橢圓線。設(shè)人體所在的位置為l(x,y), 接收器的位置為lr(xr,yr), 發(fā)射器所在的位置為lt(xt,yt), 根據(jù)已知信息構(gòu)成方程組(2)
(2)
其中,φ為接收器天線陣列的取向角,可由接收器和發(fā)射器的位置計算得出,而Θ為參數(shù)提取出來的入射角AOA,其中d為信號由發(fā)射器出發(fā)經(jīng)過人體反射到達(dá)接收器的路徑,通過此路徑以收發(fā)器為焦點(diǎn),可定位人體位置所在的橢圓,由AOA即可進(jìn)一步定位人體具體所在位置,如果確定人體在鏈路具體一側(cè)即可得到唯一解,由式(2)可解的人體目標(biāo)位置。
為此本文是分析CSI數(shù)據(jù)得到動態(tài)人體反射路徑的參數(shù)。為滿足單鏈路場景的軌跡追蹤,數(shù)據(jù)為單條鏈路場景下的采集。
本文提出使用JDP算法,本算法主要是使用單條鏈路采集的CSI數(shù)據(jù),并對數(shù)據(jù)進(jìn)行降噪和濾波處理,通過使用極大似然多參數(shù)估計對處理后的CSI數(shù)據(jù)進(jìn)行分解,通過空間交替廣義期望最大化(space alternating generalized expectation maximization,SAGE)算法來減少空間搜索量,然后得到多維路徑多參數(shù),進(jìn)而使用得到多個可以對人體進(jìn)行三角定位。數(shù)據(jù)處理是通過共軛乘法來去除同位相位噪聲,使用帶通濾波器濾除靜態(tài)路徑信號減少參數(shù)的提取,提出聯(lián)合多普勒頻移來進(jìn)行有效參數(shù)的選擇,減少計算量的同時細(xì)化人體定位。最后把每個時間戳得到定位結(jié)果連接成人體運(yùn)動軌跡。
JDP主要研究的內(nèi)容是通過靜態(tài)信號濾除減少參數(shù)的提取,以及使用共軛乘法來消除隨機(jī)相位噪聲,在參數(shù)提取完成后根據(jù)人體移動產(chǎn)生的DFS來加強(qiáng)動態(tài)參數(shù)特征,簡化動態(tài)參數(shù)的選擇。為使得定位系統(tǒng)可以適用于單個鏈路的場景,首先在單個鏈路場景下對CSI數(shù)據(jù)采集,由于原始CSI數(shù)據(jù)包含大量的相位噪聲,為提高參數(shù)提取的準(zhǔn)確率需對數(shù)據(jù)進(jìn)行降噪處理,且在室內(nèi)復(fù)雜環(huán)境中,采集的數(shù)據(jù)中包含大量的由其它靜態(tài)物體反射的靜態(tài)信號,為減少無效參數(shù)提取,使用濾波器濾除靜態(tài)信號。進(jìn)而對多維路徑參數(shù)估計,從CSI數(shù)據(jù)中提取出經(jīng)過物體反射多條路徑的AOA、DFS和TOF多種參數(shù)。在得到的參數(shù)中包含了大量由其它靜態(tài)物體反射產(chǎn)生的無效參數(shù),而在定位中需要提取由人體反射路徑的參數(shù)才可進(jìn)行定位,由于人體的移動會使得信號傳播路徑產(chǎn)生DFS,因此本文重點(diǎn)為根據(jù)此特征來提取有效動態(tài)參數(shù)。具體設(shè)計流程如圖2所示。
圖2 定位設(shè)計流程
在人體移動時,信號傳播路徑發(fā)生變化,且信號傳播會受到硬件設(shè)備以及環(huán)境污染直接從原始CSI數(shù)據(jù)中提取參數(shù)是誤差較大,由于同一天線陣列具有相同的相位噪聲,且除人體反射信號外,還有環(huán)境影響的靜態(tài)路徑,在不去除靜態(tài)路徑的情況下,得到的無用參數(shù)較多不利于目標(biāo)參數(shù)的提取,因此本文根據(jù)噪聲的特點(diǎn)使用共軛乘法去噪,再根據(jù)動靜態(tài)信號之間的差異進(jìn)行動靜路徑分離來減少參數(shù)估計的數(shù)量。
2.2.1 數(shù)據(jù)降噪
因?yàn)楝F(xiàn)有WiFi硬件設(shè)備的影響,會對CSI測量時造成嚴(yán)重的載波頻率偏移和時間延遲導(dǎo)致嚴(yán)重的相位噪聲。但是由于其只會造成時間和頻率的延遲,使其在空間上不會發(fā)生變化。由于同一接收器上的同位天線有相同的信道相位噪聲,根據(jù)此特點(diǎn)可通過共軛乘法去除隨機(jī)噪聲,使所得到的CSI的共軛相乘版本不受到相位噪聲的污染,再進(jìn)行參數(shù)估計時可提高其準(zhǔn)確率。因此在得到CSI的測量值時使用共軛乘法來得到無偏移形式的數(shù)據(jù)。由接收器測量得到的CSI為H(m) 其中m表示為m=(i,j,k),i為數(shù)據(jù)包的數(shù)量,j為子載波的數(shù)量,k為接收器天線的數(shù)量,其共軛乘法為式(3)
C(m)=H(m)*H*(m0)
(3)
其中,m0=(i,j,k0)。 同一傳感器上不同的天線經(jīng)歷相同的信道噪聲,不同天線之間進(jìn)行共軛相乘去除噪聲。
2.2.2 動靜態(tài)路徑分離
當(dāng)信號從發(fā)射器經(jīng)過多條反射路徑到達(dá)接收器,信號傳播路徑如圖3所示,信號從發(fā)射器經(jīng)過人體和其它靜態(tài)物體反射到達(dá)接收器,接收器得到原始CSI數(shù)據(jù)中含有大量的噪聲和不感興趣的原始靜態(tài)信號(Ps),而感興趣的信號是由人體移動反射的動態(tài)信號(Pd)在通過使用共軛乘法去除噪聲后的CSI數(shù)據(jù)可用動態(tài)信號和靜態(tài)信號表示如式(4)所示
圖3 信號反射路徑
(4)
在式(4)中所需要的是第二項(xiàng)求和式,然而第二個求和式中第二項(xiàng)包含由共軛乘法計算得到的虛假信號,第一個式子為靜態(tài)信號且較強(qiáng),且不隨時間變化。
由于帶通濾波器可以允許特定的頻段波通過,同時屏蔽其它頻段的信號,因此更適合于求解式(4),得到需要的頻段信號。在去除信號頻率最高最低的部分,去除頻率較高的去除第一項(xiàng)和較弱的第三項(xiàng),使其通過的頻率為2 Hz~175 Hz,通過振幅和頻率調(diào)整,使得留下中間頻率可以得到Pl1(m)*Pl2(m0), 得到數(shù)據(jù)信號處理結(jié)果如圖4、圖5所示,在調(diào)整后的可在此基礎(chǔ)上進(jìn)行參數(shù)估計得到TOF和AOA等參數(shù)。
圖4 原始信號
圖5 處理后信號
本文通過提取的參數(shù)來進(jìn)行三角定位,即使經(jīng)過數(shù)據(jù)處理減少了大部分提取的參數(shù),參數(shù)中仍然包含大量的無效參數(shù),因此在本章節(jié)主要研究從提取的參數(shù)中選取有效動態(tài)參數(shù)來進(jìn)行定位。
2.3.1 參數(shù)提取
(5)
該算法不同于以上的兩種算法,可以更好估計同一信號的不同路徑的所有參數(shù),可以更好捕捉動態(tài)路徑。為得到極大似然估計的參數(shù)即Λmax=argmaxΛ(Θ,h), 由于其是非線性函數(shù),在求解時空間搜索復(fù)雜,因此使用廣義空間交替最大化(SAGE)算法,來減少搜索空間。該算法是期望最大化(EM)的拓展,每次迭代每條路徑的單一參數(shù),不會影響其它參數(shù)的子集,且一次優(yōu)化每條路徑的參數(shù)。對于l條路徑,通過分解CSI得到單一信號的第l條路徑參數(shù)
(6)
其中,Θ′是上一次迭代的參數(shù),βl是控制收斂速度的非負(fù)系數(shù)。參數(shù)估計算法步驟可如算法1所示。
算法1
輸入:h(m)
過程:
(1)Initialize Θ=0
(3)Forl=1 toLdo
(4)Expectation step 式(6)
(5)Maximization step 式(7)
(6)End for
(7)End while
Maximization Step依次可執(zhí)行為如式(7)所示
(7)
其中
(8)
從求解的αl可知,τl, Φl和fD為收斂函數(shù),可在每次迭代后計算。從算法1可知,將參數(shù)Θ初始化為0,進(jìn)行期望最大化迭代,通過設(shè)置一個閾值,當(dāng)兩次迭代結(jié)果小于設(shè)定的閾值時,結(jié)束迭代,若不小于設(shè)定的閾值則進(jìn)行期望最大化步驟,得到差值在預(yù)定義的閾值內(nèi),進(jìn)而參數(shù)估計得到所需要的參數(shù)。
2.3.2 動態(tài)參數(shù)選擇
在第2.2.2節(jié)數(shù)據(jù)處理已經(jīng)去除了一些靜態(tài)信號,但是由人體反射路徑信號較弱,在得到的多路徑參數(shù)中還包含大量的其它物體反射的靜態(tài)信號。靜態(tài)參數(shù)由靜態(tài)反射路徑產(chǎn)生,而靜態(tài)反射路徑不會產(chǎn)生多普勒頻移,由于由人體運(yùn)動會使信號產(chǎn)生多普勒頻移(DFS),基于AOA和DFS之間的關(guān)系來選擇由人體運(yùn)動反射路徑得到的TOF以及AOA,即提出動態(tài)參數(shù)聯(lián)合估計算法來對進(jìn)行動態(tài)參數(shù)估計。如式(5)可知,所有反射路徑可分解得到該路徑的參數(shù)。在得到所有路徑的參數(shù)時,根據(jù)動態(tài)路徑特征結(jié)合DFS進(jìn)行動態(tài)參數(shù)選擇。
動態(tài)參數(shù)選擇基本原理是分解一個時間戳內(nèi)每一條路徑得到每條路徑的參數(shù),從各路徑參數(shù)中選擇由于人體的移動產(chǎn)生的動態(tài)路徑參數(shù)。由于人體移動會產(chǎn)生DFS,而其它靜態(tài)反射路徑不會產(chǎn)生DFS。根據(jù)此特點(diǎn),可在產(chǎn)生DFS的反射路徑上選擇TOF和AOA。動態(tài)參數(shù)選擇算法減少其它靜態(tài)路徑的選擇,在動態(tài)參數(shù)選擇方面通過聯(lián)合DFS來減少參數(shù)的提取,且更準(zhǔn)確提取由動態(tài)路徑產(chǎn)生的參數(shù)。通過任意兩條路徑之間產(chǎn)生相似的DFS即任意兩條路徑的DFS之差小于一個特定值,則認(rèn)為該路徑為相似相關(guān)動態(tài)路徑,對該路徑參數(shù)進(jìn)行提取保存,最后對提取的相似相關(guān)動態(tài)路徑的參數(shù)進(jìn)行擬合得到一個平均動態(tài)參數(shù)進(jìn)行定位。動態(tài)參數(shù)提取算法步驟如算法2所示。
算法2
過程:
(1)Forl=1 toLdo
(2)Forj=l+1 toLdo
(4)Select Θj
(5)End If
(6)End For
(7)End For
由于動態(tài)路徑可以為人體的胳膊、腿等多個部位產(chǎn)生多條動態(tài)反射路徑,基于人體部位反射路徑屬于人體反射路徑的一部分,人體各部位的反射路徑具有相似相關(guān)性,即在每一個時間戳內(nèi)相似相關(guān)的多條路徑可以擬合為一條路徑,得到每個時間戳的動態(tài)參數(shù)。算法2中Fitting Step中t表示為t時刻,l為該時刻的所有的動態(tài)路徑數(shù),得到每個時刻的動態(tài)路徑所得的參數(shù)求取平均值,使其為該時刻的動態(tài)參數(shù)。通過使用本算法選取的動態(tài)參數(shù),更準(zhǔn)確提取動態(tài)參數(shù)。如圖6和圖7所示為一個時間戳內(nèi)選擇的TOF和AOA,圖中所示參數(shù)為動態(tài)的路徑的參數(shù)。
圖6 AOA估計值
圖7 TOF估計值
本實(shí)驗(yàn)在一對配備Intel 5300網(wǎng)卡的現(xiàn)成筆記本電腦來實(shí)現(xiàn)的,數(shù)據(jù)的采集通過一個裝有Linux 802.11n CSI工具的設(shè)備進(jìn)行采集CSI數(shù)據(jù),通過發(fā)射器發(fā)射數(shù)據(jù)包,使用筆記本進(jìn)行采集數(shù)據(jù)包來完成。并使用Matlab來進(jìn)行數(shù)據(jù)處理和實(shí)現(xiàn)定位來完成實(shí)驗(yàn)。為模擬真實(shí)的復(fù)雜室內(nèi)環(huán)境場景,通過在空教室、辦公室以及走廊采集CSI數(shù)據(jù)進(jìn)行實(shí)驗(yàn),得到在同一場景下不同的軌跡的誤差值。
如圖8所示是在不同場景下軌跡追蹤圖,其中*為人體真實(shí)行走軌跡,+為系統(tǒng)追蹤軌跡,在走廊中,其中發(fā)射器的坐標(biāo)為(0,0),走廊接收器的位置為(0,2.5)。在教室和辦公室內(nèi)接收器的位置為(0,3)。從空間角度分析教室相較于辦公室空間較大,而走廊空間較小。就室內(nèi)復(fù)雜環(huán)境程度而言,辦公室相較于教室復(fù)雜度較小。各環(huán)境下數(shù)據(jù)采集場景如圖9所示。
圖8 不同場景下軌跡追蹤
圖9 環(huán)境數(shù)據(jù)采集場景描述
如圖10所示的不同環(huán)境下的誤差累計分布圖分析,走廊在定位誤差0.5 m以內(nèi)分布高達(dá)0.85,而教室和辦公室在誤差為0.67 m才開始收斂??梢娮呃榷ㄎ恍Ч麅?yōu)于教室和辦公室。受空間因素影響,辦公室和教室空間相對于走廊更大;受環(huán)境復(fù)雜度影響,教室內(nèi)桌椅等物體對信號遮擋,且環(huán)境相對于辦公室更復(fù)雜,不利于接收器對動態(tài)信號的采集,雖然環(huán)境復(fù)雜的場景相對于環(huán)境簡單的場景誤差較大,但定位誤差差距很小。可見環(huán)境復(fù)雜度因素對該算法的定位效果影響較小。對于空間較大環(huán)境,信號從發(fā)射器出發(fā)經(jīng)人體反射到接收器的距離較遠(yuǎn),使得接收器接收困難,導(dǎo)致定位誤差相比較更大。
圖10 不同環(huán)境下的誤差累計分布
從實(shí)驗(yàn)結(jié)果分析,可見對于定位影響較大的因素為空間因素,空間較大的環(huán)境定位精準(zhǔn)度較低。但是從其整體的誤差累計分布圖來看,各場景相差較小,可見環(huán)境因素對本定位技術(shù)影響效果較小。如表1所示不同場景下的各軌跡的平均誤差值。從表1中可以分析知,在走廊進(jìn)行定位時,不同軌跡的平均誤差相比較于其它場景較小。可從實(shí)驗(yàn)結(jié)果得知,雖然環(huán)境會有一定的影響,但是其影響較小。所有場景下的誤差平均在0.64 m。
表1 不同場景下各軌跡的平均誤差/m
本文旨在通過CSI的處理來減少對參數(shù)的分析,通過了解動態(tài)信號和靜態(tài)信號之間的差異來進(jìn)行靜態(tài)信號的濾除,并且融合多普勒頻移來增強(qiáng)有效參數(shù)的選擇,提高有效參數(shù)的提取率。如表2所示本文使用JDP算法的參數(shù)選擇數(shù)量相比于Widar2.0參數(shù)減少。通過減少無效參數(shù)的提取來增加有效參數(shù)的選擇來減少了系統(tǒng)的工作量,提升了計算速度,見表3,JDP和Widar2.0的計算時間對比結(jié)果。該統(tǒng)計結(jié)果為在聯(lián)想Core i5筆記本運(yùn)算時間??梢詮慕y(tǒng)計結(jié)果中看出JDP算法相比較于同為單鏈路多參數(shù)的定位算法Widar2.0在運(yùn)算速度有較大的提升,且計算時間較為穩(wěn)定。JDP的平均定位誤差為0.64 m,而Widar2.0為0.72 m。定位誤差在多參數(shù)單鏈路的系統(tǒng)中誤差較小。
表2 Widar2.0和JDP單鏈路參數(shù)選擇數(shù)量
表3 Widar2.0和JDP各軌跡計算時間/s
如圖11所示,其橫坐標(biāo)表示人體到接收器的距離,單位(m)。相比較于單參數(shù)的Dynamic Music算法本文誤差有所減少,定位精度有所提升,相比較于Widar2.0多參數(shù)的定位算法,在減少參數(shù)的同時并未使得定位精準(zhǔn)度降低,相反精度有所提升,且遠(yuǎn)距離時精度較高。
圖11 不同算法定位誤差對比
分別分析了JDP、Widar2.0和Dynamic的定位性能,以誤差累計分布作為評估標(biāo)準(zhǔn),如圖12所示,從誤差分布圖可看出,JDP算法在較低的定位誤差內(nèi)開始收斂。
圖12 不同方案誤差累計分布
如圖12所示,本算法在定位誤差為0.55 m即開始收斂為0.9以上,而其它算法在定位誤差為0.65 m和0.7 m后誤差累計分布才達(dá)到0.9,可見本算法相對于現(xiàn)有技術(shù)有較高的準(zhǔn)確度。
本文提出的JDP算法主要研究的是減少數(shù)據(jù)信號的輸入量來減少參數(shù)的提取,根據(jù)動靜態(tài)信號之間的差異來進(jìn)行靜態(tài)信號的濾除,在減少參數(shù)提取方面工作量的同時,根據(jù)多普勒頻移加強(qiáng)動態(tài)參數(shù)特征,建立相似相關(guān)動態(tài)路徑選擇關(guān)系,簡化目標(biāo)動態(tài)參數(shù)選擇過程。因此提高算法的運(yùn)算速度,減少了運(yùn)算時間。JDP算法和已有的定位算法相比減少了運(yùn)算時間,提高了準(zhǔn)確度。盡管如此,該算法只能應(yīng)用于單人的定位與追蹤,應(yīng)用于多人軌跡追蹤精準(zhǔn)度較差,在接下來的工作中,打算根據(jù)采集到的動態(tài)參數(shù)的相關(guān)性進(jìn)行分類,通過分類的數(shù)據(jù)組對多人體進(jìn)行定位。