專利名稱:去除噴泉碼生成矩陣中長度為4的小環(huán)的方法及其應(yīng)用的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于深空通信領(lǐng)域,涉及一種信道編碼——噴泉編碼技術(shù),具體涉及一種通過改進(jìn)噴泉編碼中LT碼的生成矩陣的結(jié)構(gòu)特性去除噴泉碼生成矩陣中長度為4的小環(huán)的方法及其應(yīng)用。
背景技術(shù):
深空通信與傳統(tǒng)地面通信有巨大的差別,主要表現(xiàn)為第一,上行鏈 路和下行鏈路不對稱。第二,距離遙遠(yuǎn),延時巨大。第三,信號衰減大, 易中斷。傳統(tǒng)的信道編碼不再適用。而具有誤碼率特性的噴泉碼在深空通 信系統(tǒng)中則具有更大的優(yōu)勢。噴泉編碼的概念由M. Luby等人于1998年提出,它是刪除信道的一 種無碼率的糾錯碼。噴泉編碼可以由一個原始數(shù)據(jù)均分成任意數(shù)量〖的編 碼分組,而接收方只要收到其中任意〃個編碼分組,就可通過譯碼以高概 率成功地恢復(fù)全部原始數(shù)據(jù)分組。這與接收到的到底是哪些數(shù)據(jù)無關(guān)。一 般情況下,這里的7V略大于《,從而引入一定的譯碼開銷s,定義為e=7WX"-l, 也即7V=《(l+£)。LT碼是M. Luby在2002年提出的,LT碼是第一個將數(shù)字噴泉的的 概念全面實(shí)現(xiàn)的碼字,稱之為通用擦除碼(Universal erasure codes )。 LT碼 是無碼率傳輸?shù)?,完全符合噴泉編碼的概念。事實(shí)上,只要接收到數(shù)據(jù)報(bào)的 數(shù)目比信源數(shù)目稍多就可以將數(shù)據(jù)恢復(fù)出來,這樣就是說LT碼對任何刪 除信道來說都是優(yōu)化的。在。經(jīng)過對現(xiàn)有技術(shù)的文獻(xiàn)^r索發(fā)現(xiàn)M. Luby 等人在《43rd Annual IEEE Symposium on Foundations of Computer Science》 2002年發(fā)表的"LT codes " (IEEE第43屆基于計(jì)算科學(xué)的年度會議2002 年)。該文中對LT碼的編解碼過程進(jìn)行了詳細(xì)的介紹。LT碼的生成矩陣 是一個稀疏矩陣,矩陣中"l"的數(shù)目遠(yuǎn)小于"O"的數(shù)目。矩陣中每一列1的 數(shù)目表示生成一個碼字所需要的原始數(shù)據(jù)包的數(shù)目,這個數(shù)目叫做階 (degree),服從一定的概率分布(常用的有理想孤波分布和魯棒孤波分 布)。"1"的位置代表取了哪些原始數(shù)據(jù)進(jìn)行異或操作。LT碼字的編碼的 運(yùn)算過程就是異或操作。生成矩陣的結(jié)構(gòu)直接影響LT碼字的性能。若生 成矩陣中有四個位置為'T,,且這四個位置兩兩位相同4亍不同列,則這四個 "l"就構(gòu)成了長度為4的小環(huán)。相應(yīng)的還有長度為6, 8的小環(huán)(環(huán)長為偶數(shù))。小環(huán)的存在對編解碼都帶來了危害。對編碼而言,編碼后的碼字所包 含的原數(shù)據(jù)的信息量越多越好,而小環(huán)的存在,使得原數(shù)據(jù)的信息出現(xiàn)了 重復(fù),影響了編碼的信息量。對譯碼來說,小環(huán)的存在,破壞了節(jié)點(diǎn)傳遞 信息的獨(dú)立性這一假設(shè),使得經(jīng)過一個節(jié)點(diǎn)傳出的信息,經(jīng)過一個環(huán)長, 又傳回了本身,增加了譯碼的復(fù)雜度,長度為4的小環(huán)對編譯碼的影響最大。針對去小環(huán)問題對現(xiàn)有技術(shù)的文獻(xiàn)檢索發(fā)現(xiàn)S. Li, D. J. Costello等人 編著的《差錯控制編碼》 一書中針對LDPC碼的去小環(huán)問題,介紹了列分 裂法(機(jī)械工業(yè)出版社,2007年,588 592頁)。但是該方法并不適用于 LT碼,首先LT碼的生成矩陣每行和每列的個數(shù)都是不規(guī)則的;其次這些 方法在一定程度上會影響階的分布;再次這些方法操作起來較為復(fù)雜。 發(fā)明內(nèi)容為了解決現(xiàn)有技術(shù)中存在的當(dāng)噴泉碼在深空通信系統(tǒng)中應(yīng)用時,對編 碼而言,當(dāng)小環(huán)存在時,會使得原數(shù)據(jù)的信息出現(xiàn)重復(fù),影響了編碼的信 息量。對譯碼而言,當(dāng)小環(huán)存在時,會破壞節(jié)點(diǎn)傳遞信息的獨(dú)立性這一假 設(shè),使得經(jīng)過一個節(jié)點(diǎn)傳出的信息,經(jīng)過一個環(huán)長,又傳回了本身,增加 了譯碼的復(fù)雜度等技術(shù)問題,本發(fā)明提供了 一種去除噴泉碼生成矩陣中長 度為4的小環(huán)的方法及其應(yīng)用。本發(fā)明解決現(xiàn)有技術(shù)問題所采用的技術(shù)方案為提供一種去除噴泉碼生 成矩陣中長度為4的小環(huán)的方法,所述去除噴泉碼生成矩陣中長度為4的小環(huán)的方法為在生成稀疏矩陣時只關(guān)注矩陣中"r的分布情況,其中,第一 列"r,的位置為隨機(jī)生成,其他列中"r,的位置是在提取相關(guān)列并對其進(jìn)行 檢測后,在保證不產(chǎn)生長度為4的小環(huán)的位置隨機(jī)的選取一個位置寫入T。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述去除噴泉碼生成矩陣中長度為4的 小環(huán)的方法具體包括步驟第一、構(gòu)建一K行N列的全零矩陣,按照階的 概率分布隨機(jī)的選取階的值d,在第一列中隨機(jī)的選取t/個位置,并將該 位置上的0改為1;第二、按照階的概率分布隨機(jī)的選取d的值,在第二 列隨機(jī)的選取一個位置寫入1,查找第二列中1的位置記錄在變量i 中; 第三、查找所述變量i 中在所述矩陣中的對應(yīng)行,將有1的列記錄在變量 C中,所述變量C哞所記錄的列即為相關(guān)列,在原矩陣中提取相關(guān)列生成 一個新的矩陣G;第四、查找所述矩陣G中的第一列0的位置并存在e/ 中,查找所述矩陣G #的第二列0的位置紀(jì)錄在e2中,取出所述W和摩迷'e2交集存在中,對所述矩陣G剩下的所有列重復(fù)進(jìn)行此步驟的操作; 第五、在所述e/詐經(jīng)歡W遂承一,在f ^,摔^在U:W0攻力7, #i ^^f迷e/遽/尹身新,'第六、當(dāng)所述第二列中的d值大于2時,重復(fù)所述步 驟A3、步驟A4和步驟A5,并將剩下的cZ-2個l都寫在所述第二列上;第 七、再次重復(fù)所述步驟A2、步驟A3、步驟A4、步驟A5和步驟A6將剩 下iV-2列對應(yīng)的位置上寫1 。本發(fā)明還提供了一種利用去除噴泉碼生成矩陣中長度為4的小環(huán)方法 在深空通信領(lǐng)域中的應(yīng)用方法,所述應(yīng)用方法包括步驟第一、選擇階的 分布;第二、去除噴泉碼生成矩陣中長度為4的小環(huán);第三、編碼;第四、 進(jìn)行深空通信信道傳輸;第五、解碼。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述第三步編碼具體包括步驟一、 將原始數(shù)據(jù)等分成若干塊,并編上序號&, ......, 二、按照上^:所述第一步和所述第二步中方法生成稀疏矩陣,所述稀疏矩陣的行數(shù)與數(shù) 據(jù)塊的個數(shù)相同,列數(shù)比能夠成功議碼所需接收的碼字稍多,其中生成矩 陣中每一列"l"的個數(shù)由上斷所述第一步中選擇的分布情況決定,而"i"的位置為在保證上端所述第二步條件的基礎(chǔ)上隨機(jī)的選擇;三、選取數(shù)據(jù)塊 序號與生成矩陣第一列中"l"的位置相對應(yīng)的數(shù)據(jù)塊,將所述數(shù)據(jù)塊進(jìn)行按 位異或,得出第一個碼字71/;四、對所述稀疏矩陣中的其它列重復(fù)所述 B33步的操作,得出其他的碼字j;。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例所述第五步解碼具體包括步驟 一、尋 找接收到的碼字中階為1的碼字,如果沒有這樣的輸出節(jié)點(diǎn),那么繼續(xù)接 收,直到接收到階為1的碼字為止;二、由編碼原理可知,節(jié)點(diǎn)階為1的 碼字與它的"鄰居"是相等的,即7\ = &、對于其他與輸入節(jié)點(diǎn)&相連的輸出節(jié)點(diǎn)t; (#w),有r,. = & r,;三、將與&相連的所有邊刪除;四、如果所有的&都恢復(fù)了出來,則原文件也就能夠成功的恢復(fù)了 ;否則從所述 一步中開始重新執(zhí)行。由于小環(huán)的存在影響編碼的信息量,長度為4的小壞影響是最大的。 采用本發(fā)明技術(shù)去除小環(huán)后,增加了相同編碼個數(shù)的信息量,成功譯碼所 需要接收的碼字也變少了 。對編譯碼的性能有了很大的改進(jìn)。
圖1本發(fā)明去除噴泉碼生成矩陣中長度為4的小環(huán)的方法及其應(yīng)用方 法流程圖;圖2編碼過程示意圖;圖3是理想孤波分布圖;圖4是魯棒孤波分布圖;圖5是編碼時形成小環(huán)的示意圖;圖6相關(guān)列提取法去小環(huán)過程示意圖;圖7是譯碼示意圖;圖8為編譯碼流程圖;圖9是理想孤波分布去小環(huán)前后譯碼失敗概率對比; 圖10是魯棒孤波分布去小環(huán)前后譯碼失敗概率對比。
具體實(shí)施例方式下面結(jié)合附圖和具體的實(shí)施方式對本發(fā)明作進(jìn)一步詳細(xì)地說明本發(fā)明的目的在于提出一種去除噴泉碼生成矩陣中長度為4的小環(huán)的 方法——相關(guān)列提取法,使譯碼性能更優(yōu),具有更強(qiáng)的糾錯能力,且方法 實(shí)現(xiàn)簡單,可操作性強(qiáng)。本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的,在形成生成矩陣時,第一列的生成 是在按照階的概率分布隨機(jī)的選取一個階的值d后,隨機(jī)的選取d個位置 放入"1"。從第二列開始,在隨機(jī)的選取了 c/的值后先隨機(jī)在第二列選取 一個位置》文"1 ",然后找出可能與第二列中的這個"1 "構(gòu)成小環(huán)的相關(guān)列, 將相關(guān)列提取出來,在找到保證不會構(gòu)成小環(huán)的的幾個位置,隨機(jī)選取一 個位置放入"l"。第二列的其他"1 ,,也是這樣地放入。其他的列也像第二 列一樣在保證沒有小環(huán)的情況下將"1 "隨機(jī)的放到對應(yīng)的位置上。具體步驟可參閱圖1去除噴泉碼生成矩陣中長度為4的小環(huán)的方法流 程圖,如圖1所示,所述去除噴泉碼生成矩陣中長度為4的小環(huán)的方法包 括步驟 一、構(gòu)件一K行N列的全零矩陣,按照階的概率分布隨機(jī)的選取 階的值A(chǔ)在第一列中隨機(jī)的選取t/個位置,并將該位置上的0改為1; 二、 按照階的概率分布隨機(jī)的選取d的值,在第二列隨機(jī)的選取一個位置寫入 1,查找第二列中1的位置記錄在變量i 中;三、查找所述變量W中在所 述矩陣中的對應(yīng)行,將有1的列記錄在變量C中,所述變量C ^所記錄 的列即為相關(guān)列,在原矩陣中提取相關(guān)列生成一個新的矩陣G;四、查找 所述矩陣G中的第一列0的位置并存在W中,查找所述矩陣G #的第二 列0的位置紀(jì)錄在e2中,取出所述"和摩迷e2交集存在W中,對所述矩陣G剩下的所有列重復(fù)進(jìn)行此步驟的操作;五、在所述W ^經(jīng)農(nóng)^遂 承一,在f 6,擰A在U:^0^:^/,并j2乂,摩迷e7六、當(dāng) 所述第二列中的d值大于2時,重復(fù)所述步驟三、步驟四和步驟五,并將 剩下的d-2個l都寫在所述第二列上;七、再次重復(fù)所述步驟二、步驟三、 步驟四、步驟五和步驟六將剩下7V-2列對應(yīng)的位置上寫1。圖2給出了 LT碼的編碼示意圖。圖中隨機(jī)的選取了 3個信源進(jìn)行異 或操作,這樣就得到了碼子r ,這里的d的取值是按照一定的概率分布的。 常用的是理想孤波分布和魯棒孤波分布。理想l^波分布<formula>formula see original document page 8</formula>選取不同的概率分布會對生成矩陣的結(jié)構(gòu)產(chǎn)生影響,進(jìn)而影響編譯碼的性能。對比閨3和圖4可以看出魯棒孤波分布在后面有一個大概率突出 的點(diǎn),這使得的編碼的信息量變大,所以魯棒孤波分布更適用于大的數(shù)據(jù) 的編碼。圖5也是LT編碼的部分碼字生成的示意圖,圖中共3個信源生成了 4 個碼字,每個碼字對應(yīng)的階的值分別是2, 3, 2, 1。圖中rr&-r2-K就是長度為4的環(huán),而r1-&-r2-&-rr5"1-r1是長度為6的環(huán)。本發(fā)明可以成功的去除長度為4的小環(huán)。圖6是用相關(guān)列提取法去除長的為4的小環(huán)的實(shí)例1。該實(shí)例中的生成矩陣10x10的,圖6中的(a)是按照階的分布在第一列隨機(jī)的選取3個位 置放入"l", (b)為選取階的值后隨機(jī)的選取一個位置放"l"。 (c)為提取了與 現(xiàn)有'T,有關(guān)的相關(guān)列。(d)為在保證沒有小環(huán)的情況下在可選位置上隨機(jī) 選了一個位置^L入"1"。圖7為譯碼的示意圖。譯碼采用的是消息傳遞法。譯碼時一定要有階為"r的節(jié)點(diǎn)。圖8為采用本發(fā)明生成矩陣的LT碼編譯碼流程圖。圖9為實(shí)例2給出了理想孤波分布的情況下,采用本發(fā)明的方法去除 長度為4的小環(huán)后譯碼失敗率的變化。從圖中可以看出去小環(huán)后在理想孤 波分布的情況下if碼性能明顯提高了 。圖10為實(shí)例3給出了魯棒孤波分布的情況下,采用本發(fā)明的方法去除 長度為4的小環(huán)后譯碼失敗率的變化。在圖中可以看出在這種分布下譯碼 性能也是有所提高的。對比圖5和圖6,可以得出本發(fā)明對魯棒孤波分布改善碼的性能更明曰業(yè)。編碼LT編碼流程如圖2所示。假定原文件具有若干個數(shù)據(jù)報(bào),按照一定的 概率分布/ (d)從原文件數(shù)據(jù)報(bào)中得到若干數(shù)據(jù)報(bào),并將它們逐位異或運(yùn) 算,得到一個新的數(shù)據(jù)報(bào),依此類推。步驟是 一、按照概率分布p(d) 隨機(jī)的選取一個值d, —個好的階的分布(d)的設(shè)計(jì)和分析將是LT碼 性能的關(guān)鍵;二、按照本發(fā)明的方法生成一個不含長度為4的小環(huán)的生成 矩陣;三、按照生成矩陣中對應(yīng)的位置從原數(shù)據(jù)包 ^...化中選取d個 ^V.A作為"鄰居";四、將選出的數(shù)據(jù)報(bào)逐位異或運(yùn)算得到新的數(shù)據(jù)報(bào) 71, d的值確定了與K連接的邊的條數(shù)。解碼圖5是譯碼過程的示意圖,各圖中上面的三個節(jié)點(diǎn)是數(shù)據(jù)包節(jié)點(diǎn),下 面的四個編碼后的碼字。圖中碼字r為ioii,具體的譯碼過程如下一、 尋找接收碼子中階為1的碼字,圖5中第二個輸出節(jié)點(diǎn),即碼字為K為0。 如果沒有這樣階為1的輸出節(jié)點(diǎn),那么接收方繼續(xù)接收碼字,直到接收到 階為1的碼字為止;二、由編碼原理可知,節(jié)點(diǎn)階為1的碼字與它的"鄰居" 是相等的,即r^5"k,圖2中&=72=0;三、對于其他與輸入節(jié)點(diǎn)&相連的輸出節(jié)點(diǎn)7;(^"),有71=&@7^;四、將于Sk相連的所有邊刪除;五、如 果所有的&都恢復(fù)了出來,則原文件也就能夠成功的恢復(fù)了 ,否則從1開 始重新執(zhí)行。以上通過相關(guān)列提取法去除生成矩陣中的小環(huán)后,不僅提高了編碼的 信息量,同時在成功譯碼所需要接收的碼字個數(shù)也變少了,這在一定程度 上減少了譯碼算法的復(fù)雜度。同時對編譯碼的性能都有所提高。以上所述,僅為本發(fā)明中的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不 局限于此。任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想 到的變換都涵蓋在本發(fā)明的包涵范圍內(nèi)。因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以權(quán) 利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1. 一種去除噴泉碼生成矩陣中長度為4的小環(huán)的方法,其特征在于所述去除噴泉碼生成矩陣中長度為4的小環(huán)的方法為在生成稀疏矩陣時只關(guān)注矩陣中“1”的分布情況,其中,第一列“1”的位置為隨機(jī)生成,其他列中“1”的位置是在提取相關(guān)列并對其進(jìn)行檢測后,在保證不產(chǎn)生長度為4的小環(huán)的位置隨機(jī)的選取一個位置寫入“1”。
2. 根據(jù)權(quán)利要求1所述去除噴泉碼生成矩陣中長度為4的小環(huán)的方法, 其特征在于所述去除噴泉碼生成矩陣中長度為4的小環(huán)的方法具體包括 步驟Al:構(gòu)建一 K行N列的全零矩陣,按照階的概率分布隨機(jī)的選取階的 值A(chǔ)在第一列中隨機(jī)的選取d個位置,并將該位置上的0改為1;A2:按照階的概率分布隨機(jī)的選取d的值,在第二列隨機(jī)的選取一個位 置寫入l,查找第二列中1的位置記錄在變量i 中;A3:查找所述變量i 中在所述矩陣中的對應(yīng)行,將有1的列記錄在變 量C中,所述變量C哞所記錄的列即為相關(guān)列,在原矩陣中提取相關(guān)列 生成一個新的矩陣G;A4:查找所述矩陣G中的第一列0的位置并存在W中,查找所述矩 陣G哞的第二列0的位置紀(jì)錄在中,取出所述W和^f逑交集存在 W中,對所述矩陣G剩下的所有列重復(fù)進(jìn)行此步驟的操作;A5:在所述e7 ^應(yīng)—在W逸承一個在fZ),摔A在U:W0攻^W, #iA6:當(dāng)所述第二列中的d值大于2時,重復(fù)所述步驟A3、步驟A4和 步驟A5,并將剩下的A2個1都寫在所述第二列上;A7:再次重復(fù)所述步驟A2、步驟A3、步驟A4、步驟A5和步驟A6將 剩下W-2列對應(yīng)的位置上寫1。
3. —種利用去除噴泉碼生成矩陣中長度為4的小環(huán)的方法在深空通信 領(lǐng)域中的應(yīng)用方法,其特征在于所述應(yīng)用方法包括步驟Bl:選擇階的分布;B2:去除噴泉碼生成矩陣中長度為4的小環(huán); B3:編碼;B4:進(jìn)4于深空通4言信道傳輸; B5:解碼。
4. 根據(jù)權(quán)利要求3所述一種利用去除噴泉碼生成矩陣中長度為4的小 環(huán)的方法在深空通信領(lǐng)域中的應(yīng)用方法,其特征在于所述步驟B3具體 包括步驟B31:將原始數(shù)據(jù)等分成若干塊,并編上序號&, ......,B32:按照所述B1步和所述B2步中方法生成稀疏矩陣,所述稀疏矩 陣的行數(shù)與數(shù)據(jù)塊的個數(shù)相同,列數(shù)比能夠成功議碼所需接收的碼字稍多, 其中生成矩陣中每一列"1"的個數(shù)由所述B1步中選擇的分布情況決定,而 'T,的位置為在保證所述B2步條件的基礎(chǔ)上隨機(jī)的選擇;B33:選取數(shù)據(jù)塊序號與生成矩陣第 一列中"1"的位置相對應(yīng)的數(shù)據(jù) 塊,將所述數(shù)據(jù)塊進(jìn)行按位異或,得出第一個碼字7^;B34:對所述稀疏矩陣中的其它列重復(fù)所述B33步的操作,得出其他 的碼字71。
5. 根據(jù)權(quán)利要求3所述一種利用去除噴泉碼生成矩陣中長度為4的小 環(huán)的方法在深空通信領(lǐng)域中的應(yīng)用方法,其特征在于所述步驟B5具體 包括步驟B51:尋找接收到的碼字中階為1的碼字;B52:由編碼原理可知,節(jié)點(diǎn)階為1的碼字與它的"鄰居,,是相等的, 即7\ = &、對于其他與輸入節(jié)點(diǎn)&相連的輸出節(jié)點(diǎn)7} (/卻),有T, = &@ B53:將與&相連的所有邊刪除;B54:如果所有的&都恢復(fù)了出來,則原文件成功恢復(fù),否則從所述 步驟B51開始重新4丸行。
全文摘要
本發(fā)明涉及一種去除噴泉碼生成矩陣中長度為4的小環(huán)的方法及其應(yīng)用。技術(shù)方案為在生成矩陣時,第一列的生成是在按階的概率分布隨機(jī)的選取一個階的值d后,隨機(jī)的選取d個位置放入“1”,從第二列開始,在隨機(jī)的選取了d的值后先隨機(jī)在第二列選取一個位置放“1”,然后找出可能與第二列中的這個“1”構(gòu)成小環(huán)的相關(guān)列,將相關(guān)列提取出來,在找到保證不會構(gòu)成小環(huán)的幾個位置,隨機(jī)選取一個位置放入“1”,第二列的其他“1”也是這樣地放入,其他的列也像第二列一樣在保證沒有小環(huán)的情況下將“1”隨機(jī)的放到對應(yīng)的位置上。本發(fā)明增加了相同編碼個數(shù)的信息量,成功譯碼所需要接收的碼目也變少了,對編譯碼的性能有了很大的改進(jìn)。
文檔編號H04M13/00GK101252413SQ20081006614
公開日2008年8月27日 申請日期2008年3月21日 優(yōu)先權(quán)日2008年3月21日
發(fā)明者張欽宇, 旭 李, 暉 李 申請人:哈爾濱工業(yè)大學(xué)深圳研究生院