專利名稱:低密度生成矩陣碼的編碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,更具體地涉及一種^氐密度生成矩陣碼的 編碼方法及裝置。
背景技術(shù):
擦除信道是一種重要的信道沖莫型,例如,文件在因特網(wǎng)上傳輸 時,是基于數(shù)據(jù)包通信的,通常每個數(shù)據(jù)包要么無差錯地被接收端
接收,要么根本就沒有被接收端接收到。傳輸控制協(xié)議(Transmission Control Protocol,簡稱TCP)中針對網(wǎng)絡(luò)丟包的做法是4企錯重發(fā)機 制,即利用輸入端到輸出端的反饋信道控制需要重新傳送的數(shù)據(jù)包。 當(dāng)接收端檢測到丟包時,產(chǎn)生一個重新發(fā)送控制信號,直到正確接 收到完整數(shù)據(jù)包;而當(dāng)接收端接收到數(shù)據(jù)包時,同樣要產(chǎn)生一個接 收確認(rèn)信號。發(fā)送端也會跟蹤每一個數(shù)據(jù)包直到接收到反饋回來的 告知信號,否則就會重新發(fā)送。
基于流模式和文件下載模式的數(shù)據(jù)廣播業(yè)務(wù)是點到多點的業(yè) 務(wù),不允許反饋,傳統(tǒng)的檢錯重發(fā)機制無法使用,需要使用前向糾 錯(Forward Error Correction,簡稱FEC )來保證可靠傳輸。經(jīng)典的 應(yīng)用層FEC碼包括RS碼(Reed-Solomon codes)和數(shù)字噴泉碼 (Fountain codes)等。RS碼的編譯碼復(fù)雜度較高, 一般只適用于 碼長比4交小的情況。LT碼(Luby Transform codes)和Raptor碼是 兩種可實際應(yīng)用的數(shù)字噴泉碼。LT碼具有線性的編碼和譯碼時間, 相對于RS碼有著本質(zhì)的4是高,而Raptor碼由于采用了預(yù)編碼技術(shù),因此具有更高的i斧碼效率。在3GPP的多々某體廣播組播業(yè)務(wù) (Multimedia Broadcast / Multicast Service,簡4爾MBMS )以及凄t字 一見頻廣l番(Digital Video Broadcasting,簡稱DVB )中都采用了 Raptor 碼作為其FEC編碼方案。
線性分組碼是一組固定長度的碼組,可以表示為(n, k),通常用 于前向糾錯。在編碼時,k個信息位被編成n位碼組長度。由于(n,k) 分組石馬的2*個石馬字《且成了 一個A維子空間,所以該2*個石馬字 一定可 以由A個線性無關(guān)的基底生成,若把該A:個基底寫成矩陣的形式,則 有
<formula>formula see original document page 7</formula>
其中,(n, k)分組碼中的任何碼字都可以由這組基底的線性組合 生成,即
<formula>formula see original document page 7</formula>
此處稱G為碼的生成矩陣。顯然,對于生成矩陣的各行來說, 只要滿足線性無關(guān)即可(沒有考慮最小距離),而一個A維空間的基 底可以任意選擇yt個線性無關(guān)的矢量,所以作為碼的生成矩陣G也不 是p眷一的,^旦不i侖采用哪一種形式,它們都生成相同的子空間,即 同一個(n, k)分纟且石馬。若編碼后碼字的前k位與信息位相同,則稱該碼為系統(tǒng)碼。編 碼的過程就是由k個信息位生成n位碼長的過禾呈,通過增加n-k個 校驗位來達(dá)到檢錯和糾錯的目的。
LT碼也是利用生成矩陣的稀疏性進(jìn)行編碼,但是同中興低密度 生成矩陣碼(LDGC碼)相比,LT碼不支持系統(tǒng)碼的編碼方式,因 此LT碼難以滿足某些實際的FEC編碼需求;Raptor碼支持系統(tǒng)碼, 但是Raptor碼需要單獨的預(yù)編碼過程,即需要一個預(yù)編碼矩陣,因 此編碼的復(fù)雜度較高,而LDGC碼是直接利用生成矩陣編碼,不需 要另外的預(yù)編碼矩陣,且LDGC編碼時利用了回代法求解上三角(或 下三角)方程,因此編碼復(fù)雜度遠(yuǎn)低于Raptor碼??偠灾琇T 碼相比LDGC的優(yōu)勢是支持系統(tǒng)碼;同Raptor碼相比LDGC的優(yōu) 勢是編碼復(fù)雜度更低。
發(fā)明內(nèi)容
為了在降低編碼復(fù)雜度的同時,獲得較好的碼性能,本發(fā)明提 出了一種低密度生成矩陣碼的編碼方法及裝置。
根據(jù)本發(fā)明的 一 種低密度生成矩陣碼的編碼方法包括以下步 驟S102,構(gòu)造L行、N+L-K列的生成矩陣G,dgc,其中,生成矩陣 Gldge的L 4于、前L列組成的方陣Gldgc (1:L,1:L)為上三角矩陣或下三 角矩陣,K、 L、和N為正整凄t,且K〈L〈N; S104,對需要進(jìn)4亍編 碼的長度為K的信息比特序列添加L-K個已知比特,生成長度為L 的信息比特序列m; S106,根據(jù)I x Gldgc (1: L,l:L) = m,利用生成 矩陣Gldgc的L行、前L列組成的方陣Gldgc (1:L,1:L)和長度為L的 信息比特序列m生成中間變量I,并利用根據(jù)C = IxGldgc ,生成 矩陣G,dgc對中間變量I進(jìn)4亍編石馬,生成長度為N+L-K的編石馬序列; 以及S108,從長度為N+L-K的編碼序列中刪除L-K個已知比特, 生成長度為N的編;馬序列。其中,在生成矩陣Gldge的L行、前L列組成的方陣Gldge (1 :L, 1 :L) 為左上三角矩陣或左下三角矩陣的情況下,將L-K個已知比特添加 在需要進(jìn)行編碼的長度為K的信息比特序列之前。在生成矩陣Gldgc 的L 4亍、前L列組成的方陣Gldgc (1:L,1:L)為右上三角矩陣或右下三 角矩陣的情況下,將L-K個已知比特添加在需要進(jìn)行編碼的長度為 K的信息比特序列之后。其中,生成矩陣Gwgc的列重量可以滿足與 LT碼近似的度分布原則。
沖艮據(jù)本發(fā)明的另 一種^氐密度生成矩陣碼的編碼方法包括以下步 驟S202,構(gòu)造K^f亍、N列的生成矩陣Gwgc,其中,生成矩陣Gldgc 的K^f亍、前K列組成的方陣Gwgc (1:K,1:K)為上三角矩陣或下三角 矩陣,K和N為正整凄丈,且K〈N; S204,根據(jù)I x Gldgc (1: K,l:K) -s,利用需要進(jìn)行編碼的長度為K的信息比特序列s和生成矩陣 G,dgc的K^f亍、前K列組成的方陣G,dgc(l:K,l:K)生成中間變量I;以 及S206,根據(jù)C-IxGwgc ,利用生成矩陣G,dgc對中間變量I進(jìn)行 編碼,生成長度為N的編碼碼字。其中,生成矩陣G,dgc的列重量可 以滿足與LT碼近似的度分布原則。生成矩陣Gldgc的K行、前K列 組成的方陣Gwgc(l:K,l:K)可以為左上三角矩陣、左下三角矩陣、右 上三角矩陣、或右下三角矩陣。
根據(jù)本發(fā)明的一種低密度生成矩陣碼的編碼裝置包括矩陣生 成單元,用于生成L^f亍、N+L-K列的生成矩陣Gldgc,將生成矩陣 G,dgc輸出至分組碼編碼單元,并將生成矩陣Gwgc的L行、前L列 組成的方陣G,dgc(l丄,l:L)輸出至預(yù)編碼單元,其中,生成矩陣G,dgc 的L行、前L列組成的方陣Gldge (1 :L, 1 :L)為上三角矩陣或下三角矩 陣,K、 L、和N為正整凄t, _@LK<L<N;比特填充單元,用于對需 要進(jìn)行編碼的長度為K的信息比特序列添加L-K個已知比特,生成 長度為L的信息比特序列m,并將長度為L的信息比特序列m輸 出至預(yù)編碼單元;預(yù)編碼單元,用于根據(jù)IxGwgc (1: L,kL) = m, 利用生成矩陣Gldge的L行、前L列組成的方陣Gldge (1: L,1:L)和長度為L的信息比特序列m生成中間變量I,并將中間變量I輸出至 分組碼編碼單元(該預(yù)編碼單元可以為一個解上和/或下三角方程的 單元,有兩個輸入, 一個是G,dgc(l:L,l:L),另一個是m,有一個輸 出是I);分組碼編碼單元,用于4艮據(jù)C = I x Gldge ,利用生成矩陣 Gwge對中間變量I進(jìn)行編碼,生成長度為N+L-K的編碼序列C (該 分組編碼單元可以為一個矩陣乘法的單元,有兩個輸入,分別是G,dgc 和I,有一個輸出是C);以及比特刪除單元,用于從長度為N+L-K 的編碼序列中刪除L-K個已知比特,生成長度為N的編碼序列。
其中,生成矩陣Gldgc的L行、前L列組成的方陣Gldge (1:L,1:L) 可以為左上三角矩陣、左下三角矩陣、右上三角矩陣、或右下三角 矩陣。在生成矩陣Gwge的L行、前L列組成的方陣Gldge (1:L,1:L) 為左上三角矩陣或左下三角矩陣的情況下,比特填充單元將L-K個 已知比特填充在需要進(jìn)行編碼的長度為K的信息比特序列之前。在 生成矩陣GldgcW L行、前L列組成的方陣Gldgc (1:L,1:L)為右上三 角矩陣或右下三角矩陣的情況下,比特填充單元將L-K個已知比特 填充在需要進(jìn)行編碼的長度為K的信息比特序列之后。生成矩陣 Gldgc的列重量滿足與LT碼近似的度分布原則。
根據(jù)本發(fā)明的另一種低密度生成矩陣碼的編碼裝置包括矩陣 生成單元,用于生成K^f亍、N列的生成矩陣Gwge,其中,生成矩陣 Gwge的K行、前K列組成的方陣Gwge (1:K,1:K)為上三角矩陣或下 三角矩陣,K和N為正整凄史,且K〈N;預(yù)編碼單元,用于才艮據(jù)lx Gldgc (1: K,1:K) = s,利用需要進(jìn)行編碼的長度為K的信息比特序列 s和生成矩陣Gldge的K行、前K列組成的方陣Gldgc (1:K,1:K)生成 中間變量I;以及分組碼編碼單元,用于根據(jù)C = I x Gldgc ,利用生 成矩陣G他c對中間變量I進(jìn)4亍編碼,生成長度為N的編碼碼字。其中,生成矩陣Gldge的K行、前K列組成的方陣Gldgc (1 :K,l :K) 可以為左上三角矩陣、左下三角矩陣、右上三角矩陣、或右下三角 矩陣。生成矩陣Gldge的列重量滿足與LT碼近似的度分布原則。
通過本發(fā)明,可以在降低編碼復(fù)雜度的同時,獲得較好的碼性能。
此處所說明的附圖用來4是供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申 請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并 不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中
圖1是根據(jù)本發(fā)明實施例的LDGC的編碼方法的流程圖2是才艮據(jù)本發(fā)明實施例的LDGC的編碼裝置的框圖3是LDGC生成矩陣的示意例;
圖5是根據(jù)本發(fā)明另一實施例的LDGC的編碼方法的流程圖6是根據(jù)本發(fā)明另一實施例的LDGC的編碼裝置的框圖7是根據(jù)本發(fā)明另一實施例的無填充比特的LDGC碼生成矩 陣的實例;
圖8是根據(jù)本發(fā)明另一實施例的LDGC的編碼裝置中的預(yù)編碼 單元的示意圖;圖9是才艮據(jù)本發(fā)明另 一實施例的LDGC的編碼裝置中的分組編 石馬單元的示意圖。
具體實施例方式
{氐密度生成矩陣石馬(Low Density Generator Matrix Code,簡稱、 LDGC)是一種線性分組碼,其生成矩陣中的非零元素通常是稀疏 的。同時,LDGC碼還是一種系統(tǒng)碼,其生成矩陣中的前k列組成 的方陣通常是一個上三角或下三角矩陣,該矩陣求逆可以通過迭代 的方法完成。LDGC的編碼是先利用系統(tǒng)碼中信息位與中間變量的 對應(yīng)關(guān)系求出中間變量,然后再用中間變量乘以生成矩陣得到編碼 后的碼字。LDGC碼的譯碼過程是先利用生成矩陣求得中間變量, 然后根據(jù)信息位和中間變量的變換關(guān)系求出信息位。下面參考附圖, 詳細(xì)說明本發(fā)明的具體實施方式
。
參考圖1,說明對長度為K的信息比特序列進(jìn)行編碼,然后輸 出長度為N的編碼后的碼字比特序列給后續(xù)處理單元處理的過程。 其中,校驗位長度為M-N-K,碼率為FK/N。如圖l所示,根據(jù)本 發(fā)明實施例的LDGC的編石馬方法包才舌以下步驟
S102,構(gòu)造L^f亍、N+L-K列的生成矩陣Gldgc。其中,該生成矩 陣的前L列和所有行構(gòu)成的方陣Gldgc (1:L,1:L)是上三角(或下三角 矩陣),K、 L、和N是給定的正整數(shù),并且K〈L〈N。
S104,對"K信息比特序列s添加d-L-K個已知填充比特,構(gòu)
成"L信息比特序列m。
S106,由于LDGC是系統(tǒng)石馬,所以有IxG,加(l:i:,l:i:)^in。利用 G,dge(l:L,l:L)是一個上三角矩陣(或下三角矩陣),解方程求出1*L中間變量I,并根據(jù)CdxG,^,對中間變量I進(jìn)行編碼,得到l*(N+d)
的碼字。
S108,對于上述步驟生成的"(N+d)碼字刪除步驟S104中添加 的填充比特,最終得到N比特的編碼碼字,發(fā)送出去。
其中,在生成矩陣的每一列中,元素l的個凄丈(即,列重量) 必須滿足一定的度分布原則。生成矩陣的前L列和所有4于組成的方 陣可以是一個左上三角矩陣、左下三角矩陣矩陣、右上三角矩陣、 或右下三角矩陣(如圖3所示)。
其中,若G,dgc(l:L,l:L)是左上三角或左下三角矩陣,則對于初 始長度為K的信息比特序列,添加d=L-K個已知填充比特到K個 信息比特序列的前面。若Gldgc (1 :L, 1 :L)是右上三角或右下三角矩陣, 則對于初始長度為K的信息比特序列,添加d=L-K個已知填充比特 到K個信息比特序列的后面。需要指出,添加填充比特的位置不局 限于上述情況。
參考圖2,說明據(jù)本發(fā)明實施例的LDGC的編碼裝置。該LDGC 的編碼裝置用于對輸入的K比特的二進(jìn)制信息比特流進(jìn)行編碼,然 后輸出N比特的二進(jìn)制碼字比特流給后續(xù)的處理單元。如圖2所示, 該LDGC的編碼裝置包括
矩陣生成單元202,用于生成一個L^f亍、N+L-K列的生成矩陣 Gldge 。其中,該生成矩陣的前L列和所有行構(gòu)成的方陣Gldge (1 :L, 1 :L) 是上三角(或下三角)矩陣。矩陣生成器將G他c(l:L,l:L)輸出至后 面的預(yù)編碼單元,并且將Gldgc (1丄,1:N+L-K)輸出至后面的分組碼編 碼單元。其中,K、 L和N是纟會定的正整數(shù),并且K〈IXN。比特填充單元204,用于對1*K的4俞入信息比特流s添加d=L-K 個已知填充比特,生成1*L的信息比特流m,并且輸出到預(yù)編碼單元。
預(yù)編碼單元206,用于對1*L的信息比特流m進(jìn)行解方程計算, 生成1*L的中間變量I,并且輸出到分組碼編碼器(如圖8所示, 預(yù)編碼單元可以為 一個解上和/或下三角方程的單元,有兩個輸入,
一個是G,dgc(l:L,l:L),另 一個是長度為L的信息比特序列m,輸出 是中間變量I)。
分組碼編碼單元208,用于對中間變量I進(jìn)行編碼,生成1 *(N+d) 的二進(jìn)制碼字比特流C,并且輸出至比特刪除單元(如圖9所示, 分組編碼單元可以為一個矩陣乘法的單元,有兩個輸入, 一個是 Gldgc ,另一個是長度為L的中間變量I,輸出是編碼后碼字C)。
比特刪除單元210,用于刪除比特填充單元中填充的d個填充 比特,最終得到N比特的編碼碼字。
其中,矩陣生成單元才艮據(jù)以下原則確定生成矩陣在生成矩陣 的每一列中,元素1的個數(shù)(即,列重量)必須滿足一定的度分布 原則。生成矩陣的前L列和所有4于組成的方陣是一個左上三角矩陣、 左下三角矩陣、右上三角矩陣、或右下三角矩陣(如圖3所示)。
其中,在G,dgc(l:L,l:L)是左上三角或左下三角矩陣的情況下, 比特填充單元將d=L-K個已知填充比特填充到K個信息比特序列的 前面。在Gwgc(l:L,l:L)是右上三角或右下三角矩陣的情況下,比特 填充單元將d=L-K個已知填充比特填充到K個信息比特序列的后 面。需要指出,添加填充比特的位置不局限于上述情況。其中,由于LDGC是系統(tǒng)碼,有IxG,加(im):m,所以預(yù)編
碼單元利用Gldgc (1: L,1:L)是一個上三角矩陣(或下三角矩陣)解方 禾呈求出1*L的中間變量I。
其中,分組碼編碼單元才艮據(jù)C-IxG,啦,對中間變量I進(jìn)行編碼, 得到"(N+d)的二進(jìn)制碼字流。
例如,例如,有一個1*K=1*24的二進(jìn)制信息比特數(shù)據(jù)流s (s 用16進(jìn)制數(shù)可表示為D8AB13 )要通過根據(jù)本發(fā)明實施例的編碼裝 置編碼生成72比特的LDGC編碼石馬字,所以有K=24, N=72。
矩陣生成單元產(chǎn)生一個L=48行、N+L-K=96列的生成矩陣 Gldgc。其中,G,dgc采用與LT碼近似的度分布準(zhǔn)則,G,dgc的前L列 和所有行組成的方陣Gldgc (l:L,l:L)=Gldgc (1:48,1:48)是一個右上三 角矩陣,如圖4所示(其中,黑點表示元素1,空白位置表示元素0)。 矩陣生成單元輸出Gldgc (1 :L,l :L)=Gldgc (1:48,1:48)到后面的預(yù)編碼單 元,并且輸出Gldgc(l:L,l:N+L-K)=Gldgc(l:48,l:96)到后面的分組碼 編碼單元。
比特填充單元在1*K=1*24的豐lT入信息比特流后面添加 d=L-K=24個已知填充比特p (p用16進(jìn)制可表示為9A0C2C),生 成1*L=1*48的信息比特流m (m用 16進(jìn)制可表示為 D8AB139A0C2C),并且輸出到預(yù)編碼單元。
預(yù)編碼單元根據(jù)LDGC碼是系統(tǒng)碼的特點(由于LDGC碼是系
統(tǒng)碼,所以有IxG*(1:48,1:48) = m ),利用Gldgc (l:L,kL)=Gldgc (1:48,1:48)是一個右上三角矩陣,對輸入的1*K=1*24的信息比特流 s進(jìn)4亍解方程計算,求出1*L=1*48的中間變量I (I用16進(jìn)制可表 示為942DA94E0A24 ),并且輸出到分組碼編碼單元。分組碼編碼單元4艮據(jù)L = 1X"'* ,對輸入的中間變量I進(jìn)4亍編碼,
生成l*(N+d)=l*96的二進(jìn)制石馬字c (c用16進(jìn)制可表示為 D8AB139A0C2CCD3AC516ED52 ), i渝出到比特刪除單元。
比特刪除單元將添加的d=24個填充比特從l*(N+d)=l*96的二 進(jìn)制碼字c中刪除,最終得到N=72比特的編碼碼字(用16進(jìn)制可 表示為D8AB13CD3AC516ED52)發(fā)送出去。
為了降低編碼復(fù)雜度,本發(fā)明提供另 一種低密度生成矩陣碼的 編碼方法。該編碼方法區(qū)別于上述編碼方法的i也方在于,不進(jìn)4亍比 特填充和比特刪除。參考圖5,說明對長度為K的信息比特序列進(jìn) 行編碼,然后輸出長度為N的編碼后的碼字比特序列給后續(xù)處理單 元的過程。其中,校驗位長度為M=N-K,碼率為r=K/N。如圖5所 示,根據(jù)本發(fā)明另一實施例的LDGC的編碼方法包括以下步驟
S502,構(gòu)造K^f亍、N列的生成矩陣Gwge。其中,該生成矩陣的 前K列和所有行構(gòu)成的方陣G,dgc(l:K,l:K)是上三角(或下三角)矩 陣,K和N是給定的正整lt,并且K〈N。
S504,由于LDGC碼是系統(tǒng)碼,有IxG,咖(im)-s,所以利用 G,dgc(l:K,l:K)是一個上三角矩陣(或下三角)矩陣,解方程求出1*K 中間變量I。
S506,根據(jù)C"xG^,對中間變量I進(jìn)4亍編碼,得到"N的碼字。
其中,在生成矩陣的每一列中,元素l的個凄t(即,列重量) 必須滿足一定的度分布原則;生成矩陣的前K列和所有4于組成的方 陣是一個左上三角矩陣、左下三角矩陣矩陣、右上三角矩陣、或右 下三角矩陣(如圖3所示)。參考圖6,說明根據(jù)本發(fā)明另一實施例的低密度生成矩陣碼的
編碼裝置。該編碼裝置用于對^r入的k比特的二進(jìn)制信息比特流進(jìn)
行編碼,然后輸出N比特的二進(jìn)制碼字比特流給后續(xù)的處理單元。 如圖6所示,該LDGC的編碼裝置包括
矩陣生成單元602,用于產(chǎn)生一個K行、N列的生成矩陣Gldgc。 其中,該生成矩陣的前K列和所有行組成的方陣Gwgc(l:K,l:K)是上 三角(或下三角)矩陣。矩陣生成單元將Gwgc(l:K,l:K)輸出至后面 的預(yù)編碼單元,并將Gwge(l:K,l:N)輸出至后面的分組碼編碼單元。 其中,K<N。
預(yù)編碼單元604,用于對輸入的1*K的信息比特流s進(jìn)行解方 程計算,生成"K的中間變量I,并且輸出到分組碼編碼單元(如 圖8所示,預(yù)編碼單元可以為一個解上和/或下三角方考呈的單元,有 兩個輸入, 一個是G,dge(l:L,l:L),另 一個是長度為L的信息比特序 歹'J m )。
分組碼編碼單元606,用于對輸入的中間變量I進(jìn)4亍編碼,生 成PN的二進(jìn)制碼字C,發(fā)送出去(如圖9所示,分組編碼單元可 以為一個矩陣乘法的單元,有兩個輸入, 一個是Gldge ,另一個是 長度為L的中間變量I)。
其中,矩陣生成單元才艮據(jù)以下原則確定生成矩陣在生成矩陣 的每一列中,元素1的個數(shù)(即,列重量)必須滿足一定的度分布 原則。生成矩陣的前K列和所有4亍組成的方陣是一個左上三角矩陣、 左下三角矩陣、右上三角矩陣、或右下三角矩陣(如圖3所示)。
其中,預(yù)編碼單元根據(jù)LDGC碼是系統(tǒng)碼(由于LDGC碼是系 統(tǒng)碼,所以有"G詠力:尺,U)"),利用Gwgc(l:K,l:K)是一個上三角 矩陣(或下三角矩陣)解方程,求出"K的中間變量I,并輸出。其中,分組碼編碼單元才艮據(jù)L-""咖,對中間變量I進(jìn)行編碼,
得到"N的二進(jìn)制碼字流,并輸出。
例如,有一個1*K=1*24的二進(jìn)制信息比特數(shù)據(jù)流s (s用16 進(jìn)制數(shù)可表示為D99274 )要通過4艮據(jù)本發(fā)明另 一實施例的編碼裝置 編碼生成72比特的LDGC碼,其中K=24, N=72。
矩陣生成單元產(chǎn)生一個K=24行、N=72列的生成矩陣Gldge。其 中,G,dge采用與LT碼近似的度分布準(zhǔn)則,G,dgc的前K列和所有行 組成的方陣G,dgc(l:K,l:K)-G,dgc(l:24,l:24)是一個右上三角矩陣,如 圖7所示(其中,黑點表示元素l,空白位置表示元素O)。矩陣生 成單元將Gldgc (1 :K, 1 :K)=Gldgc (1:24,1:24)輸出至后面的預(yù)編碼單元, 并且將Gldgc (l:K,l:N)=Gldgc (l:24,l:72)!lr出至后面的分組碼編碼單 元。
預(yù)編碼單元根據(jù)LDGC碼是系統(tǒng)碼,有"G詠"H'U)-s,利用 Gwgc(l:K,l:K"G,dgc(l:24,l:24)是一個右上三角矩陣,對輸入的1*K 信息比特流s進(jìn)行解方程計算,生成1*K=1*24的中間變量I (I用 16進(jìn)制可表示為B4B304 ),并且輸出到分組碼編碼單元。
分組碼編碼單元才艮據(jù)C^xG'加對輸入的中間變量I進(jìn)行編碼, 生成1*N=1*72的二進(jìn)制碼字c (c用 16進(jìn)制可表示為 D99274A593CC1AC461 )發(fā)送出去。
需要指出的是,Gwgc(l:48,l:48)和Gldgc (1:24,1:24)雖然是以右上 三角矩陣為例,但是對于其他的矩陣形式本發(fā)明也同樣適用。相應(yīng) 地,添加填充比特的位置也不局限于上述情況。只要利用了系統(tǒng)碼 的特點得到中間向量,并通過中間向量產(chǎn)生編碼輸出,就能獲得同 樣的技術(shù)效果。此外,還需要指出,以上實施例中的生成矩陣Gwge的度分布雖
然以與LT碼近似的度分布為例,^旦不局限于此,只要通過一定的
度分布產(chǎn)生的低密度生成矩陣都能獲得同樣的技術(shù)效果。
縱上所述,本發(fā)明可以支持任意信息分組長度和任意碼率編碼,
在性能上與Raptor碼類似,都能4妄近理i侖最優(yōu)性能。
以上所述僅為本發(fā)明的實施例而已,并不用于限制本發(fā)明,對 于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本 發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均 應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1. 一種低密度生成矩陣碼的編碼方法,其特征在于,包括以下步驟構(gòu)造L行、N+L-K列的生成矩陣Gldgc,其中,所述生成矩陣Gldgc的L行、前L列組成的方陣Gldgc(1:L,1:L)為上三角矩陣或下三角矩陣,K、L、和N為正整數(shù),且K<L<N;對需要進(jìn)行編碼的長度為K的信息比特序列添加L-K個已知比特,生成長度為L的信息比特序列m;根據(jù)I×Gldgc(1:L,1:L)=m,利用所述生成矩陣Gldgc的L行、前L列組成的方陣Gldgc(1:L,1:L)和所述長度為L的信息比特序列m生成中間變量I,并根據(jù)C=I×Gldgc,利用所述生成矩陣Gldgc對所述中間變量I進(jìn)行編碼,生成長度為N+L-K的編碼序列;以及從所述長度為N+L-K的編碼序列中刪除所述L-K個已知比特,生成長度為N的編碼序列。
2. 4艮據(jù)權(quán)利要求1所述的編碼方法,其特^正在于,在所述生成矩 陣Gldge的L行、前L列組成的方陣Gldge (l:L,l:L)為左上三角 矩陣或左下三角矩陣的情況下,將所述L-K個已知比特添加在 所述需要進(jìn)行編碼的長度為K的信息比特序列之前。
3. 根據(jù)權(quán)利要求1所述的編碼方法,其特征在于,在所述生成矩 陣Gldgc的L行、前L列組成的方陣Gldgc (l:L,l:L)為右上三角 矩陣或右下三角矩陣的情況下,將所述L-K個已知比特添加在 所述需要進(jìn)行編碼的長度為K的信息比特序列之后。
4. 根據(jù)權(quán)利要求1至3中任一項所述的編碼方法,其特征在于, 所述生成矩陣Gldge的列重量滿足與LT碼近似的度分布原則。
5. —種低密度生成矩陣碼的編碼方法,其特征在于,包括以下步 驟構(gòu)造K行、N列的生成矩陣Gldgc,其中,所述生成矩陣 Gldgc的K行、前K列組成的方陣Gldgc (1:K,1:K)為上三角矩陣 或下三角矩陣,K和N為正整凄史,且K〈N;根據(jù)I x Gldgc (1: K,1:K) = s,利用需要進(jìn)行編碼的長度為 K的信息比特序列s和所述生成矩陣Gldge的K行、前K列組 成的方陣Gldgc (1:K,1:K)生成中間變量I;以及根據(jù)C = I x Gldgc ,利用所述生成矩陣Gwgc對所述中間變 量I進(jìn)行編碼,生成長度為N的編碼碼字。
6. 根據(jù)權(quán)利要求5所述的編碼方法,其特征在于,所述生成矩陣 Gldge的K^f亍、前K列組成的方陣Gldge (1 :K, 1 :K)為左上三角矩 陣、左下三角矩陣、右上三角矩陣、或右下三角矩陣。
7. 根據(jù)權(quán)利要求5或6所述的編碼方法,其特征在于,所述生成 矩陣Gldge的列重量滿足與LT碼近似的度分布原則。
8. —種低密度生成矩陣碼的編碼裝置,其特征在于,包括矩陣生成單元,用于生成L 4于、N+L-K列的生成矩陣Gldgc, 將所述生成矩陣Gwg^lr出至分組碼編碼單元,并將所述生成 矩陣Gldgc的L行、前L列組成的方陣Gldge (1:L,1:L)輸出至預(yù) 編碼單元,其中,所述生成矩陣Gwgc的L^亍、前L列組成的 方陣Gwgc (1:L,1:L)為上三角矩陣或下三角矩陣,K、 L、和N 為正整數(shù),JLK<L<N;比特填充單元,用于對需要進(jìn)行編碼的長度為K的信息 比特序列添加L-K個已知比特,生成長度為L的信息比特序 歹'J m,并將所述長度為L的信息比特序列m輸出至所述預(yù)編 碼單元5所述預(yù)編碼單元,用于根據(jù)IxGwgc(l:L,l:L)-m,利用 所述生成矩陣Gldge的L 4亍、前L列組成的方陣Gldge (1: L,l丄) 和所述長度為L的信息比特序列m生成中間變量I,并將所述 中間變量I #r出至所述分組石馬編石馬單元;所述分組碼編碼單元,用于根據(jù)C = I x Gldgc ,利用所述 生成矩陣G,dge對所述中間變量I進(jìn)4亍編碼,生成長度為N+L-K 的編石馬序列;以及比特刪除單元,用于從所述長度為N+L-K的編碼序列中 刪除所述L-K個已知比特,生成長度為N的編石馬序列。
9. 根據(jù)權(quán)利要求8所述的編碼裝置,其特征在于,所述生成矩陣 Gwge的L行、前L列組成的方陣Gwgc (l:L,l:L)為左上三角矩 陣、左下三角矩陣、右上三角矩陣、或右下三角矩陣。
10. 根據(jù)權(quán)利要求9所述的編碼裝置,其特征在于,在所述生成矩 陣Gldgc的L行、前L列組成的方陣Gldge (l:L,l:L)為左上三角 矩陣或左下三角矩陣的情況下,所述比特填充單元將所述L-K 個已知比特填充在所述需要進(jìn)行編碼的長度為K的信息比特 序歹'J之前。
11. 根據(jù)權(quán)利要求9所述的編碼裝置,其特征在于,在所述生成矩 陣Gldgc的L行、前L列組成的方陣GIdgc (l:L,l:L)為右上三角 矩陣或右下三角矩陣的情況下,所述比特填充單元將所述L-K 個已知比特填充在所述需要進(jìn)行編碼的長度為K的信息比特 序列之后。
12. 根據(jù)權(quán)利要求8至11中任一項所述的編碼裝置,其特征在于, 所述生成矩陣Gwge的列重量滿足與LT碼近似的度分布原則。
13. —種低密度生成矩陣碼的編碼裝置,其特征在于,包括矩陣生成單元,用于生成K 4亍、N列的生成矩陣Gldgc, 其中,所述生成矩陣Gldge的K 4亍、前K列組成的方陣Gldgc (1:K,1:K)為上三角矩陣或下三角矩陣,K和N為正整凄t,且 K<N;預(yù)編碼單元,用于根據(jù)IxG,dgc (1: K,l:K) = s,利用需要 進(jìn)行編碼的長度為K的信息比特序列s和所述生成矩陣Gldgc 的K4亍、前K列組成的方陣Gwgc (l:K,l:K)生成中間變量I;以及分組碼編碼單元,用于根據(jù)C = I x Gldgc ,利用所述生成 矩陣G,dge對所述中間變量I進(jìn)行編碼,生成長度為N的編碼碼字。
14. 根據(jù)權(quán)利要求13所述的編碼裝置,其特征在于,所述生成矩 陣Gldgc的K 4亍、前K列組成的方陣Gldge (l:K,l:K)為左上三角 矩陣、左下三角矩陣、右上三角矩陣、或右下三角矩陣。
15. 根據(jù)權(quán)利要求13或14所述的編碼裝置,其特征在于,所述生 成矩陣G他e的列重量滿足與LT碼近似的度分布原則。
全文摘要
本發(fā)明公開了一種低密度生成矩陣碼的編碼方法及系統(tǒng)。其中,該編碼方法包括以下步驟S102,構(gòu)造L行、N+L-K列的生成矩陣G<sub>ldgc</sub>,其中,生成矩陣G<sub>ldgc</sub>的L行、前L列組成的方陣G<sub>ldgc</sub>(1:L,1:L)為上三角矩陣或下三角矩陣,K、L、和N為正整數(shù),且K<L<N;S104,對需要進(jìn)行編碼的長度為K的信息比特序列添加L-K個已知比特,生成長度為L的信息比特序列m;S106,根據(jù)I×G<sub>ldgc</sub>(1:L,1:L)=m,利用生成矩陣G<sub>ldgc</sub>的L行、前L列組成的方陣G<sub>ldgc</sub>(1:L,1:L)和長度為L的信息比特序列m生成中間變量I,并根據(jù)C=I×G<sub>ldgc</sub>,利用生成矩陣G<sub>ldgc</sub>對中間變量I進(jìn)行編碼,生成長度為N+L-K的編碼序列;以及S108,從長度為N+L-K的編碼序列中刪除L-K個已知比特,生成長度為N的編碼序列。
文檔編號H03M13/11GK101414833SQ20071016334
公開日2009年4月22日 申請日期2007年10月19日 優(yōu)先權(quán)日2007年10月19日
發(fā)明者俊 徐, 方源立, 胡留軍, 袁志鋒, 進(jìn) 許 申請人:中興通訊股份有限公司