本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及基于校驗(yàn)矩陣的編碼方法和裝置以及基于校驗(yàn)矩陣的解碼方法和裝置。
背景技術(shù):
在數(shù)據(jù)通過(guò)通信鏈路傳輸?shù)倪^(guò)程中,由于存在例如噪聲的干擾因素,接收端接收到的數(shù)據(jù)存在一些錯(cuò)誤的信息。為了實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸,可以采用前向糾錯(cuò)(Forward Error Correction,簡(jiǎn)稱FEC)技術(shù),以使得接收端能夠識(shí)別出接收到的錯(cuò)誤信息。作為FEC技術(shù)的一種具體實(shí)現(xiàn)方式,低密度奇偶校驗(yàn)碼(Low Density Parity Check Code,簡(jiǎn)稱LDPC Code或LDPC碼)不但具有良好的理論性能而且也適于硬件實(shí)現(xiàn)。具體地,LDPC碼的理論性能是,LDPC不僅幾乎適用于所有的信道而且還能夠接近于香農(nóng)限。LDPC碼適于硬件實(shí)現(xiàn)的原因在于,LDPC碼不僅譯碼復(fù)雜度低,而且可并行實(shí)現(xiàn)?;诖?,LDPC碼已被廣泛應(yīng)用于多種通信協(xié)議中,如衛(wèi)星數(shù)字視頻廣播DVB-S.2、寬帶無(wú)線接入?yún)f(xié)議IEEE802.16e以及以太網(wǎng)規(guī)范10GBASE-T。
基于LDPC碼實(shí)現(xiàn)的數(shù)據(jù)傳輸具體包括如下步驟:當(dāng)需要傳輸數(shù)據(jù)時(shí),先采用預(yù)先構(gòu)造的LDPC校驗(yàn)矩陣對(duì)數(shù)據(jù)進(jìn)行編碼從而得到編碼數(shù)據(jù)。然后,通過(guò)實(shí)際鏈路對(duì)編碼數(shù)據(jù)進(jìn)行傳輸。接收端接收到編碼數(shù)據(jù)后,采用預(yù)先構(gòu)造的LDPC校驗(yàn)矩陣對(duì)編碼數(shù)據(jù)進(jìn)行解碼從而得到所述數(shù)據(jù)。
在現(xiàn)有技術(shù)中,已經(jīng)出現(xiàn)了一些能夠用于編碼和解碼的LDPC校驗(yàn)矩陣。例如,一種現(xiàn)有的LDPC校驗(yàn)矩陣H如下所示:
其中,LDPC校驗(yàn)矩陣H由J個(gè)子矩陣H1、H2、……、Hj組成。LDPC校驗(yàn)矩陣H是m×n維矩陣。子矩陣H1~Hj均是(m/J)×n維矩陣。在矩陣H 中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為J。在子矩陣H1中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為J,每行中的L元素“1”是連續(xù)的。子矩陣H2~Hj是分別對(duì)子矩陣H1進(jìn)行列置換得到的。
需要說(shuō)明的是,以LDPC校驗(yàn)矩陣各行表示的校驗(yàn)方程作為校驗(yàn)節(jié)點(diǎn),以LDPC校驗(yàn)矩陣各列表示的變量作為變量節(jié)點(diǎn),可以形成LDPC校驗(yàn)矩陣的泰納圖(Tanner Graph,簡(jiǎn)稱TG),該TG的圍長(zhǎng)(girth)表示該TG最短環(huán)的長(zhǎng)度。發(fā)明人經(jīng)過(guò)研究發(fā)現(xiàn),現(xiàn)有技術(shù)中LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)為4。當(dāng)圍長(zhǎng)等于4時(shí),LDPC碼性能較低。具體來(lái)說(shuō),當(dāng)傳輸中的LDPC碼的信噪比較低時(shí),對(duì)接收到的LDPC碼進(jìn)行解碼得到的數(shù)據(jù)的誤碼率較高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種基于校驗(yàn)矩陣的編碼或者解碼方法,以及相關(guān)裝置,以解決現(xiàn)有技術(shù)中由于難以避免LDPC校驗(yàn)矩陣的TG的圍長(zhǎng)等于4而導(dǎo)致的LDPC碼性能較低的技術(shù)問(wèn)題。
第一方面,本發(fā)明實(shí)施例提供了一種基于校驗(yàn)矩陣的編碼方法,包括:
編碼器獲取數(shù)據(jù);以及
所述編碼器通過(guò)利用LDPC校驗(yàn)矩陣對(duì)所述數(shù)據(jù)進(jìn)行編碼,生成編碼數(shù)據(jù),所述LDPC校驗(yàn)矩陣是基于矩陣H生成的,在矩陣H中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3,矩陣H為m×n維的矩陣;
m/3=k×L且k為正整數(shù),矩陣H由矩陣H1、矩陣H2和矩陣H3組成,矩陣H1構(gòu)成矩陣H的第1行至第m/3行,矩陣H2構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1、矩陣H2和矩陣H3均為(k×L)×(k×L2)維的矩陣;
其中,
在矩陣H1中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的 數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4組成,矩陣H4為(k×L)×(k×L)維的對(duì)角陣,矩陣H4的主對(duì)角線上的元素都是“1”;
在矩陣H3中,每行中的元素“1”的數(shù)量為L(zhǎng),每列中的元素“1”的數(shù)量為1,矩陣H3包括k個(gè)矩陣H5,矩陣H5包括L個(gè)矩陣H6,矩陣H5為L(zhǎng)×L2維的矩陣,矩陣H6為L(zhǎng)×L維的對(duì)角陣,矩陣H6的主對(duì)角線上的元素都是“1”;
在矩陣H3中,所述k個(gè)矩陣H5之外的元素均為“0”,所述k個(gè)矩陣H5中第i個(gè)矩陣等于矩陣H3中第(i-1)×L+1行至i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k中的所有整數(shù);
或者,
m/3=k×L+r且k為正整數(shù)、r為1至L-1范圍內(nèi)的正整數(shù),矩陣H由矩陣H1’、矩陣H2’和矩陣H3’組成,矩陣H1’構(gòu)成矩陣H的第1行至第m/3行,矩陣H2’構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3’構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1’、矩陣H2’和矩陣H3’均為(k×L+r)×(k×L2+r×L)維的矩陣;
其中,
在矩陣H1’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的 數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2’由L個(gè)矩陣H4’組成,矩陣H4’為(k×L+r)×(k×L+r)維的對(duì)角陣,矩陣H4’的主對(duì)角線上的元素都是“1”;
矩陣H3’是將矩陣H5’中第k×L2+b×L+c列與第b×L2+(c-1)×L+c列進(jìn)行位置互換而得到的,b的取值范圍為0至r-1內(nèi)的所有整數(shù),c的取值范圍為1至L內(nèi)的所有整數(shù);
矩陣H5’中第1行至k×L行與第1列至k×L2列對(duì)應(yīng)的矩陣等于矩陣H6’,矩陣H5’中第k×L+1行至第k×L+r行與第k×L2+1列至k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H7’,矩陣H5’中矩陣H6’和矩陣H7’之外的元素均為“0”;
矩陣H6’為(k×L)×(k×L2)維的矩陣,矩陣H7’為r×(r×L)維的矩陣,矩陣H6’等于矩陣H3,在矩陣H7’中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量等于1,每行的L個(gè)元素“1”是連續(xù)的。
在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述LDPC校驗(yàn)矩陣為矩陣H。
在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述LDPC校驗(yàn)矩陣是對(duì)矩陣H進(jìn)行行置換和/或列置換而得到的。
第二方面,本發(fā)明實(shí)施例提供了一種基于校驗(yàn)矩陣的解碼方法,包括:
解碼器獲取編碼數(shù)據(jù);以及
所述解碼器通過(guò)利用LDPC校驗(yàn)矩陣對(duì)所述編碼數(shù)據(jù)進(jìn)行解碼,生成數(shù)據(jù),所述LDPC校驗(yàn)矩陣是基于矩陣H生成的,在矩陣H中,每行中元素“1” 的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3,矩陣H為m×n維的矩陣;
m/3=k×L且k為正整數(shù),矩陣H由矩陣H1、矩陣H2和矩陣H3組成,矩陣H1構(gòu)成矩陣H的第1行至第m/3行,矩陣H2構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1、矩陣H2和矩陣H3均為(k×L)×(k×L2)維的矩陣;
其中,
在矩陣H1中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4組成,矩陣H4為(k×L)×(k×L)維的對(duì)角陣,矩陣H4的主對(duì)角線上的元素都是“1”;
在矩陣H3中,每行中的元素“1”的數(shù)量為L(zhǎng),每列中的元素“1”的數(shù)量為1,矩陣H3包括k個(gè)矩陣H5,矩陣H5包括L個(gè)矩陣H6,矩陣H5為L(zhǎng)×L2維的矩陣,矩陣H6為L(zhǎng)×L維的對(duì)角陣,矩陣H6的主對(duì)角線上的元素都是“1”;
在矩陣H3中,所述k個(gè)矩陣H5之外的元素均為“0”,所述k個(gè)矩陣H5中第i個(gè)矩陣等于矩陣H3中第(i-1)×L+1行至i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k中的所有整數(shù);
或者,
m/3=k×L+r且k為正整數(shù)、r為1至L-1范圍內(nèi)的正整數(shù),矩陣H由矩陣H1’、矩陣H2’和矩陣H3’組成,矩陣H1’構(gòu)成矩陣H的第1行至第m/3行,矩陣H2’構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3’構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1’、矩陣H2’和矩陣H3’均為(k×L+r)×(k×L2+r×L)維的矩陣;
其中,
在矩陣H1’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2’由L個(gè)矩陣H4’組成,矩陣H4’為(k×L+r)×(k×L+r)維的對(duì)角陣,矩陣H4’的主對(duì)角線上的元素都是“1”;
矩陣H3’是將矩陣H5’中第k×L2+b×L+c列與第b×L2+(c-1)×L+c列進(jìn)行位置互換而得到的,b的取值范圍為0至r-1內(nèi)的所有整數(shù),c的取值范圍為1至L內(nèi)的所有整數(shù);
矩陣H5’中第1行至k×L行與第1列至k×L2列對(duì)應(yīng)的矩陣等于矩陣H6’,矩陣H5’中第k×L+1行至第k×L+r行與第k×L2+1列至k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H7’,矩陣H5’中矩陣H6’和矩陣H7’之外的元素均為“0”;
矩陣H6’為(k×L)×(k×L2)維的矩陣,矩陣H7’為r×(r×L)維的矩陣,矩陣H6’等于矩陣H3,在矩陣H7’中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量等于1,每行的L個(gè)元素“1”是連續(xù)的。
在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述LDPC校驗(yàn)矩陣為所述矩陣H。
在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述LDPC校驗(yàn)矩陣是對(duì)所述矩陣H進(jìn)行隨機(jī)行置換和/或隨機(jī)列置換而得到的。
第三方面,本發(fā)明實(shí)施例提供了一種基于校驗(yàn)矩陣的裝置,包括:
獲取單元,用于獲取數(shù)據(jù);
生成單元,用于通過(guò)利用LDPC校驗(yàn)矩陣對(duì)所述第一獲取單元獲取到的所述數(shù)據(jù)進(jìn)行編碼,生成編碼數(shù)據(jù),所述LDPC校驗(yàn)矩陣是基于矩陣H生成的,在矩陣H中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3,矩陣H為m×n維的矩陣;
m/3=k×L且k為正整數(shù),矩陣H由矩陣H1、矩陣H2和矩陣H3組成,矩陣H1構(gòu)成矩陣H的第1行至第m/3行,矩陣H2構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1、矩陣H2和矩陣H3均為(k×L)×(k×L2)維的矩陣;
其中,
在矩陣H1中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4組成,矩陣H4為(k×L)×(k×L)維的對(duì) 角陣,矩陣H4的主對(duì)角線上的元素都是“1”;
在矩陣H3中,每行中的元素“1”的數(shù)量為L(zhǎng),每列中的元素“1”的數(shù)量為1,矩陣H3包括k個(gè)矩陣H5,矩陣H5包括L個(gè)矩陣H6,矩陣H5為L(zhǎng)×L2維的矩陣,矩陣H6為L(zhǎng)×L維的對(duì)角陣,矩陣H6的主對(duì)角線上的元素都是“1”;
在矩陣H3中,所述k個(gè)矩陣H5之外的元素均為“0”,所述k個(gè)矩陣H5中第i個(gè)矩陣等于矩陣H3中第(i-1)×L+1行至i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k中的所有整數(shù);
或者,
m/3=k×L+r且k為正整數(shù)、r為1至L-1范圍內(nèi)的正整數(shù),矩陣H由矩陣H1’、矩陣H2’和矩陣H3’組成,矩陣H1’構(gòu)成矩陣H的第1行至第m/3行,矩陣H2’構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3’構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1’、矩陣H2’和矩陣H3’均為(k×L+r)×(k×L2+r×L)維的矩陣;
其中,
在矩陣H1’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2’由L個(gè)矩陣H4’組成,矩陣H4’為(k×L+r)×(k×L+r) 維的對(duì)角陣,矩陣H4’的主對(duì)角線上的元素都是“1”;
矩陣H3’是將矩陣H5’中第k×L2+b×L+c列與第b×L2+(c-1)×L+c列進(jìn)行位置互換而得到的,b的取值范圍為0至r-1內(nèi)的所有整數(shù),c的取值范圍為1至L內(nèi)的所有整數(shù);
矩陣H5’中第1行至k×L行與第1列至k×L2列對(duì)應(yīng)的矩陣等于矩陣H6’,矩陣H5’中第k×L+1行至第k×L+r行與第k×L2+1列至k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H7’,矩陣H5’中矩陣H6’和矩陣H7’之外的元素均為“0”;
矩陣H6’為(k×L)×(k×L2)維的矩陣,矩陣H7’為r×(r×L)維的矩陣,矩陣H6’等于矩陣H3,在矩陣H7’中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量等于1,每行的L個(gè)元素“1”是連續(xù)的。
在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述LDPC校驗(yàn)矩陣為所述矩陣H。
在第三方面的第二種可能的實(shí)現(xiàn)方式中,所述LDPC校驗(yàn)矩陣是對(duì)所述矩陣H進(jìn)行隨機(jī)行置換和/或列置換而得到的。
第四方面,本發(fā)明實(shí)施例提供了一種基于校驗(yàn)矩陣的裝置,包括:
獲取單元,用于獲取編碼數(shù)據(jù);
生成單元,用于通過(guò)利用LDPC校驗(yàn)矩陣對(duì)所述獲取模塊獲取到的所述編碼數(shù)據(jù)進(jìn)行解碼,生成數(shù)據(jù),所述LDPC校驗(yàn)矩陣是基于矩陣H生成的,在矩陣H中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3;矩陣H為m×n維的矩陣;
m/3=k×L且k為正整數(shù),矩陣H由矩陣H1、矩陣H2和矩陣H3組成,矩陣H1構(gòu)成矩陣H的第1行至第m/3行,矩陣H2構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1、矩陣H2和矩陣H3均為(k×L)×(k×L2)維的矩陣;
其中,
在矩陣H1中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4組成,矩陣H4為(k×L)×(k×L)維的對(duì)角陣,矩陣H4的主對(duì)角線上的元素都是“1”;
在矩陣H3中,每行中的元素“1”的數(shù)量為L(zhǎng),每列中的元素“1”的數(shù)量為1,矩陣H3包括k個(gè)矩陣H5,矩陣H5包括L個(gè)矩陣H6,矩陣H5為L(zhǎng)×L2維的矩陣,矩陣H6為L(zhǎng)×L維的對(duì)角陣,矩陣H6的主對(duì)角線上的元素都是“1”;
在矩陣H3中,所述k個(gè)矩陣H5之外的元素均為“0”,所述k個(gè)矩陣H5中第i個(gè)矩陣等于矩陣H3中第(i-1)×L+1行至i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k中的所有整數(shù);
或者,
m/3=k×L+r且k為正整數(shù)、r為1至L-1范圍內(nèi)的正整數(shù),矩陣H由矩陣H1’、矩陣H2’和矩陣H3’組成,矩陣H1’構(gòu)成矩陣H的第1行至第m/3行,矩陣H2’構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3’構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1’、矩陣H2’和矩陣H3’均為(k×L+r)×(k×L2+r×L)維的矩陣;
其中,
在矩陣H1’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2’由L個(gè)矩陣H4’組成,矩陣H4’為(k×L+r)×(k×L+r)維的對(duì)角陣,矩陣H4’的主對(duì)角線上的元素都是“1”;
矩陣H3’是將矩陣H5’中第k×L2+b×L+c列與第b×L2+(c-1)×L+c列進(jìn)行位置互換而得到的,b的取值范圍為0至r-1內(nèi)的所有整數(shù),c的取值范圍為1至L內(nèi)的所有整數(shù);
矩陣H5’中第1行至k×L行與第1列至k×L2列對(duì)應(yīng)的矩陣等于矩陣H6’,矩陣H5’中第k×L+1行至第k×L+r行與第k×L2+1列至k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H7’,矩陣H5’中矩陣H6’和矩陣H7’之外的元素均為“0”;
矩陣H6’為(k×L)×(k×L2)維的矩陣,矩陣H7’為r×(r×L)維的矩陣,矩陣H6’等于矩陣H3,在矩陣H7’中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量等于1,每行的L個(gè)元素“1”是連續(xù)的。
在第四方面的第一種可能的實(shí)現(xiàn)方式中,所述LDPC校驗(yàn)矩陣為所述矩陣H。
在第四方面的第二種可能的實(shí)現(xiàn)方式中,所述LDPC校驗(yàn)矩陣是對(duì)所述矩陣H進(jìn)行隨機(jī)行置換和/或列置換而得到的。
與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例至少具有以下優(yōu)點(diǎn):
采用本發(fā)明實(shí)施例的技術(shù)方案,LDPC校驗(yàn)矩陣是基于m×n維的矩陣H而生成的,矩陣H是由三個(gè)(m/3)×n維的子矩陣組成,在這三個(gè)子矩陣中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為1,并且,以A表示矩陣中任意兩個(gè)同一行上的元素“1”之間間隔的元素?cái)?shù)量,這三個(gè)子矩陣對(duì)應(yīng)A的取值范圍是各不相同的,因此,矩陣H中任意兩行與任意兩列的四個(gè)交匯的元素處均至少存在一個(gè)“0”,可見,矩陣H對(duì)應(yīng)的TG的圍長(zhǎng)大于4,這就可以保證LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)大于4,因此,采用這樣的LDPC校驗(yàn)矩陣對(duì)數(shù)據(jù)進(jìn)行編碼和解碼,當(dāng)傳輸中的LDPC碼的信噪比比較低時(shí),對(duì)接收到的LDPC碼進(jìn)行解碼得到的數(shù)據(jù)的的誤比特率較低,因此,LDPC碼的性能得以提高。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例中一種LDPC校驗(yàn)矩陣H與TG之間對(duì)應(yīng)關(guān)系的示意圖;
圖2為本發(fā)明實(shí)施例中一種對(duì)應(yīng)最小圍長(zhǎng)的LDPC校驗(yàn)H與TG的示意圖;
圖3為本發(fā)明實(shí)施例提供的一應(yīng)用場(chǎng)景所涉及的系統(tǒng)框架示意圖;
圖4為本發(fā)明實(shí)施例中一種基于校驗(yàn)矩陣的編碼方法的流程示意圖;
圖5為本發(fā)明實(shí)施例中一種矩陣H示例中元素排布的示意圖;
圖6為本發(fā)明實(shí)施例中一種矩陣H示例的構(gòu)造示意圖;
圖7a為本發(fā)明實(shí)施例中構(gòu)造一種矩陣H涉及到的矩陣示意圖;
圖7b為本發(fā)明實(shí)施例中構(gòu)造一種矩陣H涉及到的矩陣示意圖;
圖8為本發(fā)明實(shí)施例中一種基于校驗(yàn)矩陣的解碼方法的流程示意圖;
圖9為本發(fā)明實(shí)施例中一種基于校驗(yàn)矩陣的裝置的結(jié)構(gòu)示意圖;
圖10為本發(fā)明實(shí)施例中一種基于校驗(yàn)矩陣的裝置的結(jié)構(gòu)示意圖;
圖11為本發(fā)明實(shí)施例中一種編碼器的結(jié)構(gòu)示意圖;
圖12為本發(fā)明實(shí)施例中一種解碼器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述。顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。
需要說(shuō)明的是,本申請(qǐng)?zhí)峒暗男g(shù)語(yǔ)“交匯處”,是指同時(shí)位于矩陣中相交的某行和某列的元素的位置。每個(gè)交匯處由矩陣中的一個(gè)元素占據(jù)??梢岳斫?,矩陣中的一行與一列構(gòu)成一個(gè)交匯處。矩陣中的兩行與兩列構(gòu)成4個(gè)交匯處。此外,本申請(qǐng)中,對(duì)于一個(gè)矩陣一行來(lái)說(shuō),該行上任意兩個(gè)元素“1”之間的元素個(gè)數(shù)的取值范圍,稱之為該行的取值范圍。如果一個(gè)矩陣的每一行中任意兩個(gè)元素“1”之間的元素個(gè)數(shù)具有相同的取值范圍,則該取值范圍即稱之為該矩陣的取值范圍。例如,對(duì)于一個(gè)3行的矩陣來(lái)說(shuō),第1行中任意兩個(gè)元素“1”之間至少具有a個(gè)元素且至多具有b個(gè)元素,第2行中任意兩個(gè)元素“1”之間至少具有a個(gè)元素且至多具有b個(gè)元素,第3行中任意兩個(gè)元素“1”之間至少具有a個(gè)元素且至多具有b個(gè)元素,則第1、2、3行的取值范圍均為[a,b],則該矩陣的取值范圍為[a,b]。
發(fā)明人經(jīng)過(guò)研究發(fā)現(xiàn),在現(xiàn)有技術(shù)中,組成LDPC校驗(yàn)矩陣的多個(gè)子矩陣是由同一子矩陣經(jīng)過(guò)隨機(jī)列置換而形成的,導(dǎo)致LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)等于4。而LDPC碼的性能高低與LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)有關(guān),當(dāng)LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)等于4時(shí),LDPC碼的性能較低,也即,當(dāng)傳輸中的LDPC碼的信噪比比較低時(shí),對(duì)接收到的LDPC碼進(jìn)行解碼得到的數(shù)據(jù)的誤比特率就會(huì)比較高。
圖1所示的是LDPC校驗(yàn)矩陣H與TG之間的對(duì)應(yīng)關(guān)系。圖1包括(a)校驗(yàn)矩陣H以及(b)TG。圖1所示的LDPC校驗(yàn)矩陣H與圖1所示的TG是相 對(duì)應(yīng)的。其中,該TG包括變量節(jié)點(diǎn)x1~x6和校驗(yàn)節(jié)點(diǎn)z1~z4。可見,矩陣H的每一列分別對(duì)應(yīng)TG上的一個(gè)變量節(jié)點(diǎn),矩陣H的每一行分別對(duì)應(yīng)TG的一個(gè)校驗(yàn)節(jié)點(diǎn)。對(duì)于任意一個(gè)變量節(jié)點(diǎn)xi與任意一個(gè)校驗(yàn)節(jié)點(diǎn)zj來(lái)說(shuō),如果矩陣H中xi所在列與zj所在行交匯處的元素為“1”,則TG上xi與zj是相連的(參見圖1中的(b)TG中的粗線)。如果矩陣H中xi所在列與zj所在行交匯處的元素為“0”,則TG上xi與zj是不相連的(參見圖1中的(b)TG中的細(xì)線)。
可以理解的是,如果要在TG上形成一個(gè)環(huán),那么這個(gè)環(huán)至少要包括兩個(gè)變量節(jié)點(diǎn)和兩個(gè)校驗(yàn)節(jié)點(diǎn),也就是說(shuō),TG理論上的最小圍長(zhǎng)為4。圖2所示的是對(duì)應(yīng)最小圍長(zhǎng)的LDPC校驗(yàn)矩陣H與TG。圖2包括(a)girth為4的校驗(yàn)矩陣H和(b)girth 4的校驗(yàn)矩陣所對(duì)應(yīng)的TG。圖2所示的LDPC校驗(yàn)矩陣H與圖2所示的TG是相對(duì)應(yīng)的。在該矩陣H上,變量節(jié)點(diǎn)x1、x2所在的兩行與校驗(yàn)節(jié)點(diǎn)z1、z2所在的兩列形成了四個(gè)交匯處,這四個(gè)交匯處的元素均為“1”。因此,在該TG上就形成了由兩個(gè)變量節(jié)點(diǎn)和兩個(gè)校驗(yàn)節(jié)點(diǎn)構(gòu)成的最短環(huán)。因此,該TG的圍長(zhǎng)為4。由此可見,如果矩陣H上包含滿足如下第一約束條件的兩行與兩列,則該矩陣H對(duì)應(yīng)的TG圍長(zhǎng)即為4。所述第一約束條件為所述兩行與所述兩列的四個(gè)交匯處的元素都為“1”。如果矩陣H上每?jī)尚信c每?jī)闪芯鶟M足如下第二約束條件,則該矩陣H對(duì)應(yīng)的TG圍長(zhǎng)就大于4。所述第二約束條件為每?jī)尚信c每?jī)闪械乃膫€(gè)交匯處的元素均至少存在一個(gè)“0”。
在現(xiàn)有技術(shù)中,LDPC校驗(yàn)矩陣H由多個(gè)子矩陣H1~HJ構(gòu)成。在每個(gè)子矩陣的內(nèi)部,每一列都只有一個(gè)元素“1”。因此,對(duì)于任一子矩陣內(nèi)部的任意兩行來(lái)說(shuō),這兩行與任意兩列的四個(gè)交匯處的元素至少存在兩個(gè)“0”。但是,矩陣H2~HJ都是由子矩陣H1通過(guò)隨機(jī)列置換得到的,在這種構(gòu)造下,對(duì)于矩陣H中來(lái)自兩個(gè)不同子矩陣的兩行來(lái)說(shuō),無(wú)法保證這兩行與矩陣H的任意兩列的四個(gè)交匯處的元素必然存在至少一個(gè)“0”,因此,現(xiàn)有技術(shù)無(wú)法保證LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)大于4,從而導(dǎo)致了LDPC碼的性能低。
在本發(fā)明實(shí)施例中,為了提升LDPC碼的性能,提供了一種基于校驗(yàn)矩陣的編解碼方法和裝置。其中,在用于編解碼的LDPC校驗(yàn)矩陣中,任意兩行與任意兩列的四個(gè)交匯處的元素均至少存在一個(gè)“0”,從而保證LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)大于4。
圖3為本發(fā)明實(shí)施例提供的技術(shù)方案的一種應(yīng)用場(chǎng)景所涉及的系統(tǒng)框架示意圖。參見圖3,本發(fā)明實(shí)施例提供的技術(shù)方案可以應(yīng)用到由編碼器301與解碼器302組成的系統(tǒng)中。在該系統(tǒng)中,編碼器301與解碼器302可以采用相同的LDPC校驗(yàn)矩陣實(shí)現(xiàn)數(shù)據(jù)編碼和數(shù)據(jù)解碼。具體地,編碼器301對(duì)于獲取到的數(shù)據(jù),可以通過(guò)利用LDPC校驗(yàn)矩陣對(duì)該數(shù)據(jù)進(jìn)行編碼,生成編碼數(shù)據(jù)。解碼器302在獲取到該編碼數(shù)據(jù)時(shí),可以通過(guò)利用所述LDPC校驗(yàn)矩陣對(duì)該數(shù)據(jù)進(jìn)行編碼,生成該數(shù)據(jù)。
需要注意的是,上述應(yīng)用場(chǎng)景僅是為了便于理解本發(fā)明的原理而示出,不用于限定本發(fā)明實(shí)施例提供的技術(shù)方案。
下面結(jié)合附圖,通過(guò)實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明中基于校驗(yàn)矩陣的編解碼和設(shè)備的實(shí)現(xiàn)方式。
圖4為本發(fā)明實(shí)施例中一種基于校驗(yàn)矩陣的編碼方法的流程示意圖。在本實(shí)施例中,所述方法可以包括如下步驟:
步驟401、編碼器獲取數(shù)據(jù)。
步驟402、所述編碼器通過(guò)利用LDPC校驗(yàn)矩陣對(duì)所述數(shù)據(jù)進(jìn)行編碼,生成編碼數(shù)據(jù)。
具體實(shí)現(xiàn)時(shí),所述數(shù)據(jù)可以是比特串。所述編碼數(shù)據(jù)可以是編碼比特串。編碼器在獲取到所述比特串時(shí),可以利用LDPC校驗(yàn)矩陣對(duì)該比特串進(jìn)行編碼,從而生成編碼比特串。該編碼比特串可以用于在數(shù)據(jù)鏈路中傳輸。例如,所述數(shù)據(jù)鏈路可以是光纜、電纜等物理鏈路,也可以是標(biāo)簽交換路徑(Label Switching Path,簡(jiǎn)稱LSP)、偽線(Pseudo Wire,簡(jiǎn)稱PW)等邏輯鏈路。
在本實(shí)施例中,用于編碼的LDPC校驗(yàn)矩陣是基于矩陣H生成的。矩陣H是一個(gè)m×n維的矩陣。在矩陣H中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3??梢?,矩陣H中元素“1”的總數(shù)量可以表示為m×L,也可以表示為3×n,因此,m×L=3×n,也即,n=m/3×L。其中,m、n可以由LDPC校驗(yàn)矩陣的實(shí)際應(yīng)用場(chǎng)景來(lái)確定。其中,n的取值取決于實(shí)際鏈路中的數(shù)據(jù)幀長(zhǎng),m的取值取決于編碼數(shù)據(jù)的凈荷長(zhǎng)度例如,若實(shí)際鏈路的數(shù)據(jù)幀長(zhǎng)為5000并且數(shù)據(jù)幀長(zhǎng)中要求至少要傳輸3000bit的有用數(shù)據(jù),n的取值為 5000,m的取值為5000-3000,即2000。
為了便于構(gòu)造對(duì)應(yīng)TG的圍長(zhǎng)大于4的矩陣H,可以將矩陣H劃分成三個(gè)子矩陣,這三個(gè)子矩陣分別構(gòu)成矩陣H的第1行至第m/3行、第m/3+1行至第2m/3行、第2m/3+1行至第m行。在每個(gè)子矩陣中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為1。在這種情況下,在每個(gè)子矩陣內(nèi)部,任意兩行與任意兩列的四個(gè)交匯處的元素均至少存在兩個(gè)“0”,因此,在構(gòu)造每個(gè)子矩陣時(shí),僅需要考慮矩陣H中來(lái)自兩個(gè)不同子矩陣的兩行與矩陣中任意兩列的四個(gè)交匯處的元素是否必然存在“0”。
在矩陣H的每一個(gè)子矩陣中,各行的取值范圍可以是相同的,因此,對(duì)于任意一個(gè)子矩陣來(lái)說(shuō),該子矩陣上各行的取值范圍即是該子矩陣的取值范圍,而任意兩個(gè)子矩陣的取值范圍可以是沒(méi)有交集的,此時(shí),矩陣H中位于兩個(gè)不同子矩陣的任意兩行與矩陣H中任意兩列的四個(gè)交匯的元素處必然存在“0”。舉例來(lái)說(shuō),圖5為一種矩陣H示例的結(jié)構(gòu)示意圖。該矩陣H的行數(shù)不小于2,列數(shù)不小于13。圖5示出了矩陣H的第i行和第j行,以及第z-6列至第z+6列。具體地說(shuō),假設(shè)兩個(gè)不同的子矩陣分別對(duì)應(yīng)取值范圍[0,2]和[3,4],分別來(lái)自這兩個(gè)子矩陣的i行、j行與z列的兩個(gè)交匯處的元素均為“1”,在i行上的其余元素“1”僅可能出現(xiàn)在第z-3列至第z-1列或第z+1列至第z+3列,在j行上的其余元素“1”僅可能出現(xiàn)在第z-4列至第z-5列或第z+4列至第z+5列,也即,i行、j行僅與z列的兩個(gè)交匯處的元素都為“1”,與其他列的兩個(gè)交匯處的元素都至少存在一個(gè)“0”??梢姡?dāng)各個(gè)子矩陣的取值范圍各不相同時(shí),對(duì)于矩陣H的任意兩行來(lái)說(shuō),如果這兩行分別位于兩個(gè)不同的子矩陣,則這兩行與矩陣H的任意兩列的四個(gè)交匯處的元素中就必然存在“0”。
需要說(shuō)明的是,為了使得任意兩個(gè)子矩陣對(duì)應(yīng)的取值范圍沒(méi)有交集,可以根據(jù)m/3是否能被L整除,采用不同的方式來(lái)構(gòu)造矩陣H的各子矩陣。當(dāng)m/3能夠被L整除時(shí),采用下述第一種情況介紹的矩陣H,當(dāng)m/3不能夠被L整除時(shí),采用下述第二種情況介紹的矩陣H,也即,本實(shí)施例可以采用下述第一情況的矩陣H,或者,也可以采用下述第二種情況的矩陣H。
第一種情況:m/3=k×L且k為正整數(shù),即m/3能夠被L整除。
在第一種情況下,矩陣H可以表示為:
具體地,矩陣H可以由矩陣H1、矩陣H2和矩陣H3組成,也即,矩陣H1、矩陣H2和矩陣H3是矩陣H的三個(gè)子矩陣。矩陣H1可以構(gòu)成矩陣H的第1行至第m/3行,矩陣H2可以構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3可以構(gòu)成矩陣H的第2m/3+1行至第m行??梢?,矩陣H1、矩陣H2和矩陣H3均為(m/3)×n維??紤]到第一種情況下m/3=k×L,因此,矩陣H1、矩陣H2和矩陣H3的維數(shù)也均可以表示成(k×L)×(k×L2)維。
對(duì)于(k×L)×(k×L2)維的矩陣H1,矩陣H1的總列數(shù)是能夠被L整除的,因此,矩陣H1可以按照如下方式來(lái)構(gòu)造:
在矩陣H1中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的。例如,在矩陣H1第1行中,位于第1至L列的元素為“1”,其余元素為“0”。又如,在矩陣H1第2行中,位于第1至L列的元素為“1”,其余元素為“0”。
可見,在矩陣H1的第a1行中,元素“1”均位于第(a1-1)×L+b1列,其中,a1的取值范圍為1至k×L中的所有整數(shù),b1的取值范圍為1至L中的所有整數(shù)。
對(duì)于矩陣H1中的任意一行來(lái)說(shuō),由于該行上所有的L個(gè)元素是連續(xù)排列在一起的,因此,該行的取值范圍的最小值為0,該行的取值范圍最大值為L(zhǎng)-2??梢?,以A1表示矩陣H1中任意一行上任意兩個(gè)元素“1”之間的元素個(gè)數(shù),矩陣H1的取值范圍為A1≤L-2。
對(duì)于(k×L)×(k×L2)維的矩陣H2,矩陣H2的總列數(shù)是能夠被總行數(shù)整除的,并且,整除的商是L。因此,矩陣H2可以按照如下方式來(lái)構(gòu)造:
在矩陣H2中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4組成,矩陣H4為(k×L)×(k×L)維的對(duì)角陣,矩陣H4的主對(duì)角線上的元素都是“1”。
具體地,在矩陣H2中,第1至k×L列構(gòu)成一個(gè)矩陣H4,第k×L+1列至第k×L×2列構(gòu)成另一個(gè)H4,第k×L×2+1列至第k×L×3列構(gòu)成又一個(gè)H4,……,第k×L×(L-1)+1列至第k×L2列構(gòu)成又一個(gè)H4。在任意一個(gè)矩陣H4中,位于第1行第1列的元素為“1”,位于第2行第2列的元素為“1”,……,位于第k×L行第k×L列的元素為“1”,其余元素均為“0”。
可見,在矩陣H2的第a2行中,元素“1”均位于第a2+b2×k×L列,其中,a2的取值范圍為1至k×L中的所有整數(shù),b2的取值范圍為0至L-1中的所有整數(shù)。例如,在矩陣H2第1行中,位于第1、k×L+1、k×L×2+1、……、k×L×(L-1)+1列的元素為“1”。又如,在矩陣H2第2行中,位于第2、k×L+2、k×L×2+2、……、k×L×(L-1)+2列的元素為“1”。
對(duì)于矩陣H2中的任意一行來(lái)說(shuō),該行上每?jī)蓚€(gè)相距最近的元素“1”之間均具有有k×L-1個(gè)元素“0”,并且,該行上元素“1”的數(shù)量為L(zhǎng),可見,該行的取值范圍的最小值為k×L-1,該行的取值范圍的最大值為k×L×(L-1)-1。可見,以A2表示矩陣H2中任意一行上任意兩個(gè)元素“1”之間的元素個(gè)數(shù),矩陣H2的取值范圍為k×L-1≤A2≤k×L×(L-1)-1。
對(duì)于(k×L)×(k×L2)維的矩陣H3,矩陣H3的總列數(shù)能夠被L2整除且整除得到的商為k,矩陣H3的總行數(shù)能夠被L整除且整除得到的商也為k。因此,矩陣H3可以按照如下方式來(lái)構(gòu)造:
在矩陣H3中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量 等于1,矩陣H3包括k個(gè)矩陣H5,矩陣H5包括L個(gè)矩陣H6,矩陣H5為L(zhǎng)×L2維的矩陣,矩陣H6為L(zhǎng)×L維的對(duì)角陣,矩陣H6的主對(duì)角線上的元素都是“1”。在矩陣H3中,所述k個(gè)矩陣H5之外的元素均為“0”,所述k個(gè)矩陣H5中第i個(gè)矩陣等于矩陣H3中第(i-1)×L+1行至i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k中的所有整數(shù)。
具體地,在矩陣H3中,第1行至第L行與第1列至第L2列構(gòu)成第1個(gè)矩陣H5,即對(duì)應(yīng)于i取1,第L+1行至第2×L行至第L2+1列至第2×L2列構(gòu)成第2個(gè)矩陣H5,即對(duì)應(yīng)于i取2,……,第(k-1)×L+1行至k×L行與第(k-1)×L2+1列至第k×L2列構(gòu)成第i個(gè)矩陣H5,即對(duì)應(yīng)于i取k。在任意一個(gè)矩陣H5中,第1列至第L列構(gòu)成一個(gè)矩陣H6,第L+1列至第2×L列構(gòu)成另一個(gè)矩陣H6,……,第(L-1)×L列至第L2列構(gòu)成又一個(gè)矩陣H6。在任意一個(gè)矩陣H6中,位于第1行第1列的元素為“1”,位于第2行第2列的元素為“1”,……,位于第L行第L列的元素為“1”,其余元素均為0。
可見,在矩陣H3的第a3+b3×L行中,元素“1”均位于第a3+b3×L2+c3×L列,其中,a3的取值范圍為1至L中的所有整數(shù),b3的取值范圍為0至k-1中的所有整數(shù),c3的取值范圍為0至L-1范圍內(nèi)的所有整數(shù)。例如,矩陣H3第1行對(duì)應(yīng)a3取1且b3取0,在矩陣H3第1行中,位于第1、L+1、……、L×(L-1)+1列的元素為“1”。又如,矩陣H3第2行對(duì)應(yīng)a3取2且b3取0,在矩陣H3第2行中,位于第2、L+2、……、L×(L-1)+2列的元素為“1”。再如,矩陣H3第L+1行對(duì)應(yīng)a3取1且b3取1,在矩陣H3第L+1行中,位于第L2+1、L2+L+1、……、L2+L×(L-1)+1列的元素為“1”。
對(duì)于矩陣H3中的任意一行來(lái)說(shuō),該行上每?jī)蓚€(gè)相距最近的元素“1”之間均間隔有L-1個(gè)元素“0”,并且,該行上元素“1”的數(shù)量為L(zhǎng),可見,該行的取值范圍的最小值為L(zhǎng)-1,該行的取值范圍的最大值為L(zhǎng)×(L-1)-1。可見,以A3表示矩陣H3中任意一行上任意兩個(gè)元素“1”之間的元素個(gè)數(shù),矩陣H3的取值范圍為L(zhǎng)-1≤A3≤L×(L-1)-1。
作為一種示例,根據(jù)前述矩陣H1、矩陣H2和矩陣H3的構(gòu)造方式,當(dāng)k=3且L=2時(shí),矩陣H可以構(gòu)造成如圖6所示的形式。
需要說(shuō)明的是,對(duì)于本實(shí)施例第一種情況的矩陣H,在k大于L的情況 下,上述A1、A2、A3的取值范圍是互不相同的,因此,該矩陣H中任意兩行與任意兩列的四個(gè)交匯處的元素均至少存在一個(gè)“0”,因此,該矩陣H對(duì)應(yīng)TG的圍長(zhǎng)不為4。
具體地,以i行和j行表示矩陣H的任意兩行。i行與j行可以位于矩陣H的同一子矩陣,即,i行與j行可以均位于矩陣H1、矩陣H2和矩陣H3中的任意一個(gè)矩陣。i行與j行也可以位于矩陣H的兩個(gè)不同的子矩陣,即,i行與j行可以分別位于矩陣H1、矩陣H2和矩陣H3中的任意兩個(gè)矩陣。
在i行與j行位于同一子矩陣的情況下,由于矩陣H1、矩陣H2和矩陣H3的每列中均有且只有一個(gè)元素“1”,因此,i行、j行與矩陣H中任意一列的兩個(gè)交匯處的元素都至少存在一個(gè)“0”。
在i行與j行位于不同子矩陣的情況下,i行可以位于矩陣H1,j行可以位于矩陣H2。假設(shè)矩陣H中存在一個(gè)z列使得i行、j行與z列的兩個(gè)交匯處的元素均為“1”,根據(jù)矩陣H1的取值范圍和矩陣H2的取值范圍,除了z列上的元素“1”之外,i行上的其他元素“1”僅可能位于第z-L+1列至第z+L-1列,j行上的其他元素“1”僅可能位于第z-k×L×(L-1)列至第z-k×L列及第z+k×L列至第z+k×L×(L-1)列,可見,在k為正整數(shù)的情況下,除了z列之外,i行的元素“1”與j行的元素“1”不會(huì)同時(shí)出現(xiàn)在同一列上,因此,i行、j行與任意兩列的四個(gè)交匯處的元素中都至少存在一個(gè)“0”。
在i行與j行位于不同子矩陣的情況下,i行可以位于矩陣H1,j行可以位于矩陣H3。假設(shè)矩陣H中存在一個(gè)z列使得i行、j行與z列的兩個(gè)交匯處的元素均為“1”,根據(jù)矩陣H1的取值范圍和矩陣H3的取值范圍,除了z列上的元素“1”之外,i行上的其他元素“1”僅可能位于第z-L+1列至第z+L-1列,j行上的其他元素“1”僅可能位于第z-L×(L-1)列至第z-L列及第z+L列至第z+L×(L-1)列,可見,除了z列之外,i行的元素“1”與j行的元素“1”不會(huì)同時(shí)出現(xiàn)在同一列上,因此,i行、j行與任意兩列的四個(gè)交匯處的元素中都至少存在一個(gè)“0”。
在i行與j行位于不同子矩陣的情況下,i行可以位于矩陣H2,j行可以位于矩陣H3。假設(shè)矩陣H中存在一個(gè)z列使得i行、j行與z列的兩個(gè)交匯處的元素均為“1”,根據(jù)矩陣H2的取值范圍和矩陣H3的取值范圍,除了z列上的 元素“1”之外,i行上的其他元素“1”僅可能位于第z-k×L×(L-1)列至第z-k×L列及第z+k×L列至第z+k×L×(L-1)列,j行上的其他元素“1”僅可能位于第z-L×(L-1)列至第z-L列及第z+L列至第z+L×(L-1)列,可見,在k大于L的情況下,除了z列之外,i行的元素“1”與j行的元素“1”不會(huì)同時(shí)出現(xiàn)在同一列上,因此,i行、j行與任意兩列的四個(gè)交匯處的元素中都至少存在一個(gè)“0”。
通過(guò)上述分析可知,對(duì)于矩陣H中的任意兩行,無(wú)論這兩行是均位于矩陣H1、矩陣H2和矩陣H3中的任意一個(gè)矩陣,還是分別位于矩陣H1、矩陣H2和矩陣H3中的任意兩個(gè)矩陣,這兩行與矩陣H中任意兩列的四個(gè)交匯處的元素都至少存在一個(gè)“0”,因此,矩陣H對(duì)應(yīng)的TG的圍長(zhǎng)大于4。
第二種情況:m/3=k×L+r且k為正整數(shù)、r為1至L-1范圍內(nèi)的正整數(shù),即m/3不能夠被L整除。
在第二種情況下,矩陣H可以表示為:
具體地,矩陣H可以由矩陣H1’、矩陣H2’和矩陣H3’組成,也即,矩陣H1’、矩陣H2’和矩陣H3’是矩陣H的三個(gè)子矩陣。矩陣H1’可以構(gòu)成矩陣H的第1行至第m/3行,矩陣H2’可以構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3’可以構(gòu)成矩陣H的第2m/3+1行至第m行。可見,矩陣H1’、矩陣H2’和矩陣H3’均為(m/3)×n維??紤]到第一種情況下m/3=k×L+r,因此,矩陣H1’、矩陣H2’和矩陣H3’的維數(shù)也可以表示成(k×L+r)×(k×L2+r×L)維的矩陣。
對(duì)于(k×L+r)×(k×L2+r×L)維的矩陣H1’,矩陣H1’的總列數(shù)是能夠被L整除的。因此,矩陣H1’可以按照如下方式來(lái)構(gòu)造:
其中,
在矩陣H1’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量 等于1,每行中的L個(gè)元素“1”是連續(xù)的。例如,在矩陣H1’第1行中,位于第1至L列的元素為“1”,其余元素為“0”。又如,在矩陣H1’第2行中,位于第1至L列的元素為“1”,其余元素為“0”。
可見,在矩陣H1’的第a1’行中,元素“1”均位于第(a1’-1)×L+b1’列,其中,a1’的取值范圍為1至k×L+r中的所有整數(shù),b1’的取值范圍為1至L中的所有整數(shù)。
可以理解的是,由于矩陣H1’與前述矩陣H1在每行上對(duì)元素“1”采用了相似的排列方式,參考前述矩陣H1可知,以A1’表示矩陣H1’中任意一行上任意兩個(gè)元素“1”之間的元素個(gè)數(shù),矩陣H1’的取值范圍為A1’≤L-2。
對(duì)于(k×L+r)×(k×L2+r×L)維的矩陣H2’,矩陣H2’的總列數(shù)是能夠被總行數(shù)整除的,并且,整除得的商是L。因此,矩陣H2可以按照如下方式來(lái)構(gòu)造:
在矩陣H2’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4’組成,矩陣H4’為(k×L+r)×(k×L+r)維的對(duì)角陣,矩陣H4’的主對(duì)角線上的元素都是“1”。
具體地,在矩陣H2’中,第1至k×L+r列構(gòu)成一個(gè)矩陣H4’,第k×L+r+1列至第k×L×2+r×2列構(gòu)成另一個(gè)H4’,……,第k×L×(L-1)+r×(L-1)+1列至第k×L2+r×L列構(gòu)成又一個(gè)H4’。在任意一個(gè)矩陣H4’中,元素“1”位于第1行第1列、第2行第2列、……、第k×L+r行第k×L+r列的位置。
可見,在矩陣H2’的第a2’行中,元素“1”均位于第a2’+b2’×(k×L+r)列,其中,a2的取值范圍為1至k×L+r中的所有整數(shù),b2’的取值范圍為0至L-1中的所有整數(shù)。例如,在矩陣H2’第1行中,元素“1”位于第1、k×L+r+1、k×L×2+r×2+1、……、k×L×(L-1)+r×(L-1)+1列。又如,在矩陣H2’第2行中,元素“1”位于第2、k×L+r+2、k×L×2+r×2+2、……、k×L×(L-1)+r×(L-1)+2列。
可以理解的是,由于矩陣H2’與前述矩陣H2在每行上對(duì)元素“1”采用了相似的排列方式,參考前述矩陣H2可知,以A2’表示矩陣H2’中任意一行上任 意兩個(gè)元素“1”之間的元素個(gè)數(shù),矩陣H2’的取值范圍為k×L+r-1≤A2’≤(k×L+r)×(L-1)-1。
對(duì)于(k×L+r)×(k×L2+r×L)維的矩陣H3’,矩陣H3’的總列數(shù)不能夠被L2整除,矩陣H3’的總列數(shù)除以L2,商為k,余數(shù)為r×L,并且,矩陣H3的總行數(shù)不能夠被L整除,矩陣H3’的總行數(shù)除以L,商為k,余數(shù)為r。因此,可以先構(gòu)造一個(gè)(k×L+r)×(k×L2+r×L)維的矩陣H5’,再對(duì)矩陣H5’進(jìn)行列置換可以得到矩陣H3’。其中,矩陣H5’可以按照如下方式來(lái)構(gòu)造:
在矩陣H5’中,第1行至k×L行與第1列至k×L2列對(duì)應(yīng)的矩陣等于矩陣H6’,第k×L+1行至第k×L+r行與第k×L2+1列至k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H7’,矩陣H5’中矩陣H6’和矩陣H7’之外的元素均為“0”。矩陣H6’為(k×L)×(k×L2)維的矩陣,矩陣H6’等于矩陣H3。矩陣H7’為r×(r×L)維的矩陣,在矩陣H7’中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量等于1,每行的L個(gè)元素“1”是連續(xù)的。
具體地,矩陣H6’與前述矩陣H3均是(k×L)×(k×L2)維的矩陣,因此可以采用矩陣H3作為矩陣H6’。參照矩陣H3可知,在矩陣H6’中的第a6’+b6’×L行中,元素“1”均位于第a6’+b6’×L2+c6’×L列,其中,a6’的取值范圍為1至L中的所有整數(shù),b6’的取值范圍為0至k-1中的所有整數(shù),c6’的取值范圍為0至L-1范圍內(nèi)的所有整數(shù)。
矩陣H7’與前述矩陣H1具有相似的特點(diǎn),兩者均是總列數(shù)除以總行數(shù)的商為L(zhǎng),因此參照矩陣H1,可以將矩陣H7’每行上的元素“1”連續(xù)排列在一起,即,在矩陣H7’中的第a7’行,元素“1”均位于第(a7’-1)×L+b7’列,其中,a7’的取值范圍為1至r中的所有整數(shù),b7’的取值范圍為1至L中的所有整數(shù)。
由矩陣H6’和矩陣H7’可知,在矩陣H5’第1行至第k×L行中的第a5’+b5’×L行中,元素“1”均位于第a5’+b5’×L2+c5’×L列,在矩陣H5’第k×L+1行至第k×L+r行中的第d5’+k×L行中,元素“1”均位于第(d5’-1)×L+e5’+k×L2列,其中,a5’- 的取值范圍為1至L中的所有整數(shù),b5’的取值范圍為0至k-1中的所有整數(shù),c5’的取值范圍為0至L-1范圍內(nèi)的所有整數(shù),d5’的取值范圍為1至r中的所有整數(shù),e5’的取值范圍為1至L中的所有整數(shù)。例如,矩陣H5’第1行對(duì)應(yīng)a5’取1且b5’取0,在矩陣H5’第1行中,元素“1”位于第1、L+1、……、L×(L-1)+1列。又如,矩陣H5’第k×L行對(duì)應(yīng)a5’取L且b5’取k-1,在矩陣H5’第k×L行中,元素“1”位于第L、L×2、……、L×L列。又如,矩陣H5’第k×L+1行對(duì)應(yīng)d5’取1,在矩陣H5’第k×L+1行中,元素“1”位于第k×L2+1至k×L2+L列的元素。又如,矩陣H5’第k×L+r行對(duì)應(yīng)d5’取r,在矩陣H5’第k×L+r行中,元素“1”位于第k×L2+(r-1)×L+1至k×L2+r×L列。
在矩陣H5’構(gòu)造完成之后,將矩陣H5’中第k×L2+b×L+c列與第b×L2+(c-1)×L+c列進(jìn)行位置互換,可以得到矩陣H3’,其中,b的取值范圍為0至r-1內(nèi)的所有整數(shù),c的取值范圍為1至L內(nèi)的所有整數(shù)。例如,對(duì)應(yīng)b取0且c取1,需要將矩陣H5’中第k×L2+1列與第1列進(jìn)行位置互換。又如,對(duì)應(yīng)b取1且c取2,需要將矩陣H5’中第k×L2+L+2列與第L2+L+2列進(jìn)行位置互換。又如,對(duì)應(yīng)b取r-1且c取L,需要將矩陣H5’中第k×L2+r×L列與第r×L2列進(jìn)行位置互換。
可以理解的是,按照上述方式構(gòu)造的矩陣H3’,可以表示為:
具體地,矩陣H3’包括矩陣H8’、矩陣H9’、矩陣H10’和矩陣H11’。矩陣H3’中第1行至第r×L行與第1列至第r×L2列對(duì)應(yīng)的矩陣等于矩陣H8’,矩陣H3’中第r×L+1行至第k×L行與第r×L2+1列至第k×L2列對(duì)應(yīng)的矩陣等于矩陣H9’,矩陣H3’中第1行至第r×L行與第k×L2+1列至第k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H10’,矩陣H3’中其余元素為“0”。
矩陣H8’包括r個(gè)矩陣H12’,所述r個(gè)矩陣H12’中第i個(gè)矩陣等于矩陣H8’中第(i-1)×L+1行至第i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至r中的所有整數(shù)。所述矩陣H12’是由矩陣H121’、矩陣H122’、……、矩陣H12L’共L個(gè)矩陣組成。在矩陣H121’至矩陣H12L’中的任意一個(gè)矩陣中,位于主對(duì)角線上的L個(gè)元素包括L-1個(gè)元素“1”和1個(gè)元素“0”。在矩陣H121’至矩陣H12L’中的矩陣H12i’中,第i行第i列上的元素為“0”。
矩陣H9’包括k-r個(gè)矩陣H13’,所述k-r個(gè)矩陣H13’中第i個(gè)矩陣等于矩陣H9’中第(i-1)×L+1行至第i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k-r中的所有整數(shù)。矩陣H13’等于前述的矩陣H5。
矩陣H10’為(r×L)×(r×L)維的矩陣,矩陣H10’主對(duì)角線上的元素為“1”。
矩陣H11’包括r個(gè)矩陣H14’,所述r個(gè)矩陣H14’中第i個(gè)矩陣等于矩陣H11’中第i行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至r中的所有整數(shù)。矩陣H14’包括L個(gè)元素“1”。在矩陣H14’中,每?jī)蓚€(gè)相距最近的元素“1”之間間隔有L-1個(gè)元素“0”。
由上述構(gòu)造的矩陣H3’可知,在矩陣H3’第1行至第r×L行中的第a3’+b3’×L行中,元素“1”均位于第a3’+d3’×L2+c3’×L列及第a3+b3’×L+k×L2列,在矩陣H3’第r×L+1行至第k×L行中的第a3’+b3’×L行中,元素“1”均位于第a3’+b3’×L2+c3’×L列,在矩陣H5’第k×L+1行至第k×L+r行中的第e3’+k×L行中,元素“1”均位于第(e3’-1)×L 2+(f5’-1)×L+f5’列,其中,a3’的取值范圍為1至L中的所有整數(shù),b3’的取值范圍為0至k-1中的所有整數(shù),c3’的取值范圍為0至L-1范圍內(nèi)的所有整數(shù),d3’=b3’且d3’≠a3’-1,e3’的取值范圍為1至r中的所有整數(shù),f3’的取值范圍為1至L中的所有整數(shù)。
在矩陣H3’第1行至第r×L行中的任意一行上,前k×L2列共有L-1個(gè)“1”元素,其中,兩個(gè)元素“1”之間至少具有L-1個(gè)元素,兩個(gè)元素“1”之間至多具有L×(L-1)-1個(gè)元素。在該行上,位于后r×L列的元素中僅有1個(gè)“1”,該元素“1”與位于前k×L2列的元素“1”之間至少具有k×L2-r×L2+r×L-1。在矩陣H3’第r×L+1行至第k×L行中的任意一行上,兩個(gè)元素“1”之間至少具有L-1個(gè)元素,兩個(gè)元素“1”之間至多具有L×(L-1)-1個(gè)元素。在矩陣H3’第k×L+1行至第k×L+r行中的任意一行上,兩個(gè)元素“1”之間至少具有L個(gè)元素,兩個(gè)元素“1”之間至多具有L2個(gè)元素。由此可見,以A3’表示矩陣H3’中任意一行上任意兩個(gè)元素“1”之間的元素個(gè)數(shù),矩陣H3’的取值范圍為L(zhǎng)-1≤A3’≤L2-1或A3’≥k×L2-r×L2+r×L-1。
作為一種示例,根據(jù)前述矩陣H1’、矩陣H2’和矩陣H3’的構(gòu)造方式,當(dāng)k=3、L=2且r=1時(shí),矩陣H可以構(gòu)造成如圖7a和圖7b所示的形式。其中,圖7a示出的是構(gòu)造矩陣H1’的方式、構(gòu)造矩陣H2’的方式以及構(gòu)造矩陣H5’的方式,圖7b示出的是矩陣H5’經(jīng)過(guò)列置換構(gòu)造矩陣H3’的方式以及矩陣H1’、矩陣H2’和矩陣H3’構(gòu)造矩陣H的方式。
需要說(shuō)明的是,對(duì)于本實(shí)施例第二種情況的矩陣H,在k大于L2-L的情況下,上述矩陣H1’、矩陣H2’、矩陣H3’的取值范圍是互不相同的,因此,該矩陣H中任意兩行與任意兩列的四個(gè)交匯處的元素均至少存在一個(gè)“0”,因此,該矩陣H對(duì)應(yīng)TG的圍長(zhǎng)大于4。
具體地,以i行和j行表示矩陣H的任意兩行。i行與j行可以位于矩陣H的同一子矩陣,即,i行與j行可以均位于矩陣H1’、矩陣H2’和矩陣H3’中 的任意一個(gè)矩陣。i行與j行也可以位于矩陣H的兩個(gè)不同的子矩陣,即,i行與j行可以分別位于矩陣H1’、矩陣H2’和矩陣H3’中的任意兩個(gè)矩陣。
在i行與j行位于同一子矩陣的情況下,由于矩陣H1’、矩陣H2’和矩陣H3’的每列中均有且只有一個(gè)元素“1”,因此,i行、j行與矩陣H中任意一列的兩個(gè)交匯處的元素都至少存在一個(gè)“0”。
在i行與j行位于不同子矩陣的情況下,i行可以位于矩陣H1’,j行可以位于矩陣H2’。假設(shè)矩陣H中存在一個(gè)z列使得i行、j行與z列的兩個(gè)交匯處的元素均為“1”,根據(jù)矩陣H1’的取值范圍和矩陣H2’的取值范圍,除了z列上的元素“1”之外,i行上的其他元素“1”僅可能位于第z-L+1列至第z+L-1列,j行上的其他元素“1”僅可能位于第z-(k×L+r)×(L-1)列至第z-k×L-r列及第z+k×L+r列至第z+(k×L+r)×(L-1)列,可見,在k大于L2-L的情況下,除了z列之外,i行的元素“1”與j行的元素“1”不會(huì)同時(shí)出現(xiàn)在同一列上,因此,i行、j行與任意兩列的四個(gè)交匯處的元素中都至少存在一個(gè)“0”。
在i行與j行位于不同子矩陣的情況下,i行可以位于矩陣H1’,j行可以位于矩陣H3’。假設(shè)矩陣H中存在一個(gè)z列使得i行、j行與z列的兩個(gè)交匯處的元素均為“1”,根據(jù)矩陣H1’的取值范圍和矩陣H3’的取值范圍,除了z列上的元素“1”之外,i行上的其他元素“1”僅可能位于第z-L+1列至第z+L-1列,j行上的其他元素“1”僅可能位于第z-L2列至第z-L列及第z+L列至第z+L2列、第z-k×L2+r×L2-r×L列和第z+k×L2-r×L2+r×L列,可見,除了z列之外,i行的元素“1”與j行的元素“1”不會(huì)同時(shí)出現(xiàn)在同一列上,因此,i行、j行與任意兩列的四個(gè)交匯處的元素中都至少存在一個(gè)“0”。
在i行與j行位于不同子矩陣的情況下,i行可以位于矩陣H2’,j行可以位于矩陣H3’。假設(shè)矩陣H中存在一個(gè)z列使得i行、j行與z列的兩個(gè)交匯處元素均為“1”,根據(jù)矩陣H2’的取值范圍和矩陣H3’的取值范圍,除了z列上的元素“1”之外,i行上的其他元素“1”僅可能位于第z-(k×L+r)×(L-1)列至第z-k×L-r列及第z+k×L+r列至第z+(k×L+r)×(L-1)列,j行上的其他元素“1”僅可能位于第z-L2列至第z-L列及第z+L列至第z+L2列、第z-k×L2+r×L2-r×L列和第z+k×L2-r×L2+r×L列,可見,在k大于L2-L的情況下,除了z列之外,i行的元素“1”與j行的元素“1”不會(huì)同時(shí)出現(xiàn)在同一列上,因此,i行、j 行與任意兩列的四個(gè)交匯處的元素中都至少存在一個(gè)“0”。
通過(guò)上述分析可知,對(duì)于矩陣H中的任意兩行,無(wú)論這兩行是均位于矩陣H1’、矩陣H2’和矩陣H3’中的任意一個(gè)矩陣,還是分別位于矩陣H1’、矩陣H2’和矩陣H3’中的任意兩個(gè)矩陣,這兩行與矩陣H中任意兩列的四個(gè)交匯處的元素都至少存在一個(gè)“0”,因此,矩陣H對(duì)應(yīng)的TG圍長(zhǎng)大于4。
在一些實(shí)施方式中,LDPC校驗(yàn)矩陣可以是矩陣H。矩陣H本身對(duì)應(yīng)的TG的圍長(zhǎng)大于4,即相當(dāng)于LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)大于4。
在另一些實(shí)施方式中,LDPC校驗(yàn)矩陣可以是對(duì)矩陣H進(jìn)行行置換而得到的,即,從矩陣H中選擇任意多行進(jìn)行位置互換,互換后得到LDPC矩陣。例如,選取矩陣H的第1、5、10行,將第1行換到第5行,將第5行換到第10行,將第10行換到第1行,從而得到LDPC校驗(yàn)矩陣。
在又一些實(shí)施方式中,LDPC校驗(yàn)矩陣可以是對(duì)矩陣H進(jìn)行列置換而得到的,即,從矩陣H中選擇任意多列進(jìn)行位置互換,互換后得到LDPC校驗(yàn)矩陣。例如,選取矩陣H的第3、6、7列,將第3列換到第7列,將第6行換到第3列,將第7列換到第6列,從而得到LDPC校驗(yàn)矩陣。
在又一些實(shí)施方式中,LDPC校驗(yàn)矩陣可以是對(duì)矩陣H進(jìn)行行置換和列置換而得到的,即,從矩陣H中先選擇任意多行進(jìn)行位置互換再選擇任意多列進(jìn)行位置互換,互換后得到LDPC校驗(yàn)矩陣,或者,從矩陣H中先選擇任意多列進(jìn)行位置互換再選擇任意多行進(jìn)行位置互換,互換后得到LDPC校驗(yàn)矩陣。
可以理解的是,無(wú)論是矩陣的行置換還是矩陣的列置換,都不會(huì)改變矩陣對(duì)應(yīng)的TG的圍長(zhǎng)。因此,通過(guò)矩陣H的行置換和/或列置換得到的LDPC校驗(yàn)矩陣,與矩陣H具有相同的TG的圍長(zhǎng),因此,LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)大于4。
需要說(shuō)明的是,矩陣X中第Y行表示矩陣X從最頂端開始向下的第Y個(gè)行向量,矩陣X中第Z列表示矩陣X從最左側(cè)開始向右的第Z個(gè)行向量,其中,矩陣X可以是上述提及的任意一個(gè)矩陣,第Y行可以是上述提及的任意一個(gè)矩陣的任意一行,第Z列可以是上述提及的任意一個(gè)矩陣的任意一列。
通過(guò)本實(shí)施例的技術(shù)方案,無(wú)論是上述第一種情況還是上述第二種情況, m×n維的矩陣H都是由三個(gè)(m/3)×n維的子矩陣組成,在這三個(gè)子矩陣中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為1,并且,這三個(gè)子矩陣的取值范圍是各不相同的,這使得矩陣H中任意兩行與任意兩列的四個(gè)交匯處的元素均至少存在一個(gè)“0”,保證矩陣H對(duì)應(yīng)的TG的圍長(zhǎng)大于4,因此,基于矩陣H生成LDPC校驗(yàn)矩陣,就可以保證LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)大于4,因此,采用這樣的LDPC校驗(yàn)矩陣對(duì)數(shù)據(jù)進(jìn)行編碼,當(dāng)傳輸中的LDPC碼的信噪比比較低時(shí),對(duì)接收到的LDPC碼進(jìn)行解碼得到的數(shù)據(jù)的的誤比特率較低,因此,LDPC碼的性能得以提高。
圖8為本發(fā)明實(shí)施例中一種基于校驗(yàn)矩陣的解碼方法的流程示意圖。在本實(shí)施中,所述方法包括如下步驟:
步驟801、解碼器獲取編碼數(shù)據(jù)。
步驟802、所述解碼器通過(guò)利用低密度奇偶校驗(yàn)LDPC校驗(yàn)矩陣對(duì)所述編碼數(shù)據(jù)進(jìn)行解碼,生成數(shù)據(jù)。
需要說(shuō)明的是,圖4所示的方法以及圖8所示的方法可以應(yīng)用于圖3所示的應(yīng)用場(chǎng)景。具體地,圖4所示的方法的執(zhí)行主體可以是圖3中的編碼器301。圖8所示的方法的執(zhí)行主體可以是圖3中的解碼器302。圖8中步驟801涉及的編碼數(shù)據(jù)可以是圖4中步驟402涉及的編碼數(shù)據(jù)。圖8所示的步驟802中的解碼處理是圖4所示的步驟402中的編碼處理的逆處理。因此,圖8所示的步驟802具體實(shí)現(xiàn)時(shí),可以參考實(shí)施例對(duì)圖8所示的步驟802的描述。
具體實(shí)現(xiàn)時(shí),解碼器可以以比特串的形式對(duì)數(shù)據(jù)進(jìn)行獲取和解碼。解碼器在獲取到編碼比特串時(shí),可以利用LDPC校驗(yàn)矩陣對(duì)該編碼比特串進(jìn)行解碼,從而生成比特串。該編碼比特串可以用于在實(shí)際數(shù)據(jù)鏈路中傳輸。在本實(shí)施例中,用于解碼的LDPC校驗(yàn)矩陣是基于矩陣H生成的。在矩陣H中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3,矩陣H為m×n維的矩陣。其中,本實(shí)施例可以采用下述第一種情況的矩陣H,或者,也可以采用下述第二種情況的矩陣H。
第一種情況:m/3=k×L且k為正整數(shù),即m/3能夠被L整除。
在第一種情況下,矩陣H可以表示為:
具體地,矩陣H由矩陣H1、矩陣H2和矩陣H3組成,矩陣H1構(gòu)成矩陣H的第1行至第m/3行,矩陣H2構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1、矩陣H2和矩陣H3均為(k×L)×(k×L2)維的矩陣。
矩陣H1可以按照如下方式來(lái)構(gòu)造:
在矩陣H1中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的。
矩陣H2可以按照如下方式來(lái)構(gòu)造:
在矩陣H2中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4組成,矩陣H4為(k×L)×(k×L)維的對(duì)角陣,矩陣H4的主對(duì)角線上的元素都是“1”。
矩陣H3可以按照如下方式來(lái)構(gòu)造:
在矩陣H3中,每行中的元素“1”的數(shù)量為L(zhǎng),每列中的元素“1”的數(shù)量為1,矩陣H3包括k個(gè)矩陣H5,矩陣H5包括L個(gè)矩陣H6,矩陣H5為L(zhǎng)×L2維的矩陣,矩陣H6為L(zhǎng)×L維的對(duì)角陣,矩陣H6的主對(duì)角線上的元素都是“1”。 在矩陣H3中,所述k個(gè)矩陣H5之外的元素均為“0”,所述k個(gè)矩陣H5中第i個(gè)矩陣等于矩陣H3中第(i-1)×L+1行至i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k中的所有整數(shù)。
第二種情況:m/3=k×L+r且k為正整數(shù)、r為1至L-1范圍內(nèi)的正整數(shù),即m/3不能夠被L整除。
在第二種情況下,矩陣H可以表示為:
具體地,矩陣H由矩陣H1’、矩陣H2’和矩陣H3’組成,矩陣H1’構(gòu)成矩陣H的第1行至第m/3行,矩陣H2’構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3’構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1’、矩陣H2’和矩陣H3’均為(k×L+r)×(k×L2+r×L)維的矩陣。
矩陣H1’可以按照如下方式來(lái)構(gòu)造:
在矩陣H1’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的。
矩陣H2’可以按照如下方式來(lái)構(gòu)造:
在矩陣H2’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2’由L個(gè)矩陣H4’組成,矩陣H4’為(k×L+r)×(k×L+r)維的對(duì)角陣,矩陣H4’的主對(duì)角線上的元素都是“1”。
矩陣H3’是將矩陣H5’中第k×L2+b×L+c列與第b×L2+(c-1)×L+c列進(jìn)行位 置互換而得到的,b的取值范圍為0至r-1內(nèi)的所有整數(shù),c的取值范圍為1至L內(nèi)的所有整數(shù)。
矩陣H5’可以按照如下方式來(lái)構(gòu)造:
矩陣H5’中第1行至k×L行與第1列至k×L2列對(duì)應(yīng)的矩陣等于矩陣H6’,矩陣H5’中第k×L+1行至第k×L+r行與第k×L2+1列至k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H7’,矩陣H5’中矩陣H6’和矩陣H7’之外的元素均為“0”。
矩陣H6’為(k×L)×(k×L2)維的矩陣,矩陣H7’為r×(r×L)維的矩陣。矩陣H6’等于矩陣H3。在矩陣H7’中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量等于1,每行的L個(gè)元素“1”是連續(xù)的。
可選的,在一些實(shí)施方式中,所述LDPC校驗(yàn)矩陣為所述矩陣H。
可選的,在另一些實(shí)施方式中,所述LDPC校驗(yàn)矩陣是對(duì)所述矩陣H進(jìn)行隨機(jī)行置換和/或隨機(jī)列置換而得到的。
需要說(shuō)明的是,本實(shí)施例中,矩陣H、LDPC校驗(yàn)矩陣可以采用圖4所示實(shí)施例中提及方式進(jìn)行構(gòu)造,具體可參見前述圖4所示的實(shí)施例的相關(guān)內(nèi)容,本實(shí)施例在此不再贅述。
通過(guò)本實(shí)施例的技術(shù)方案,無(wú)論是上述第一種情況還是上述第二種情況,m×n維的矩陣H都是由三個(gè)(m/3)×n維的子矩陣組成,在這三個(gè)子矩陣中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為1,并且,這三個(gè)子矩陣的取值范圍是各不相同的,這使得矩陣H中任意兩行與任意兩列的四個(gè)交匯處的元素均至少存在一個(gè)“0”,保證矩陣H對(duì)應(yīng)的TG的圍長(zhǎng)大于4,因此,基于矩陣H生成LDPC校驗(yàn)矩陣,就可以保證LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)大于4,因此,采用這樣的LDPC校驗(yàn)矩陣對(duì)數(shù)據(jù)進(jìn)行解碼,當(dāng)傳輸中的LDPC碼的信噪比比較低時(shí),對(duì)接收到的LDPC碼進(jìn)行解碼得到的數(shù)據(jù)的的誤比特率較低,因此,LDPC碼的性能得以提高。
圖9為本發(fā)明實(shí)施例中一種基于校驗(yàn)矩陣的裝置900的結(jié)構(gòu)示意圖。所述裝置900具體包括:
獲取單元901,用于獲取數(shù)據(jù);
生成單元902,用于通過(guò)利用低密度奇偶校驗(yàn)LDPC校驗(yàn)矩陣對(duì)所述獲取單元901獲取到的所述數(shù)據(jù)進(jìn)行編碼,生成編碼數(shù)據(jù)。
舉例來(lái)說(shuō),圖9所示的基于校驗(yàn)矩陣的設(shè)備可以用于執(zhí)行圖4所示的方法。具體地,獲取單元901可以用于執(zhí)行圖4中的步驟401。生成單元902可以用于執(zhí)行圖4中的步驟402。
具體實(shí)現(xiàn)時(shí),獲取單元901可以以比特串的形式對(duì)數(shù)據(jù)進(jìn)行獲取,生成單元902可以以比特串的形式對(duì)數(shù)據(jù)進(jìn)行編碼。在編碼器900中,獲取單元901獲取一個(gè)比特串,生成單元902利用LDPC校驗(yàn)矩陣對(duì)該比特串進(jìn)行編碼,從而生成一個(gè)編碼比特串。該編碼比特串可以用于在實(shí)際數(shù)據(jù)鏈路中傳輸。其中,所述裝置900例如可以實(shí)現(xiàn)為編碼器、處理器芯片等。所述獲取單元901例如可以實(shí)現(xiàn)為接收器、存儲(chǔ)器等獲取電路。所述生成單元902例如可以實(shí)現(xiàn)為編碼電路。
在本實(shí)施例中,用于編碼的LDPC校驗(yàn)矩陣是基于矩陣H生成的。在矩陣H中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3,矩陣H為m×n維的矩陣。其中,本實(shí)施例可以采用下述第一種情況的矩陣H,或者,也可以采用下述第二種情況的矩陣H。
第一種情況:m/3=k×L且k為正整數(shù),即m/3能夠被L整除。
在第一種情況下,矩陣H可以表示為:
具體地,矩陣H由矩陣H1、矩陣H2和矩陣H3組成,矩陣H1構(gòu)成矩陣H的第1行至第m/3行,矩陣H2構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1、矩陣H2和矩陣H3均為(k×L)×(k×L2)維的矩陣。
矩陣H1可以按照如下方式來(lái)構(gòu)造:
在矩陣H1中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的。
矩陣H2可以按照如下方式來(lái)構(gòu)造:
在矩陣H2中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4組成,矩陣H4為(k×L)×(k×L)維的對(duì)角陣,矩陣H4的主對(duì)角線上的元素都是“1”。
矩陣H3可以按照如下方式來(lái)構(gòu)造:
在矩陣H3中,每行中的元素“1”的數(shù)量為L(zhǎng),每列中的元素“1”的數(shù)量為1,矩陣H3包括k個(gè)矩陣H5,矩陣H5包括L個(gè)矩陣H6,矩陣H5為L(zhǎng)×L2維的矩陣,矩陣H6為L(zhǎng)×L維的對(duì)角陣,矩陣H6的主對(duì)角線上的元素都是“1”。在矩陣H3中,所述k個(gè)矩陣H5之外的元素均為“0”,所述k個(gè)矩陣H5中第i個(gè)矩陣等于矩陣H3中第(i-1)×L+1行至i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k中的所有整數(shù)。
第二種情況:m/3=k×L+r且k為正整數(shù)、r為1至L-1范圍內(nèi)的正整數(shù),即m/3不能夠被L整除。
在第二種情況下,矩陣H可以表示為:
具體地,矩陣H由矩陣H1’、矩陣H2’和矩陣H3’組成,矩陣H1’構(gòu)成矩陣H的第1行至第m/3行,矩陣H2’構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3’構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1’、矩陣H2’和矩陣H3’均為(k×L+r)×(k×L2+r×L)維的矩陣。
矩陣H1’可以按照如下方式來(lái)構(gòu)造:
在矩陣H1’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的。
矩陣H2’可以按照如下方式來(lái)構(gòu)造:
在矩陣H2’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2’由L個(gè)矩陣H4’組成,矩陣H4’為(k×L+r)×(k×L+r)維的對(duì)角陣,矩陣H4’的主對(duì)角線上的元素都是“1”。
矩陣H3’是將矩陣H5’中第k×L2+b×L+c列與第b×L2+(c-1)×L+c列進(jìn)行位置互換而得到的,b的取值范圍為0至r-1內(nèi)的所有整數(shù),c的取值范圍為1至L內(nèi)的所有整數(shù)。
矩陣H5’可以按照如下方式來(lái)構(gòu)造:
矩陣H5’中第1行至k×L行與第1列至k×L2列對(duì)應(yīng)的矩陣等于矩陣H6’,矩陣H5’中第k×L+1行至第k×L+r行與第k×L2+1列至k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H7’,矩陣H5’中矩陣H6’和矩陣H7’之外的元素均為“0”。
矩陣H6’為(k×L)×(k×L2)維的矩陣,矩陣H7’為r×(r×L)維的矩陣。矩陣H6’等于矩陣H3。在矩陣H7’中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量等于1,每行的L個(gè)元素“1”是連續(xù)的。
可選的,在一些實(shí)施方式中,所述LDPC校驗(yàn)矩陣為所述矩陣H。
可選的,在另一些實(shí)施方式中,所述LDPC校驗(yàn)矩陣是對(duì)所述矩陣H進(jìn)行隨機(jī)行置換和/或隨機(jī)列置換而得到的。
需要說(shuō)明的是,本實(shí)施例中,矩陣H的構(gòu)造、LDPC校驗(yàn)矩陣的構(gòu)造,具體可參見前述圖4所示的實(shí)施例的相關(guān)內(nèi)容,本實(shí)施例在此不再贅述。
通過(guò)本實(shí)施例的技術(shù)方案,可以保證矩陣H對(duì)應(yīng)的TG的圍長(zhǎng)大于4,因此,基于矩陣H生成LDPC校驗(yàn)矩陣,就可以保證LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)大于4,因此,裝置900采用這樣的LDPC校驗(yàn)矩陣對(duì)數(shù)據(jù)進(jìn)行編碼,當(dāng)傳輸中的LDPC碼的信噪比比較低時(shí),對(duì)接收到的LDPC碼進(jìn)行解碼得到的數(shù)據(jù)的的誤比特率較低,因此,LDPC碼的性能得以提高。
圖10為本發(fā)明實(shí)施例中一種基于校驗(yàn)矩陣的裝置1000的結(jié)構(gòu)示意圖。所述裝置1000包括:
獲取單元1001,用于獲取編碼數(shù)據(jù);
生成單元1002,用于通過(guò)利用低密度奇偶校驗(yàn)LDPC校驗(yàn)矩陣對(duì)所述獲取單元1002獲取到的所述編碼數(shù)據(jù)進(jìn)行解碼,生成數(shù)據(jù),所述LDPC校驗(yàn)矩陣是基于矩陣H生成的,在矩陣H中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3;矩陣H為m×n維的矩陣。
圖10所示的基于校驗(yàn)矩陣的設(shè)備可以用于執(zhí)行圖8所示的方法。具體地, 獲取單元1001可以用于執(zhí)行圖8中的步驟801。生成單元1002可以用于執(zhí)行圖8中的步驟802。
具體實(shí)現(xiàn)時(shí),獲取單元1001可以以比特串的形式對(duì)數(shù)據(jù)進(jìn)行獲取,生成單元1002可以以比特串的形式對(duì)數(shù)據(jù)進(jìn)行解碼。在解碼器1000中,獲取單元1001獲取一個(gè)編碼比特串,生成單元1002利用LDPC校驗(yàn)矩陣對(duì)該編碼比特串進(jìn)行解碼,從而生成一個(gè)比特串。該編碼比特串可以用于在實(shí)際數(shù)據(jù)鏈路中傳輸。其中,所述裝置1000例如可以實(shí)現(xiàn)為解碼器、處理器芯片等。所述獲取單元1001例如可以實(shí)現(xiàn)為接收器、存儲(chǔ)器等獲取電路。所述生成單元1002例如可以實(shí)現(xiàn)為解碼電路。在本實(shí)施例中,用于解碼的LDPC校驗(yàn)矩陣是基于矩陣H生成的。在矩陣H中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3,矩陣H為m×n維的矩陣。其中,本實(shí)施例可以采用下述第一種情況的矩陣H,或者,也可以采用下述第二種情況的矩陣H。
第一種情況:m/3=k×L且k為正整數(shù),即m/3能夠被L整除。
在第一種情況下,矩陣H可以表示為:
具體地,矩陣H由矩陣H1、矩陣H2和矩陣H3組成,矩陣H1構(gòu)成矩陣H的第1行至第m/3行,矩陣H2構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1、矩陣H2和矩陣H3均為(k×L)×(k×L2)維的矩陣。
矩陣H1可以按照如下方式來(lái)構(gòu)造:
在矩陣H1中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的。
矩陣H2可以按照如下方式來(lái)構(gòu)造:
在矩陣H2中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4組成,矩陣H4為(k×L)×(k×L)維的對(duì)角陣,矩陣H4的主對(duì)角線上的元素都是“1”。
矩陣H3可以按照如下方式來(lái)構(gòu)造:
在矩陣H3中,每行中的元素“1”的數(shù)量為L(zhǎng),每列中的元素“1”的數(shù)量為1,矩陣H3包括k個(gè)矩陣H5,矩陣H5包括L個(gè)矩陣H6,矩陣H5為L(zhǎng)×L2維的矩陣,矩陣H6為L(zhǎng)×L維的對(duì)角陣,矩陣H6的主對(duì)角線上的元素都是“1”。在矩陣H3中,所述k個(gè)矩陣H5之外的元素均為“0”,所述k個(gè)矩陣H5中第i個(gè)矩陣等于矩陣H3中第(i-1)×L+1行至i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k中的所有整數(shù)。
第二種情況:m/3=k×L+r且k為正整數(shù)、r為1至L-1范圍內(nèi)的正整數(shù),即m/3不能夠被L整除。
在第二種情況下,矩陣H可以表示為:
具體地,矩陣H由矩陣H1’、矩陣H2’和矩陣H3’組成,矩陣H1’構(gòu)成矩陣H的第1行至第m/3行,矩陣H2’構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3’構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1’、矩陣H2’和矩陣H3’均為(k×L+r)×(k×L2+r×L)維的矩陣。
矩陣H1’可以按照如下方式來(lái)構(gòu)造:
在矩陣H1’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的。
矩陣H2’可以按照如下方式來(lái)構(gòu)造:
在矩陣H2’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2’由L個(gè)矩陣H4’組成,矩陣H4’為(k×L+r)×(k×L+r)維的對(duì)角陣,矩陣H4’的主對(duì)角線上的元素都是“1”。
矩陣H3’是將矩陣H5’中第k×L2+b×L+c列與第b×L2+(c-1)×L+c列進(jìn)行位置互換而得到的,b的取值范圍為0至r-1內(nèi)的所有整數(shù),c的取值范圍為1至L內(nèi)的所有整數(shù)。
矩陣H5’可以按照如下方式來(lái)構(gòu)造:
矩陣H5’中第1行至k×L行與第1列至k×L2列對(duì)應(yīng)的矩陣等于矩陣H6’,矩陣H5’中第k×L+1行至第k×L+r行與第k×L2+1列至k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H7’,矩陣H5’中矩陣H6’和矩陣H7’之外的元素均為“0”。
矩陣H6’為(k×L)×(k×L2)維的矩陣,矩陣H7’為r×(r×L)維的矩陣。矩陣H6’等于矩陣H3。在矩陣H7’中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量等于1,每行的L個(gè)元素“1”是連續(xù)的。
可選的,在一些實(shí)施方式中,所述LDPC校驗(yàn)矩陣為所述矩陣H。
可選的,在另一些實(shí)施方式中,所述LDPC校驗(yàn)矩陣是對(duì)所述矩陣H進(jìn)行隨機(jī)行置換和/或隨機(jī)列置換而得到的。
需要說(shuō)明的是,本實(shí)施例中,矩陣H的構(gòu)造、LDPC校驗(yàn)矩陣的構(gòu)造,具體可參見前述圖4所示的實(shí)施例的相關(guān)內(nèi)容,本實(shí)施例在此不再贅述。
通過(guò)本實(shí)施例的技術(shù)方案,可以保證矩陣H對(duì)應(yīng)的TG的圍長(zhǎng)大于4,因此,基于矩陣H生成LDPC校驗(yàn)矩陣,就可以保證LDPC校驗(yàn)矩陣對(duì)應(yīng)的TG的圍長(zhǎng)大于4,因此,解碼器1000采用這樣的LDPC校驗(yàn)矩陣對(duì)數(shù)據(jù)進(jìn)行解碼,當(dāng)傳輸中的LDPC碼的信噪比比較低時(shí),對(duì)接收到的LDPC碼進(jìn)行解碼得到的數(shù)據(jù)的的誤比特率較低,因此,LDPC碼的性能得以提高。
圖11為本發(fā)明實(shí)施例中一種編碼器的結(jié)構(gòu)示意圖。在本實(shí)施例中,編碼器1100包括:處理器1101、存儲(chǔ)器1102、網(wǎng)絡(luò)接口1103、總線系統(tǒng)1104。
所述總線系統(tǒng)1104,用于將編碼器設(shè)備1100的各個(gè)硬件組件耦合在一起。
所述網(wǎng)絡(luò)接口1103,用于實(shí)現(xiàn)編碼器設(shè)備1100與至少一個(gè)其它網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等方式。
所述存儲(chǔ)器1102,用于存儲(chǔ)程序指令和數(shù)據(jù)。
所述處理器1101,用于讀取存儲(chǔ)器1102中存儲(chǔ)的指令和數(shù)據(jù),執(zhí)行以下操作:
處理器1101獲取數(shù)據(jù);以及
處理器1101通過(guò)利用低密度奇偶校驗(yàn)矩陣LDPC校驗(yàn)矩陣對(duì)所述數(shù)據(jù)進(jìn)行編碼,生成編碼數(shù)據(jù),所述LDPC校驗(yàn)矩陣是基于矩陣H生成的,在矩陣H中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3,矩陣H為m×n維的矩陣;
m/3=k×L且k為正整數(shù),矩陣H由矩陣H1、矩陣H2和矩陣H3組成,矩陣H1構(gòu)成矩陣H的第1行至第m/3行,矩陣H2構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1、矩陣H2和矩陣H3均為(k×L)×(k×L2)維的矩陣;
其中,
在矩陣H1中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4組成,矩陣H4為(k×L)×(k×L)維的對(duì)角陣,矩陣H4的主對(duì)角線上的元素都是“1”;
在矩陣H3中,每行中的元素“1”的數(shù)量為L(zhǎng),每列中的元素“1”的數(shù)量為1,矩陣H3包括k個(gè)矩陣H5,矩陣H5包括L個(gè)矩陣H6,矩陣H5為L(zhǎng)×L2維的矩陣,矩陣H6為L(zhǎng)×L維的對(duì)角陣,矩陣H6的主對(duì)角線上的元素都是“1”;
在矩陣H3中,所述k個(gè)矩陣H5之外的元素均為“0”,所述k個(gè)矩陣H5中第i個(gè)矩陣等于矩陣H3中第(i-1)×L+1行至i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k中的所有整數(shù);
或者,
m/3=k×L+r且k為正整數(shù)、r為1至L-1范圍內(nèi)的正整數(shù),矩陣H由矩陣H1’、矩陣H2’和矩陣H3’組成,矩陣H1’構(gòu)成矩陣H的第1行至第m/3行,矩陣H2’構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3’構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1’、矩陣H2’和矩陣H3’均為(k×L+r)×(k×L2+r×L)維的矩陣;
其中,
在矩陣H1’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2’由L個(gè)矩陣H4’組成,矩陣H4’為(k×L+r)×(k×L+r)維的對(duì)角陣,矩陣H4’的主對(duì)角線上的元素都是“1”;
矩陣H3’是將矩陣H5’中第k×L2+b×L+c列與第b×L2+(c-1)×L+c列進(jìn)行位置互換而得到的,b的取值范圍為0至r-1內(nèi)的所有整數(shù),c的取值范圍為1至L內(nèi)的所有整數(shù);
矩陣H5’中第1行至k×L行與第1列至k×L2列對(duì)應(yīng)的矩陣等于矩陣H6’,矩陣H5’中第k×L+1行至第k×L+r行與第k×L2+1列至k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H7’,矩陣H5’中矩陣H6’和矩陣H7’之外的元素均為“0”;
矩陣H6’為(k×L)×(k×L2)維的矩陣,矩陣H7’為r×(r×L)維的矩陣,矩陣H6’等于矩陣H3,在矩陣H7’中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量等于1,每行的L個(gè)元素“1”是連續(xù)的。
可選的,處理器1101采用的所述LDPC校驗(yàn)矩陣,例如可以為矩陣H。
可選的,處理器1101采用的所述LDPC校驗(yàn)矩陣,例如可以是對(duì)矩陣H 進(jìn)行行置換和/或列置換而得到的。
圖11所示的編碼器可以用于實(shí)現(xiàn)圖9所示的基于校驗(yàn)矩陣的裝置。另外,圖11所示的編碼器可以用于執(zhí)行圖4所示的方法。
圖12為本發(fā)明實(shí)施例中一種解碼器的結(jié)構(gòu)示意圖。在本實(shí)施例中,解碼器1200包括:處理器1201、存儲(chǔ)器1202、網(wǎng)絡(luò)接口1203、總線系統(tǒng)1204。
所述總線系統(tǒng)1204,用于將解碼器設(shè)備1200的各個(gè)硬件組件耦合在一起。
所述網(wǎng)絡(luò)接口1203,用于實(shí)現(xiàn)解碼器設(shè)備1200與至少一個(gè)其它網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等方式。
所述存儲(chǔ)器1202,用于存儲(chǔ)程序指令和數(shù)據(jù)。
所述處理器1201,用于讀取存儲(chǔ)器1202中存儲(chǔ)的指令和數(shù)據(jù),執(zhí)行以下操作:
處理器1201獲取編碼數(shù)據(jù);以及
處理器1201通過(guò)利用低密度奇偶校驗(yàn)LDPC校驗(yàn)矩陣對(duì)所述編碼數(shù)據(jù)進(jìn)行解碼,生成數(shù)據(jù),所述LDPC校驗(yàn)矩陣是基于矩陣H生成的,在矩陣H中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量為3,矩陣H為m×n維的矩陣;
m/3=k×L且k為正整數(shù),矩陣H由矩陣H1、矩陣H2和矩陣H3組成,矩陣H1構(gòu)成矩陣H的第1行至第m/3行,矩陣H2構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1、矩陣H2和矩陣H3均為(k×L)×(k×L2)維的矩陣;
其中,
在矩陣H1中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2由L個(gè)矩陣H4組成,矩陣H4為(k×L)×(k×L)維的對(duì)角陣,矩陣H4的主對(duì)角線上的元素都是“1”;
在矩陣H3中,每行中的元素“1”的數(shù)量為L(zhǎng),每列中的元素“1”的數(shù)量為1,矩陣H3包括k個(gè)矩陣H5,矩陣H5包括L個(gè)矩陣H6,矩陣H5為L(zhǎng)×L2維的矩陣,矩陣H6為L(zhǎng)×L維的對(duì)角陣,矩陣H6的主對(duì)角線上的元素都是“1”;
在矩陣H3中,所述k個(gè)矩陣H5之外的元素均為“0”,所述k個(gè)矩陣H5中第i個(gè)矩陣等于矩陣H3中第(i-1)×L+1行至i×L行與第(i-1)×L2+1列至第i×L2列對(duì)應(yīng)的矩陣,i的取值范圍為1至k中的所有整數(shù);
或者,
m/3=k×L+r且k為正整數(shù)、r為1至L-1范圍內(nèi)的正整數(shù),矩陣H由矩陣H1’、矩陣H2’和矩陣H3’組成,矩陣H1’構(gòu)成矩陣H的第1行至第m/3行,矩陣H2’構(gòu)成矩陣H的第m/3+1行至第2m/3行,矩陣H3’構(gòu)成矩陣H的第2m/3+1行至第m行,矩陣H1’、矩陣H2’和矩陣H3’均為(k×L+r)×(k×L2+r×L)維的矩陣;
其中,
在矩陣H1’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,每行中的L個(gè)元素“1”是連續(xù)的;
在矩陣H2’中,每行中元素“1”的數(shù)量等于L,每列中元素“1”的數(shù)量等于1,矩陣H2’由L個(gè)矩陣H4’組成,矩陣H4’為(k×L+r)×(k×L+r)維的對(duì)角陣,矩陣H4’的主對(duì)角線上的元素都是“1”;
矩陣H3’是將矩陣H5’中第k×L2+b×L+c列與第b×L2+(c-1)×L+c列進(jìn)行位置互換而得到的,b的取值范圍為0至r-1內(nèi)的所有整數(shù),c的取值范圍為1至L內(nèi)的所有整數(shù);
矩陣H5’中第1行至k×L行與第1列至k×L2列對(duì)應(yīng)的矩陣等于矩陣H6’,矩陣H5’中第k×L+1行至第k×L+r行與第k×L2+1列至k×L2+r×L列對(duì)應(yīng)的矩陣等于矩陣H7’,矩陣H5’中矩陣H6’和矩陣H7’之外的元素均為“0”;
矩陣H6’為(k×L)×(k×L2)維的矩陣,矩陣H7’為r×(r×L)維的矩陣,矩陣H6’等于矩陣H3,在矩陣H7’中,每行中元素“1”的數(shù)量為L(zhǎng),每列中元素“1”的數(shù)量等于1,每行的L個(gè)元素“1”是連續(xù)的。
可選的,處理器1201采用的所述LDPC校驗(yàn)矩陣,例如可以為矩陣H。
可選的,處理器1201采用的所述LDPC校驗(yàn)矩陣,例如可以是對(duì)矩陣H進(jìn)行行置換和/或列置換而得到的。
圖12所示的解碼器可以用于實(shí)現(xiàn)圖10所示的基于校驗(yàn)矩陣的裝置另外,圖12所示的解碼器可以用于執(zhí)行圖8所示的方法。
需要說(shuō)明的是,本發(fā)明實(shí)施例中的處理器可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過(guò)程中,上述方法的各步驟可以通過(guò)處理器中的硬件的集成邏輯電路或者軟件形式的指令完成。這些指令可以通過(guò)其中的處 理器以配合實(shí)現(xiàn)及控制,用于執(zhí)行本發(fā)明實(shí)施例揭示的方法。上述處理器還可以是通用處理器、數(shù)字信號(hào)處理器(Digital Signal Processing,DSP)、專用集成電路(application specific integrated circuit)、現(xiàn)成可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。
其中,上述通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器,解碼器等。結(jié)合本發(fā)明實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。
另外,需要說(shuō)明的是,總線系統(tǒng)除了包括數(shù)據(jù)總線之外,還可包括電源總線、控制總線和狀態(tài)信號(hào)總線。但是為了清楚說(shuō)明起見,在圖8、9中將各種總線都標(biāo)為總線系統(tǒng)。
通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法中的全部或部分步驟可借助軟件加通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者諸如媒體網(wǎng)關(guān)等網(wǎng)絡(luò)通信設(shè)備)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
需要說(shuō)明的是,本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于方法實(shí)施例和設(shè)備實(shí)施例而言,由于其基本相似于系統(tǒng)實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見系統(tǒng)實(shí)施例的部分說(shuō)明即可。以上所描述的設(shè)備及系統(tǒng)實(shí)施例僅僅是示意性的,其中作為分離部件說(shuō)明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下, 即可以理解并實(shí)施。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,并非用于限定本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。