新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 卷積編碼及Viterbi 解碼的FPGA 實現及應用

        卷積編碼及Viterbi 解碼的FPGA 實現及應用

        作者: 時間:2018-09-06 來源:網絡 收藏

        0 引言

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

        在現代通信系統中,信道編碼技術得到了廣泛的應用。卷積碼結構簡單,硬件實現容易,同時有著較好的查錯糾錯能力,因此在無線通信中經常使用,而其解碼方式常用Viterbi譯碼。

        1 卷積編碼

        卷積碼(Convolutional Coding)是由PgElias 于20 世紀50年代提出的一種非分組碼。它實現非常簡單,將要發送的信息序列經過一個特定的線性移位寄存器,即完成了編碼。

        卷積編碼常用(n,k,m) 表示,一般n 和k 的值都比較小,其中m 為編碼約束長度,它表示編碼時相應的信息比特在編碼器中停留的時間。卷積編碼是一種前后相關聯的編碼過程,編碼后的碼元和當前的k 個比特位相關,同時也與前m - 1 個輸入比特相關,使得相互關聯的碼元達到m × n 個。衡量卷積碼性能的兩個重要參數是碼率 (k n)和約束長度。

        2 卷積碼的描述方法

        卷積碼的編碼描述方法有很多,工程中最常用的是寄存器網絡結構法、碼多項式法和狀態圖形表示法。

        如本系統中使用的(2,1,7)卷積編碼,它的寄存器網絡結構法表示如圖1所示。

        離散卷積法表示如下:

        其中卷積運算用*表示, g1,g2 為脈沖沖激響應。則如圖1中可以表示為:

        3 卷積碼的譯碼

        由于卷積碼自身沒有嚴格的代數結構,其譯碼過程相對復雜。目前常用的方法有兩類:

        (1)代數解碼。這種解碼方式是利用編碼本身的代數結構進行解碼,但不考慮信道的統計特性;(2)概率解碼。這一解碼方式則充分利用了信道的統計特性。目前常用的有Viterbi譯碼、最大后驗概率譯碼(MAP)以及它的改進算法Max_log_MAP等。本文采用的是Viterbi譯碼簡稱(VB)。

        對于(n,k,m) 的二進制卷積碼,編碼輸入的信息序列是獨立等概率的,比較各種條件下的概率,即似然函數P(R|U(m)),選擇其中概率最大的,所得就是譯碼值,它具有最小差錯概率。其中R 是實際接收到的序列,U(m) 是可能的發送序列。當滿足P(R|U(m′)) =max P(R|U(m)) 條件時,U(m′) 就是譯碼值。

        假設加性高斯白噪聲作為系統噪聲,同時信道是無記憶性,則卷積碼的似然函數為:

        式中:Ri 是接收序列R 的第i 個分支;Ui (m) 是特定碼字U(m) 的第i 個分支;rji 是Ri 的第j 個碼元;uji (m) 是Ui (m) 的第j 個碼元,每個分支由n 個碼元組成。在工程實踐中通常用對最大似然函數取對數,以加法代替乘法。對數的最大似然函數定義為:

        當log P(R|U(m)) 的值最大時,譯碼成功。Viterbi譯碼利用了編碼網絡圖的特殊結構,降低了計算的復雜度,但它本質上仍然是最大似然譯碼。算法實際執行時,邊接收邊比較,同時去除不可能成為最大似然選擇對象的路徑,也就是說如果兩條路徑到達同一狀態,被選中的是具有最佳量度的路徑。這一路徑稱為幸存路徑,對所有狀態進行比較、選擇,拋棄不可能的路徑,從而降低了譯碼器的復雜性。譯碼從根本上說,也就是選擇具有最小距離的碼字或最大似然量度的碼字。

        4 卷積碼編碼的工程實現

        卷積碼的編碼在工程中比較簡單,由移位寄存器和異或組成,系統中使用(2,1,7)編碼,實現原理如圖2所示。在FPGA中的仿真如圖3所示。


        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 策勒县| 贵州省| 梁河县| 石屏县| 沂源县| 敦化市| 湟源县| 元谋县| 津南区| 武穴市| 井研县| 塘沽区| 宁海县| 文成县| 文安县| 溧水县| 青冈县| 泉州市| 左贡县| 隆安县| 漳平市| 中西区| 略阳县| 通江县| 怀宁县| 汽车| 永州市| 辽阳市| 恭城| 鹰潭市| 鹤庆县| 九台市| 泸定县| 磐石市| 九龙坡区| 彭水| 莆田市| 南汇区| 金乡县| 汝州市| 南丹县|