新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的卷積編譯碼器的設計與實現

        基于FPGA的卷積編譯碼器的設計與實現

        作者: 時間:2010-11-22 來源:網絡 收藏

        描述碼的方法主要有兩類:圖解表示和解析表示。上文提到的生成多項式G=(111,101)即是解析表示。碼的圖解表示又可分為樹狀圖、網格圖和狀態(tài)圖3種。下面介紹常用的樹狀圖表示(網格圖表示將在譯碼部分介紹)。在圖2所示的編碼樹狀圖中,假設移位寄存器的起始狀態(tài)全為0,當第1個輸入比特為O時,輸出比特為00;若輸入比特為1時,則輸出比特為11。隨著第2個比特輸入,第1個比特右移1位,此時輸出比特同時受當前輸入比特和第1個輸入比特的影響。第3個比特輸入時,第1、2比特分別右移1位,同時輸出2個由這3位移位寄存器存儲內容所共同決定的比特。當第4個比特輸入時,第1個比特移出移位寄存器而消失。移位過程可能產生的各種序列如圖3中的二叉樹。

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

        c.JPG



        2 Velerbi(維特比)譯碼器原理
        卷積碼的譯碼方式有3種:Veterbi譯碼、門限譯碼和序列譯碼。其中維特比譯碼具有最佳譯碼性能,但硬件實現相對復雜。veterbi算法是檢測離散馬兒可夫過程有限狀態(tài)序列的優(yōu)化算法。在數字通信系統(tǒng)中,前向糾錯卷積碼編碼和維特比譯碼用來提高系統(tǒng)性能,應用廣泛。
        維特比算法是一種最大似然譯碼算法。它不是在網格圖上一次比較所有可能的2條完整路徑,而是接收一段,計算比較一段,選擇一段最有可能的碼段,從而達到整個碼序列是一個有最大似然函數的序列。其基本原理是:以斷續(xù)的接收碼流為基礎,逐個計算它與其他所有可能出現的連續(xù)的格狀圖路徑的距離,選出其中概率最大的一條作為譯碼輸出。
        維特比(Veterbi)譯碼算法是基于卷積碼的網格圖表示中路徑的計算,其核心思想就是通過計算路徑矢量進而尋找最短路徑從而最終得到譯碼序列并可以糾正傳輸過程中的錯誤碼字。圖4中給出(2,1,3)卷積碼的網格圖表示。

        d.JPG


        圖4中的網格圖中共有2k(N-1)種狀態(tài),每個狀態(tài)(節(jié)點)有2k條支路進入,同時也有2k條支路引出。由于本文討論的是(2,1,3)卷積碼的情況,因此k=1,假設起始狀態(tài)為全0。
        在不同時刻對于同一節(jié)點的所有8個狀態(tài),分別計算以其為終點的2條分支路徑的對數似然函數累加值并進行比較,舍棄其中對數似然函數累加值小的路徑,保留對數似然函數累加值較大的路徑,并將此路徑稱為剩余路徑。由此可見,上述過程可以歸納為“加-比-選”算法,經過“加-比-選”電路以后,通過結束信息來確定最終得到的譯碼序列,其中每到來一個結束信息時,只將與已知發(fā)送信息相符的那條支路保留,以此類推,經過N-1個結束信息后,即可得到與發(fā)送序列最相似的譯碼路徑。

        3 譯碼器設計與實現
        維特比譯碼器包括4個子模塊,如圖5所示。

        e.JPG
        1)控制單元 向各個功能模塊提供控制信號,保證譯碼器的工作時序正確,協(xié)調各個功能模塊從而促使整個譯碼器的正常工作。
        2)路徑度量和“加-比-選單元”計算和比較每條支路的路徑度量,得到并保存剩余路徑提供給回溯單元。對于(2,1,3)卷積碼,譯碼深度D=5(m+1)=20,為保證存儲單元和回溯單元同時并行工作,存儲單元為2D(m+1)2m=1280 bit。
        3)回溯單元 從前面“加-比-選”電路送來的剩余路徑中選擇量度最小的剩余路徑,從這條路徑對應的狀態(tài)開始向前尋找,直到找完前面所有狀態(tài),并從存儲單元中讀出譯碼信息送給譯碼控制單元。
        4)譯碼控制單元 將回溯單元送來的譯碼序列反轉順序輸出即為所要輸出的正確的接收序列。其中反轉順序的操作可由RAM實現,順序寫入倒序讀出。



        關鍵詞: FPGA 卷積 編譯碼器

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 分宜县| 五指山市| 修武县| 抚宁县| 延津县| 岢岚县| 思南县| 白山市| 永靖县| 丰台区| 当涂县| 奉贤区| 仙桃市| 江口县| 黔西| 墨脱县| 图木舒克市| 红河县| 渝北区| 合山市| 长岛县| 枝江市| 新昌县| 淮安市| 福贡县| 麻江县| 永胜县| 青阳县| 酉阳| 台前县| 云南省| 卢湾区| 靖西县| 常州市| 桂林市| 旺苍县| 花莲县| 南开区| 霍林郭勒市| 东山县| 荆门市|