新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 高性能維特比在衛(wèi)星導(dǎo)航接收機中FPGA實現(xiàn)

高性能維特比在衛(wèi)星導(dǎo)航接收機中FPGA實現(xiàn)

作者: 時間:2012-04-25 來源:網(wǎng)絡(luò) 收藏

2.2 加比選蝶形單元
加比選(ACS)單元是完成幸存路徑的延伸和判決向量的生成,計算過程包括度量值的累加、比較、選擇路徑操作。對(2,1,3)卷積碼而言,共4個狀態(tài),組成2個蝶形運算單元;而(2,1,7)卷積碼則64個狀態(tài),組成32個蝶形單元。在K=7的卷積碼中,有64個狀態(tài)的路徑,所以根據(jù)待譯碼的長度,適當(dāng)增加累加值的位寬,防止度量值溢出。
2.3 幸存路徑存儲單元
幸存路徑存儲是用來存儲每次蝶形運算完成單元后所選擇的路徑,存儲單元的大小為譯碼深度乘以狀態(tài)個數(shù)。對每一個加比選過程的存儲,實際就是對幸存路徑的存儲。
2.4 回溯單元
由VA算法可知,在網(wǎng)格圖上經(jīng)過大約5倍的約束長度之后,所有幸存路徑將匯聚到一起。因此選擇合適的回溯長度L,并從任一條路徑開始(比如0狀態(tài))開始回溯,當(dāng)回溯到L個節(jié)點時開始輸出譯碼比特。

3 GPS L2和GALILEO E1的高Viterbi譯碼具體模塊設(shè)計
根據(jù)GPS和GALILEO的接口文件,L2頻點電文采用(2,1,7)卷積碼的形式,碼多項式為(171,133)o,且與GALILEO E1的卷積碼格式相同,GALILEO采用分段卷積的形式,參與卷積的為每頁中不包含同步頭的部分,即120位進(jìn)行卷積。為了能同時作為GPS和GALILEO的譯碼器,設(shè)計譯碼深度為120的譯碼器。

本文引用地址:http://2s4d.com/article/190478.htm

h.JPG


的Viterbi譯碼模塊包括:地址譯碼模塊、數(shù)據(jù)加載模塊、Viterbi譯碼模塊、輸出控制模塊。為了提高譯碼器的,Viterbi譯碼模塊的加比選蝶形單元采用32個并行結(jié)構(gòu),提高運算速度。
3.1 地址譯碼及數(shù)據(jù)加載
地址譯碼包括總線讀寫譯碼,由于Viterbi模塊作為一個獨立模塊,內(nèi)部地址采用自己的譯碼設(shè)計。
深度為120的Viterbi譯碼器,需要輸入240個卷積碼,對于總線32位CPU,需要8次寫入完成數(shù)據(jù)輸入。最少需要8個地址單元,Viterbi譯碼輸出最少需要4個地址單元,譯碼狀態(tài)中斷輸出,狀態(tài)位清除,即整個譯碼器模塊需要14個地址單元。地址線需要4根即可。
地址譯碼電路采用組合邏輯設(shè)計。譯碼狀態(tài)中斷輸出、狀態(tài)位清零采用不同時鐘域同步。
數(shù)據(jù)加載模塊是加載寄存器內(nèi)數(shù)據(jù),然后按照順序,1次按2位串行輸出。
3.2 Viterbi譯碼模塊
Viterbi譯碼模塊采用的譯碼深度為120的(171,133)o譯碼設(shè)計,譯碼器結(jié)構(gòu)如圖6所示,由譯碼控制單元、度量值計算單元、蝶形運算、幸存路徑存儲、回溯輸出單元構(gòu)成。

j.JPG


(1)蝶形運算單元。按照(2,1,7),多項式為(171,133)卷積碼特點,基本蝶形單元分布見圖7。對于約束長度為7的卷積碼,共計64個狀態(tài),形成32個基2的蝶形運算單元見圖8。

k.JPG


蝶形單元的輸入信號為上次的度量和,與接收碼本蝶形單元中理論輸出碼的碼距度量,如圖9所示。

i.JPG



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉