高性能維特比在衛(wèi)星導(dǎo)航接收機(jī)中FPGA實(shí)現(xiàn)
輸出信號(hào)為幸存路徑、度量值和,選擇輸出為1,不選輸出為0,如表1所示。本文引用地址:http://www.ex-cimer.com/article/190478.htm
(2)幸存路徑存儲(chǔ)。經(jīng)過蝶形單元運(yùn)算的輸出,幸存路徑,64個(gè)狀態(tài),幸存路徑為64位,表示該狀態(tài)有或無,每進(jìn)行一次蝶形運(yùn)算,存入一個(gè)64位路徑信息,存儲(chǔ)器的寫入控制信號(hào)和地址信息由狀態(tài)控制單元發(fā)出,存儲(chǔ)空間為120×64 b。
(3)回溯及輸出?;厮葸^程即從地址最后向前一次讀取幸存路徑的值,得出譯碼電文。如圖10所示。
(4)狀態(tài)控制單元。狀態(tài)控制單元是對整個(gè)譯碼過程的控制,復(fù)位后,系統(tǒng)處在空狀態(tài),收到輸入的待譯數(shù)據(jù)后,進(jìn)入加比選狀態(tài),按照數(shù)據(jù)流順序進(jìn)行加比選蝶形運(yùn)算操作,進(jìn)入到譯碼深度的長度的加比選后,轉(zhuǎn)入譯碼回溯輸出單元,從最后一個(gè)回溯到第一個(gè)時(shí),即完成回溯,同時(shí)輸出譯碼電文和譯碼完成中斷,系統(tǒng)再次進(jìn)入等待狀態(tài),如圖11所示。
4 仿真及接收機(jī)測試結(jié)果
GPS/Galileo接收機(jī)通用的Viterbi譯碼器設(shè)計(jì)通過Modelsim仿真,能夠得出正確譯碼結(jié)果,編碼后在240個(gè)碼序列的228之前加入1位或2位錯(cuò)誤碼,均能正確糾錯(cuò),得到正確的譯碼結(jié)果。
譯碼延時(shí)260個(gè)時(shí)鐘周期。最大譯碼數(shù)據(jù)吞吐率達(dá)240×(150×1 000 00/260)=138 Mb/s。如圖12所示。
譯碼模塊在Altera StratixⅡ系列EP2S180F1020I4 FPGA平臺(tái)上,利用QuartusⅡ8.0進(jìn)行綜合和時(shí)序分析,最大速度可以達(dá)到150 MHz,資源使用量為:ALUTs占用2 679.Logic Registers占用1 465,與文獻(xiàn)相比,資源消耗大大減少。如圖13,圖14所示。
5 結(jié)語
本文所述基于FPGA的Viterbi譯碼器用于GPS/GALILE-O接收機(jī),能對GPS L2和GALILEO的電文進(jìn)行譯碼,糾錯(cuò)能力達(dá)到預(yù)期效果,FPGA資源使用量較低,主時(shí)鐘速度最大可達(dá)到150 MHz,譯碼處理延時(shí)達(dá)260個(gè)時(shí)鐘周期,譯碼深度為120,最大譯碼數(shù)據(jù)吞吐率達(dá)138 Mb/s,完全滿足GPS/GALILEO接收機(jī)電文接收譯碼速度要求。
評(píng)論