專利名稱:一種分組馬爾可夫疊加編碼方法
技術領域:
本發明屬于數字通信和數字存儲領域,特別涉及一種分組馬爾可夫疊加編碼方法。
背景技術:
如何用短碼構造長碼是一個老的話題。1954年,Elias最早提出了一種用短碼構造長碼的實用方法:乘積碼。一個(N1N2I1K2)乘積碼由一個(NpK1)線性碼C1和一個(N2,K2)線性碼C2組成。乘積碼的每個碼字可看作一個N1行N2列的矩形數組,每一行是線性碼C1的一個碼字,每一列是線性碼C2的一個碼字。1966年Forney提出了級聯碼概念,它是由內碼和外碼組成。級聯碼一般內碼采用一個GF(2)上的糾錯碼,外碼采用一個GF(2P)上的糾錯碼。雖然級聯碼的性能與之前糾錯碼相比有較大的增益,但它的性能離信道容量還很遠。1993年,Berrou等人提出了一種性能逼近信道容量的糾錯碼,稱為Turbo碼。由于Turbo碼編碼器是由兩個反饋的系統卷積碼編碼器通過一個隨機交織器并行連接而成的,Turbo碼又稱為并行級聯卷積碼(PCCC)。之后,許多研究人員不斷對它進行了多方面的改進,最大可能地提高它的糾錯能力。1996年,Benedetto等人提出了串行級聯卷積碼(SCCC),它結合了級聯碼和PCCC的思想,性能優于PCCC。自從Turbo碼被提出后,人們開始重視逼近信道容量的編碼方法。Gallager于1962年提出的低密度奇偶校驗碼(Low-Density Parity-Checkcode, LDPC code)又被人重新認識,被證明也是一種逼近信道容量的糾錯碼。目前,大部分的糾錯編碼領域的研究工作和發明專利都注重于構造LDPC碼的方法和LDPC碼譯碼方法的簡化和硬件實現。前面提到的Turbo碼和LDPC碼,在碼長足夠長時才能夠逼近信道容量,其譯碼復雜度高,設計難度大,譯碼延遲較長。
發明內容
針對現有技術的缺點,本發明的目的是提供一種分組馬爾可夫疊加編碼方法。所提出的編碼方法基于現有的各種糾錯碼,具有普遍性,且兼容性較好,實現成本低,能夠在實際系統中得到應用。為實現上述目的,本發明的技術方案為:一種分組馬爾可夫疊加編碼方法,用于將長度K = kL的信息序列 編碼為碼字&如
圖1所示,其包括以下步驟:(I)將長度K = kL的信息序列M劃分為L個等長分組 = (u(0),u(1),…, α_ ),每個分組長度為k ;對于t = -1,-2,...,-(M-1),-m,把長度為η的序列初始化設置為
全零序列,即設置I(t) =0 ;⑵在t = 0,1,…,L-1時刻,將長度為k的序列
權利要求
1.一種分組馬爾可夫疊加編碼方法,用于將長度K = kL的信息序列 編碼為碼字£,其特征在于包括以下步驟: (1)將長度K= kL的信息序列 劃分為L個等長分組 = ( (°),1!ω,…, (Η)),每個分組長度為k ;對于t = -1, -2,…,-(m-1),-m,把長度為η的序列初始化; (2)在t= 0,1,…,L-1時刻,將長度為k的序列=
2.根據權利要求1所述的分組馬爾可夫疊加編碼方法,其特征在于:信息序列 是二元序列或多元序列。
3.根據權利要求1所述的分組馬爾可夫疊加編碼方法,其特征在于:步驟(I)中所述的把長度為η的序列ιω初始化是把序列ιω設置為全零序列。
4.根據權利要求1所述的分組馬爾可夫疊加編碼方法,其特征在于:步驟(2)中所述的編碼器C是任意類型的編碼器。
5.根據權利要求1所述的分組馬爾可夫疊加編碼方法,其特征在于:步驟(2)中所述的Σ⑴結合1(h),I(t_2),…,v(t-m)計算碼字£的第t(t彡O)個子序列,按如下步驟進行: 首先,對于m,將序列Z(H)送入交織器IIi,得到交織后長度為n的序列^ ; 然后,將Z(t)和1(1),1(2),…,w(m)送入逐符號混疊器S,得到長度為η的序列£(t)。
6.根據權利要求5所述的分組馬爾可夫疊加編碼方法,其特征在于:交織器IIi是任意類型的交織器,I Si Sm。
7.根據權利要求5所述的分組馬爾可夫疊加編碼方法,其特征在于:逐符號混疊器S是逐比特模2和運算器或逐符號多元加權和運算器。
8.根據權利要求7所述的分組馬爾可夫疊加編碼方法,其特征在于:逐比特模2和運算器輸出的長度為η的序列J)的第j個分量
9.根據權利要求7所述的分組馬爾可夫疊加編碼方法,其特征在于:逐符號多元加權和運算器輸出的長度為η的輸出序列£(t)的第j個分量=
10.根據權利要求1所述的分組馬爾可夫疊加編碼方法,其特征在于該編碼方法還包括以下步驟,在所述步驟(2)之后,在t = L,L+1,…,L+m-1時刻,將長度為k的全零序列U(t)送入編碼器C,得到長度為η的全零序列x(t),并結合 (η),v(t-2),…,v(t-m)計算碼字£的第t個子序 列£(t)。
全文摘要
本發明屬于數字通信和數字存儲領域,特別涉及一種分組馬爾可夫疊加編碼方法,用于將長度K=kL的信息序列u編碼為碼字c,包括以下步驟首先,將信息序列u劃分為L個等長分組u=(u(0),u(1),…,u(L-1)),同時對于t=-1,-2,…,-(m-1),-M,把長度為n的序列v(t)初始化;然后,在t=0,1,…,L-1時刻,將長度為k的序列送入編碼器C進行編碼,得到長度為n的編碼序列并結合v(t-1),v(t-2),…,v(t-m)計算碼字c的第t個子序列c(t)。
文檔編號H03M13/27GK103152060SQ201310019348
公開日2013年6月12日 申請日期2013年1月17日 優先權日2013年1月17日
發明者馬嘯, 梁楚龍, 黃科超, 莊秋濤 申請人:中山大學