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