本發(fā)明涉及一種改進(jìn)的噴泉碼度分布算法,是關(guān)于信息通信領(lǐng)域中利用噴泉碼對(duì)信號(hào)進(jìn)行編碼時(shí)所使用的編碼度分布的構(gòu)造方法,屬于通信技術(shù)領(lǐng)域。
背景技術(shù):
基于tcp/ip協(xié)議的arq是基于反饋通道的傳輸機(jī)制,然而很多通信系統(tǒng)如廣播系統(tǒng)并不存在反饋信道,這在資源有限的情況下是一種極大的浪費(fèi)。在數(shù)據(jù)傳輸方案中,接收端如果接收不到足夠多的編碼數(shù)據(jù)包,或者在僅差一個(gè)數(shù)據(jù)包的情況下,采用arq機(jī)制的傳輸方案就需要對(duì)編碼包進(jìn)行重新獲取,直到接收的數(shù)據(jù)包數(shù)量達(dá)到要求。為了解決大規(guī)模的數(shù)據(jù)傳送及可靠廣播等問題,michaelluby等人于1998年提出了數(shù)字噴泉碼(digitalfountain)的概念。
2002年luby提出了第一種現(xiàn)實(shí)可行的噴泉碼-lt碼(lubytransform)。lt碼具有無固定碼率、魯棒性、高效性、較低的編譯碼復(fù)雜度、無需反饋信道來確保傳輸?shù)目煽啃院瓦m應(yīng)實(shí)時(shí)變化的信道等優(yōu)點(diǎn)。其編碼過程為:發(fā)送端原始數(shù)據(jù)由k個(gè)數(shù)據(jù)包組成,根據(jù)某一編碼度分布隨機(jī)產(chǎn)生每個(gè)編碼數(shù)據(jù)包的度d,然后從k個(gè)原始數(shù)據(jù)包中任意地選擇d個(gè)數(shù)據(jù)包,再將這d個(gè)數(shù)據(jù)包進(jìn)行異或運(yùn)算,從而生成一個(gè)編碼數(shù)據(jù)包。編碼器重復(fù)操作這個(gè)過程就可以產(chǎn)生無限長的編碼數(shù)據(jù)包流。lt碼的譯碼一般采用置信傳播譯碼算法,其過程為將接收到的一定數(shù)量的編碼數(shù)據(jù)包與源數(shù)據(jù)包建立對(duì)應(yīng)的雙向圖,任意地選取一個(gè)度為1的數(shù)據(jù)包開始進(jìn)行譯碼。由于度為1數(shù)據(jù)包就是對(duì)源數(shù)據(jù)包的復(fù)制,所以通過簡單的復(fù)制運(yùn)算,就能恢復(fù)源數(shù)據(jù)包。然后,對(duì)已經(jīng)恢復(fù)的源數(shù)據(jù)包,將它與其有關(guān)聯(lián)的所有編碼數(shù)據(jù)包進(jìn)行異或運(yùn)算,更新這些編碼數(shù)據(jù)包的值,再將恢復(fù)的源數(shù)據(jù)包和與它有關(guān)聯(lián)的編碼數(shù)據(jù)包在tanner圖中所對(duì)應(yīng)的邊刪除,使這些編碼數(shù)據(jù)包的度數(shù)減1。以此循環(huán)下去直到恢復(fù)所有原始數(shù)據(jù)為止。
常用的編碼度分布為:
1、理想孤波度分布(idealsolitondistribution)
理想孤波度分布理論上使每一個(gè)編碼數(shù)據(jù)包在每一次譯碼迭代中釋放的概率相同,保證在每次迭代過程中有且只有一個(gè)度為1的編碼數(shù)據(jù)包出現(xiàn),完成每一次迭代恢復(fù)一個(gè)源數(shù)據(jù)包,同時(shí)又有一個(gè)度為1的編碼數(shù)據(jù)包出現(xiàn)。其度分布函數(shù)為:
理想孤波度分布是一種設(shè)計(jì)優(yōu)良的概率分布函數(shù)。然而這種度概率分布只存在于理想狀態(tài)下,在實(shí)際應(yīng)用中,譯碼性能會(huì)受到干擾噪聲的影響。具體影響表現(xiàn)在,如果在譯碼過程中受到輕微擾動(dòng),那么將無法尋找到度為1的編碼包符號(hào),從而出現(xiàn)譯碼終止的情況。
2、魯棒孤波度分布(robustsolitondistribution)
魯棒孤波度分布引入了兩個(gè)參數(shù)c和δ用來保證譯碼過程中度為1編碼包的個(gè)數(shù)。
定義
魯棒孤波度分布為
其中,
式中,參數(shù)δ是概率約束參數(shù),該參數(shù)值決定了編譯碼的失敗概率大小;參數(shù)c是大小可調(diào)的常數(shù)。在實(shí)際應(yīng)用中,可通過調(diào)節(jié)c的不同取值以此獲得較優(yōu)的譯碼性能性能。
采用魯棒孤波度分布進(jìn)行編碼時(shí),產(chǎn)生的編碼數(shù)據(jù)包多為度較大的編碼數(shù)據(jù)包,具有較高的覆蓋性,但因此增加了冗余度,造成譯碼效率的降低,而且產(chǎn)生度1和其他小度編碼數(shù)據(jù)包的數(shù)量較少。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于給出一種改進(jìn)的噴泉碼度分布算法,以得到一種有較好性能的度分布。
本發(fā)明的技術(shù)方案如下:
基于以上內(nèi)容,本發(fā)明具體包括以下步驟:
步驟1,結(jié)合源信息的度分布與編碼包的度分布(rsd),在lt(lubytransform)碼編碼器中,將rsd度分布(robustsolitondistribution,魯棒孤波度分布)中度為1的編碼包與瞬時(shí)度值最大的源信息包相連,優(yōu)化了可譯集大小從而得到mbrsd度分布;
步驟2,在mbrsd度分布的基礎(chǔ)上運(yùn)用插值算法,即mbrsd度分布(memory-basedrsd,記憶性的魯棒孤波度分布)中等距離地插入少量度值為1的編碼包,通過分別調(diào)整編碼包度值為1所占概率η和度值非1所占概率
步驟3,根據(jù)imbrsd度分布對(duì)源信息進(jìn)行編碼發(fā)送,直到收到接收端發(fā)送的確認(rèn)信息。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益技術(shù)效果在于:
采用lt碼編碼器與自適應(yīng)編碼器相結(jié)合的方式,不僅沒有增加系統(tǒng)編碼的時(shí)間,而且提高了譯碼效率。
本方法將mbrsd度分布算法與插值算法進(jìn)行有機(jī)結(jié)合,通過優(yōu)化可譯集合值來進(jìn)一步優(yōu)化度分布函數(shù),得到imbrsd度分布。運(yùn)用imbrsd度分布對(duì)源數(shù)據(jù)進(jìn)行噴泉編碼,可以減少譯碼開銷,提高譯碼效率,使噴泉碼能夠更好地應(yīng)用在各個(gè)通信領(lǐng)域。
附圖說明
圖1是自適應(yīng)lt碼編碼器結(jié)構(gòu);
圖2是lt碼的二分圖(k=4);
圖3是恢復(fù)邊數(shù)快慢與譯碼步驟的關(guān)系圖;
圖4是譯碼冗余與誤碼率關(guān)系圖;
圖5是不同刪除概率下的譯碼性能;
圖6是不同度分布下的可譯集大小譯碼步驟的關(guān)系。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述:
本發(fā)明提出一種改進(jìn)的噴泉碼度分布算法,其首先控制度為1編碼包與源信息包的連接方式,使lt碼編碼器與自適應(yīng)編碼器采用串行工作方式,其中在整個(gè)過程中只添加了一個(gè)自適應(yīng)編碼器,如圖1所示。采用lt編碼器與自適應(yīng)編碼器相結(jié)合的方式,不僅沒有增加系統(tǒng)編碼的時(shí)間,而且提高了譯碼效率,優(yōu)化了可譯集大小從而減少了譯碼時(shí)間得到mbrsd度分布。
其次,由于mbrsd度分布算法中缺少度為1的編碼包且其分布不均勻,通過把增加度為1編碼包的插值算法與mbrsd度分布算法相結(jié)合,提出了imbrsd度分布算法。
改進(jìn)的imbrsd度分布算法,包括以下步驟:
步驟1,在lt(lubytransform)碼編碼器中,將rsd度分布(robustsolitondistribution,魯棒孤波度分布)中度為1的編碼包與瞬時(shí)度值最大的源信息包相連,優(yōu)化了可譯集大小從而得到mbrsd度分布。隨著譯碼的進(jìn)行,每次都有新的元素加入和舊的元素被刪除來維持這個(gè)可譯集的大小直到譯碼結(jié)束。譯碼開始時(shí),可譯集僅僅由度為1的編碼包組成。很明顯,與度為1編碼包相連的源信息包可以直接譯出,因?yàn)槎葹?編碼包的值和其對(duì)應(yīng)的源信息包是相等的,此時(shí)可譯集被直接譯出,這些度為1的編碼包對(duì)應(yīng)的源信息包重新組成可譯集集合。
步驟2,在mbrsd度分布(memory-basedrsd,記憶性的魯棒孤波度分布)中等距離地插入少量度值為1的編碼包,通過分別調(diào)整編碼包度值為1所占概率η和度值非1所占概率
具體地,在rsd中隨機(jī)選取度d;
如果d=1,那么選擇瞬時(shí)度值最大的源信息包與該編碼包相連;
如果d≠1,在源信息中隨機(jī)地選取d個(gè)源信息與之相連;
把選取的d個(gè)源信息包進(jìn)行異或,得到編碼包
統(tǒng)計(jì)并記錄輸出編碼包的度值大小,如果在連續(xù)接收m個(gè)編碼包后仍然沒有度為1的編碼包,那么就插入一個(gè)度為1的編碼包,插入編碼包的值可以是組成第m個(gè)編碼包的某個(gè)源信息,以此完成至少一次的譯碼迭代過程;
在圖2二分圖中,清晰地描述mbrsd度分布的編碼過程,當(dāng)出現(xiàn)度為1的編碼包時(shí),如圖中的cn,則將其與此時(shí)度值最大的源信息包相連,如圖中的u1。(其中c是編碼包,u是源信息包)
步驟3,根據(jù)imbrsd度分布對(duì)源信息進(jìn)行編碼發(fā)送,直到收到接收端發(fā)送的確認(rèn)信息。
圖3模擬了二分圖中解碼邊數(shù)釋放快慢的理論最大值,并仿真了rsd、mbrsd以及imbrsd度分布下的lt碼的解碼邊數(shù)與譯碼步驟的關(guān)系。以rsd度分布下的lt碼譯碼性能作對(duì)比,發(fā)現(xiàn)改進(jìn)后的imbrsd度分布譯碼速度更快,減少了譯碼的時(shí)間。
以k=1024,m=100為例,對(duì)其進(jìn)行仿真。
圖4、5和6是對(duì)rsd、mbrsd以及imbrsd三種度分布下的lt碼譯碼性能的仿真,其中,圖4是譯碼冗余與誤碼率關(guān)系圖;圖5是不同刪除概率下的譯碼性能;圖6是不同度分布下的可譯集大小譯碼步驟的關(guān)系。由圖可知,相同條件下,改進(jìn)的度分布算法imbrsd的誤碼率比mbrsd、rsd下的誤碼率更低、需要的譯碼包最少、譯碼速度更快,使噴泉碼能夠更好的應(yīng)用在各個(gè)通信領(lǐng)域。
以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。