在現代數字通信中,為降低數據傳輸的誤碼率,提高通信質量及其可靠性,常在通信中采用糾錯編碼技術。
本文主要介紹的就是關于卷積編碼的相關介紹,希望通過本文能讓你對卷積編碼有更深的認識。
卷積編碼
在信道編碼研究的初期,人們探索、研究出各種各樣的編碼構造方法,其中包括卷積碼。早在1955年,P.Elias首先提出了卷積碼。但是它又經歷了十幾年的研究以后,才開始具備應用價值。在這十幾年期間,J.M.Wozencraft提出了適合大編碼約束度的卷積碼的序列譯碼,J.L.Massey提出了實現簡單的門限譯碼,A.J.Viterbi提出了適合小編碼約束度的卷積碼Viterbi算法。20年后,即1974年,L.R.Bahl等人又提出一種支持軟輸入軟輸出(SISO,Soft-Input Soft-Output)的最大后驗概率(MAP,Maximum A Posteriori)譯碼——BCJR算法。其中,Viterbi算法有力地推動了卷積碼的廣泛應用,BCJR算法為后續(xù)Turbo碼的發(fā)現奠定了基礎。
編碼技術
在卷積碼的編碼過程中,對輸入信息比特進行分組編碼,每個碼組的編碼輸出比特不僅與該分組的信息比特有關,還與前面時刻的其他分組的信息比特有關。同樣,在卷積碼的譯碼過程中,不僅從當前時刻收到的分組中獲取譯碼信息,還要從前后關聯的分組中提取相關信息。正是由于在卷積碼的編碼過程中充分利用了各組的相關性,使得卷積碼具有相當好的性能增益。
編碼器圖中,編碼器的每組輸入包含k0個信息比特,第一組寄存器單元存儲當前時刻的k0個信息比特,而其他組寄存器單元存儲前面時刻的(K?1)k0個信息比特。編碼器有n0個編碼輸出,每個編碼輸出Yi由當前時刻的輸入信息分組以及其他(K?1)個寄存器單元內的信息分組根據相應的連接關系進行模2運算來確定。
因此,一般定義K為編碼約束度,說明編碼過程中相互關聯的分組個數,定義 m=k-1 為編碼存儲級數,碼率 R=k0/n0,這類碼通常稱為(n0,k0,K)卷積碼。在許多實際應用場合,往往采用編碼約束度比較小、碼率為的卷積碼。如圖3-29所示的兩種卷積碼(2,1,9)和(3,1,9),它們的存儲級數都是8,加法器完成二進制加法(模2加)。圖中省略了存儲當前時刻輸入的寄存器單元。在圖3-29(a)中,(2,1,9)卷積碼編碼器有一個輸入端口、兩個輸出端口,這兩個輸出端口分別對應兩個生成多項式(使用八進制表示):561和753。該碼率是1/2。在圖3-29(b)中,(3,1,9)卷積碼編碼器有一個輸入端口、3個輸出端口,這3個輸出端口分別對應3個生成多項式(使用八進制表示):557、663和711。該碼率是1/3。
TD-LTE系統(tǒng)中采用了(3,1,7)卷積碼,存儲級數是6,使用了6個寄存器。這個卷積碼的主要優(yōu)點包括最優(yōu)距離譜、咬尾編碼、譯碼復雜度小。具體描述見后續(xù)章節(jié)內容。另外,卷積碼也可以按照其他方式進行分類,比如系統(tǒng)碼或者非系統(tǒng)碼,遞歸碼或者非遞歸碼,最大自由距離碼或者最優(yōu)距離譜碼。常用的卷積碼一般是非遞歸的非系統(tǒng)碼,而Turbo碼常常使用遞歸的系統(tǒng)卷積碼。
咬尾編碼通常卷積碼編碼器開始工作時都要進行初始化,常常將編碼器的所有寄存器單元都進行清零處理。而在編碼結束時,還要使用尾比特進行歸零的結尾操作(Tailed Termination)。相對于編碼比特而言,尾比特增加了編碼開銷。TD-LTE系統(tǒng)的卷積碼編碼器采用了咬尾編碼方法。
編碼器開始工作時要進行特殊的初始化,將輸入信息比特的最后m個比特依次輸入編碼器的寄存器中,當編碼結束時,編碼器的結束狀態(tài)與初始狀態(tài)相同。由于這個編碼方法沒有出現尾比特,因此稱為咬尾編碼。咬尾編碼減少了尾比特的編碼開銷。對于咬尾編碼方法,在譯碼過程中,由于編碼器的初始狀態(tài)和結尾狀態(tài)是未知的,因此就需要增加一定的譯碼復雜度,才能確保好的譯碼性能。3.性能界卷積碼的性能一般使用誤比特率(BER,Bit Error Rate)來統(tǒng)計,其理論上界(Upper Bound)一般使用聯合界(Union Bound)來確定,即(3-13)其中,卷積碼的轉移函數(Transfer Function),代表非零輸入信息比特的轉移分支,Y的指數表示輸入信息比特的漢明重量,Z代表輸出編碼比特的轉移分支,Z的指數表示輸出編碼比特的漢明重量。為了進一步分析上述性能界,一般假設最大似然譯碼(ML,Maximum-Likelihood)、BPSK調制和加性高斯白噪聲(AWGN,Additive White Gaussian Noise)信道,則有
(3-14)其中,Bd是所有重量為d的碼字的非零信息比特的重量,為卷積碼的自由距離。當信噪比很高時,則式(3-14)近似為(3-15)BPSK調制性能為
(3-16)考慮到誤碼性能主要是指數項占據主導作用,與未編碼系統(tǒng)相比,卷積碼的編碼增益為
(3-17)式(3-17)說明卷積碼的漸近性能主要是由自由距離()決定的。因此,相對而言,卷積碼的自由距離越大,其性能越好。以上述二進制卷積碼(2,1,9)和(3,1,9)為例,自由距離分別為12和18,編碼增益都為7.78dB。實際上,性能最佳的卷積碼往往具有最優(yōu)的距離譜(ODS,Optimum Distance Spectrum)或者重量分布,而且,具有最優(yōu)距離譜的卷積碼也具有最大的自由距離(MFD,Maximum Free Distance)。TD-LTE系統(tǒng)采用了最優(yōu)距離譜的卷積碼。
基于VHDL的卷積編碼實現
在現代數字通信中,為降低數據傳輸的誤碼率,提高通信質量及其可靠性,常在通信中采用糾錯編碼技術。其中卷積碼就是一種具有較強糾錯能力的糾錯碼。由于 Vitebrbi 譯碼算法比較容易實現,卷積碼得到了廣泛應用。本課題簡明地介紹了用 EDA 技術實現卷積碼編碼器的實現。 卷積碼糾錯性能常常優(yōu)于分組碼,是一種性能優(yōu)越的信道編碼。由于碼字之間的相關性,其編碼器要利用移位寄存器來存儲狀態(tài)。
隨著糾錯編碼理論研究的不斷深入,卷積碼的實際應用越來越廣泛。卷積碼作為通信系統(tǒng)中重要的編碼方式,以其良好的編碼性能,合理的譯碼方式,被廣泛應用。本文在闡述卷積碼編碼器基本工作原理的基礎上,給出了(2,1,2)卷積編碼器的 VHDL 設計,在QuartusⅡ環(huán)境下進行了波形功能仿真,并下載到 EP1C6T144C8N 芯片上進行驗證,最終實現輸入四位序列,編碼輸出八位通過指示燈顯示。
卷積編碼的編碼約束長度定義為:串行輸入比特通過編碼其所需的移位次數,它表示編碼過程中相互約束的分支碼數,所以具有m級移位寄存器的編碼器得約束長度為m十1,有時也說(m十1)n為卷積編碼的編碼約束長與分組編碼一樣。
卷積編碼的編碼效率也定義為R=k/η,與分組碼具有固定碼長η不同,卷積碼沒有,我們可通過周期性地截斷來獲得分組長度為了達到清空編碼移位寄存器數據bit的目的,需要在輸入數據序列末尾附加若于0bit。由于附加的0不包含任何信息,因而,有效編碼效率降至kn以如果截斷周期取值較大,則有效編碼效率會逼近kn。
圖中的小框表示寄存器的狀態(tài),連接小框的箭頭表示狀態(tài)轉移的方向,兩線旁的數字表示:輸出分支碼字/輸入信息比特。狀態(tài)圖簡明的表示了在某一時刻編碼器的輸入比特和輸出分支碼字的關系。
結語
關于卷積編碼的相關介紹就到這了,如有不足之處歡迎指正。
相關閱讀推薦:什么是卷積碼
相關閱讀推薦:什么是卷積
-
vhdl
+關注
關注
30文章
820瀏覽量
129934 -
卷積編碼
+關注
關注
0文章
13瀏覽量
2774
發(fā)布評論請先 登錄
咬尾卷積編碼是什么?如何實現咬尾卷積編碼?

有沒有Labview編的gold碼生成VI以及RS編碼和卷積編碼的VI啊?
如何實現CDMA2000系統(tǒng)前向鏈路卷積編碼器?
基于卷積LDPC碼編碼鑿孔算法

卷積編碼與分組編碼的區(qū)別及應用案例
淺談卷積編碼在DSL中的應用 詳解卷積編碼編碼技術

卷積編碼之維特比譯碼介紹 淺析卷積碼之應用
卷積碼編碼及譯碼實驗 淺談卷積編碼下的FPGA實現

卷積碼編碼譯碼程序仿真程序 卷積碼應用詳解

評論