本發(fā)明涉及定位技術(shù)領(lǐng)域,具體涉及到一種宏蜂窩nlos環(huán)境下的單站定位技術(shù)。
背景技術(shù):
1996年美國聯(lián)邦通信委員會公布了e911定位需求,其要求在2001年10月前,各種無線蜂窩網(wǎng)絡(luò)必須能對發(fā)出e911緊急呼叫的移動臺提供精度在125m內(nèi)的定位服務(wù),且滿足此定位精度的概率應(yīng)不低于67%;并要求在2001年以后,提供更高的定位精度及三維位置信息。e911技術(shù)規(guī)范的公布激發(fā)了人們對無線定位技術(shù)的研究熱情,并且隨著通信技術(shù)的發(fā)展和移動設(shè)備越來越高的普及,人們對自身位置的定位服務(wù)需求日益激增,基于移動通信網(wǎng)絡(luò)的定位技術(shù)得到飛速發(fā)展,無論是在人們的日常出行、交通工具定位導(dǎo)航,還是無線資源分配和整合、國家信息安全等方面都有著舉足輕重的地位。當(dāng)前主流的定位技術(shù)包括:廣泛應(yīng)用于室外的衛(wèi)星定位技術(shù)、蜂窩網(wǎng)定位技術(shù)、聲波定位技術(shù)、雷達(dá)定位技術(shù)等,以及基于wifi、rfid、藍(lán)牙、毫米波等室內(nèi)定位技術(shù),其中蜂窩定位技術(shù),以其定位速度快、成本低(不需要移動終端上添加額外的硬件)、耗電少等優(yōu)勢,作為一種輕量級的定位方法,越來越常用。
非視距傳播是影響蜂窩網(wǎng)定位精度的主要因素,目前對蜂窩網(wǎng)非視距的定位研究主要包括:非直達(dá)波鑒別算法;基于散射體信息的非直達(dá)波定位算法;基于不等式約束和統(tǒng)計的非直達(dá)波定位方法;學(xué)習(xí)型定位方法和非直達(dá)波跟蹤算法。其中基于散射體信息的定位是近年來發(fā)展起來抑制非直達(dá)波誤差的新思路,主要包括基于散射體信道模型和基于散射體幾何位置關(guān)系兩個分支?;谏⑸潴w信道模型根據(jù)散射模型(如圓環(huán),高斯等模型)對測量參數(shù)aoa,toa等進(jìn)行重構(gòu),然后利用傳統(tǒng)的los定位算法實(shí)現(xiàn)目標(biāo)定位;基于散射體幾何位置關(guān)系這類算法往往通過先獲取散射體的相關(guān)幾何位置信息,以此來構(gòu)建出基站、散射體、目標(biāo)三者之間的幾何關(guān)系,構(gòu)造出對應(yīng)的線性定位方程,一般可同時定位出散射體和目標(biāo)的位置。
但目前蜂窩網(wǎng)定位的主要存在以下兩個問題:nlos傳播問題和多基站定位問題。蜂窩網(wǎng)在城區(qū)或者郊區(qū)等環(huán)境下幾乎不存在los路徑,而nlos傳播引起定位參數(shù)的測量誤差,降低定位精度,同時現(xiàn)有的定位技術(shù)多偏向多站定位,其對時間和數(shù)據(jù)同步要求嚴(yán)格,系統(tǒng)的復(fù)雜度高,且存在可測性問題。
因此,有必要開發(fā)一種基于非線性約束最小二乘的單站定位方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提出一種基于非線性約束最小二乘的單站定位方法,它能解決傳統(tǒng)定位算法對基站個數(shù)的依賴性問題,利用單基站進(jìn)行定位,不需要時鐘同步,降低算法復(fù)雜度;且定位精度高。
本發(fā)明所述的基于非線性約束最小二乘的單站定位方法,包括以下步驟:
步驟一:根據(jù)宏蜂窩信號傳播特性構(gòu)造宏蜂窩單站的nlos(non-line-of-sight,非視距)信號傳播模型;
步驟二:計算基站端每條反射徑信號的到達(dá)角(angleofarrival,aoa)θi和到達(dá)時間(timeofarrival,toa)τi,其中i=1,...,m,m表示反射徑條數(shù);
步驟三:利用多徑信號參數(shù)aoa,toa及基站、目標(biāo)和散射體間的位置關(guān)系建立定位方程組,此定位方程組為非線性欠定方程組;
步驟四:引入宏蜂窩的圓環(huán)模型,假設(shè)散射體均勻分布在以移動臺(mobilestation,ms)為圓心、半徑為r的圓上,移動臺和基站(basestation,bs)間距離為d;
步驟五:根據(jù)圓環(huán)模型增加關(guān)于目標(biāo)位置和散射體位置的非線性方程組,將非線性欠定方程組轉(zhuǎn)化為超定方程組;
步驟六:實(shí)際測量時,考慮測量誤差,將定位問題轉(zhuǎn)化為非線性約束最小二乘問題;
步驟七:利用lm(levenberg-marquardt,列文伯格-馬夸爾特法)算法求解非線性約束最小二乘問題;
步驟八:當(dāng)殘差較大時,引入擬牛頓bfgs(以其發(fā)明者broyden,fletcher,goldfarb和shanno的姓氏首字母命名)算法,對hesse(海賽)矩陣進(jìn)行逼近,再利用lm算法求解,本發(fā)明稱此改進(jìn)算法為“l(fā)m+bfgs”算法;;
步驟九:算法迭代結(jié)束,輸出估計的目標(biāo)位置
進(jìn)一步,所述步驟三具體為:
設(shè)信號經(jīng)第i個散射體反射后到達(dá)基站,經(jīng)反射后的路徑長度為ri,則散射體坐標(biāo)(xi,yi)為:
建立關(guān)于目標(biāo)位置(xms,yms)和ri的非線性欠定方程組,如公式(2)所示:
其中:c表示光速,方程組中共有m個方程,m+2個未知變量;
將公式(2)簡寫為:
進(jìn)一步,所述步驟五具體為:
圓半徑r表示為:
cτ1-r1=cτj+1-rj+1,j=1,...,m-1(4);
聯(lián)合公式(3),得到宏蜂窩的圓環(huán)模型下求解目標(biāo)位置和散射體位置的超定方程組,如下式所示:
上式方程組共2m-1個方程,m+2個未知變量,當(dāng)m>3時,式(5)即為超定方程組。
進(jìn)一步,所述步驟六具體為:
由于aoa和toa測量誤差,公式(5)中等號不總是成立,因此將公式(5)寫為:
其中:x=(xms,yms,ri)t,χ=(r1,rj+1)t,εi(x)和ξj(χ)為殘差;
故對目標(biāo)位置的估計,通過最小化如下目標(biāo)函數(shù)得到:
其中:
同時待估的目標(biāo)位置(xms,yms)應(yīng)處于以最小傳播距離lmin=cτmin為半徑,bs為圓心的圓內(nèi),同時最大最小到達(dá)角將ms限制在圓心角為α的扇形區(qū)域,扇形的兩條半徑用向量表示為
其中:
其中:α1(xms,yms)表示α1是關(guān)于xms,yms的函數(shù);α2(xms,yms)表示α2是關(guān)于xms,yms的函數(shù);
因此,(xms,yms)應(yīng)處在下列不等式的交集內(nèi),即可行域z內(nèi):
其中:xbs為基站的橫坐標(biāo),ybs為基站的縱坐標(biāo),同時ri≤cτmax;
綜上,式(5)的位置解算轉(zhuǎn)換為求解如下的非線性約束最小二乘問題:
進(jìn)一步,所述步驟八具體為:
步驟八-一:選取可行域內(nèi)初始點(diǎn)x∈intz,給定lm算法初始化參數(shù):尺度因子μ>0,增長因子β>0;給定bfgs算法參數(shù):初始對稱正定陣β1=i,其中,ι為單位矩陣;給定終止誤差0≤ε<<1,令k=1;
步驟八-二:計算公式(7)的一階導(dǎo)
步驟八-三:計算搜索方向dk=-(bk+μi)-1gk,其中,bk為對f(x)進(jìn)行泰勒展開的二階項的近似矩陣,其初始值為β1;
步驟八-四:由armijio搜索求步長λk,令xk+1=xk+λkdk;
步驟八-五:計算下一時刻一階導(dǎo)數(shù)
步驟八-六:根據(jù)bfgs算法更新βk+1,βk+1的更新表達(dá)式如下:
其中:βk+1為bk更新后的值;
步驟八-七:計算f(xk+1),如果f(xk+1)<f(xk),轉(zhuǎn)入步驟八-八,否則轉(zhuǎn)入步驟八-九;
步驟八-八:如果||dk||2≤ε,得到
步驟八-九:如果||dk||2≤ε,得到
進(jìn)一步,所述步驟八-四具體為:
步驟八-四-一:給定armijio算法的參數(shù)ρ∈(0,1),σ∈(0,0.5),最大迭代次數(shù)mmax,令m=0;
步驟八-四-二:計算f(xk+ρmdk)和f(xk)+σρmgktdk,若f(xk+ρmdk)≤f(xk)+σρmgktdk,轉(zhuǎn)入步驟八-四-四,否則轉(zhuǎn)入步驟八-四-三;
步驟八-四-三:令m:=m+1,并判斷m是否達(dá)到最大迭代次數(shù)mmax,如否,則轉(zhuǎn)入步驟八-四-二,若是,則停止迭代,并執(zhí)行步驟八-四-四;
步驟八-四-四:輸出搜索步長λk=ρm。
本發(fā)明的有益效果:它解決了傳統(tǒng)定位算法對基站個數(shù)的依賴性問題,利用單基站進(jìn)行定位,不需要時鐘同步,降低了算法的復(fù)雜度;同時利用nlos環(huán)境下,多徑信號作為定位路徑,而非抑制多徑,解決了nlos環(huán)境下定位誤差大的問題;利用散射模型增加變量約束條件,提高了最小二乘算法的有效性,實(shí)現(xiàn)了宏蜂窩單站定位20-30米的定位精度。
附圖說明
圖1為本發(fā)明整體流程圖;
圖2為本發(fā)明宏蜂窩nlos環(huán)境下的散射圓環(huán)模型;
圖3為目標(biāo)可能出現(xiàn)的區(qū)域(扇形區(qū)域),即迭代算法的可行域;
圖4為lm算法流程圖;
圖5為“l(fā)m+bfgs”算法流程圖;
圖6為armijio算法流程圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)說明:
如圖1所示,本發(fā)明所述的基于非線性約束最小二乘的單站定位方法,包括以下步驟:
步驟一:根據(jù)宏蜂窩信號傳播特性構(gòu)造宏蜂窩單站的nlos信號傳播模型,如圖2所示。假設(shè)信號經(jīng)歷單次反射從移動臺到達(dá)基站,基站位于坐標(biāo)原點(diǎn),ms位于以bs為坐標(biāo)原點(diǎn)的x軸上,散射體s分布在ms周圍,宏蜂窩環(huán)境下基站天線一般處于較高位置,因此周圍不存在散射體。本發(fā)明僅考慮los(line-of-sight,視距)不存在的情況。
步驟二:計算基站端每條反射徑信號的到達(dá)角(aoa)θi和到達(dá)時間(toa)τi,其中i=1,...,m,m表示反射徑條數(shù),本發(fā)明中m≥3。
步驟三:利用多徑信號參數(shù)aoa,toa及基站、目標(biāo)和散射體間的位置關(guān)系建立定位方程組,此定位方程組為非線性欠定方程組。
設(shè)信號經(jīng)第i個散射體反射后到達(dá)基站,經(jīng)反射后的路徑(即散射體和基站間的反射路徑)長度為ri,則散射體坐標(biāo)(xi,yi)為:
建立關(guān)于目標(biāo)位置(xms,yms)和ri的非線性欠定方程組,如公式(2)所示:
其中:c表示光速,取c=3×108m/s。方程組中共有m個方程,m+2個變量。
公式(2)可簡寫為:
步驟四:引入宏蜂窩的圓環(huán)模型。假設(shè)散射體均勻分布在以ms為圓心的圓上,圓半徑為r,ms、bs距離為d,如圖2所示。本發(fā)明中取r=100米,d=1000米。
步驟五:根據(jù)圓環(huán)模型增加關(guān)于目標(biāo)位置和散射體位置的非線性方程,將欠定方程組轉(zhuǎn)化為超定方程組。
圓半徑r可表示為:
cτ1-r1=cτj+1-rj+1,j=1,...,m-1(4);
聯(lián)合公式(3),可以得到宏蜂窩的圓環(huán)模型下求解目標(biāo)位置和散射體位置的超定方程組,如下式所示:
方程組共2m-1個方程,m+2個變量,當(dāng)m>3時,式(5)即為超定方程組。
步驟六:實(shí)際測量時,由于aoa,toa測試誤差,公式(5)中等號不總是成立,因此公式(5)可以寫為:
其中x=(xms,yms,ri)t,χ=(r1,rj+1)t,εi(x)和ξj(χ)為殘差。
故對目標(biāo)的位置估計可以通過最小化如下目標(biāo)函數(shù)得到:
其中
同時待估目標(biāo)位置(xms,yms)應(yīng)處于以最小傳播距離lmin=cτmin為半徑,bs為圓心的圓內(nèi),同時最大最小到達(dá)角將ms限制在圓心角為α的扇形區(qū)域(即圖3所示的扇形區(qū)域
內(nèi)),α為扇形圓心角,扇形的兩條半徑用向量表示為
其中:
α1(xms,yms)表示α1是關(guān)于xms,yms的函數(shù),α2(xms,yms)表示α2是關(guān)于xms,yms的函數(shù)。
因此,(xms,yms)應(yīng)處在下列不等式的交集內(nèi),即可行域z內(nèi),(xms,yms)所在扇形區(qū)域可以表示為下列不等式的交集:
其中xbs為基站的橫坐標(biāo),ybs為基站的縱坐標(biāo),同時ri≤cτmax。
綜上,式(5)的位置解算可以轉(zhuǎn)換為求解如下的非線性約束最小二乘問題
步驟七:本發(fā)明選擇經(jīng)典的lm算法求解上述非線性約束最小二乘問題。公式(11)中的約束條件所述區(qū)域即是變量的可行域,記為z,如下式所示:
lm算法流程如圖4所示:
步驟七-一:選取可行域內(nèi)初始點(diǎn)x∈intz,給定初始的尺度因子參數(shù)μ>0,增長因子β>0,終止誤差0≤ε<<1,令k=1。
步驟七-二:計算雅克比矩陣j(xk)和hesse矩陣hk=j(luò)ktjk(這里為方便表達(dá)將h(xk),j(xk)簡寫為hk,jk);其中jk可以表示為如下形式:
步驟七-三:計算搜索方向dk=-(hk+μi)-1jktfk,其中ι為單位矩陣,fk=(f1,f2,...,f2m-1)t。
步驟七-四:由armijio線搜索算法求步長λk,使之滿足
并令xk+1=xk+λkdk得到下一時刻變量值。
步驟七-五:計算f(xk+1),如果f(xk+1)<f(xk),轉(zhuǎn)入步驟七-六,否則轉(zhuǎn)步入驟七-七。
步驟七-六:如果||dk||2≤ε,得到
步驟七-七:如果||dk||2≤ε,得到
至此,完成了步驟七的全部操作。
步驟八:當(dāng)殘差較大時,最小二乘解算結(jié)果誤差較大,主要原因是令hesse矩陣h=j(luò)tj時,忽略了其二階項
步驟八-一:選取可行域內(nèi)初始點(diǎn)x∈intz,給定lm算法參數(shù):尺度因子μ>0,增長因子β>0;給定bfgs算法參數(shù):初始對稱正定陣β1=i,ι為單位矩陣;給定終止誤差0≤ε<<1,令k=1,本發(fā)明中μ=0.01,β=10,ε=10-3。
步驟八-二:計算公式(7)的一階導(dǎo)
步驟八-三:計算搜索方向dk=-(bk+μi)-1gk,其中,bk為對f(x)進(jìn)行泰勒展開的二階項的近似矩陣,其初始值為β1。
步驟八-四:由armijio搜索求步長λk,令xk+1=xk+λkdk,armijio搜索求步長流程如圖6所示。
步驟八-四-一:給定armijio算法的參數(shù)ρ∈(0,1),σ∈(0,0.5),最大迭代次數(shù)mmax,令m=0,本發(fā)明中ρ=0.5,σ=0.24,mmax=20。
步驟八-四-二:計算f(xk+ρmdk)和f(xk)+σρmgktdk,若f(xk+ρmdk)≤f(xk)+σρmgktdk,轉(zhuǎn)步驟八-四-四,否則轉(zhuǎn)步驟八-四-三。
步驟八-四-三:令m:=m+1,并判斷m是否達(dá)到最大迭代次數(shù)mmax,如否,則轉(zhuǎn)入步驟八-四-二,若是,則停止迭代,并執(zhí)行步驟八-四-四。
步驟八-四-四:輸出搜索步長λk=ρm。
至此,完成了步驟八-四的全部操作。
步驟八-五:計算下一時刻一階導(dǎo)數(shù)
步驟八-六:根據(jù)bfgs算法更新βk+1,βk+1的更新表達(dá)式如下:
其中:bk為對f(x)進(jìn)行泰勒展開的二階項的近似矩陣,βk+1為bk更新后的值。
步驟八-七:計算f(xk+1),如果f(xk+1)<f(xk),轉(zhuǎn)入步驟八-八,否則轉(zhuǎn)入步驟八-九。
步驟八-八:如果||dk||2≤ε,得到
步驟八-九:如果||dk||2≤ε,得到
至此,完成了步驟八的全部操作。
步驟九:算法迭代結(jié)束后,得到估計參數(shù)