夏文清, 王 慶, 張 波, 陽 媛
(東南大學(xué)儀器科學(xué)與工程學(xué)院, 江蘇 南京 210096)
在偽衛(wèi)星室內(nèi)定位系統(tǒng)中,由于室內(nèi)獨(dú)有的復(fù)雜環(huán)境和大量墻體,多徑效應(yīng)會比室外環(huán)境更加嚴(yán)重[1]。又由于陰影效應(yīng)和遠(yuǎn)近效應(yīng)的影響,接收機(jī)有時(shí)會處于低信噪比環(huán)境下。在這種環(huán)境下,多徑效應(yīng)不僅僅會導(dǎo)致定位精度下降[2],更有可能導(dǎo)致信號直接失鎖,嚴(yán)重影響定位效果。因此,低信噪比環(huán)境下的抗多徑算法研究對于偽衛(wèi)星室內(nèi)定位而言是不可或缺的。
目前已經(jīng)有大量學(xué)者針對全球衛(wèi)星導(dǎo)航系統(tǒng)進(jìn)行了用各種方法抗多徑的相關(guān)研究[3-6]。由于偽衛(wèi)星系統(tǒng)與全球衛(wèi)星導(dǎo)航系統(tǒng)信號體制十分相似,因此針對室外衛(wèi)星定位的抗多徑算法也可以用于偽衛(wèi)星系統(tǒng)中。但是由于室內(nèi)環(huán)境與室外環(huán)境區(qū)別較大,因此在選用算法時(shí)需要針對室內(nèi)環(huán)境進(jìn)行選擇與改進(jìn)。
1992年,Nee[7]提出了經(jīng)典的多徑估計(jì)延遲鎖定環(huán)路(multipath estimating delay lock loop, MEDLL)算法,該算法基于極大似然估計(jì)原理估計(jì)多徑信號參數(shù),再利用估計(jì)值重構(gòu)多徑信號相關(guān)函數(shù),并將其從實(shí)際相關(guān)結(jié)果中消除,從而實(shí)現(xiàn)直射信號相關(guān)結(jié)果的復(fù)原。文獻(xiàn)[8-11]證明,該算法對噪聲不敏感,對偽碼多徑和載波多徑都有著很好的抑制作用,很適合應(yīng)用于偽衛(wèi)星室內(nèi)抗多徑。但該算法的缺點(diǎn)在于計(jì)算量大,要求匹配多個(gè)相關(guān)器,且需要事先知道多徑條數(shù)。隨著芯片技術(shù)的發(fā)展,計(jì)算量大和多相關(guān)器的問題已經(jīng)逐步得到解決,但該算法對多徑條數(shù)的要求仍不能完全解決。
目前有一部分MEDLL改進(jìn)算法對多徑條數(shù)進(jìn)行了計(jì)算或估計(jì)。劉亞歡等[12]采用網(wǎng)格化估計(jì)的方法,先假設(shè)多條多徑信號的時(shí)延,再根據(jù)求得的幅值來判定多徑信號是否存在。雖然在其基礎(chǔ)上,唐斌等[13]添加有色噪聲卡爾曼濾波器,減小了噪聲的影響,但總體而言,這種網(wǎng)格化估計(jì)的方法相比基礎(chǔ)MEDLL方法增加了對噪聲的敏感性,同時(shí)時(shí)延估計(jì)的分辨率也不高;魏國慶等[14]和Hui等[15]將Teager-Kaiser(TK)算子[16]與MEDLL結(jié)合,利用TK算子獲取多徑條數(shù)與其粗略時(shí)延,再利用MEDLL實(shí)現(xiàn)具體參數(shù)估計(jì),實(shí)測數(shù)據(jù)[17]證明該算法在室外是有效的。但是,由于TK算子本身對噪聲敏感,因此在低信噪比環(huán)境下,由于TK算子可能監(jiān)測出錯(cuò)誤的多徑條數(shù)與時(shí)延,該算法表現(xiàn)不是很好。
事實(shí)上,目前絕大多數(shù)的多徑估計(jì)算法,如卡爾曼濾波及其改進(jìn)算法[18-20]、粒子濾波算法[21-23]等,都沒有涉及到多徑條數(shù)的估計(jì)。在多徑條數(shù)的確定方法上,有的文章直接假定多徑信號只有一條[24-25],有的文章只在模型中設(shè)定了多徑條數(shù),但沒有求解[26-28]。這些方式在室外也許可行[29],但是在室內(nèi)環(huán)境中,由于環(huán)境復(fù)雜且墻體眾多,所以多徑條數(shù)很可能不止一條。在這種情況下,就必須進(jìn)行多徑條數(shù)的估計(jì),而現(xiàn)有的多徑條數(shù)估計(jì)方法都對噪聲比較敏感,在室內(nèi)低信噪比環(huán)境下表現(xiàn)不好。因此,要想將MEDLL算法應(yīng)用于偽衛(wèi)星室內(nèi)定位,就需要提出一種新的在低信噪比條件下表現(xiàn)良好的多徑條數(shù)估計(jì)方法。
針對這一問題,本文提出一種基于自適應(yīng)MEDLL的多徑估計(jì)算法。相比傳統(tǒng)MEDLL算法,該算法增加了一個(gè)參考相關(guān)器,用參考相關(guān)器相關(guān)值的標(biāo)準(zhǔn)差作為衡量標(biāo)準(zhǔn),與其他相關(guān)器經(jīng)過MEDLL算法消除所有信號后的噪聲相關(guān)值的標(biāo)準(zhǔn)差進(jìn)行比較,進(jìn)而得到多徑條數(shù)。該算法能在信噪比較低的狀態(tài)下正確估計(jì)多徑信號條數(shù),更適合應(yīng)用于偽衛(wèi)星室內(nèi)定位系統(tǒng)抗多徑。
偽衛(wèi)星系統(tǒng)在進(jìn)行定位時(shí),其接收機(jī)接收到的中頻信號通??梢员硎緸?/p>
(1)
式中:si(t)表示第i路信號;αi,τi,φi表示第i路信號的幅度、相對本地C/A碼的時(shí)延、相對本地載波的相位;c(t)表示C/A碼(忽略導(dǎo)航電文);n(t)代表環(huán)境噪聲;i=0代表直射信號;M代表多徑信號條數(shù);ωIF代表中頻頻率。
中頻信號首先與本地載波進(jìn)行相乘混頻,經(jīng)低通濾波器濾除高頻成分,然后與本地C/A碼進(jìn)行相關(guān)運(yùn)算。設(shè)相關(guān)器的延遲為τ,則相關(guān)函數(shù)為
(2)
式中:R(τ)代表C/A碼自相關(guān)函數(shù);n′(τ)為環(huán)境噪聲經(jīng)過混頻濾波后與本地信號進(jìn)行互相關(guān)得到的結(jié)果。
自適應(yīng)MEDLL算法基于極大似然估計(jì)的原理,用相關(guān)結(jié)果Rx(τ)估計(jì)出各多徑信號的多徑參數(shù)αi、τi、φi,進(jìn)而對其進(jìn)行消除。
為了對多徑信號條數(shù)進(jìn)行估計(jì),本算法的信號處理模塊相比MEDLL算法增加了一對參考相關(guān)器(Iref,Qref)。用多徑條數(shù)估計(jì)策略將其輸出Rref(t)與多徑參數(shù)估計(jì)結(jié)果進(jìn)行對比,從而得到多徑條數(shù)的估計(jì)。該算法的具體結(jié)構(gòu)如圖1所示。
圖1 自適應(yīng)MEDLL算法結(jié)構(gòu)(相關(guān)器部分)Fig.1 Algorithm structure of adaptive MEDLL (correlator part)
2.2.1 參數(shù)估計(jì)流程
自適應(yīng)MEDLL與傳統(tǒng)MEDLL算法的多徑參數(shù)估計(jì)方法類似,其流程如圖2所示。
圖2 MEDLL多徑參數(shù)估計(jì)流程Fig.2 MEDLL multipath parameter estimate flowchart
在多徑條數(shù)M已知的情況下,自適應(yīng)MEDLL算法與傳統(tǒng)MEDLL算法都采用從第一路信號開始、信號條數(shù)不斷增加、依次循環(huán)優(yōu)化的方法進(jìn)行多徑參數(shù)估計(jì)[30]。這種方法雖然比較消耗算力,但估計(jì)精度高且性能穩(wěn)定。
假定多徑條數(shù)為M,在多徑估計(jì)時(shí),該方法首先估計(jì)直射信號參數(shù),然后針對兩路信號進(jìn)行循環(huán)優(yōu)化,之后是三路信號的循環(huán)優(yōu)化,以此類推,直至完成M+1路信號(M路多徑信號和一路直射信號)的循環(huán)優(yōu)化。其具體計(jì)算流程如算法1所示。
算法 1 MEDLL多徑參數(shù)估計(jì)流程1 獲取實(shí)測相關(guān)結(jié)果Rx(τ)2 將實(shí)測相關(guān)結(jié)果Rx(τ)作為直射信號s0(t)的相關(guān)函數(shù)的估計(jì)R^0(τ)=Rx(τ)3 根據(jù)R^0(τ)估計(jì)出s0(t)的參數(shù)φ^0、τ^0、α^04 生成s0(t)的重建相關(guān)函數(shù)R'0(τ)5 For 信號條數(shù)m={2,3,…,M+1}6 While 參數(shù)估計(jì)結(jié)果有變化7 For 當(dāng)前信號j={m,0,1,2,…,m-1}8 計(jì)算當(dāng)前信號sj(t)的相關(guān)函數(shù)估計(jì)9 R^j(τ)=Rx(τ)-∑mi=0,i≠jR'i(τ)10 根據(jù)R^j(τ)估計(jì)sj(t)的參數(shù)φ^j、τ^j、α^j11 生成sj(t)的重建相關(guān)函數(shù)R'j(τ)12 End for13 End while14 End for15 估計(jì)完成
2.2.2 參數(shù)估計(jì)方法
進(jìn)行時(shí)延估計(jì)采用的是鑒相函數(shù)法,即選取某個(gè)采樣點(diǎn)作為即時(shí)碼相關(guān)點(diǎn),選定碼間距后進(jìn)行鑒相,根據(jù)鑒相結(jié)果得到實(shí)際時(shí)延與即時(shí)碼相關(guān)點(diǎn)之差,進(jìn)而得到實(shí)際時(shí)延。
早晚碼相干鑒相器容易受到噪聲干擾,是因?yàn)樗皇褂昧藘陕废嚓P(guān)結(jié)果,而MEDLL算法本身就是一種多相關(guān)器算法,所以采用多相關(guān)鑒相器(如strobe鑒相器)不僅不會帶來額外的算力需求,還能得到更準(zhǔn)確、穩(wěn)定的鑒相結(jié)果[31]。因此,本文提出用strobe相關(guān)器進(jìn)行時(shí)延估計(jì),具體步驟如下:
步驟 1在開始信號處理前,事先計(jì)算好strobe鑒相器的鑒相函數(shù)e=D(ε)及其反函數(shù)ε=D-1(e)。
步驟 2選取采樣點(diǎn)τx。為減少噪聲和多徑影響,并且盡量保證鑒相實(shí)際函數(shù)單調(diào),該點(diǎn)應(yīng)當(dāng)選取功率最大點(diǎn)τmax。
(4) 相關(guān)函數(shù)重建
2.2.3 多徑條數(shù)估計(jì)策略
圖3 多徑條數(shù)估計(jì)策略流程Fig.3 Strategy flowchart of multipath number estimation
步驟 2取一段時(shí)間內(nèi)的參考相關(guān)器值Rref(t),對其同樣求標(biāo)準(zhǔn)差,得到參考值σref。
步驟 3比較σM-1、σM與σref,若σM-1<σref,或σM>σref,則使對應(yīng)的計(jì)數(shù)器增加,其他計(jì)數(shù)器減少。
步驟 4若σM-1對應(yīng)的計(jì)數(shù)器大于門限值(手動(dòng)設(shè)定),則多徑條數(shù)估計(jì)值變?yōu)镸-1。同理,若σM對應(yīng)的計(jì)數(shù)器大于門限值,則多徑條數(shù)估計(jì)值變?yōu)镸+1。
在多徑條數(shù)為2時(shí),σref與σM-1、σM隨時(shí)間變化的結(jié)果如圖4所示。
圖4 多徑條數(shù)估計(jì)過程Fig.4 Process of multipath number estimation
從圖4可以看出,隨著時(shí)間推移,多徑條數(shù)估計(jì)值M從初始值0增加為2,并且穩(wěn)定下來,這說明多徑條數(shù)估計(jì)策略是有效的。
為測試自適應(yīng)MEDLL算法在各種噪聲環(huán)境與多徑條件下的多徑估計(jì)效果,本文采用Matlab仿真平臺進(jìn)行了多項(xiàng)實(shí)驗(yàn)。實(shí)驗(yàn)采用GPS L1 PRN1信號。設(shè)定普通相關(guān)器時(shí)延從-1碼片到1碼片,間隔0.05碼片,共41個(gè)普通相關(guān)器。參考相關(guān)器時(shí)延為2碼片。設(shè)定直射信號時(shí)延為0碼片,幅值為1 mV;設(shè)定多徑條數(shù)為1,其幅值為0.5 mV,時(shí)延為0.5碼片。
保持多徑信號幅值維持在0.5 mV不變,改變其時(shí)延,時(shí)延估計(jì)結(jié)果的誤差均方根隨時(shí)延實(shí)際值的變化在不同噪聲環(huán)境下的結(jié)果如圖5所示。
圖5 時(shí)延估計(jì)誤差隨時(shí)延實(shí)際值的變化Fig.5 Delay estimation error varies with delay actual value
由圖5可以看出,自適應(yīng)MEDLL算法在對時(shí)延較小(小于0.1碼片)的多徑信號進(jìn)行估計(jì)時(shí)效果較差。在信噪比較高的環(huán)境下,這一趨勢雖然不明顯,但在低信噪比環(huán)境下估計(jì)誤差會突增,這是由于算法誤將短時(shí)延多徑信號與直射信號識別為同一信號的緣故。在時(shí)延估計(jì)誤差急劇增大(即信噪比為-25 dB)、時(shí)延為0.1碼片的情況下,截取35 ms的多徑參數(shù)估計(jì)結(jié)果如圖6所示。
圖6 短時(shí)延多徑信號估計(jì)誤差Fig.6 Short-delay multipath signal estimation error
由圖6可以看到,估計(jì)結(jié)果大部分時(shí)間是正確的,但在15 ms、19 ms、24 ms時(shí),時(shí)延估計(jì)極度偏離實(shí)際值,且幅值估計(jì)接近于0 mV,這一結(jié)果證明此時(shí)算法將短時(shí)延多徑信號與直射信號混淆,并將噪聲識別為多徑信號。這一錯(cuò)誤發(fā)生頻率不高,可以通過其他方法(如濾波或檢測)解決。
通過突變檢測的方法將估計(jì)錯(cuò)誤的數(shù)據(jù)剔除后,重新計(jì)算時(shí)延估計(jì)結(jié)果的誤差均方根隨時(shí)延實(shí)際值的變化在不同噪聲環(huán)境下的結(jié)果如圖7所示。
圖7 修正后時(shí)延估計(jì)誤差隨時(shí)延實(shí)際值的變化情況Fig.7 Delay estimation error after correction varies with delay actual value
從圖7可以看出,在不發(fā)生錯(cuò)誤的情況下,自適應(yīng)MEDLL算法的時(shí)延估計(jì)誤差在同一信噪比下比較穩(wěn)定。
類似地,保持多徑信號時(shí)延維持在0.5碼片不變,改變其幅值,幅值估計(jì)結(jié)果的誤差均方根隨幅值實(shí)際值的變化在不同噪聲環(huán)境下的結(jié)果如圖8所示。
圖8 幅值估計(jì)誤差隨幅值實(shí)際值的變化情況Fig.8 Amplitude estimation error varies with amplitude actual value
由實(shí)驗(yàn)結(jié)果可以看出,自適應(yīng)MEDLL算法對不同幅值多徑的適應(yīng)性較好。即使在低信噪比環(huán)境下,對不同幅值多徑的估計(jì)效果也沒有太大變化。
為測試自適應(yīng)MEDLL算法的實(shí)際定位效果,本文采用Matlab仿真平臺進(jìn)行了仿真定位實(shí)驗(yàn)。實(shí)驗(yàn)采用GPS L1 PRN1信號。設(shè)定普通相關(guān)器時(shí)延從-1碼片到1碼片,間隔0.05碼片,共41個(gè)普通相關(guān)器。參考相關(guān)器時(shí)延為2碼片。實(shí)驗(yàn)假定的室內(nèi)環(huán)境多徑情況復(fù)雜且多變,因此設(shè)定多徑信號的條數(shù)在1~3之間變化,且多徑時(shí)延、相位和幅值在一定范圍內(nèi)隨機(jī)取值。
實(shí)驗(yàn)結(jié)果中,采用和未采用自適應(yīng)MEDLL算法的即時(shí)碼相關(guān)結(jié)果如圖9所示。
圖9 即時(shí)碼相關(guān)結(jié)果對比Fig.9 Comparison of prompt code correlation result
從圖9可以看到,由于多徑信號的影響,未采用自適應(yīng)MEDLL算法時(shí),即時(shí)碼的相關(guān)結(jié)果絕對值變化幅度較大,尤其是當(dāng)相關(guān)結(jié)果的絕對值較小時(shí),很可能會產(chǎn)生導(dǎo)航電文誤碼,這對實(shí)際定位非常不利。而在采用自適應(yīng)MEDLL算法后,多徑信號對即時(shí)碼相關(guān)結(jié)果的影響明顯減小,證明自適應(yīng)MEDLL算法在接收機(jī)定位時(shí)有抗多徑效果。
為了對比在低信噪比下自適應(yīng)MEDLL算法與其他MEDLL改進(jìn)算法的性能,本實(shí)驗(yàn)將采用本算法得到的多徑估計(jì)結(jié)果與TK-MEDLL算法和網(wǎng)格化MEDLL算法得到的多徑估計(jì)結(jié)果進(jìn)行分析。實(shí)驗(yàn)在Matlab仿真平臺上進(jìn)行。為了確保試驗(yàn)的嚴(yán)謹(jǐn)性,算法參數(shù)保持一致:實(shí)驗(yàn)采用GPS L1 PRN1信號。設(shè)定普通相關(guān)器時(shí)延從-1碼片到1碼片,間隔0.05碼片,共41個(gè)普通相關(guān)器。參考相關(guān)器時(shí)延為2碼片,網(wǎng)格化MEDLL算法估計(jì)范圍從0到1碼片,間隔0.05碼片。各路信號參數(shù)為時(shí)延τ=[0,0.2,0.5]碼片,幅值α=[1,0.5,0.5]mV。
實(shí)驗(yàn)結(jié)果中,3種算法的多徑條數(shù)估計(jì)結(jié)果如圖10所示。
圖10 多徑條數(shù)估計(jì)結(jié)果對比Fig.10 Comparison of multipath number estimation result
由圖10可以看出,TK-MEDLL算法和網(wǎng)格化MEDLL算法的多徑條數(shù)估計(jì)結(jié)果錯(cuò)誤較多。對于TK-MEDLL算法而言,這是由于TK算子容易受噪聲影響,因此多徑條數(shù)估計(jì)值波動(dòng)較大,頻繁發(fā)生錯(cuò)誤;對于網(wǎng)格化MEDLL算法而言,這是因?yàn)樵撍惴ㄓ枚鄰椒倒烙?jì)的結(jié)果作為多徑條數(shù)估計(jì)的依據(jù),而多徑幅值估計(jì)結(jié)果受噪聲影響誤差較大,所以導(dǎo)致多徑條數(shù)估計(jì)不準(zhǔn)。相比之下,自適應(yīng)MEDLL算法在過渡期結(jié)束后的多徑條數(shù)估計(jì)結(jié)果一直保持穩(wěn)定,為后續(xù)進(jìn)行準(zhǔn)確的多徑參數(shù)估計(jì)提供了保障。
實(shí)驗(yàn)結(jié)果中,3種算法的直射信號幅值估計(jì)結(jié)果如圖11所示。
圖11 直射信號幅值估計(jì)結(jié)果對比Fig.11 Direct signal amplitude estimation result comparison
從圖11可以看出,相比于網(wǎng)格化MEDLL算法和TK-MEDLL算法,自適應(yīng)MEDLL算法的直射信號幅值估計(jì)結(jié)果波動(dòng)更小,其誤差均方根為0.055 mV。作為對比,TK-MEDLL算法的直射信號幅值估計(jì)誤差均方根為0.097 mV,網(wǎng)格化MEDLL算法的直射信號幅值估計(jì)誤差均方根為0.135 mV。這證明在低信噪比條件下,自適應(yīng)MEDLL算法的多徑估計(jì)結(jié)果更加準(zhǔn)確。
改變信噪比,進(jìn)行多次重復(fù)實(shí)驗(yàn),3種算法的直射信號幅值估計(jì)誤差均方根隨信噪比的變化情況如圖12所示。
圖12 直射信號幅值估計(jì)誤差均方根對比Fig.12 Comparison of direct signal amplitude estimation error root mean square
由圖12可以看出,在信噪比高時(shí),3種算法的性能并沒有明顯區(qū)別,而隨著信噪比降低,自適應(yīng)MEDLL算法的多徑估計(jì)誤差提升更慢。相比網(wǎng)格化MEDLL算法,自適應(yīng)MEDLL算法的直射信號幅值估計(jì)誤差均方根最高可以降低59%,相比TK-MEDLL算法最高可以降低43%,這說明這一算法對噪聲更不敏感,在低信噪比條件下有著更好的性能。
針對室內(nèi)環(huán)境下偽衛(wèi)星定位系統(tǒng)受多徑效應(yīng)影響嚴(yán)重的問題,本文提出了一種基于自適應(yīng)MEDLL的偽衛(wèi)星室內(nèi)多徑估計(jì)算法。該算法在MEDLL的基礎(chǔ)上增加了一個(gè)參考相關(guān)器,以該相關(guān)器輸出值為衡量基準(zhǔn),對其余相關(guān)器經(jīng)過MEDLL消除所有信號影響后的噪聲相關(guān)值進(jìn)行比較,從而得到多徑條數(shù)的準(zhǔn)確估計(jì)。性能測試實(shí)驗(yàn)表明:① 自適應(yīng)MEDLL算法對不同時(shí)延、不同幅值多徑的適應(yīng)性都較好,雖然在低信噪比環(huán)境下對低時(shí)延多徑信號會存在誤判,但用簡單的檢測或?yàn)V波就可以進(jìn)行修復(fù);② 在低信噪比環(huán)境下,網(wǎng)格化MEDLL算法和TK-MEDLL算法均不能正確估計(jì)多徑條數(shù),而自適應(yīng)MEDLL算法仍能進(jìn)行正確的估計(jì),進(jìn)而保障多徑參數(shù)估計(jì)的準(zhǔn)確度;③ 隨著信噪比降低,自適應(yīng)MEDLL算法的多徑估計(jì)誤差提升更慢。相比網(wǎng)格化MEDLL算法,自適應(yīng)MEDLL算法的直射信號幅值估計(jì)誤差均方根最高可以降低59%,相比TK-MEDLL算法最高可以降低43%,這說明這一算法對噪聲更不敏感,在低信噪比條件下有著更好的性能,更加適用于偽衛(wèi)星室內(nèi)定位系統(tǒng)抗多徑。
此外,雖然本文提出的多徑條數(shù)估計(jì)策略與MEDLL算法配合得更為緊密,但此多徑條數(shù)估計(jì)策略并不僅僅適用于MEDLL算法。在卡爾曼濾波等其他抗多徑算法中,也可以將其添加進(jìn)去,除了會增加一些算力消耗,并不會引起沖突??梢灶A(yù)見,該多徑條數(shù)估計(jì)策略可以在各種多徑估計(jì)算法中發(fā)揮自身的作用。