專利名稱:一種二進(jìn)制低密度奇偶校驗碼的構(gòu)造方法
技術(shù)領(lǐng)域:
本發(fā)明屬于準(zhǔn)循環(huán)低密度奇偶校驗碼的構(gòu)造技術(shù)領(lǐng)域,特別是涉及一種二 進(jìn)制低密度奇偶檢驗碼的構(gòu)造方法。
背景技術(shù):
低密度奇偶校驗碼,即LDPC碼,由Gallager在1962年首先提出,后來 Mackay和Neal等人重新對它進(jìn)行了研究,發(fā)現(xiàn)該碼在AWGN信道下通過和積 譯碼算法譯碼具有接近香農(nóng)極限的性能。許多好碼都是由隨機(jī)構(gòu)造方法構(gòu)造,
但碼長較大時,需要大量的存儲空間來存儲校驗矩陣,而且由于校驗矩陣沒有 特定的結(jié)構(gòu),很難有效地進(jìn)行編碼。
LDPC碼是一類基于稀疏校驗矩陣的線性分組碼,對于一個(",A:) 二進(jìn)制的
LDPC碼,可用一個非常稀疏的二進(jìn)制校驗矩陣H來表示。如果ff矩陣維數(shù)為m^
且滿秩,則該LDPC碼的碼長為",校驗位長度為m,信息位長度為"《-冊。
LDPC碼也可以用二分圖來定義,校驗矩陣與Tanner圖的關(guān)系如附圖1所 示。維數(shù)為;nx 的校驗矩陣H對應(yīng)的二分圖有加個校驗節(jié)點和/1個變量節(jié)點, 記二分圖為(V;E),其中,y是節(jié)點集合且V-KUK, K = "。A,...,VJ是變量節(jié)點 集合,K = {c。,Cl,...,;J是校驗節(jié)點集合,丑是兩類節(jié)點之間連接邊的集合。其中, ^是H的第:'行第乂列元素,當(dāng)~#0時,對應(yīng)的二分圖中第y個變量節(jié)點和第 z'個校驗節(jié)點相連。若變量節(jié)點力的度數(shù)為必,,連接該節(jié)點的邊集合記作E^, 則五=&(^&111-^& _1,變量節(jié)點》的第it條邊記為《。以力為根節(jié)點將二分
圖展開到z層所能訪問到的校驗節(jié)點集合記為^v;,不能訪問到的校驗節(jié)點集合 記為巧,其中《=^、《。
準(zhǔn)循環(huán)LDPC碼是一類可以降低編譯碼復(fù)雜度并減少存儲空間的碼,編碼
可以通過簡單的移位寄存器實現(xiàn),譯碼可以并行處理。目前,大多數(shù)的準(zhǔn)循環(huán)
LDPC碼都是基于有限幾何或代數(shù)方法構(gòu)造,該類方法都是基于它們各自的設(shè)計 要求,構(gòu)造出校驗矩陣,然后由校驗矩陣求得碼長和碼率,而不是通過直接給 定碼長和碼率來設(shè)計校驗矩陣,因此,碼長和碼率等參數(shù)的選擇不夠靈活。
綜合考慮性能、編譯碼復(fù)雜度、硬件的實現(xiàn)以及參數(shù)選擇的靈活性等因素, 將PEG算法和準(zhǔn)循環(huán)特性相結(jié)合,可構(gòu)造出具有準(zhǔn)循環(huán)結(jié)構(gòu)的校驗矩陣,而且 碼長和碼率等參數(shù)選擇比較靈活。
由于圍長(Girth,即最小環(huán)長)是影響LDPC碼性能的重要因素之一。譯碼 算法釆用迭代譯碼,該算法的推導(dǎo)基于這樣的假設(shè)在節(jié)點間傳遞的信息統(tǒng)計 獨立。當(dāng)有環(huán)存在時,某一節(jié)點發(fā)出的信息經(jīng)過一個環(huán)長的傳遞后會被傳回本 身,從而造成自身信息的疊加,破壞了假設(shè)中的獨立性,從而影響譯碼的準(zhǔn)確 性。然而,對于有限長度的LDPC碼來說,環(huán)的存在不可避免。因此,大圍長是 設(shè)計好的LDPC碼的一個重要指標(biāo)。
X.-Y.Hu提出的逐步加邊算法是一種以增大圍長為目的的構(gòu)造方法,雖然它 不能保證所構(gòu)造的二分圖為最佳的二分圖,但是它可以保證每次在二分圖中增 加一條新邊,所形成的環(huán)(如果有環(huán))的圍長盡可能大。
首先給定Ta皿er圖的基本參數(shù),包括校驗節(jié)點的數(shù)目w、變量節(jié)點的數(shù)目iz 和變量節(jié)點度的分布,然后逐步在校驗節(jié)點和變量節(jié)點之間進(jìn)行加邊。具體步 驟如下
(1) 對于任一變量節(jié)點^,加第一條邊時,在當(dāng)前子圖中找出連接邊最少 的校驗節(jié)點A ,連接這兩個節(jié)點作為該變量節(jié)點的第一條邊五。
(2) 加該變量節(jié)點的其它邊時,把以該節(jié)點^為根節(jié)點對當(dāng)前Tanner圖展
開到深度z,如果集合^*0但是< =0,或者集合W(包含節(jié)點的數(shù)目不 再繼續(xù)增加但仍然小于m ,則在集合^中選擇最少連接邊的校驗節(jié)點進(jìn)行連 接。
(3) 重復(fù)步驟(2)使當(dāng)前的變量節(jié)點所有邊添加完畢。
(4) 重復(fù)步驟(1) 、 (2) 、 (3)使所有的變量節(jié)點的邊都添加完畢。 因此,采用基于PEG算法構(gòu)造出的準(zhǔn)循環(huán)LDPC碼,經(jīng)過大量的實驗后發(fā)現(xiàn),
該類碼具有相同或更好的糾錯性能,而且該碼對應(yīng)的校驗矩陣具有準(zhǔn)循環(huán)的結(jié) 構(gòu),方便用于硬件實現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于PEG算法來構(gòu)造二 進(jìn)制準(zhǔn)循環(huán)LDPC碼,使得可直接通過給定碼長和碼率來設(shè)計檢驗矩陣。 為了實現(xiàn)上述發(fā)明目的,采用的技術(shù)方案如下
一種二進(jìn)制低密度奇偶校驗碼的構(gòu)造方法,其通過構(gòu)造具有準(zhǔn)循環(huán)特性的 檢驗矩陣實現(xiàn),所述校驗矩陣丑采用兩個小矩陣來表征, 一個是維數(shù)為cxf的 二進(jìn)制矩陣基矩陣M,另一個是維數(shù)為cxf的移位次數(shù)矩陣p;具體構(gòu)造方法
如下
構(gòu)造加x "的校驗矩陣且子矩陣維數(shù)為L x L ,先通過c-m/L和f-"/L, 分別求得矩陣Af和矩陣p的維數(shù)參數(shù)C、"然后根據(jù)參數(shù)C、 f以及校驗矩陣 ff的列重量分布,采用PEG算法構(gòu)造出基矩陣Af ,再采用如下方式構(gòu)造矩陣戶
<formula>formula see original document page 8</formula>其中, 和&分別是矩陣M和矩陣P中第i行第J列的元素,z表示矩陣A/每
一行中元素'r的相對位置,每一行第一個為'r的位置,標(biāo)記z-o,第二個
為'l'位置,標(biāo)記z-l,依次類推;
確定基矩陣M和移位次數(shù)矩陣p后,通過子矩陣替換基矩陣M中《r和 w得到校驗矩陣H。
本發(fā)明要構(gòu)造一個具有準(zhǔn)循環(huán)特性的校驗矩陣,只需確定基矩陣M和移位 次數(shù)矩陣/>。根據(jù)給定的碼長和碼率便可構(gòu)造出校驗矩陣。假設(shè)要構(gòu)造矩陣^和
矩陣戶,而且基于PEG算法來構(gòu)造基矩陣M,這樣,該基矩陣A/具有比較大的環(huán)
長,從校,陣H的角度來說,校驗矩陣H具有較大的環(huán)長。而且校驗矩陣H除 了具有準(zhǔn)循環(huán)特性外,參數(shù)選擇還比較靈活。修改碼字長度",校驗位長度w以 及循環(huán)移位矩陣的維數(shù)"L,都可以構(gòu)造出不同的準(zhǔn)循環(huán)校驗矩陣。
上述技術(shù)方案中,所述校驗矩陣H表述如下
<formula>formula see original document page 8</formula>其中,C 、f都為正整數(shù)且"f,A是L"循環(huán)子矩陣,&"0,1,...,Hco},
如果/^^w,則A 是通過把循環(huán)矩陣A向右循環(huán)移位/^位后得到的,如果
^-①,則a^是"i的零矩陣。
所述循環(huán)子矩陣a通過如下矩陣q進(jìn)行表述 <formula>formula see original document page 9</formula>該矩陣中的每一行向右移動一位,就得到下一行,最后一行向右移動一位 就得到矩陣的第一行,每一列向下移動一位,就得到下一列,最后一列向下移 動一位就得到第一列。
所述基矩陣M的表述如下
<formula>formula see original document page 9</formula>其中,o&、c—i, 0《y^f-i,基矩陣w通過用'r取代矩陣H中的每
個非零循環(huán)子矩陣,用'0'取代ff中的全零子矩陣得到。
所述移位次數(shù)矩陣P表述如下
<formula>formula see original document page 9</formula>其中,0S"c-l, 0《乂《卜1。
本發(fā)明提出了一種基于PEG算法的準(zhǔn)循環(huán)LDPC碼的構(gòu)造方法,仿真結(jié)果表
明,與傳統(tǒng)的PEG算法構(gòu)造的LDPC碼相比,該方法構(gòu)造的準(zhǔn)循環(huán)LDPC碼的糾錯具 有相同甚至更好的性能。而且該碼對應(yīng)的校驗矩陣具有準(zhǔn)循環(huán)的結(jié)構(gòu),方便用 于硬件實現(xiàn)。另外,與代數(shù)方法構(gòu)造或幾何方法構(gòu)造的準(zhǔn)循環(huán)LDPC碼相比,參 數(shù)調(diào)整更加靈活,更適于實際應(yīng)用。
圖1是現(xiàn)有LDPC碼校驗矩陣與Tanner圖的關(guān)系示意圖
圖2是現(xiàn)有LDPC碼以一個變量節(jié)點為根節(jié)點的擴(kuò)展樹示意圖3是本發(fā)明的參數(shù)為(256, 128) LDPC碼的BER/FER性能示意圖,其
中實菱形" "代表的是本發(fā)明得到的BER和FER結(jié)果;
圖4是本發(fā)明的參數(shù)為(504, 252) LDPC碼的BER/FER性能示意圖,其
中"*"代表的線條是本發(fā)明得到的BER和FER結(jié)果
圖5是本發(fā)明的參數(shù)為(1008, 504)LDPC碼的BER/FER性能示意圖,其
中"*"代表的線條是本發(fā)明得到的BER和FER結(jié)果;
圖6是本發(fā)明的參數(shù)為(1008, 504)LDPC碼的不同迭代次數(shù)的BER/FER
性能示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明做進(jìn)一步的說明。
構(gòu)造一個具有準(zhǔn)循環(huán)特性的校驗矩陣,只需確定基矩陣A/和移位次數(shù)矩陣
P。假設(shè)要構(gòu)造wxn的校驗矩陣且子矩陣維數(shù)為Z",則根據(jù)計算式c-w"和 ,"",分別求得c、"也即得到矩陣M和矩陣戶的維數(shù)參數(shù)。然后根據(jù)參數(shù)c、
,以及校驗矩陣/f的列重量分布,基于PEG算法,構(gòu)造出基矩陣M。這樣,該基
矩陣M具有比較大的環(huán)長。從校驗矩陣W的角度來說,校驗矩陣^具有較大的塊
環(huán)長.
移位次數(shù)矩陣P可以按如下方式來確定,
<formula>formula see original document page 11</formula>其中,^和/^分別是矩陣A/和矩陣P中第,'行第乂列的元素。z表示矩陣M毎 一行中元素"'的相對位置。每一行第一個為"'的位置,標(biāo)記z-O,第二個
為'r位置,標(biāo)記z-i,依次類推。
構(gòu)造一個碼字長度為"=48,校驗位長度為》 = 32,循環(huán)體大小為£ = 8的校驗 矩陣,首先用PEG算法構(gòu)造參數(shù)c-m/1^4, ^"" = 6的基矩陣似,若構(gòu)造的矩陣 為Af如下所示
<formula>formula see original document page 11</formula>fl -O計算移位次數(shù)矩陣P如下:<formula>formula see original document page 11</formula>確定基矩陣A/和移位次數(shù)矩陣p后,通過子矩陣替換基矩陣M中'r和
'0'得到校驗矩陣H。移位次數(shù)矩陣尸中非oo的元素的值(如果為i)對應(yīng)循環(huán)移
位,次后的單位矩陣,元素oO對應(yīng)全零子矩陣。用循環(huán)移位后的子矩陣取代矩陣M
中相應(yīng)位置元素'r ,用全零子矩陣取代矩陣M中相應(yīng)位置元素'o',從而 得到校驗矩陣ff 。
本實施例仿真構(gòu)造了三組參數(shù)(n,/n)分別為(1008,504) 、 (504,252) 、 (256,128)的 LDPC碼,其中"為碼字長度,m為校驗位的長度,碼率均為0.5。這些碼對應(yīng)的
Tanner圖變量節(jié)點度為均勻分布,《=3。校驗節(jié)點的度數(shù)幾乎均勻分布,除了 少數(shù)節(jié)點的度數(shù)為7和5外,其它節(jié)點的度數(shù)都為6。對于每一組參數(shù)選擇兩類碼 字, 一類是直接由PEG算法構(gòu)造的隨機(jī)碼,另一類是基于PEG算法構(gòu)造的準(zhǔn)循環(huán) 碼。
仿真條件采用BPSK調(diào)制、AWGN信道,利用高斯消元法進(jìn)行編碼和對數(shù)域
和積譯碼算法進(jìn)行譯碼,最大迭代次數(shù)設(shè)置為80次,最大數(shù)據(jù)量為2.016"W個比特。
附圖3、 4、 5比較了本發(fā)明所提出的基于PEG算法構(gòu)造的準(zhǔn)循環(huán)碼和現(xiàn)有 PEG算法構(gòu)造的LDPC碼的性能,它們的碼參數(shù)各不相同。
圖3反映了參數(shù)為(256,128)LDPC碼的BER/FER的仿真性能曲線,其中準(zhǔn)循 環(huán)碼的子矩陣維數(shù)為16x16,圖顯示基于PEG算法構(gòu)造的準(zhǔn)循環(huán)LDPC碼能達(dá)到 比較好的性能,與直接用PEG算法構(gòu)造的LDPC碼性能幾乎相同。
圖4反映了參數(shù)為(5M,252)碼的BER/FER的仿真性能曲線,其中準(zhǔn)循環(huán)碼的 子矩陣維數(shù)為18"8。該圖表明在高信噪比時,基于PEG算法的準(zhǔn)循環(huán)LDPC碼 比直接用PEG算法構(gòu)造的隨機(jī)LDPC碼性能稍微差些。但是,因為前者具有準(zhǔn) 循環(huán)結(jié)構(gòu),因此更適合于硬件實現(xiàn)。
圖5反映了參數(shù)為d008,504)碼的性能,其中準(zhǔn)循環(huán)碼的子矩陣維數(shù)為36x36 。
該圖顯示,基于PEG算法構(gòu)造的準(zhǔn)循環(huán)LDPC碼具有優(yōu)異的性能,特別是在相 對較大的信噪比的時候,BER性能比直接用PEG算法構(gòu)造的LDPC碼的性能要
好些。在誤比特率為10—7時,基于PEG算法的準(zhǔn)循環(huán)LDPC碼BER性能提髙了 大約0.06dB。
圖6顯示了參數(shù)為"=1008 , 《 = 504 , "36的LDPC碼在不同迭代次數(shù)下仿真 的性能曲線。從圖中可以看出,隨著迭代次數(shù)的增加,誤幀率(FER)和誤比特 率(BER)基本上呈下降趨勢。當(dāng)?shù)螖?shù)達(dá)到80次時,再增加迭代次數(shù)到100 次,性能不會有明顯的改善。
綜上,本發(fā)明提出了一種基于PEG算法的二進(jìn)制準(zhǔn)循環(huán)LDPC碼的構(gòu)造方法, 仿真結(jié)果表明,與傳統(tǒng)的PEG算法構(gòu)造的LDPC碼相比,該方法構(gòu)造的準(zhǔn)循環(huán)LDPC 碼的糾錯具有幾乎相同或更好的性能。而且該碼對應(yīng)校驗矩陣具有準(zhǔn)循環(huán)的結(jié) 構(gòu),方便用于硬件實現(xiàn)。另外,與代數(shù)方法構(gòu)造或幾何方法構(gòu)造的準(zhǔn)循環(huán)LDPC 碼相比,參數(shù)調(diào)整更加靈活,更適于實際應(yīng)用。
權(quán)利要求
1、一種二進(jìn)制低密度奇偶校驗碼的構(gòu)造方法,其通過構(gòu)造具有準(zhǔn)循環(huán)特性的校驗矩陣實現(xiàn),其特征在于所述校驗矩陣H采用兩個小矩陣來表征,一個是維數(shù)為c×t的二進(jìn)制基矩陣M,另一個是維數(shù)為c×t的移位次數(shù)矩陣P;具體構(gòu)造方法如下構(gòu)造m×n的校驗矩陣且子矩陣維數(shù)為L×L,先通過c=m/L和t=n/L,分別求得矩陣M和矩陣P的維數(shù)參數(shù)c、t,然后根據(jù)參數(shù)c、t以及校驗矩陣H的列重量分布,采用PEG算法構(gòu)造出基矩陣M,再采用如下方式構(gòu)造矩陣P
2、根據(jù)權(quán)利要求1所述的二進(jìn)制低密度奇偶校驗碼的構(gòu)造方法,其特征在于所述校驗矩陣H表述如下:<formula>see original document page 2</formula>其中,C 、 f都為正整數(shù)且c《fA是"L循環(huán)子矩陣<formula>see original document page 2</formula>如果<formula>see original document page 3</formula>則DATA是通過把循環(huán)矩陣A向右循環(huán)移位Py位后得到的,如果DATA,則A&是ixL的零矩陣。
3、根據(jù)權(quán)利要求2所述的二進(jìn)制低密度奇偶校驗碼的構(gòu)造方法,其特征在于所述循環(huán)子矩陣A通過如下矩陣Q進(jìn)行表述<formula>see original document page 3</formula>該矩陣中的每一行向右移動一位,就得到下一行,最后一行向右移動一位 就得到矩陣的第一行,每一列向下移動一位,就得到下一列,最后一列向下移 動一位就得到第一列。
4、根據(jù)權(quán)利要求1或2所述的二進(jìn)制低密度奇偶校驗碼的構(gòu)造方法,其特土征在于所述基矩陣M的表述如下:<formula>see original document page 3</formula>其中,<formula>see original document page 3</formula>基矩p車M通過用'1,取代矩陣H中的每個非 零循環(huán)子矩陣,用'0'取代H屮的全零子矩陣得到。
5、根據(jù)權(quán)利要求4所述的二進(jìn)制低密度奇偶校驗碼的構(gòu)造方法,其特征在于所述移位次數(shù)矩陣P表述如下<formula>see original document page 4</formula>其中,0≤i≤c一l, 0≤j≤t- l。
全文摘要
本發(fā)明提出了一種基于PEG算法的具有準(zhǔn)循環(huán)結(jié)構(gòu)的二進(jìn)制LDPC碼構(gòu)造方法。將校驗矩陣H采用兩個小矩陣來表征,一個是維數(shù)為c×t的二進(jìn)制矩陣基矩陣M,另一個是維數(shù)為c×t的移位次數(shù)矩陣P;通過碼長碼率分別求得矩陣M和矩陣P的維數(shù)參數(shù)c、t,然后根據(jù)參數(shù)c、t以及校驗矩陣H的列重量分布,采用PEG算法構(gòu)造出基矩陣M,再采用右式構(gòu)造矩陣P;仿真結(jié)果表明,本發(fā)明構(gòu)造的LDPC碼與用PEG算法構(gòu)造的隨機(jī)碼具有幾乎相同的性能,而且由于準(zhǔn)循環(huán)特性,用本文提出的方法編碼更簡單,可以通過反饋移位寄存器來實現(xiàn)。此外,碼率更易于調(diào)整。
文檔編號H03M13/11GK101207386SQ20071003163
公開日2008年6月25日 申請日期2007年11月23日 優(yōu)先權(quán)日2007年11月23日
發(fā)明者劉星成, 程浩輝 申請人:中山大學(xué)