專利名稱:一種非多重邊低密度校驗碼的編碼方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信道編碼技術(shù)領(lǐng)域,涉及一種在多進(jìn)制調(diào)制下基于歐氏幾何的低密度校驗碼(LDPC, Low—Density Parity Check codes)的編碼方 法,具體是一種適合在多進(jìn)制調(diào)制下傳輸?shù)幕跉W氏幾何構(gòu)造的非多重邊 低密度校驗碼的編碼方法。
技術(shù)背景低密度校驗碼是除Turto碼之外,又一類接近香農(nóng)限的碼字。由于低 密度校驗碼的構(gòu)造方法,大致可以分為三種,隨機(jī)構(gòu)造,圖構(gòu)造和幾何構(gòu) 造。雖然隨機(jī)構(gòu)造的低密度校驗碼在碼字長度足夠大的情況下可以接近香 農(nóng)極限,但是其編碼復(fù)雜度也會很大。另外一方面,不論用哪種方法構(gòu)造 的低密度校驗碼,都是基于二進(jìn)制的,而多進(jìn)制下低密度校驗碼的譯碼復(fù) 雜度過大是限制其發(fā)展的一個重要因素。由于低密度校驗碼接近香農(nóng)限的特性,低密度校驗碼的研究越來越受 到人們的關(guān)注。但是就目前而言,對低密度校驗的研究大多是基于二進(jìn)制 調(diào)制的,即譯碼算法都是定義在GF(2)域上的。究其原因就是在多進(jìn)制調(diào)制 下,低密度校驗碼要采用迭代譯碼算法。在廣義迭代譯碼算法中,本質(zhì)上 校驗節(jié)點(diǎn)和比特節(jié)點(diǎn)之間傳遞的是一種概率信息,即告訴對方節(jié)點(diǎn)本節(jié)點(diǎn) 能夠在某種條件下成立的概率。二進(jìn)制調(diào)制下的迭代譯碼算法之所以能夠 廣泛被采用,主要是由于比特節(jié)點(diǎn)只有兩個取值的可能,因此迭代譯碼算 法可以對算法中的校驗節(jié)點(diǎn)或比特節(jié)點(diǎn)進(jìn)行歸一化處理,再轉(zhuǎn)換到對數(shù)域 上進(jìn)行計算。經(jīng)過這兩步的處理以后,在二進(jìn)制調(diào)制下的迭代譯碼算法就 大大被簡化了, 二維計算轉(zhuǎn)化成一維計算,乘法計算轉(zhuǎn)換為加法計算。但 是在多進(jìn)制調(diào)制下,低密度校驗碼的Tanner圖發(fā)生變化,譯碼算法中的變 量節(jié)點(diǎn)不再是比特節(jié)點(diǎn),而變成了符號節(jié)點(diǎn)。 一個符號節(jié)點(diǎn)中如果有一個 比特被某個校驗方程校驗,則在相應(yīng)的Tanner圖中該符號節(jié)點(diǎn)和校驗節(jié)點(diǎn) 有一條邊連接。由此如果一個符號節(jié)點(diǎn)中有多個比特被某個校驗方程,則 在相應(yīng)的Tanner圖中該符號節(jié)點(diǎn)與校驗節(jié)點(diǎn)就有多條邊相連,因此在Ta皿er圖中一個符號節(jié)點(diǎn)和一個校驗節(jié)點(diǎn)之間會出現(xiàn)多重邊連接的可能。 如果符號節(jié)點(diǎn)中沒有兩個及以上的比特在原Tanner圖中同時與校驗節(jié)點(diǎn)相 連,稱此符號節(jié)點(diǎn)與校驗節(jié)點(diǎn)之間為"非多重邊"連接;如果符號節(jié)點(diǎn)與 所有連接的校驗節(jié)點(diǎn)之間都為"非多重邊"連接,則稱符號節(jié)點(diǎn)具有"非 多重邊"特性;如果一個碼字的校驗矩陣所對應(yīng)的Tanner圖中,所有符號 節(jié)點(diǎn)都具有"非多重邊"特性,則稱此碼為非多重邊碼。另外由于每個符 號節(jié)點(diǎn)可以取值的數(shù)目大大增加,這也就使得歸一化計算的意義消失。而 且在這種情況下,每個符號節(jié)點(diǎn)更新的計算不能夠轉(zhuǎn)化到對數(shù)域上。因此 在多進(jìn)制調(diào)制下低密度校驗碼過高的譯碼算法復(fù)雜度是制約多進(jìn)制調(diào)制下 低密度校驗碼研究的 一個重要因素。廣義迭代譯碼算法的計算量是相當(dāng)龐大的,尤其是在校驗節(jié)點(diǎn)的更新 上,復(fù)雜度很高,因此低密度校驗碼在多進(jìn)制調(diào)制下的實現(xiàn)很困難。而目 前對于多進(jìn)制調(diào)制下低密度校驗碼的譯碼主要還是采用二進(jìn)制的譯碼算 法,即首先根據(jù)接收到的符號信息,經(jīng)過計算轉(zhuǎn)換成比特信息,再利用傳 統(tǒng)的二進(jìn)制迭代譯碼算法。這種方法雖然簡化了計算,但是忽略了符號間 比特的聯(lián)系,因此這種方法是會損失一定譯碼性能的。林舒第一次用代數(shù)的方法系統(tǒng)地用有限幾何(finite geometry)的方 法構(gòu)造出了一類低密度校驗碼,這類低密度校驗碼具有非常好的結(jié)構(gòu)特 性,并且這一類低密度校驗碼所對應(yīng)的Tanner圖是不包含四環(huán)的,這樣的 結(jié)構(gòu)可以降低譯碼過程中的錯誤傳遞,他所采用的構(gòu)造空間是基于有限域 的歐氏空間。但該方法只適用于二進(jìn)制調(diào)制,而不能解決多進(jìn)制調(diào)制下的 低密度校驗碼的構(gòu)造。 發(fā)明內(nèi)容本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足,提出一種適合在多進(jìn)制調(diào)制下 傳輸?shù)幕跉W氏幾何構(gòu)造的非多重邊低密度校驗碼的編碼方法。 本發(fā)明的具體步驟包括1. 在有限域歐氏空間中選取編碼空間EG(m,;/),使得選定的編碼空間 EG(m,y)中的全點(diǎn)個數(shù)與所要構(gòu)造的低密度校驗碼的碼長相等,其中m 為空間的維數(shù)、為編碼空間的階、S為擴(kuò)域參數(shù)。2. 通過編碼空間的分組確定編碼空間的階的值,具體是將選取的編碼空間的全部點(diǎn)分成《組,編碼空間的分組集合為c;,其中《為調(diào)制方式的參數(shù);如果《為質(zhì)數(shù),則/ =《;如果《為質(zhì)數(shù)以外的其他正整數(shù),則 0 = 1,2廣-)。3. 確定編碼空間中的/z維平行子空間集合、,其中p二m-l; ^維平行子空間集合、中的點(diǎn)分配方式滿足分組集合q中的每個分組包含的點(diǎn)與包 含的平行子空間中的點(diǎn) 一一對應(yīng)。4. 分組集合C。中每一個分組構(gòu)造一個校驗子矩陣//, (/ = 0,1,"W-1), 校驗子矩陣//,的每一行對應(yīng)了分組中所有//維平行子空間包含的一維子空 間的映射向量、每一列對應(yīng)了編碼空間中的每個點(diǎn)。5. 按照歩驟4確定全部校驗子矩陣//,后,根據(jù)式// =[《,《,.../^—,f'構(gòu)造校驗矩陣//,即是非多重邊低密度校驗碼的校驗矩陣,其中r表示矩陣的轉(zhuǎn)置。木發(fā)明方法構(gòu)造的非多重邊的低密度校驗碼在多進(jìn)制調(diào)制下可以直接 應(yīng)用廣義迭代譯碼算法。由于它的非多重邊的特性,廣義迭代譯碼算法的 變量節(jié)點(diǎn)更新可以進(jìn)行類似二進(jìn)制調(diào)制下的歸一化化簡,并轉(zhuǎn)化到對數(shù)域 中進(jìn)行計算,這無疑極大地降低了譯碼的復(fù)雜度,減少了計算量。
圖1非多重邊(4096, 2800)低密度校驗碼在16QAM格雷映射下的譯 碼性能仿真圖;圖2 EG (4, 3, 3)碼在不同最大迭代次數(shù)下的譯碼性能仿真圖;圖3最大10次迭代情況下EG (4, 3, 3)碼的平均迭代次數(shù);圖4最大50次迭代情況下EG (4, 3, 3)碼的平均迭代次數(shù);圖5發(fā)送全零碼字情況下EG (4, 3, 3)碼的譯碼性能仿真圖;圖6兩種方法構(gòu)造的非多重邊(4096, 1112)低密度校驗碼譯碼性能仿真圖。
具體實施方式
假設(shè)碼字傳輸采用的是M進(jìn)制調(diào)制方式,即每個符號有M個取值的可 能,每個符號用《個比特來表示??紤]EG(m,20空間中的每個/z維子空間,每一個/z維子空間包含2^個 點(diǎn),并且會存在2('"-W-l個/^維子空間與它組成一個/z維平行子空間集合。如果我們可以將全空間中的2^個點(diǎn)按照調(diào)制方式等分成《組,分組集合用 C。來表示,那么q中每組點(diǎn)的個數(shù)為21《。接下來我們試圖找到這樣一個 //維平行子空間集合,它滿足如下的要求要求1:對于某個/z維平行子空間集合,它其中的每個A維平行子空間所包含點(diǎn)的個數(shù)能夠整除c;中每組所包含的點(diǎn)數(shù)。如果存在這樣的一個/z維平行子空間集合,將集合中的每個平行子空 間平均分配到集合c;中,則集合C;中每個分組中包含2(")5/《個a維平行子 空間。因為平行子空間的點(diǎn)數(shù)是隨著/H直呈指數(shù)增長,我們發(fā)現(xiàn)如果《是2 的冪指數(shù)時,同時只要選擇#=111一1就往往可以滿足要求1;由此,要找 到這樣的一個/z使要求1成立,只要滿足M = 2"=22" ("=1, 2,…)不難發(fā)現(xiàn)由于對C《中每個分組分配點(diǎn)方式的不同,則這樣的/^維平 行子空間集合并不是唯一的。由于EG(m,20空間中每一個點(diǎn)都可以和有限 域GF(2,中的元素一一對應(yīng)。為了構(gòu)造非多重邊的碼字,首先對有限域 GF(2'""中的所有元素進(jìn)行如下分類乂O, a0, a1,…,a9-2) / = 0(a'9—', '9,…,2) l化^~-1、 《即對每連續(xù)的《個有限域中的元素分到一組/ ,中去,由于歐氏幾何空間EG(m,20中的每個點(diǎn)都與有限域OF,(2"中的一個元素一一對應(yīng),因此集合 C。每一個分組中的每個點(diǎn)一定與某個/ ,.中的一個元素對應(yīng)。下面給出一種 特定的點(diǎn)分配方式和/z維平行子空間集合滿足要求2。要求2:對于^集合中的每一個分組,它所包含的所有點(diǎn)對應(yīng)了不同A 中的某個元素,每一個分組中不會出現(xiàn)兩個及兩個以上的點(diǎn)對應(yīng)了同一個 A中的不同元素。對于一個特定的P維平行子空間集合,它存在一種分配 方式,使得每個分組包含的點(diǎn)恰好對應(yīng)了它所包含的平行子空間中的點(diǎn)。 這樣的W維平行子空間集合稱為、。實際上,^,并不是唯一的。因為它只是要求了每個分組中的點(diǎn)不能出現(xiàn) 在同一個/ ,中,但是并沒有指明每個點(diǎn)對應(yīng)了A中的哪個元素,因此這樣 的組合是有很多的。我們只要隨機(jī)選擇一個滿足要求2的U維平行子空間即可。接下來構(gòu)造校驗矩陣,對每個分組都構(gòu)造一個校驗子矩陣/z,.,它的每一行對應(yīng)了分組中所有U維平行子空間包含的一維子空間的映射向量,它的每一列對應(yīng)了空間中的每個點(diǎn)。構(gòu)造完《個子矩陣,通過矩陣運(yùn)算可以構(gòu) 造一個校驗矩陣//由于//中的每個校驗子矩陣/f,都是由平行子空間構(gòu)造而來,因此校驗 子矩陣H,是相互正交的,校驗矩陣//中的任何兩個行向量都不會在兩個及兩個以上的相同位置上出現(xiàn)元素1,因此校驗矩陣//對應(yīng)的Ta皿er圖是不 包含有四環(huán)的。另外,根據(jù)、的特點(diǎn),校驗矩陣//的零空間所定義的低密 度校驗碼在多進(jìn)制調(diào)制下,任何一個符號節(jié)點(diǎn)都不會有一個以上的比特被 同一個校驗方程校驗,因此校驗矩陣//零空間所定義的低密度校驗碼是一 個非多重邊低密度校驗碼。由校驗矩陣//構(gòu)造出來的低密度校驗碼不具有循環(huán)特性,因此它的編 碼必須先通過高斯消去法獲得系統(tǒng)校驗矩陣,然后轉(zhuǎn)換成系統(tǒng)生成矩陣才 能進(jìn)行編碼。在仿真中發(fā)現(xiàn),在高斯消去的過程中,除了要進(jìn)行行變換以 外,大多數(shù)的校驗陣還要進(jìn)行必要的列交換才能獲得系統(tǒng)矩陣,而列交換 實質(zhì)上是對碼字進(jìn)行一個交織的過程。圖1給出了非多重邊(4096, 2800)低密度校驗碼在16QAM格雷映射 下,采用改進(jìn)的廣義迭代譯碼算法和基于比特的二進(jìn)制迭代譯碼算法的譯 碼性能仿真圖。如圖1所示,與格雷映射不同的是,不論是Sum-Product 算法還是Min-Smii算法,改進(jìn)的廣義迭代譯碼算法都要比基于比特的二進(jìn) 制算法譯碼性能明顯要好。采用Sum-Product算法的情況下,在10-H吳比特 率等級上,改進(jìn)的廣義迭代譯碼算法要比基于比特的二進(jìn)制譯碼算法提高 1.3dB,而采用Min-Sum算法的情況下,前者要比后者提高了大約0. 75dB。 其次從圖中還可以發(fā)現(xiàn),基于改進(jìn)的廣義Min-Sum迭代譯碼算法其誤比特 率性能甚至與基于比特的二進(jìn)制Sum-Product算法接近,在10-5誤比特率等 級上,二者只有大約0.4dB的差距。另外,從圖中還可以看到改進(jìn)的廣義 Sum-Product迭代譯碼算法從10-H吳比特等級以后出現(xiàn)明顯的瀑布區(qū)。在規(guī) 則映射下,改進(jìn)的廣義Sum-Product迭代譯碼算法比其它算法更有優(yōu)勢。圖2給出了在最大迭代次數(shù)分別為10和50的情況下,EG (4, 3, 3) 碼采用不同的Sum-Product算法的譯碼性能比較。從圖中可以看出采用改進(jìn)的廣義算法,增大最大迭代次數(shù)對EG (4, 3, 3)的譯碼性能有著更為顯 著的提高。在10-H吳比特率等級上,改進(jìn)的廣義算法在不同最大迭代次數(shù)下 有大約0. 4dB,而二進(jìn)制算法卻只有0. 25dB的差距。圖3和圖4分別給出了最大10次迭代和最大50次迭代下,兩種Sum— Product算法的平均迭代次數(shù)。在最大10次迭代下,改進(jìn)的廣義譯碼算法 始終比二進(jìn)制迭代譯碼算法需要更多的迭代次數(shù)。而在最大50次迭代下, 只有在小信噪比的時候,圖中3.35dB之前,改進(jìn)的廣義迭代譯碼算法需要 更多的迭代次數(shù),而隨著信噪比的增大,改進(jìn)的廣義算法的平均迭代次數(shù) 下降的比二進(jìn)制算法要快,并在4.0dB處,兩種算法的曲線再次趨于重 合。圖5給出了EG (4, 3, 3)碼發(fā)送全零碼字情況下,采用改進(jìn)的廣義迭 代譯碼算法和基于比特的二進(jìn)制迭代譯碼算法的誤比特率性能。如圖所 示,不論是Sum—Product還是Min — Sum算法,改進(jìn)的廣義迭代譯碼算法 都要比基于比特的二進(jìn)制迭代譯碼算法性能好很多,在10-H吳比特率等級 上,改進(jìn)的廣義Sum — Product算法比二進(jìn)制Sum — Product算法提高 1.7dB,而改進(jìn)的廣義Min — Sum算法比二進(jìn)制Min — Sum提高了 2. 3dB。值 得注意的是,在10-5誤比特率等級上,全零碼字采用改進(jìn)的廣義Sum — Product算法時只需要1. 45dB,這距離香農(nóng)極限僅有約0. 8dB。因此發(fā)送全 零碼字后獲得的優(yōu)異性能使得我們希望能夠使得碼字的實際性能盡可能接 近全零碼字的性能。圖6給出了基于歐氏幾何和PEG兩種不同方法構(gòu)造的非多重邊 (4096, 1112)低密度校驗碼的仿真圖,采用改進(jìn)的廣義Sum-Product迭 代譯碼算法,最大迭代次數(shù)設(shè)定為50次。PEG構(gòu)造碼字時,除了要隨機(jī)選 取最大環(huán)以外,還要滿足非多重邊的特性。從圖中可以看出EG-LDPC碼的 碼字性能要好于PEG碼,在10-H吳比特率等級上,EG碼需要3. 73dB信噪 比,而PEG碼則需要4. ldB。理論上講,隨機(jī)構(gòu)造的碼字要比結(jié)構(gòu)化的碼字 性能要好,但是在仿真中性能卻沒有EG碼好,這是因為隨機(jī)碼的譯碼性能 優(yōu)于結(jié)構(gòu)化碼字的前提是碼長要足夠長,在碼長充分長的基礎(chǔ)上,隨機(jī)碼 的誤碼率性能接近香農(nóng)極限。但是這里我們只是采用了碼長為4096,這大 大影響了隨機(jī)碼的性能。綜上所述,我們對碼長為4096的五個非多重邊低密度校驗碼進(jìn)行了仿真,驗證了我們之前對碼字性能的分析。因此在對碼長固定的碼字參數(shù)選擇上,三個參數(shù)需要綜合考慮。 一般來說,m和s的值不宜相差過大,因為 在ms是一個定值的基礎(chǔ)上,如果m過大,則s—定很小,這就使得列重降 低,導(dǎo)致碼字收斂性差。而如果m過小,則會造成/z值也過小,這樣往往 會使得碼字的最小漢明重量下降,譯碼性能隨之變差。因此最好的選擇是m 和s的取值相當(dāng),//值設(shè)定為m—l。
權(quán)利要求
1、一種非多重邊低密度校驗碼的編碼方法,其特征在于該方法具體步驟包括(1)在有限域歐氏空間中選取編碼空間EG(m,ps),使得選定的編碼空間EG(m,ps)中的全點(diǎn)個數(shù)pms與所要構(gòu)造的低密度校驗碼的碼長相等,其中m為空間的維數(shù)、p為編碼空間的階、s為擴(kuò)域參數(shù);(2)通過編碼空間的分組確定編碼空間的階的值,具體是將選取的編碼空間的全部點(diǎn)分成q組,編碼空間的分組集合為Cq,其中q為調(diào)制方式的參數(shù);如果q為質(zhì)數(shù),則p=q;如果q為質(zhì)數(shù)以外的其他正整數(shù),則<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><mi>p</mi><mo>=</mo><mroot> <mi>q</mi> <mi>n</mi></mroot><mo>,</mo> </mrow>]]></math> id="icf0001" file="A2008101221050002C1.tif" wi="16" he="6" top= "92" left = "22" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>n=1,2,…;(3)確定編碼空間中的μ維平行子空間集合Lμ,其中μ=m-1;μ維平行子空間集合Lμ中的點(diǎn)分配方式滿足分組集合Cq中的每個分組包含的點(diǎn)與包含的平行子空間中的點(diǎn)一一對應(yīng);(4)分組集合Cq中每一個分組構(gòu)造一個校驗子矩陣Hi,i=0,1,…,q-1,校驗子矩陣Hi的每一行對應(yīng)了分組中所有μ維平行子空間包含的一維子空間的映射向量、每一列對應(yīng)了編碼空間中的每個點(diǎn);(5)按照步驟(4)確定全部校驗子矩陣Hi后,根據(jù)式<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><mi>H</mi><mo>=</mo><msup> <mrow><mo>[</mo><msubsup> <mi>H</mi> <mn>0</mn> <mi>T</mi></msubsup><mo>,</mo><msubsup> <mi>H</mi> <mn>1</mn> <mi>T</mi></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msubsup> <mi>H</mi> <mrow><mi>q</mi><mo>-</mo><mn>1</mn> </mrow> <mi>T</mi></msubsup><mo>]</mo> </mrow> <mi>T</mi></msup> </mrow>]]></math> id="icf0002" file="A2008101221050002C2.tif" wi="37" he="5" top= "151" left = "146" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>構(gòu)造校驗矩陣H,即是非多重邊低密度校驗碼的校驗矩陣,其中T表示矩陣的轉(zhuǎn)置。
全文摘要
本發(fā)明涉及一種非多重邊低密度校驗碼的編碼方法。目前方法的譯碼的復(fù)雜度較高。本發(fā)明具體步驟是在有限域歐氏空間中選取全點(diǎn)個數(shù)p<sup>ms</sup>與所要構(gòu)造的低密度校驗碼的碼長相等的編碼空間;通過編碼空間的分組確定編碼空間的階的值;確定編碼空間中的μ維平行子空間集合L<sub>μ</sub>,滿足分組集合C<sub>q</sub>中的每個分組包含的點(diǎn)與包含的平行子空間中的點(diǎn)一一對應(yīng);分組集合C<sub>q</sub>中每一個分組構(gòu)造一個校驗子矩陣H<sub>i</sub>;根據(jù)式H=[H<sub>0</sub><sup>T</sup>,H<sub>1</sub><sup>T</sup>,...H<sub>q-1</sub><sup>T</sup>]<sup>T</sup>構(gòu)造校驗矩陣H。本發(fā)明方法構(gòu)造的非多重邊的低密度校驗碼在多進(jìn)制調(diào)制下可以直接應(yīng)用廣義迭代譯碼算法,極大地降低了譯碼的復(fù)雜度,減少了計算量。
文檔編號H03M13/11GK101404504SQ20081012210
公開日2009年4月8日 申請日期2008年10月28日 優(yōu)先權(quán)日2008年10月28日
發(fā)明者張文娜, 陳惠芳 申請人:浙江大學(xué)