張龍飛,金仁成,姚永倫
(大連理工大學(xué) 遼寧省微納米技術(shù)及系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,遼寧 大連 116024)
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,人們對(duì)室內(nèi)定位技術(shù)的需求也越來越高,基于信道狀態(tài)信息(Channel State Information,CSI)的室內(nèi)定位技術(shù)成為研究熱點(diǎn),尤其是基于位置指紋的定位方法,該方法因其成本低廉、方法簡(jiǎn)易的優(yōu)勢(shì)逐漸成為室內(nèi)定位的主流,它的定位過程包括兩個(gè)部分:離線訓(xùn)練階段和在線定位階段。離線階段在室內(nèi)預(yù)先選好的參考點(diǎn)接收CSI數(shù)據(jù)包,提取出指紋信息,并建立指紋數(shù)據(jù)庫(kù);在線階段將測(cè)試點(diǎn)的指紋信息與數(shù)據(jù)庫(kù)中的指紋信息進(jìn)行匹配。常用的匹配算法有支持向量機(jī)(Support Vector Machine,SVM)[1]和神經(jīng)網(wǎng)絡(luò)[2]等方法,使用主成分分析(Principal Component Analysis,PCA)可以降低數(shù)據(jù)維度和去除高頻噪聲[3],減小定位計(jì)算復(fù)雜度。
黨小超等[4]首先使用粒子群優(yōu)化支持向量機(jī)(PSO_SVM)的算法提高室內(nèi)定位精度;劉旭明等[5]提出了遺傳算法優(yōu)化的支持向量機(jī)(GA_SVM)以提高室內(nèi)定位精度;秦軍利等[6]說明了蟻群優(yōu)化支持向量機(jī)(ACO_SVM)的應(yīng)用場(chǎng)景,但未運(yùn)用到室內(nèi)定位中。本文提出了一種基于蟻群優(yōu)化支持向量機(jī)的室內(nèi)定位算法。
CSI是基于正交頻分復(fù)用調(diào)制技術(shù)的無線信號(hào)在移動(dòng)終端的信道響應(yīng)表現(xiàn)形式。因?yàn)榻邮斩擞?根天線,并且每根天線有30個(gè)信道,所以每個(gè)CSI數(shù)據(jù)包是3×30的矩陣,如式(1)所示:
(1)
其中:Hxy為CSI的第x根天線的第y個(gè)子載波,包含著幅值和相位信息,如式(2)所示:
Hxy=‖Hxy‖ej∠Hxy.
(2)
其中:‖Hxy‖為Hxy的幅值;∠Hxy為Hxy的相位角。
由于硬件條件等影響,CSI的相位角會(huì)偏移,沒有矯正的相位信息是無法作為指紋的。YANG I 等[7]提出了線性變化的方法對(duì)雜亂的相位信息進(jìn)行矯正,得到了真實(shí)相位,線性變換處理前、后的相位信息如圖1和圖2所示。
圖1 線性變換前CSI相位角
圖2 線性變換后CSI相位角
由此,可以得到數(shù)據(jù)包的幅值矩陣Hamp和相位角矩陣Hangle:
(3)
(4)
1.2.1 數(shù)據(jù)的預(yù)處理
實(shí)驗(yàn)表明,CSI的數(shù)據(jù)特征越多,定位精度越高,為此,本文融合了Hamp和Hangle,先將它們由3×30的矩陣展開成1×90的矩陣,然后把兩個(gè)矩陣結(jié)合成一個(gè)1×180的矩陣Hs,如公式(5)所示:
Hs=[‖H11‖,…,‖H1N‖,‖H21‖,…,‖H2N‖,
‖H31‖,…,‖H3N‖,∠H11,…,∠H1N,
∠H21,…,∠H2N,∠H31,…,∠H3N].
(5)
按照這種方式,把所有的數(shù)據(jù)包都轉(zhuǎn)成式(5)格式,并把每10個(gè)數(shù)據(jù)包分成一組,求出對(duì)應(yīng)子載波的幅值和相位的方差,結(jié)果如式(6)所示:
Hδ=[δ‖H11‖,…,δ‖H1N‖,δ‖H21‖,…δ‖H2N‖,
δ‖H31‖,…,δ‖H3N‖,δ∠H11,…,δ∠H1N,
δ∠H21,…,δ∠H2N,δ∠H31,…,δ∠H3N].
(6)
對(duì)應(yīng)子載波方差的大小更能反映出受環(huán)境等因素影響而產(chǎn)生的波動(dòng)性,其特征更具有分辨性,定位精度會(huì)更高。
1.2.2 改進(jìn)的算法流程
根據(jù)SVM參數(shù)優(yōu)化[8]思想,我們把提出的改進(jìn)算法命名為ACO_SVM_VAR,其目的是找出SVM中最優(yōu)的懲罰系數(shù)c和核函數(shù)參數(shù)g,使得定位誤差最小,算法流程如圖3所示。
圖3 ACO_SVM_VAR算法流程
我們?cè)诖筮B理工大學(xué)機(jī)械學(xué)院9樓的室內(nèi)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境如圖4所示,該區(qū)域面積為70 m2,在定位區(qū)域中選取80個(gè)參考點(diǎn),并選取10個(gè)測(cè)試點(diǎn)。接收端為聯(lián)想筆記本電腦,發(fā)送端為路由器。每個(gè)點(diǎn)處接收1 000個(gè)數(shù)據(jù)包進(jìn)行分析。
圖4 實(shí)驗(yàn)場(chǎng)景
為了直觀地對(duì)比出改進(jìn)算法ACO_SVM_VAR的定位效果,將它的定位效果與ACO_SVM、GA_SVM和PSO_SVM算法進(jìn)行了對(duì)比,10個(gè)測(cè)試點(diǎn)的定位如圖5所示。其中,實(shí)心圓點(diǎn)為測(cè)試點(diǎn)的真實(shí)坐標(biāo),叉形點(diǎn)、空心圓點(diǎn)、菱形點(diǎn)、方形點(diǎn)分別為ACO_SVM_VAR、ACO_SVM、PSO_SVM、GA_SVM算法計(jì)算出的測(cè)試點(diǎn)坐標(biāo)。
圖5 各算法定位誤差對(duì)比
4種算法求得的c和g參數(shù)值如表1所示,并求出了它們的平均定位誤差。
表1 不同算法的定位誤差
由圖5可以看出:多數(shù)點(diǎn)的定位效果ACO_SVM_VAR優(yōu)于ACO_SVM、PSO_SVM和GA_SVM算法。由表1可知,ACO_SVM_VAR、ACO_SVM、PSO_SVM、GA_SVM算法的平均定位誤差分別為0.90 m、1.20 m、1.26 m、1.73 m,本文提出的算法定位精度分別比ACO_SVM、PSO_SVM和GA_SVM算法提升了25%、29%和48%。
對(duì)于所有實(shí)數(shù)x,累積分布函數(shù)定義如下:
F(x)=P(X≤x).
(7)
對(duì)離散變量,累積分布函數(shù)表示所有小于等于x的值出現(xiàn)的概率和。
定位誤差累積分布中的每個(gè)點(diǎn)代表定位誤差距離在x(m)內(nèi)其分布概率的大小,相同誤差距離時(shí),分布概率越大,定位效果越好。對(duì)ACO_SVM_VAR、ACO_SVM、PSO_SVM和GA_SVM算法的定位誤差累積分布概率如圖6所示。從圖6中可以看出:ACO_SVM_VAR算法的定位誤差概率最快達(dá)到1,定位效果最好;ACO_SVM和PSO_SVM算法定位誤差概率交叉分布,效果十分接近,而GA_SVM算法定位誤差概率最慢達(dá)到1,定位效果最差。
圖6 不同算法的定位誤差累積分布概率對(duì)比
當(dāng)定位誤差小于1 m時(shí),ACO_SVM_VAR、ACO_SVM、PSO_SVM和GA_SVM算法的1 m內(nèi)誤差點(diǎn)數(shù)占總點(diǎn)數(shù)的比例分別為50%、50%、40%和40%。當(dāng)定位誤差大于1 m時(shí),ACO_SVM_VAR算法的定位誤差概率很快升到1,明顯好于其他算法。
本文創(chuàng)新地將ACO_SVM運(yùn)用到室內(nèi)定位,并提出了改進(jìn)的蟻群優(yōu)化的SVM室內(nèi)定位算法(ACO_SVM_VAR),結(jié)合了CSI的幅值和相位信息,該算法與ACO_SVM、PSO_SVM和GA_SVM算法相比,平均定位精度分別提升了25%、29%和48%,有效提升了室內(nèi)定位精度。