專利名稱:一種級聯碼的譯碼方法及裝置的制作方法
技術領域:
本發明涉及中國移動多媒體廣播(China Mobile Multimedia Broadcasting,簡 稱為CMMB)技術領域,尤其涉及一種級聯碼的譯碼方法及裝置。
背景技術:
信息傳輸的有效性和可靠性是評估通信系統的兩個主要指標,為了增加信息傳輸 的可靠性,通常要對信息進行信道編碼以增加一定的冗余度,使得碼字具有自動檢錯和糾 錯的能力。但是,冗余度并不是越多越好,為了兼顧信息傳輸的有效性,人們希望在冗余度 一定的情況下,通過設計優秀的編譯碼方法,使得在接收端獲得良好的譯碼性能。數字通信 系統的仿真模型如圖1所示。低密度奇偶校驗(Low Density Parity Check,簡稱為LDPC)碼是1962年由 Gallager提出的一種基于稀疏校驗矩陣的線性分組碼。1996年,MacKay和Neal對LDPC 碼進行了再發現,證明其具有接近香農限的性能。現有的一些通信系統,如DVB(Digital Video Broadcasting,數字視步頁廣播)、WiMAX(Worldwide Interoperability for Microwave Access,全球微波互聯接入)和CMMB系統中都采用LDPC碼作為信道編碼。根 據LDPC碼校驗矩陣H中元素1的分布,可以將其生成的LDPC碼分為規則碼與非規則碼如 果矩陣H中每行有固定r個1,每列有固定c個1,則其生成的LDPC碼稱為(c,r)規則碼; 如果H的行列中元素1的個數不固定,則其生成的LDPC碼為非規則碼。在CMMB系統中,采 用了 1/2碼率的(3,6)規則碼和3/4碼率的(3,12)規則碼作為信道編碼的一部分,碼字長 度均為9216。CMMB系統中LDPC碼校驗矩陣H可以通過一個碼表進行循環移位創建。采用1/2 碼率時,碼表為一 18X6的矩陣,存放的是H矩陣前18行非零元素的位置,每隔18行可將 碼表循環右移36位得到H矩陣其它行的非零元素位置。采用3/4碼率時,碼表為一 9 X 12 的矩陣,存放的是HH矩陣前9行非零元素的位置,每隔9行可將碼表循環右移36位得到H 矩陣其它行的非零元素位置。這種結構可以大大減少H矩陣的存儲空間。1/2碼率時生成H矩陣的碼表為0,6,12,18,25,300,7,19,26,31,56640,8,13,20,32,82701,6,14,21,3085,89591,15,27,33,9128,91881,9,16,34,8485,90932,6,28,35,4156,77602,10,17,7335,7545,91382,11,22,5278,8728,89623,7,2510,4765,8637,8875
3,4653,4744,7541,9175,91983,23,2349,9012,9107,91684,7,29,5921,7774,89464,7224,8074,8339,8725,92124,4169,8650,8780,9023,91595,8,6638,8986,9064,92105,2107,7787,8655,9141,91715,24,5939,8507,8906,91733/4碼率時生成H矩陣的碼表為0,3,6,12,16,18,21,24,27,31,34,74940,4,10,13,25,28,5233,6498,7018,8358,8805,92110,7,11,19,22,6729,6831,7913,8944,9013,9133,91841,3,8,14,17,20,29,32,5000,5985,7189,79061,9,4612,5523,6456,7879,8487,8952,9081,9129,9164,92141,5,23,26,33,35,7135,8525,8983,9015,9048,91542,3,30,3652,4067,5123,7808,7838,8231,8474,8791,91622,35,3774,4310,6827,6917,8264,8416,8542,8834,9044,90892,15,631,1077,6256,7859,8069,8160,8657,8958,9094,9116LDPC的輸出碼字C= {c。,C1,…,c9215}由輸入信息比特S = {s。,S1,…,sK_J和 校驗比特P = {p0, P1,…,P9215J組成,如下式所示
_ J Pi 0<i<92\5-KcCOL_ORDER{i) =9216-^<i< 9215式中,C0L_0RDER(i)為碼字比特映射向量,K為信息比特長度(1/2碼率時K = 4608,3/4 碼率時 K = 6912)。CMMB系統中同時采用了 RS (Reed Solomon,里德-索洛蒙)碼作為外碼與LDPC碼 組成級聯碼,編碼流程如圖2所示。RS碼的每個碼元取自有限域GF 056),為一(M0,k)的 截短碼,k可以取值為176、192、2M和M0,根據不同的取值,可以獲得不同糾錯能力的RS碼。LDPC碼的譯碼一般采用基于BP算法的軟判決譯碼算法,如歸一化的Min-Sum算 法。RS碼的譯碼方法一般包括糾錯譯碼和糾刪譯碼,糾刪譯碼較之糾錯譯碼具有更好的譯 碼性能。目前,針對RS碼和LDPC碼組成的級聯碼,傳統的譯碼算法只是將LDPC碼的譯碼 結果存入字節交織器后直接進行RS譯碼,因此RS碼只能做糾錯譯碼,這在一定程度上影響 級聯碼的譯碼性能。
發明內容
本發明要解決的技術問題是提供一種級聯碼的譯碼方法及裝置,改善RS碼和 LDPC碼的級聯碼的譯碼性能,解決現有技術中級聯碼性能不好的問題。為了解決上述問題,本發明提供了一種級聯碼的譯碼方法,用于低密度奇偶校驗 碼(LDPC)和里德-索洛蒙0 )碼組成的級聯碼的譯碼,所述方法包括
對比特解交織后的數據流進行LDPC軟判決迭代譯碼,并利用校驗矩陣對譯碼后 的LDPC碼字進行校驗判決;對譯碼后的LDPC碼字的信息位進行解字節交織,并將LDPC碼字的校驗信息轉換 成RS碼字的刪余信息;根據所述RS碼字的刪余信息選擇譯碼模式,進行RS譯碼。進一步地,所述利用校驗矩陣H對譯碼后的LDPC碼字進行校驗判決是指如果所述校驗矩陣H與譯碼后的硬判決碼字C的轉置矩陣的乘積為零,則碼字C 校驗正確,并記錄錯誤標記的值為正確;否則,碼字C校驗錯誤,并記錄錯誤標記的值為錯誤。進一步地,所述將LDPC碼字的校驗信息轉換成RS碼字的刪余信息是指將每一個LDPC碼字對應的錯誤標記重復L次作為其所對應列的刪余信息,其中, 所述L為LDPC碼字的信息位長度與交織器列長度的比值,L為正整數。進一步地,所述根據RS碼字的刪余信息選擇譯碼模式是指如果待刪余位置信息的個數在RS糾刪譯碼的可糾正范圍內,則選擇糾刪譯碼模 式;否則,選擇糾錯譯碼模式。進一步地,所述RS糾刪譯碼的可糾正范圍是指所述待刪余位置信息的個數小于 等于RS校驗位的個數。進一步地,所述對譯碼后的LDPC碼字進行解字節交織是指將所述譯碼后的LDPC碼字按列順序寫入交織器,按行順序讀出。本發明還提供了一種級聯碼的譯碼裝置,包括LDPC譯碼模塊、解字節交織模塊和 RS譯碼模塊,所述裝置還包括LDPC碼字校驗判決模塊和RS譯碼模式選擇模塊,其中LDPC譯碼模塊,用以完成LDPC碼的軟判決迭代譯碼,并將完成譯碼后的LDPC碼字 的信息位輸出給解字節交織模塊,譯碼后的LDPC碼字的信息位和校驗位輸出給LDPC碼字 校驗判決模塊;LDPC碼字校驗判決模塊,用以完成譯碼后的LDPC碼字的校驗判決,并將LDPC碼字 的校驗信息輸出給解字節交織模塊;解字節交織模塊,用以將LDPC碼字的信息位轉換為字節的形式解交織輸出,并提 取RS碼字給RS譯碼模塊,以及,對LDPC碼字檢驗信息進行處理,將LDPC碼字校驗信息轉 換成RS碼字的刪余信息,并輸出給RS譯碼模式選擇模塊;RS譯碼模式選擇模塊,用以根據解字節交織模塊輸出的RS碼字的刪余信息完成 RS譯碼模式的選擇,并將選擇結果輸出給RS譯碼模塊;RS譯碼模塊,用以根據RS譯碼模式選擇模塊輸出的選擇結果完成RS碼字的糾錯 或糾刪譯碼。進一步地,所述LDPC碼字校驗判決模塊,用以利用校驗矩陣H對譯碼后的LDPC碼 字按照以下方式進行校驗判決如果所述校驗矩陣H與譯碼后的硬判決碼字C的轉置矩陣的乘積為零,則碼字C 校驗正確,并記錄錯誤標記的值為正確;否則,碼字C校驗錯誤,并記錄錯誤標記的值為錯誤。進一步地,所述解字節交織模塊,用以按照以下方式將LDPC碼字的校驗信息轉換成RS碼字的刪余信息將每一個LDPC碼字對應的錯誤標記重復L次作為其所對應列的刪余信息,其中, 所述L為LDPC碼字的信息位長度與交織器列長度的比值,L為正整數。進一步地,所述RS譯碼模式選擇模塊,用以按照以下方式完成RS譯碼模式的選 擇如果待刪余位置信息的個數在RS糾刪譯碼的可糾正范圍內,則選擇糾刪譯碼模 式;否則,選擇糾錯譯碼模式。采用本發明所述的RS碼與LDPC碼組成的級聯碼的譯碼方案,可以在不增加計算 復雜度的情況下提高RS譯碼的性能,從而使CMMB終端接收性能較之傳統方法有很大提高。
圖1是現有數字通信系統的仿真模型圖;圖2是現有技術的CMMB系統中信道編碼流程圖;圖3是本發明實施例的級聯碼的譯碼裝置的示意框圖;圖4是本發明譯碼方法與傳統譯碼方法的性能對比仿真圖。
具體實施例方式本發明提供了一種級聯碼的譯碼方法,應用于RS碼和LDPC碼組成的級聯碼的譯 碼,可適用于CMMB系統中,其主要包括如下步驟步驟a,對比特解交織后的數據流進行LDPC軟判決迭代譯碼,并利用校驗矩陣H對 譯碼后的LDPC碼字進行校驗判決;步驟b,對譯碼后的LDPC碼字的信息位進行解字節交織,并將LDPC碼字的校驗信 息轉換成RS碼字的刪余信息;步驟c,根據RS碼字的刪余信息選擇譯碼模式,進行RS譯碼。其中,步驟a中,LDPC譯碼操作可選擇基于BP算法的軟判決譯碼算法,并可通過 模2和的運算對譯碼后的LDPC碼字(即硬判決碼字C,包括信息位和校驗位)進行奇偶校 驗如果校驗矩陣H與硬判決碼字C的轉置矩陣的乘積為零,則碼字C校驗正確,否則,碼 字C校驗錯誤。具體地,假設譯碼后輸出的硬判決碼字C為一長度為N的行向量,校驗矩陣 H為M行N列的矩陣,如果H · Ct = Ot,則碼字C校驗正確,同時將其對應的錯誤標記err_ flag設為0,表示碼字C譯碼正確;否則,設err_flag的值為1,表示碼字C譯碼錯誤。進一步地,步驟b中,對LDPC碼字進行解字節交織具體是指將譯碼后的LDPC碼 字的信息位轉換成字節的形式解交織輸出。由于LDPC碼字在字節交織器中是按列存放的,根據CMMB協議可知,每一個LDPC 碼字的信息位長度都是交織器列長度的L倍(L為正整數),因此,可采用如下方式將LDPC 碼字的校驗信息轉換成RS碼字的刪余信息將每一個LDPC碼字對應的錯誤標記err_f lag 重復L次作為其所對應列的刪余信息。進一步地,步驟c中,根據RS碼字的刪余信息選擇譯碼模式的過程具體包括如果RS碼字的刪余信息的個數在RS糾刪譯碼的可糾正范圍內,則選擇糾刪譯碼 模式;否則,選擇糾錯譯碼模式。其中,所述的RS糾刪譯碼的可糾正范圍是指待刪余位置信息的個數小于等于RS校驗位的個數。進一步地,上述的待刪余位置是指通過err_flag得到的一個序列中錯誤標記 (err_flag為1)的位置,而待刪余位置信息的個數則是指這個序列中錯誤標記的個數。下面結合附圖及具體實施例對本發明技術方案的實施作進一步詳細描述。如圖2所示,本發明實施例提供的級聯碼的譯碼裝置包括LDPC譯碼模塊,用以完成LDPC碼的軟判決迭代譯碼,并將完成譯碼后的LDPC碼字 的信息位輸出給解字節交織模塊,譯碼后的LDPC碼字的信息位和校驗位輸出給LDPC碼字 校驗判決模塊;LDPC碼字校驗判決模塊,用以完成譯碼后的LDPC碼字的校驗判決,并將LDPC碼字 的校驗信息輸出給解字節交織模塊;解字節交織模塊,用以將LDPC碼字的信息位轉換為字節的形式解交織輸出,并提 取RS碼字給RS譯碼模塊,以及,對LDPC碼字檢驗信息進行處理,將LDPC碼字校驗信息轉 換成RS碼字的刪余信息,并輸出給RS譯碼模式選擇模塊;RS譯碼模式選擇模塊,用以根據解字節交織模塊輸出的RS碼字的刪余信息完成 RS譯碼模式的選擇,并將選擇結果輸出給RS譯碼模塊;RS譯碼模塊,用以根據RS譯碼模式選擇模塊輸出的選擇結果完成RS碼的糾錯或 糾刪譯碼。其中,上述的LDPC譯碼模塊用于在接收端的比特解交織輸出之后,用于完成LDPC 碼的軟判決迭代譯碼,并且輸出硬判決碼字C。其中,上述的LDPC碼字校驗判決模塊根據LDPC譯碼模塊輸出的硬判決碼字C和 LDPC校驗矩陣H,通過模2和計算完成對碼字C的奇偶校驗判決。假設C為一長度為N的 行向量,H為M行N列的矩陣,如果H · Ct = Ot,則碼字C校驗正確,同時將其對應的錯誤標 記err_flag設為0 ;否則,設err_flag = 1,表示碼字C譯碼錯誤。其中,上述的解字節交織模塊分別與LDPC譯碼模塊及LDPC碼字校驗判決模塊的 輸出相連,用于將LDPC譯碼結果的信息位轉換成字節的形式解交織輸出,同時將LDPC碼字 的檢驗信息轉換成RS碼字的刪余信息輸出。由于LDPC碼字在字節交織器中是按列存放的, 根據CMMB協議可知,每一個LDPC碼字的信息位長度都是交織器列長度(即行數)的L倍 (L為一整數值),將每一個LDPC碼字對應的錯誤標記err_flag重復L次作為其所對應列 的刪余信息。其中,上述的RS譯碼模式選擇模塊是根據解字節交織模塊輸出的刪余信息進行 判斷,選擇對應的譯碼模式如果待刪余位置信息的個數在RS糾刪譯碼可糾正范圍內,則 選擇糾刪譯碼模式;否則,選擇糾錯譯碼模式。所述的RS糾刪譯碼的糾正范圍是指RS碼的 刪余信息的個數小于等于RS校驗位的個數。 其中,上述的RS譯碼模塊分別與解字節交織模塊和譯碼模式選擇模塊相連,RS譯 碼模塊可進行糾錯譯碼及糾刪譯碼兩種譯碼模式,根據RS譯碼模式選擇模塊的輸出決定 相應譯碼模式的運算。以下將結合具體實施例對本發明的級聯碼的譯碼方法作更進一步詳細闡述。本實施例的譯碼方法可適用于CMMB系統,其主要包括以下步驟步驟101,完成比特解交織后數據流的LDPC譯碼操作,并輸出硬判決碼字C ;
其中,LDPC譯碼模塊的輸入為比特的對數似然比信息,LDPC譯碼操作可選擇目 前已有的基于BP算法的軟判決譯碼算法,LDPC譯碼完成后輸出的硬判決碼字C的長度為 9216比特。步驟102,利用校驗矩陣H對硬判決碼字C進行奇偶校驗;對于1/2碼率的LDPC碼,H為一 4068行9216列的矩陣;對于3/4碼率的LDPC碼, H為一 2304行9216列的矩陣。如果H · Ct = Ot,則碼字C校驗正確,同時將其對應的錯誤標記err_flag設為0 ; 否則,設err_flag= 1,表示碼字C譯碼錯誤。其中,H與C的乘積可以看作一系列模2和 的運算,其計算方式為將H的每一行非零元素的位置所對應的碼字C的值求和并做模2運 算,如果所有行的計算結果都為0,則H *CT = Ot ;如果運算過程中出現某一行計算結果不為 0的情況,則碼字C譯碼錯誤,隨之可以停止后續的模2和運算。步驟103,將LDPC譯碼結果的信息位轉換成字節的形式解交織輸出,同時將LDPC 碼字的檢驗信息轉換成RS碼字的刪余信息;其中所述的字節轉換方式為將LDPC碼字的信息位每8比特分為一組,將每一組 按照低位優先的次序轉換為GF056)域中的表示形式。其中所述的解交織方式為LDPC碼字按列順序寫入交織器,按行順序讀出。其中所述的LDPC碼字的校驗信息轉換成RS碼字的刪余信息的具體實現步驟為 設LDPC碼字的信息位比特長度為M,則字節長度為M/8 ;設字節交織器的行數為R,一個 LDPC所占用的字節交織器的列數為L = M/ (8R)。將每一個LDPC碼字對應的錯誤標記err_ flag重復L次作為其所對應列的刪余信息。步驟104,根據轉換的RS碼字的刪余信息進行判斷,選擇對應的RS譯碼模式;其具體實現步驟為根據上述步驟103中得到的錯誤標記err_flag,計算err_ flag為1的個數E,對于系統中使用的RS碼來說,假設其碼長為N字節,信息位長度為K字 節,如果E小于或等于N-K (即RS校驗位的個數),則輸出糾刪譯碼模式選擇標志;否則,輸 出糾錯譯碼模式選擇標志。步驟105,根據步驟103得到的RS碼字以及步驟104得到的譯碼模式選擇標志,對 RS碼字進行相應的譯碼操作。圖4中示出了當最大多普勒頻移為IOOHz時,本發明的譯碼方案與傳統方案的性 能對比,其中,縱坐標為BER(Bit Error Rate,誤碼率),橫坐標為SNR (Signal to Noise Ratio,信噪比),從圖4中可以看出,與傳統方案相比,采用本發明提供譯碼方案,可將譯碼 性能提高約0. 7dB。當然,本發明還可以有其他多種實施例,在不違背本發明實質的情況下,熟悉本領 域的技術人員可根據本發明做出各種相應的改變和變形,但這些相應的改變和變形都應屬 于本發明所附的權利要求的保護范圍內。
權利要求
1.一種級聯碼的譯碼方法,其特征在于,用于低密度奇偶校驗碼(LDPC)和里德-索洛 蒙(舊)碼組成的級聯碼的譯碼,所述方法包括對比特解交織后的數據流進行LDPC軟判決迭代譯碼,并利用校驗矩陣對譯碼后的 LDPC碼字進行校驗判決;對譯碼后的LDPC碼字的信息位進行解字節交織,并將LDPC碼字的校驗信息轉換成RS 碼字的刪余信息;根據所述RS碼字的刪余信息選擇譯碼模式,進行RS譯碼。
2.如權利要求1所述的方法,其特征在于,所述利用校驗矩陣H對譯碼后的LDPC碼字進行校驗判決是指 如果所述校驗矩陣H與譯碼后的硬判決碼字C的轉置矩陣的乘積為零,則碼字C校驗 正確,并記錄錯誤標記的值為正確;否則,碼字C校驗錯誤,并記錄錯誤標記的值為錯誤。
3.如權利要求2所述的方法,其特征在于,所述將LDPC碼字的校驗信息轉換成RS碼字的刪余信息是指 將每一個LDPC碼字對應的錯誤標記重復L次作為其所對應列的刪余信息,其中,所述 L為LDPC碼字的信息位長度與交織器列長度的比值,L為正整數。
4.如權利要求3所述的方法,其特征在于,所述根據RS碼字的刪余信息選擇譯碼模式是指如果待刪余位置信息的個數在RS糾刪譯碼的可糾正范圍內,則選擇糾刪譯碼模式;否 則,選擇糾錯譯碼模式。
5.如權利要求4所述的方法,其特征在于,所述RS糾刪譯碼的可糾正范圍是指所述待刪余位置信息的個數小于等于RS校驗位 的個數。
6.如權利要求1所述的方法,其特征在于,所述對譯碼后的LDPC碼字進行解字節交織是指 將所述譯碼后的LDPC碼字按列順序寫入交織器,按行順序讀出。
7.一種級聯碼的譯碼裝置,包括LDPC譯碼模塊、解字節交織模塊和RS譯碼模塊,其特 征在于,所述裝置還包括LDPC碼字校驗判決模塊和RS譯碼模式選擇模塊,其中LDPC譯碼模塊,用以完成LDPC碼的軟判決迭代譯碼,并將完成譯碼后的LDPC碼字的信 息位輸出給解字節交織模塊,譯碼后的LDPC碼字的信息位和校驗位輸出給LDPC碼字校驗 判決模塊;LDPC碼字校驗判決模塊,用以完成譯碼后的LDPC碼字的校驗判決,并將LDPC碼字的校 驗信息輸出給解字節交織模塊;解字節交織模塊,用以將LDPC碼字的信息位轉換為字節的形式解交織輸出,并提取RS 碼字給RS譯碼模塊,以及,對LDPC碼字檢驗信息進行處理,將LDPC碼字校驗信息轉換成RS 碼字的刪余信息,并輸出給RS譯碼模式選擇模塊;RS譯碼模式選擇模塊,用以根據解字節交織模塊輸出的RS碼字的刪余信息完成RS譯 碼模式的選擇,并將選擇結果輸出給RS譯碼模塊;RS譯碼模塊,用以根據RS譯碼模式選擇模塊輸出的選擇結果完成RS碼字的糾錯或糾 刪譯碼。
8.如權利要求7所述的裝置,其特征在于,所述LDPC碼字校驗判決模塊,用以利用校驗矩陣H對譯碼后的LDPC碼字按照以下方 式進行校驗判決如果所述校驗矩陣H與譯碼后的硬判決碼字C的轉置矩陣的乘積為零,則碼字C校驗 正確,并記錄錯誤標記的值為正確;否則,碼字C校驗錯誤,并記錄錯誤標記的值為錯誤。
9.如權利要求8所述的裝置,其特征在于,所述解字節交織模塊,用以按照以下方式將LDPC碼字的校驗信息轉換成RS碼字的刪 余fe息將每一個LDPC碼字對應的錯誤標記重復L次作為其所對應列的刪余信息,其中,所述 L為LDPC碼字的信息位長度與交織器列長度的比值,L為正整數。
10.如權利要求9所述的裝置,其特征在于,所述RS譯碼模式選擇模塊,用以按照以下方式完成RS譯碼模式的選擇 如果待刪余位置信息的個數在RS糾刪譯碼的可糾正范圍內,則選擇糾刪譯碼模式;否 則,選擇糾錯譯碼模式。
全文摘要
本發明公開了一種級聯碼的譯碼方法及裝置,用于低密度奇偶校驗碼(LDPC)和里德-索洛蒙(RS)碼組成的級聯碼的譯碼,所述方法包括對比特解交織后的數據流進行LDPC軟判決迭代譯碼,并利用校驗矩陣對譯碼后的LDPC碼字進行校驗判決;對譯碼后的LDPC碼字的信息位進行解字節交織,并將LDPC碼字的校驗信息轉換成RS碼字的刪余信息;根據所述RS碼字的刪余信息選擇譯碼模式,進行RS譯碼。采用本發明方案,可以在不增加計算復雜度的情況下提高RS譯碼的性能,從而使CMMB終端接收性能較之傳統方法有很大提高。
文檔編號H03M13/29GK102130695SQ20101000343
公開日2011年7月20日 申請日期2010年1月15日 優先權日2010年1月15日
發明者姚揚中, 張濤, 曹南山, 游月意 申請人:中興通訊股份有限公司