一種粒子濾波raim方法的fpga實現方法
【技術領域】 [0001] :本發明涉及衛星導航定位中的接收機自主完好性監測技術,在航空導 航中有著十分重要的作用,是判斷導航定位是否可靠的重要方法,尤其涉及的是一種基于 粒子濾波的RA頂方法,并用FPGA來進行算法的硬件實現。具體而言,使粒子濾波RAM方 法在實際的硬件電路中實現,能夠嵌入到衛星導航接收機中。
【背景技術】 [0002] :接收機自主完好性監測(ReceiverAutonomousIntegrityMonitor, RAIM),是一種利用冗余觀測量進行一致性校驗的技術。它能夠在導航系統的誤差超過允許 的限值而不能勝任規定的導航工作時,系統及時報警,通知用戶此時衛星導航定位結果不 可靠,以利用其他的導航系統為飛機提供位置等信息,從而保證飛行的安全。
[0003] 隨著國際航空運輸業務量的高速增長,航空飛行器的高精度和完好性服務越來越 被人們所重視。受到衛星星歷、衛星鐘差、電離層和對流層延遲,以及多徑效應和接收機熱 噪聲等因素的影響,飛行器所使用的衛星導航系統所估計計算的位置可能超過空域監視所 容許的范圍,而飛機對誤差超限又存在盲視問題,即定位完好問題。由于導航信號來自高空 衛星,信號很弱,很容易被刻意的強信號壓制,其完好性始終是航空導航所關注的。同時,衛 星故障、導航信號獲取不及時和有意/無意信號干擾的影響,都會嚴重影響導航服務和完 好性服務的可靠性。尤其在飛行器進離場階段,需要極高的定位精度,電磁干擾、氣象和地 理環境等因素可能導致嚴重的飛行事故。在與生命相關的導航應用服務中,完好性問題非 常重要,一旦產生差錯故障,后果可能非常嚴重。因此,隨著人們對導航系統的可靠性和安 全性的日益關注,完好性監測日益成為研宄的熱點。
[0004] 目前,RAM算法包括兩大類:一類是利用當前偽距觀測值的快照方法,包括最小 二乘法、奇偶向量法等;另一類是基于Kalman濾波的RAM算法。但是兩類RAM算法模型都 局限于線性系統,但實際系統通常為非線性的,建模不準會帶來殘差,使導航系統的可靠性 降低。傳統的RAM算法觀測模型不完善,未能全面考慮到偽距觀測模型簡化、噪聲統計不 準確等復雜因素的考慮,同時對于非高斯非線性的實際系統,已有的RAM方法也不存在著 估計誤差大等問題,因此,建立一種有效的RAM算法模型,并進行硬件實現是很有必要的。
【發明內容】
[0005] :針對上述現有技術的缺點,本發明提供了一種粒子濾波RAIM方法的 FPGA實現方法。
[0006] 為實現上述目的,本發明采用的技術方案是:一種粒子濾波RAM方法的FPGA實現 方法,所述方法包含如下步驟:
[0007] 第一步,建立基于粒子濾波的RA頂算法的狀態空間模型;
[0008] 第二步,建立基于粒子濾波RAM算法;
[0009] 第三步,算法的FPGA硬件實現。
[0010] 本發明的優點在于:
[0011] 1、基于粒子濾波的RA頂算法,能夠在非高斯非線性的環境中,能夠有效的檢測出 衛星故障和隔離故障衛星。
[0012] 2、傳統的算法只存在于理論仿真,本發明能夠用FPGA來硬件實現該算法,具有實 際的應用價值。
【附圖說明】:
[0013] 圖1是基于粒子濾波的故障檢測方法。
[0014] 圖2是本發明的FPGA實現算法的MicroBlaze軟核和邏輯核的結構圖。
[0015] 圖3是本發明FPGA實現算法的各模塊整體框圖。
【具體實施方式】:
[0016] 下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清晰、完 整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例?;?本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他 實施例,都屬于本發明保護的范圍。
[0017] 首先介紹如下的概念與定義:
[0018] 1、粒子濾波算法:粒子濾波是一種基于蒙特卡羅和遞推貝葉斯的估計統計濾波方 法。它依據于大數定理采用蒙特卡羅方法來求解貝葉斯估計中的積分運算,其實質是用由 粒子及其權重組成的離散隨機測度近似相關的概率分布,并根據算法遞推更新離散隨機測 度。它可適用于任何能用狀態空間模型表示的非高斯背景的非線性隨機系統,精度可以逼 近最優估計,是一種很有效的非線性濾波技術,廣泛用于數字通信、衛星導航、金融領域數 據分析、統計學、圖像處理、計算機視覺、自適應估計、語音信號處理、機器學習等領域。
[0019] 2、重采樣:在粒子濾波算法中,隨著迭代運算的進行,大部分的粒子權值會變得接 近于〇,只有很小一部分的粒子權值會很大,出現粒子退化現象。重采樣能減少無效樣本、增 加有效的樣本來,即忽略小權值的粒子,保留并復制大權值粒子來代替它們,并使得每個粒 子的權值都為相同即為1/N,從而克服粒子退化問題。
[0020] 3、故障檢測與隔離:RAM算法計算出的檢測限值超過規定的檢測閾值,則認為當 前導航系統出現故障,之后計算每顆衛星的檢測統計量,并與得到的檢測閾值相比較,從而 確定出故障的衛星,到以后的導航解算中剔除該衛星,從而達到隔離故障衛星。
[0021] 4、MicroBlaze軟核:MicroBlaze軟核是一種針對XilinxFPGA器件而優化的功能 強大的32位微處理器,是業界最快的軟處理器IP核解決方案,支持CoreConnect總線的標 準外設集合,具有兼容性和重復利用性。MicroBlaze軟核可根據性能需求和邏輯區域成本 進行任意裁剪,極大地擴展了MicroBlaze軟核的應用范圍。
[0022] 本發明提供的基于粒子濾波的RAM算法的FPGA實現方法,具體步驟如下:
[0023] 第一步,建立基于粒子濾波算法的狀態空間模型;
[0024] 粒子濾波算法采用的模型為狀態空間模型。狀態空間模型是描述非線性動態系統 的模型。任何動態的系統都可以分為狀態轉移系統和觀測系統兩部分,狀態空間方法就是 利用狀態轉移方程描寫動態系統,利用測量方程提供狀態的測量信息。狀態轉移方程反映 了動態系統在輸入變量作用下隨著時間變化的規律;測量方程反映了系統在某時刻的輸出 和系統的狀態及輸入變量之間的關系。
[0025] 基本粒子濾波算法狀態模型:
[0026] 狀態轉移方程
[0027]xk=f.(x^,v^)
[0028] 測量方程
[0029] zk=hk(xk,n^)
[0030] 在式中,xk為狀態向量,zk為測量向量,vk_i為系統噪聲,為觀測的環境噪聲, 兩者均為一種隨機誤差,且相互獨立。fk為狀態轉移函數,hk為狀態向量和觀測向量之間的 傳遞函數。由于系統模型是非線性的,狀態轉移函數fk和傳遞函數hk也為非線性函數。在 非線性的高斯噪聲環境下,粒子濾波算法的最關鍵問題是要獲得先驗與后驗的分布密度函 數,并進行預測同時再求出它們的數字特征。
[0031] 在基于粒子濾波的RAM算法中,同樣也使用類似的狀態空間模型的方法來建立 模型。
[0032] 接收機的狀態轉移方程:
[0033] Xk -Fk-i^k-i+vk-i
[0034] 式中,X為四維矢量,X= [rx,ry,rz,At]1。rx,ry,rz是接收機的三維位置信息,At 為接收機站鐘的鐘差。F為轉移矩陣;v為測量的過程噪聲。
[0035] 偽距觀測方程為:
[0036] p1 (k) =R1 (k)+cAt^T1 (k) +E1 (k) +e1 (k)
[0037] 式中,Pi(k)為在觀測時刻為k時,由第i顆衛星〇?()到接收機的測碼偽距。 c為光速;At為接收機站鐘的鐘差#為對流層延時;E1為星歷誤差影響;e為碼觀測噪 聲;其中紀為接收機與第i顆衛星之間的實際距離
【主權項】
1. 一種粒子濾波RAM方法的FPGA實現方法,