本發明涉及定位技術領域,特別是涉及基于RSSI的室內定位方法與系統。
背景技術:
室外主要通過北斗定位系統或全球定位系統(Global Positioning System,GPS)進行人員和車輛定位,目前的民用系統的精度已經達到10米以內,且系統精度與設備數量沒有直接的關系,能夠滿足室外定位的需求。在室內場景中,如何設計和實現適用于室內場景的定位算法和系統,是當前定位技術研究的關鍵所在。
一般的室內定位技術主要通過搭建室內定位系統,通過多基站完成對目標的測量和定位。其中基于接收信號強度指示(Received Signal Strength Indication,RSSI)測距的泰勒級數算法,由于測量容易且實現簡單,應用廣泛。基于RSSI測距的泰勒級數算法,來源于三邊定位算法,通過在待測場景中放置多個定位基站,測量待測節點與定位基站之間的RSSI值,計算距離信息得出待測節點位置,測量原理如圖1所示。由于基于接收信號強度指示RSSI隨距離變化,參考節點到待測節點或稱盲節點的距離d1、d2、d3,可以通過各參考基站接收信號RSSI的測量值反推得出,上述基于RSSI測距定位法,通過定位基站接收信號,完成待測節點RSSI值的檢測和兩者之間距離的判斷。
雖然理論上基于RSSI定位算法能夠基本實現室內定位,但是在實際應用中,由于未考慮實際測量過程中的偶然誤差對于測量結果的影響,算法將所有測量數據進行平均后,用于后續定位計算,會影響數據的有效性和定位精度,另外,在測量過程還存在噪音干擾與障礙遮擋,最終造成定位結果不準確。
技術實現要素:
基于此,有必要針對一般室內定位方法定位結果不準確的問題,提供一種定位準確的基于RSSI的室內定位方法與系統。
一種基于RSSI的室內定位方法,包括步驟:
分別采集至少三個定位基站接收的RSSI信號;
對采集的RSSI信號進行高斯擬合處理,保留采集的RSSI信號中滿足預設概率閾值的大概率RSSI信號,獲得有效RSSI信號;
對有效RSSI信號進行小波變換,獲得去噪后的有效RSSI信號;
根據去噪后的有效RSSI信號,采用正定校正矩陣改進后的泰勒算法進行室內定位,獲得定位結果。
一種基于RSSI的室內定位系統,包括:
采集模塊,用于分別采集至少三個定位基站接收的RSSI信號;
高斯處理模塊,用于對采集的RSSI信號進行高斯擬合處理,保留采集的RSSI信號中滿足預設概率閾值的大概率RSSI信號,獲得有效RSSI信號;
小波變換處理模塊,用于對有效RSSI信號進行小波變換,獲得去噪后的有效RSSI信號;
泰勒校正模塊,用于根據去噪后的有效RSSI信號,采用正定校正矩陣改進后的泰勒算法進行室內定位,獲得定位結果。
本發明基于RSSI的室內定位方法與系統,分別采集至少三個定位基站接收的RSSI信號,對采集的RSSI信號進行高斯擬合處理,保留采集的RSSI信號中滿足預設概率閾值的大概率RSSI信號,獲得有效RSSI信號,對有效RSSI信號進行小波變換,獲得去噪后的有效RSSI信號,根據去噪后的有效RSSI信號,采用正定校正矩陣改進后的泰勒算法進行室內定位,獲得定位結果。整個過程中,高斯擬合和小波變換處理進行數據篩選與去噪,并考慮室內場景中大型設備和人員移動導致測量RSSI值的變化,引入正定矩陣校正估計偏移量的誤差,有效提高定位精度。
附圖說明
圖1位傳統基于RSSI定位的原理示意圖;
圖2為本發明基于RSSI的室內定位方法第一個實施例的流程示意圖;
圖3為本發明基于RSSI的室內定位方法第二個實施例的流程示意圖;
圖4為本發明基于RSSI的室內定位系統第一個實施例的結構示意圖;
圖5為本發明基于RSSI的室內定位系統第二個實施例的結構示意圖;
圖6為應用本發明基于RSSI的室內定位方法與系統的定位結果與傳統室內定位方法的定位結果對比圖。
具體實施方式
為了更進一步詳細解釋本發明基于RSSI的室內定位方法與系統的技術原理,下面針對常規技術進行更詳細的介紹。
在傳統的基于RSSI的定位方法中,其測量原理圖如圖1所示,該場景中用于定位的3個定位基站坐標分別為(x1,y1)、(x2,y2)和(x3,y3)。由于基于接收信號強度指示RSSI隨距離變化,參考節點到待測節點或稱盲節點(x,y)的距離d1、d2、d3,可以通過各參考基站接收信號RSSI的測量值反推得出,具體如式(1)所示。式中A為距離信號源1米處接收信號強度的平均值,n為路徑損耗指數與具體的傳播環境密切相關,Xε為隨機誤差。
RSSI(d)=-(10nlog10d+A+Xε) 式(1)
不同定位基站坐標(x1,y1)、(x2,y2)和(x3,y3)與盲節點(待測節點)(x,y)位置坐標,以及基于RSSI測量反推得出的距離d1、d2、d3,滿足式(2)關系。
通過式(2)可以得出,盲節點位置坐標如式(3)。
上述傳統的基于RSSI測距定位法,通過定位基站接收信號,完成待測節點RSSI值的檢測和兩者之間距離的判斷。算法并未考慮實際系統RSSI參數測量的誤差與波動,當定位基站數目大于3個時,多定位基站測量可以提升測量精度,此時式(2)變為超定方程,原算法不能夠有效求解,此時需要通過泰勒(Taylor)級數算法將超定方程進行泰勒級數展開,保留線性的前兩項是基于泰勒級數展開的加權似然估計遞歸算法,其基本原理是將非線性方程在初始估計值處進行泰勒級數展開,保留前兩項,再用加權似然估計算法求解該方程。上述算法應用于室內場景時,需要從以下幾個方面進行改進:1)RSSI測距定位的理論基礎;2)RSSI信號的測量過程中,受到加性噪聲的影響,傳統泰勒級數展開定位算法考慮到系統和算法的簡單有效性,以及不同系統中定位終端的運算和處理能力的限制,僅僅對多個測量值進行平均,未對測量結果進行深入處理,由于室內定位可以為多基站定位系統,在終端的處理和運算能力足夠,并且都具有持續的電量供給的前提下,可以充分利用定位基站的處理和運算能力去除測量中的加性噪聲,改善測量結果的可靠性,提高定位精度,例如在蓄能水電站的應用場景;3)在室內(例如廠房內)大型設備的遮擋和人員的運動,會導致不同定位基站接收到的RSSI值差異較大,但此時泰勒級數算法的求解,并未考慮去噪后的接收信號強度指示值RSSI的大小在測距時對于定位誤差的影響。
針對上述三方面問題,本發明基于RSSI的室內定位方法與系統主要從三個層面進行改進。1)在數據篩選階段,考慮實際測量過程中的偶然誤差對于測量結果的影響,對定位基站測量的大量RSSI信號進行高斯擬合處理,保留其中滿足概率閾值的大概率測量值,提高了測量數據的有效性;2)在數據處理階段,對篩選出的有效測量信號進行小波變換,去除測量中的加性噪聲,降低了測量過程引入的噪聲對于定位算法的影響;3)對泰勒級數算法進行了改進,考慮去噪后的RSSI的平均值大小在測距時對于定位誤差的影響。此時,RSSI平均值越大,說明測量時待測節點和定位基站之間的信道質量越好,則測量結果越準確,此時RSSI值對于測量結果偏移量的影響越小。所以本發明基于RSSI的室內定位方法與系統通過引入正定校正矩陣,校正了RSSI均值對于定位結果的影響程度。綜上,基于RSSI的蓄能水電站室內定位算法,在數據篩選和處理階段,充分考慮了誤差和噪聲的影響;在定位算法實現階段,通過引入正定校正矩陣,優化了計算結果,能夠有效提高室內定位算法的可靠性以及定位精度。
如圖2所示,一種基于RSSI的室內定位方法,包括步驟:
S200:分別采集至少三個定位基站接收的RSSI信號。
在這里采集最少三個定位基站接收的RSSI信號,若數據處理能力足夠,可以采集更多數量的定位基站接收的RSSI信號。非必要的,針對單個定位基站接收的RSSI信號,可以采集一段時間內接收的RSSI信號再求取其平均值作為該定位基站初始接收的RSSI信號。
S400:對采集的RSSI信號進行高斯擬合處理,保留采集的RSSI信號中滿足預設概率閾值的大概率RSSI信號,獲得有效RSSI信號。
在數據篩選階段,考慮實際測量過程中的偶然誤差對于測量結果的影響,對定位基站接收的大量RSSI信號進行高斯擬合處理,保留其中滿足概率閾值的大概率RSSI信號,提高了測量數據的有效性。
具體來說,如圖3所示,在其中一個實施例中,步驟S400包括:
S420:計算采集的RSSI信號的高斯分布均值與方差。
在實際定位測量的過程中,定位基站在不同時刻進行定位探測,接收和測量得到大量的RSSI值,由于式(1)中隨機誤差Xε的影響,同一基站在不同時刻測得的RSSI值理論上服從(μ,σ2)的高斯分布。
S440:根據采集的RSSI信號的高斯分布均值與方差,計算采集的RSSI信號的概率密度值。
其概率密度函數表示為:
其中RSSI高斯分布的均值為方差
S460:將采集的RSSI信號的概率密度值與預設概率閾值比較,丟棄概率密度值小于預設概率閾值對應的RSSI信號,概率密度值大于或等于預設概率閾值對應的RSSI信號,獲得有效RSSI信號。
為了避免各種原因的偶然誤差,導致的RSSI變化影響定位算法準確性,需要通過RSSI高斯擬合去除誤差數據,即通過擬合之后去除由于各種誤差引起的概率分布中的小概率事件。確定預設概率閾值TFLT,當0≤f(RSSI)<TFLT,認為此時的RSSI值,出現概率較小,不滿足門限要求,將此接收信號強度指示值去除;當TFLT≤f(RSSI)<1時,此時的RSSI在擬合的概率密度較大區域,擬合說明接收信號強度指示值也大多分布于此區域,所以數據應予以保留。優選地,TFLT可以根據工程經驗設置為0.6,則RSSI滿足0.6≤f(RSSI)<1,即μ+0.15σ≤RSSI≤μ+3.09σ時,當接收的RSSI值屬于此區域時,將數據保留,否則,認為是小概率數據,剔除。
S600:對有效RSSI信號進行小波變換,獲得去噪后的有效RSSI信號。
通過高斯擬合篩選出的有效數據,濾除了可能由于各種誤差導致的小概率測量數據,如果直接使用篩選后的各基站測量的多個RSSI的平均值進行后續的定位估計,算法精度會受到測量時疊加的加性噪聲的影響。所以,為了去除測量時系統噪聲對于測量數據的影響,在這里,使用小波變換對測量信號進行去噪處理,降低測量過程引入的噪聲對于定位算法的影響。具體來說,可以通過測量信號RSSI進行多分辨率小波分解從時域變換到小波域,合理選取閾值函數和閾值,將噪聲所對應的小波系數按閾值函數進行處理,進行小波重構,將經過去噪處理后的數據從小波域變換回時域,得到去噪后的接收信號強度指示。
更進一步來說,在其中一個實施例中,步驟S600包括:
步驟一:將有效RSSI信號分解到小波域,獲得至少兩層小波系數以及與各層小波系數對應的尺度系數。
在具體應用實例中,可以選取Sym4小波以及恰當的分解層數,對篩選過的接收信號進行分解和重構,基于Sym4小波的分解濾波器為一個低通濾波器和一個高通濾波器。簡單來說,該步驟是將含有噪聲的接收信號變換分解到小波域,從而將接收信號和噪聲干擾進行分離。由于小波變換是線性變換,對接收信號作離散小波變換后得到的小波系數仍由兩部分組成,一部分是信號對應的小波系數,另一部分是噪聲對應的小波系數。基于有用信號和噪聲在經小波變換后具有不同的統計特性:有用信號的能量對應著幅值較大的小波系數,噪聲能量則對應著幅值較小的小波系數,并分散在小波變換后的所有系數中。分析不同分解層中小波系數的特點,可以區分信號中的噪聲和有效信號。由小波分解與重構快速算法(Mallet算法)可知,分解濾波的過程如下公式所示:
在式(5)中,dj,k為小波系數,cj,k為尺度系數,h,g為正交鏡像濾波器組,h為低通濾波器,g為高通濾波器,j為分層數,N為離散采樣點的數目。
步驟二:將至少兩層小波系數分別與預設小波分解閾值進行比較,強制歸零小于預設小波分解閾值的小波系數,并修正大于或等于預設小波分解閾值的小波系數,獲得修正后的小波系數。
基于小波分解閾值去噪效果的好壞取決于小波基的選擇、小波分解層數的確定以及閾值函數和閾值估計方法的選取。其中最重要的因素就是如何選擇閾值函數以及確定所選擇的閾值。優選地,采用分層固定軟閾值法,按照式(6)對信號的小波系數進行處理。
對于小于閾值的小波系數,直接強制歸零,而對于大于閾值的小波系數,則對其做修正處理。由于噪聲是隨機的不可預知的信號,在實際去噪過程中采用固定閾值進行估計。令式(6)中的預設小波分解閾值M為信號的長度。
步驟三:對修正后的小波系數與小波系數對應的尺度系數進行小波重構處理,獲得去噪后的有效RSSI信號。
小波重構即是對去噪后的尺度系數和小波系數進行重構,從而變換為時域信號。同樣得,小波重構過程是通過重構濾波器實現的,重構濾波器同樣包括一個低通濾波器和一個高通濾波器。
其中cj,n為尺度系數,dj,n為小波系數,同時相應的hk-2n為重構低通濾波器,gk-2n為重構高通濾波器,j為分層數。可選的,可以使用小波包分析法對多分辨率小波分解沒有細分的高頻小波系數進一步分解,從而能夠反映出更精細的高頻信息,具有更為精確的局部分析能力,提高了時頻分辨率。通過小波重構,去除了高斯擬合篩選出的有效數據中的加性噪聲,去噪后的接收信號強度指示表示為RSSI。
S800:根據去噪后的有效RSSI信號,采用正定校正矩陣改進后的泰勒算法進行室內定位,獲得定位結果。
為了提高室內定位系統的精度,在測量時,采用多基站進行定位估計,當基站數目大于3個時,此時式(2)變為超定方程,通過泰勒(Taylor)級數算法求解盲節點(待測節點)坐標。泰勒級數算法的原理是利用泰勒級數展開,并通過加權最小二估計算法結合遞歸求解,但此時算法的求解,并未考慮接收信號強度指示值RSSI在測距時對于定位誤差的影響,在室內,可能存在室內設備的遮擋和人員的運動,會導致不同定位基站接收到的RSSI值差異較大,其中RSSI信號經過了前面的誤差剔除和小波變換去噪處理之后的RSSI平均值越大,說明測量時待測節點和定位基站之間的信道質量越好,則測量結果越準確,此時RSSI均值對于測量結果偏移量Δx和Δy的影響越小。所以在求解過程中加入正定矩陣R進行校正。其步驟主要包括:首先,通過加權似然法得到盲節點初始估計值的坐標(x',y'),將超定方程式(2)在初始估計值處進行泰勒級數展開,并忽略高次項,僅保留前兩項,之后使用加權似然估計算法求解該方程。此時可以通過將加權似然法得到的初始坐標作為泰勒級數的初始展開位置,減少了迭代次數,降低了定位誤差。
更進一步來說,在其中一個實施例中,步驟S800之前還包括步驟:
步驟一:根據去噪后的有效RSSI信號以及定位基站的位置,通過加權最大似然法,計算待測節點初始估計坐標。
在平面坐標系中,設(x,y)為待測盲節點的真實坐標,(x',y')為待測盲節點的估計坐標,(xi,yi)為第i個定位基站的坐標。參考基站節點到待測節點或稱盲節點(x,y)的距離分別為d1,d2,d3,...,dn,可以表示為:
通過加權似然法得到盲節點初始估計值的坐標(x',y'),參考基站節點與該估計坐標值之間的距離表示為d1',d2',d3',...,dn',滿足式(9)。
步驟二:在待測節點初始估計坐標處進行泰勒展開,獲得待測節點與各定位基站之間初始測量距離與真實距離的矩陣。
將節點的真實坐標可表示為加權似然得到的坐標與位置偏移量之和x=x'+Δx,y=y'+Δy,則將式(8)在盲節點初始估計值的坐標(x',y')處按照泰格級數展開,忽略高次非線性項,可得
將算法測量距離與真實距離的差距值用矩陣B=(d1-d1' d2-d2' ... di-di' ... dn-dn')T表示,則通過推導可得
B=AΔ 式(11)
其中,
步驟三:對待測節點與各定位基站之間初始測量距離與真實距離的矩陣中加入正定校正矩陣,獲得正定校正矩陣改進后的泰勒算法。
考慮接收信號強度指示值RSSI在測距時對于定位誤差的影響,在蓄能水電站電廠內部,廠房內部設備的遮擋和人員的運動,會導致不同定位基站接收到的RSSI值差異較大,其中RSSI信號經過了前面的誤差剔除和小波變換去噪處理之后的RSSI平均值越大,說明測量時待測節點和定位基站之間的信道質量越好,則測量結果越準確,此時RSSI值對于測量結果偏移量Δx和Δy的影響越小。所以在求解過程中加入校正矩陣,R為正定對角矩陣,加入R校正后,表示為:
RB=AΔ,解出Δ=(ATA)-1ATRB 式(12)
正定校正矩陣表示為:
在本實施例中,步驟S800具體過程如下:
采用正定校正矩陣改進后的泰勒算法進行迭代計算,以進行室內定位,獲得最終的定位結果。令重復上述過程,直到|Δx|+|Δy|<ε,ε為預先設定的閾值,將此時的(x',y')作為盲節點最終的估計位置。
本發明基于RSSI的室內定位方法,分別采集至少三個定位基站接收的RSSI信號,對采集的RSSI信號進行高斯擬合處理,保留采集的RSSI信號中滿足預設概率閾值的大概率RSSI信號,獲得有效RSSI信號,對有效RSSI信號進行小波變換,獲得去噪后的有效RSSI信號,根據去噪后的有效RSSI信號,采用正定校正矩陣改進后的泰勒算法進行室內定位,獲得定位結果。整個過程中,高斯擬合和小波變換處理進行數據篩選與去噪,并考慮室內場景中大型設備和人員移動導致測量RSSI值的變化,引入正定矩陣校正估計偏移量的誤差,有效提高定位精度。
如圖4所示,一種基于RSSI的室內定位系統,包括:
采集模塊200,用于分別采集至少三個定位基站接收的RSSI信號。
高斯處理模塊400,用于對采集的RSSI信號進行高斯擬合處理,保留采集的RSSI信號中滿足預設概率閾值的大概率RSSI信號,獲得有效RSSI信號。
小波變換處理模塊600,用于對有效RSSI信號進行小波變換,獲得去噪后的有效RSSI信號。
泰勒校正模塊800,用于根據去噪后的有效RSSI信號,采用正定校正矩陣改進后的泰勒算法進行室內定位,獲得定位結果。
本發明基于RSSI的室內定位系統,采集模塊200分別采集至少三個定位基站接收的RSSI信號,高斯處理模塊400對采集的RSSI信號進行高斯擬合處理,保留采集的RSSI信號中滿足預設概率閾值的大概率RSSI信號,獲得有效RSSI信號,小波變換處理模塊600對有效RSSI信號進行小波變換,獲得去噪后的有效RSSI信號,泰勒校正模塊800根據去噪后的有效RSSI信號,采用正定校正矩陣改進后的泰勒算法進行室內定位,獲得定位結果。整個過程中,高斯擬合和小波變換處理進行數據篩選與去噪,并考慮室內場景中大型設備和人員移動導致測量RSSI值的變化,引入正定矩陣校正估計偏移量的誤差,有效提高定位精度
如圖5所示,在其中一個實施例中,高斯處理模塊400包括:
計算單元420,用于計算采集的RSSI信號的高斯分布均值與方差。
高斯處理單元440,用于根據采集的RSSI信號的高斯分布均值與方差,計算采集的RSSI信號的概率密度值。
篩選單元460,用于將采集的RSSI信號的概率密度值與預設概率閾值比較,丟棄概率密度值小于預設概率閾值對應的RSSI信號,概率密度值大于或等于預設概率閾值對應的RSSI信號,獲得有效RSSI信號。
在其中一個實施例中,小波變換處理模塊600包括:
分解單元,用于將有效RSSI信號分解到小波域,獲得至少兩層小波系數以及與各層小波系數對應的尺度系數。
去噪單元,用于將至少兩層小波系數分別與預設小波分解閾值進行比較,強制歸零小于預設小波分解閾值的小波系數,并修正大于或等于預設小波分解閾值的小波系數,獲得修正后的小波系數。
重構單元,用于對修正后的小波系數與小波系數對應的尺度系數進行小波重構處理,獲得去噪后的有效RSSI信號。
在其中一個實施例中,本發明基于RSSI的室內定位系統還包括:
初始坐標模塊,用于根據去噪后的有效RSSI信號以及定位基站的位置,通過加權最大似然法,計算待測節點初始估計坐標。
距離極端模塊,用于在待測節點初始估計坐標處進行泰勒展開,獲得待測節點與各定位基站之間初始測量距離與真實距離的矩陣。
校正改進模塊,用于對待測節點與各定位基站之間初始測量距離與真實距離的矩陣中加入正定校正矩陣,獲得正定校正矩陣改進后的泰勒算法。
在其中一個實施例中,校正改進模塊中正定校正矩陣的函數表達式為:
式中,為第i個定位基站采集的RSSI的平均值。
為了更進一步詳細解釋本發明基于RSSI的室內定位與系統的技術方案以及帶來的效果,下面將采用具體應用實例進行說明。
假定在40米*36米的測試房間中放置9個測試基站(房間的四邊以及水平、垂直中線上均勻分布,放置3個測量定位基站),保持房間中原有設備的放置并在測試過程中,加入人員移動的干擾,盡量接近真實的室內衰落和多徑環境。定位估計誤差表示如式(13)所描述,(x,y)為待測盲節點的真實坐標,(x',y')為待測盲節點的估計坐標。
在待測廠房中,分別進行了10次定位測試,每次測試時定位基站接收500次RSSI信號用于定位計算。圖6比較了泰勒級數展開算法,和本發明基于RSSI的室內定位與系統的高斯篩選-小波變換-校正泰勒級數展開算法的定位結果,使用工程上的定位誤差來表示定位結果的精確程度。可以看到,由于本發明基于RSSI的室內定位與系統對于測量結果通過高斯擬合篩選,去除了小概率的誤差值,并且通過小波變換,去除了系統加性噪聲的影響,通過添加校正提高定位算法的性能,所以在定位估計誤差方面,本發明基于RSSI的室內定位與系統可以將定位精度控制在1.50米以內,同時,傳統室內定位算法由于誤差和噪聲的影響,總體波動較大,本發明基于RSSI的室內定位與系統改進后的方案通過高斯篩選,小波變換的環節的數據處理,有效降低了誤差波動的影響,提高的系統定位的穩定性和精確性。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。