新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 高性能維特比在衛星導航接收機中FPGA實現

        高性能維特比在衛星導航接收機中FPGA實現

        作者: 時間:2012-04-25 來源:網絡 收藏

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

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

        本文引用地址:http://www.104case.com/article/190478.htm

        h.JPG


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

        j.JPG


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

        k.JPG


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

        i.JPG



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 报价| 阜平县| 吉木萨尔县| 泉州市| 阿克苏市| 古田县| 兴义市| 绵阳市| 林芝县| 神农架林区| 报价| 隆德县| 栾川县| 海门市| 镇原县| 广汉市| 陵水| 浦县| 西藏| 翁源县| 阜阳市| 喀什市| 浦江县| 庆云县| 天全县| 育儿| 昌黎县| 莱阳市| 兴文县| 渭南市| 平山县| 循化| 改则县| 铁岭市| 九台市| 阿克| 永善县| 濉溪县| 勃利县| 积石山| 万源市|