欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于提升噴泉碼在無線信道上傳輸質(zhì)量的信道編碼方法

文檔序號:7899291閱讀:387來源:國知局
專利名稱:用于提升噴泉碼在無線信道上傳輸質(zhì)量的信道編碼方法
技術(shù)領(lǐng)域
本發(fā)明涉及噴泉碼和無線信道的信道編碼方法,屬于無線數(shù)據(jù)傳輸領(lǐng)域。

背景技術(shù)
在LT codes以及Raptor codes作為噴泉碼的兩種實現(xiàn)形式被提出并且加以研究之后,噴泉碼被證明是一種擁有優(yōu)秀的傳輸性能和低復(fù)雜度的實現(xiàn)過程的數(shù)據(jù)編碼方式,因此噴泉碼也被看作是實現(xiàn)大規(guī)模數(shù)據(jù)廣播的理想傳輸手段,并且已被列入作為具體的3GPP和DVB-H的相關(guān)標準。該技術(shù)的關(guān)鍵就是通過核心的LT編碼器,由K個源數(shù)據(jù)包產(chǎn)生出無限多個被稱為LT codes的編碼碼字,而接收端的LT解碼器只需要從中正確接收到任意的稍大于K的N個LT codes,就可以恢復(fù)出左右的K個源數(shù)據(jù)包。
傳統(tǒng)的數(shù)據(jù)傳輸技術(shù)需要在發(fā)送端與接收端之間建立一條信道(backhaul)來處理來自接收端的數(shù)據(jù)重傳請求(ARQ),而在組播、廣播服務(wù)中,發(fā)送端可能需要處理來自不同接收端的針對不同數(shù)據(jù)包的ARQ,這些處理過程將會嚴重降低網(wǎng)絡(luò)的吞吐量,時延等性能。而當使用噴泉碼來進行數(shù)據(jù)傳輸時,如果傳輸信道是刪除信道,那么在該信道上發(fā)送的數(shù)據(jù)包要么被丟棄,要么被接收端正確無誤地收到,于是在刪除信道的環(huán)境下使用噴泉碼進行傳輸時,接收端只需要不斷接收信道上傳輸?shù)腖T codes,無論在接收過程中有多少的LT codes被信道刪除,接收端最終必然可以成功接收到N個LT codes從而成功恢復(fù)出K個源數(shù)據(jù)包。因此在使用噴泉碼后,發(fā)送端將不再需要處理來自接收端的ARQ,只需要一直發(fā)送LT codes,直到所有的接收端都反饋完成接收后就可以停止傳輸當前數(shù)據(jù)了。
然而只有在有線環(huán)境中,噴泉碼的缺不一定擁有之前提及的在刪除信道上所述的良好性能,那是因為無線信道不是刪除信道而是干擾信道,因而接收端在無線信道中收到的LT codes有可能是包含著錯誤的。而根據(jù)LT編碼器的編碼方式,一旦錯誤的LT codes進入LT解碼器,將會造成一系列的LT解碼錯誤(error propagation)而導(dǎo)致最終源數(shù)據(jù)包無法完全被正確恢復(fù)。盡管可以在發(fā)送端的LT編碼器后面級聯(lián)普通的前向糾錯編碼器(FEC)來對生成的LT codes做信道編碼,然后通過接收端對信道上接收下來的受到干擾的數(shù)據(jù)包進行FEC解碼,依次從一定程度上減小接收端的LT解碼器接收錯誤的LT codes的可能性,但是在信道狀況較為惡劣的環(huán)境中,F(xiàn)EC有限的糾錯能力無法應(yīng)對噪聲或者衰落引起的干擾,當接收端收到的數(shù)據(jù)包包含了過多的因為信道干擾引起的錯誤而無法被正確恢復(fù)時,普通的FEC解碼器將會將該數(shù)據(jù)包解碼成一個錯誤的LT code,最終還是無法有效地阻止錯誤的LT codes進入LT譯碼器。綜上所述,即使使用普通的FEC來做輔助的信道編碼,還是無法為噴泉碼在無線信道上的傳輸性能帶來足夠的提升,因此需要尋找到可以有效阻止錯誤的LT codes進入LT解碼器的特殊的信道編碼方式,以此來確保噴泉碼能夠在無線信道上進行可靠的數(shù)據(jù)傳輸。


發(fā)明內(nèi)容
本發(fā)明的目的是提供一種用于提升噴泉碼在無線信道上傳輸質(zhì)量的信道編碼方法。
為實現(xiàn)上述目的,本發(fā)明提出了新的信道編碼方法,利用IBRC(improvedbinary repetition code)碼簡單的編碼過程以及集合了檢錯和糾錯功能于一體的解碼過程,對比其余的普通信道編碼方案,更大幅度地降低錯誤的LT codes進入LT解碼器的可能性,使得噴泉碼在無線干擾信道上達到的誤包率(perpacket loss rate)性能能夠在較低的SNR下近似達到其在有線刪除信道的性能,從而成功地保證噴泉碼在無線網(wǎng)絡(luò)中的也能擁有刪除信道上優(yōu)良的傳輸性能。
具體地說,本發(fā)明實現(xiàn)上述目的所采取的技術(shù)方案是該用于提升噴泉碼在無線信道上傳輸質(zhì)量的信道編碼方法主要包括如下步驟 (1)IBRC信道編碼 1)IBRC編碼器對輸入該IBRC編碼器的待編碼的碼字以兩個位移向量中的其中一個的各元素為每次循環(huán)移位的幅度依次進行循環(huán)位移,將循環(huán)移位后所得到的所有碼字進行模二相加; 所述兩個位移向量分別如式(1)和式(2)所示, α1=(a1,a2,…aK,aK+1) (1) α2=(a1,a2,…aK) (2) 其中,位移向量α2比位移向量α1少一個元素ak+1,所述位移向量中所包含的各元素a1,a2,…ak,ak+1的值互不相同, 所述待編碼碼字的長度≥4K+4比特,其中,K為式(2)中向量α2所包含的元素個數(shù); 2)IBRC編碼器對步驟1)的待編碼的碼字以所述兩個位移向量中的另一個的各元素為每次循環(huán)移位的幅度依次進行循環(huán)位移,將循環(huán)移位后所得到的所有碼字進行模二相加; 3)IBRC編碼器將步驟1)模二相加后的碼字和步驟2)模二相加后的碼字進行級聯(lián),得到已編碼的碼字; 4)IBRC編碼器將已編碼的碼字經(jīng)過BPSK調(diào)制后發(fā)送到無線信道上進行傳輸; (2)IBRC信道解碼 a)IBRC解碼器從無線信道上接收經(jīng)過BPSK調(diào)制的已編碼的碼字,對該接收碼字進行BPSK解調(diào),得到經(jīng)過IBRC編碼器編碼的IBRC碼字; b)IBRC解碼器將解調(diào)后的IBRC碼字分成長度相等的前后兩段碼字; c)IBRC解碼器將所述的長度相等的前后兩段碼字進行模二相加; d)IBRC解碼器對步驟c)模二相加后的碼字進行與信道編碼時方向相反的循環(huán)位移,該循環(huán)位移的幅度為位移向量α1中的元素ak+1的值; e)由IBRC解碼器按所述步驟1)至步驟3)的順序?qū)Σ襟Ed)得到的碼字進行IBRC編碼; f)將步驟e)所得到的編碼后的IBRC碼字與步驟a)所得到的解調(diào)后的IBRC碼字進行比較,如果兩者相同,則將步驟d)得到的循環(huán)位移后的碼字作為IBRC解碼器的結(jié)果輸出;如果不同,則IBRC解碼器按以下步驟對步驟d)所得到的循環(huán)位移后的碼字進行糾錯 i)IBRC解碼器設(shè)定步驟d)得到的循環(huán)位移后的碼字的錯誤比特數(shù)為n,其中1≤n≤K; ii)IBRC解碼器在步驟d)得到的循環(huán)位移后的碼字中,任意選擇n-1個元素,對這n-1個元素進行二進制取反; iii)在步驟ii)沒有被選擇到的剩余元素中再任意選擇一個元素,并對這個元素進行二進制取反; iv)由IBRC解碼器按所述步驟1)至步驟3)對步驟iii)得到的二進制取反后的碼字進行IBRC編碼; v)將步驟iv)所得到的編碼后的IBRC碼字與步驟a)所得到的解調(diào)后的IBRC碼字進行比較 如果兩者之間的漢明距離等于n,則IBRC解碼器將步驟iii)得到的二進制取反后的碼字作為解碼結(jié)果輸出,此時解碼結(jié)束; 如果兩者的漢明距離不等于n,則對在步驟ii)中沒有被選擇到的剩余元素逐一進行二進制取反;再由IBRC解碼器按所述步驟1)至步驟3)對二進制取反后的碼字進行IBRC編碼;然后將所得到的IBRC碼字與步驟a)所得到的解調(diào)后的IBRC碼字進行比較 若出現(xiàn)漢明距離等于n的情形,則IBRC解碼器輸出當前得到的二進制取反后的碼字,解碼結(jié)束; 若出現(xiàn)漢明距離均不等于n的情形,則IBRC解碼器再依次對步驟d)得到的循環(huán)位移后的碼字不重復(fù)地選擇n-1個元素,并對每次選擇的這n-1個元素進行二進制取反;然后在對每次選擇的n-1個元素進行二進制取反后,再對步驟d)得到的循環(huán)位移后的碼字中本次未被選擇的剩余元素依次進行二進制取反;再由IBRC解碼器按所述步驟1)至步驟3)對二進制取反后的碼字進行IBRC編碼;然后將所得到的IBRC碼字與步驟a)所得到的解調(diào)后的IBRC碼字進行比較 如果出現(xiàn)漢明距離等于n的情形,則IBRC解碼器輸出當前得到的二進制取反后的碼字,解碼結(jié)束; 如果出現(xiàn)漢明距離均不等于n的情形,則將n在[1,K]的范圍內(nèi)不重復(fù)地重新取值,然后在每次重新取值后重復(fù)執(zhí)行步驟ii)至步驟v);如果在n取盡[1,K]范圍內(nèi)的所有值后仍未出現(xiàn)漢明距離等于n的情形,則IBRC解碼器輸出全零碼字,該全零碼字的長度與步驟1)的待編碼的碼字的長度相同,此時結(jié)束解碼。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是 1)在發(fā)送端發(fā)送數(shù)目相同的LT codes的情況下,在接收端恢復(fù)源數(shù)據(jù)包時,本發(fā)明的誤包率(per)可以在更低的信道信噪比(SNR)環(huán)境下達到刪除信道上噴泉碼的誤包率性能,從而提升噴泉碼在無線信道上的傳輸質(zhì)量。所述誤包率是指相比發(fā)送端的原始發(fā)送的數(shù)據(jù)包,接收端LT解碼器恢復(fù)出的源數(shù)據(jù)包中包含的錯誤數(shù)據(jù)包的百分比。
2)在SNR相同的環(huán)境下,在接收端恢復(fù)源數(shù)據(jù)包時,本發(fā)明可以保證發(fā)送端只需要發(fā)送更少的數(shù)據(jù)包就可以達到與現(xiàn)有技術(shù)相同的per性能,由此提升噴泉碼在無線信道上的傳輸質(zhì)量。



圖1是本發(fā)明包含IBRC的噴泉碼收發(fā)設(shè)備系統(tǒng)的結(jié)構(gòu)示意框圖; 圖2是在本發(fā)明一種實施方式中IBRC碼的解碼流程圖; 圖3是本發(fā)明一種實施方式的IBRC碼的誤包率曲線圖。

具體實施例方式 圖1是本發(fā)明所用的包含IBRC的噴泉碼收發(fā)設(shè)備系統(tǒng)的結(jié)構(gòu)示意圖。發(fā)送端包括LT編碼器以及之后級聯(lián)的IBRC編碼器,接收端包括IBRC解碼器以及之后級聯(lián)的LT解碼器。發(fā)送端的源數(shù)據(jù)包含r個碼字Xj(j=1…r),這些碼字首先經(jīng)過LT編碼器形成無限多的LT codes,對于每一個LT code(Ui),Ui先經(jīng)過IBRC編碼器進行信道編碼,在形成相應(yīng)的IBRC碼字Ci后再進行BPSK調(diào)制,最后IBRC信道編碼器將BPSK調(diào)制后的IBRC碼字通過AWGN信道發(fā)往接收端,接收端在收到碼字后進行BPSK解調(diào),得到經(jīng)過噪聲干擾而可能存在某幾個比特錯誤的已編碼的IBRC碼字Ci′,IBRC解碼器對Ci′進行解碼,將得到的解碼結(jié)果Ui′送入LT解碼器進行LT解碼,從中得到接收端恢復(fù)出的源數(shù)據(jù)碼字Xj′(j=1…r)。如果Xj(j=1…r)與Xj′(j=1…r)中有m個碼字不同,那么系統(tǒng)誤包率(per)就是m/r。
本發(fā)明的信道編碼方法包括IBRC信道編碼和IBRC信道解碼兩部分。
其中,IBRC信道編碼部分的執(zhí)行步驟是 1.確定一對IBRC編碼器所使用的,長度分別為K與K+1的向量組,α1=(a1,a2,…aK,aK+1)與α2=(a1,a2,…aK),其中α1與α2必須滿足下面的兩個條件1)α1只比α2多一個元素aK+1,其余元素均相同,而每個向量中的元素互不相同,即a1≠a2≠a3…≠aK;2)編碼器使用α1與α2來進行編碼后得到的碼字Ci的最小漢明距離dmin=2K+1。
α1與α2內(nèi)包含的每個元素ai(i=1…K+1)的值指示的是Ui每次循環(huán)移位的幅度,所述的幅度具體指的是循環(huán)移位的比特數(shù),因此對于α1的任意元素ai(i=1…K+1),Ui將執(zhí)行ai比特的循環(huán)移位。
默認的循環(huán)移位的方向是向右,即對于向量Ui=(u1,u2,u3,…uk),設(shè)

表示向量Ui在執(zhí)行幅度為ai的循環(huán)移位后得到的向量,那么

就可以表達為 為了敘述更加便利,在本發(fā)明內(nèi)容中使用α1=(0,3,7,10)與α2=(0,3,7)這組滿足條件的向量來介紹IBRC碼的編碼過程以及解碼過程,輸入IBRC編碼器的碼字Ui碼字的長度k根據(jù)α1與α2的長度也要滿足一定的要求(≥4K+4=16); 2.令Uij表示Ui經(jīng)過幅度為j的循環(huán)右移所得到的碼字,j的取值為向量組α1=(a1,a2,…aK,aK+1)與α2=(a1,a2,…aK)中的每一個元素的值,a1,a2,…aK,aK+1。設(shè)定向量P1,P2分別為待編碼向量Ui根據(jù)位移向量α1與α2中各元素的值依次進行循環(huán)移位后得到的所有碼字進行模二相加所產(chǎn)生的新碼字。當α1=(0,3,7,10),α2=(0,3,7)時,mod2二進制加法,IBRC編碼器首先根據(jù)α1中各元素的值(即Ui每次循環(huán)移位的幅度)對Ui進行循環(huán)移位,得到移位后的碼字Ui0,Ui3,Ui7,Ui10,再將這四個碼字進行模二相加得到碼字P1,即 3.IBRC編碼器在得到碼字P1后再根據(jù)α2中各元素的值對Ui進行循環(huán)移位,得到移位后的碼字Ui0,Ui3,Ui7,再將這四個碼字進行模二相加得到碼字P2,即 4.將P1,P2級聯(lián),生成Ui對應(yīng)的IBRC碼字Ci=(P1|P2),其中Ci的長度是Ui的兩倍,即2k。
本發(fā)明使用的IBRC碼,擁有相當直觀的解碼過程以及較低的解碼復(fù)雜度,而接收端只需要知道發(fā)送端所使用的位移向量α1與α2,就可以進行IBRC解碼,而不需要其他任何的與該碼字相關(guān)的信息。
IBRC解碼器部分的IBRC解碼過程分為檢測傳輸錯誤以及糾正傳輸錯誤兩部分,在檢測傳輸錯誤過程中,IBRC解碼器確定當前收到的解調(diào)后的IBRC碼字是否存在傳輸錯誤,如果不存在傳輸錯誤,IBRC解碼器對碼字的解碼過程將在檢測傳輸錯誤過程完成后結(jié)束;如果IBRC解碼器確定當前收到的解調(diào)后的IBRC碼字存在若干比特的傳輸錯誤,IBRC解碼器將對該碼字進行糾錯。在糾錯的過程中,只有在當前得到的解調(diào)后的IBRC碼字所包含的錯誤比特數(shù)≤K時,該碼字能夠被IBRC解碼器正確解碼,否則IBRC解碼器在確定碼字包含的錯誤比特數(shù)>K后,IBRC解碼器將丟棄該碼字,輸出長度為k的全0碼字,結(jié)束對當前碼字的解碼,然后對IBRC解碼器得到的新的解調(diào)后的IBRC碼字進行解碼。本專利將對IBRC碼字解碼過程中的檢測傳輸錯誤過程以及糾正傳輸錯誤過程分別進行敘述; 檢測傳輸錯誤的步驟是 1)解碼器將收到的Ci′分成等長的前后兩段碼字P1′,P2′,Ci′可以進一步表示為
其中e1i與e2i分別表示發(fā)送端IBRC編碼器中生成的碼字P1與P2在傳輸過程中分別受到的干擾。
2)IBRC解碼器將碼字P1′,P2′相加得到碼字Pi′,Pi′可以表達為 3)IBRC解碼器對碼字Pi′進行循環(huán)移位,此時所執(zhí)行的循環(huán)移位的方向與IBRC編碼器在編碼時所進行的循環(huán)移位的方向相反,即IBRC解碼器對碼字Pi′循環(huán)左移;IBRC對Pi′進行的循環(huán)左移幅度為α1比α2多出的那個元素值,即10比特,然后得到Pi′循環(huán)左移后的碼字Uif,Uif可以表達為其中ei所表征的就是LT碼字Ui在AWGN信道中受到的噪聲干擾。
4)對Uif進行一次IBRC編碼,其中使用到的位移向量是α1=(0,3,7,10),α2=(0,3,7),IBRC解碼器得到Uif對應(yīng)的IBRC碼字Cs。
5)將Cs與IBRC解碼器收到的待解碼的IBRC碼字Ci′相比較,如果Ci′=Cs,解碼器認為IBRC碼字Ci在傳輸過程中沒有出錯,Uif就作為解碼結(jié)果Ui′被IBRC解碼器輸出到LT解碼器進行LT解碼,IBRC解碼器結(jié)束當前對碼字Ci′的解碼過程。如果Ci′=Cs不成立,IBRC解碼器認為Ci′包含若干比特的傳輸錯誤,需要其進行糾錯,IBRC解碼器轉(zhuǎn)而進入糾正傳輸錯誤的解碼過程。
在解碼器確認Ci′包含傳輸錯誤后,由于本例中的IBRC編碼器使用的位移向量是α1=(0,3,7,10),α2=(0,3,7),因此K=3,IBRC碼字最小漢明距離是dmin=2K+1=7,因此IBRC解碼器最多能夠正確糾正包含3比特的傳輸錯誤的IBRC碼字。
IBRC解碼器根據(jù)這個結(jié)論,對檢測傳輸錯誤過程中得到的向量Uif進行3次解碼測試,以隨機的順序不重復(fù)地設(shè)定每次測試時Ci′所包含的錯誤比特數(shù),每次設(shè)定的錯誤比特數(shù)范圍是1比特至3比特,IBRC解碼器在每次設(shè)定了錯誤比特數(shù)后就在當前的設(shè)定下試圖對解調(diào)后的IBRC碼字解碼。至多在經(jīng)過三次測試,將設(shè)定范圍內(nèi)的三種錯誤情況全部測試完畢后,IBRC解碼器必然可以得到IBRC碼字的解碼結(jié)果并將其輸出。
糾正傳輸錯誤的過程將根據(jù)IBRC解碼器在每次測試時所設(shè)定的解調(diào)后的IBRC碼字所包含的錯誤比特數(shù),對設(shè)定錯誤比特數(shù)為1比特,2比特,3比特的測試過程通過下面的段落1),2),3)分別進行敘述。
圖2所示的解碼流程體現(xiàn)的是當IBRC解碼器對IBRC碼字包含的錯誤比特數(shù),按照3比特,1比特,2比特順序設(shè)定時,解碼器對IBRC碼字的測試解碼過程。IBRC解碼器在隨機設(shè)定了錯誤比特數(shù)后,就從下面的段落1),2),3)中找到與所設(shè)定的錯誤比特數(shù)相對應(yīng)的測試過程,按照該測試過程對當前設(shè)定下的IBRC碼字進行解碼, 1)當IBRC解碼器設(shè)定碼字Ci′包含的錯誤比特數(shù)是1時,IBRC解碼器將在[1,K]的范圍中依次隨機取一個整數(shù),不重復(fù)地至多選K次,即若在第j次選取的整數(shù)是mj,那么m1≠m2≠m3…mK-1≠mK。IBRC解碼器在每次選擇完一個整數(shù)后,對碼字進行以下步驟的處理,以此來完成當前所設(shè)定的IBRC碼字Ci′包含的錯誤1比特數(shù)情況下的測試解碼過程 a.設(shè)IBRC解碼器在第1次選擇中選取了位于[1,K]的范圍內(nèi)的整數(shù)m1,解碼器對Uif的第m1個元素

取反,即令I(lǐng)BRC解碼器在進行取反后,通過碼字Uif得到了一個新的碼字Uif′,即 b.IBRC解碼器對Uif′按前述編碼步驟順序再進行一次IBRC編碼,其中編碼過程中使用到的位移向量是發(fā)送端的IBRC編碼器所使用的那一對位移向量α1=(0,3,7,10),α2=(0,3,7),IBRC解碼器得到碼字Uif′對應(yīng)的IBRC碼字Cf; c.IBRC解碼器比較Cf與Ci′之間的漢明距離d,如果d=1,IBRC解碼器就將Uif′作為解碼結(jié)果輸出,即解碼結(jié)束;如果d=1不成立,解碼器確認在Uif包含1比特的錯誤的情況下,

不是錯誤的那一個比特,IBRC解碼器將會重置在[1,K]的范圍中依次進行剩余的K-1次不重復(fù)的隨機選擇;IBRC解碼器對于每次選擇到得的整數(shù)ml,按照步驟a)所述的方法得到再對該Uif′進行IBRC編碼得到向?qū)?yīng)的碼字Cf,解碼器再次比較Cf與Ci′之間的漢明距離d,如果出現(xiàn)d=1,解碼器就將當前選擇的整數(shù)所對應(yīng)的二進制取反后的碼字Uif′作為解碼結(jié)果輸出,如果IBRC解碼器在[1,K]的范圍中不重復(fù)地隨機選擇K次整數(shù)后,所有的得到的碼字Uif′以及其對應(yīng)的IBRC碼字Cf均不能使得d=1成立,IBRC解碼器結(jié)束對IBRC碼字包含的1比特錯誤的情況的測試,當前的設(shè)定是錯誤的,IBRC解碼器轉(zhuǎn)而再次設(shè)定Uif所包含的錯誤比特數(shù),并進行相應(yīng)的測試。
2)當IBRC解碼器設(shè)定IBRC碼字Ci′包含2比特的錯誤時,IBRC解碼器將在[1,K]的范圍中依次隨機取一個整數(shù),不重復(fù)地至多選擇K次,即若在第j次選取的整數(shù)是mj,那么m1≠m2≠m3…mK-1≠mK;IBRC解碼器在設(shè)定IBRC碼字Ci′包含2比特錯誤的情況下,將對碼字進行以下步驟的處理,以此來完成當前設(shè)定下的測試解碼過程 a.設(shè)IBRC解碼器在第1次選擇中選取了位于[1,K]的范圍內(nèi)的整數(shù)m1,解碼器對碼字Uif的第m1個元素

取反,即令I(lǐng)BRC解碼器在完成取反后,通過碼字Uif得到了一個新的碼字Uif′,其中 b.IBRC解碼器在[1,K]的范圍內(nèi)再選擇一個不同于m1的數(shù)n1,解碼器對碼字Uif′的第n1個元素

取反,即令I(lǐng)BRC解碼器通過碼字Uif′得到新的碼字Uif″,其中或者 c.IBRC解碼器對Uif″進行一次IBRC編碼,其中使用到的位移向量為α1=(0,3,7,10),α2=(0,3,7),IBRC解碼器得到碼字Uif″所對應(yīng)的IBRC碼字Cf。
d.IBRC解碼器比較Cf與Ci′之間的漢明距離d,如果d=2,解碼器就將Uif″作為解碼結(jié)果輸出,即解碼結(jié)束;如果d=2不成立,IBRC解碼器將會重置在[1,K]的范圍中再依次選擇不同于m1和n1的整數(shù),至多再做K-2次不重復(fù)的隨機選擇;IBRC解碼器對于每次得到不同的整數(shù)nl,按照步驟b)所述的方法,將與之相對應(yīng)的Uif′的第nl位取反得到碼字再對該Uif″進行IBRC編碼,得到Uif″相對應(yīng)的IBRC碼字Cf,解碼器再次比較Cf與Ci′之間的漢明距離d,如果出現(xiàn)d=2成立,解碼器就將當前選擇的整數(shù)nl所對應(yīng)的經(jīng)過二進制取反得到的碼字Uif″作為解碼結(jié)果輸出,解碼結(jié)束; 如果IBRC解碼器在[1,K]的范圍中不重復(fù)地隨機選擇了K-2次不同于m1和n1的整數(shù)后,所有的得到的碼字Uif″以及其對應(yīng)的IBRC碼字Cf均不能使得d=2成立,IBRC解碼器將恢復(fù)碼字Uif,然后在[1,K]的范圍中再不重復(fù)地依次選擇不同于m1的整數(shù),共選K-1次; 對于每次選擇的整數(shù)ml,IBRC解碼器對碼字Uif的第ml個元素

取反,即令I(lǐng)BRC解碼器通過碼字Uif得到了一個新的碼字Uif′,其中在當前選擇了ml的情況下,IBRC解碼器根據(jù)步驟b,在[1,K]的范圍中再依次不重復(fù)地選擇不同于ml的整數(shù)nl,至多K-1次,通過當前得到的Uif′以及每次選擇的整數(shù)nl,IBRC解碼器將先后得到相對應(yīng)的至多K-1個Uif″;IBRC解碼器依次對每次得到的Uif″進行IBRC編碼,得到相應(yīng)的IBRC碼字Cf,IBRC解碼器比較Cf與Ci′之間的漢明距離d,如果出現(xiàn)d=2,解碼器就將當前所選擇的整數(shù)ml與nl所對應(yīng)的二進制取反后得到的碼字Uif″(即分別對Uif中的兩個元素

取反)作為解碼結(jié)果輸出,解碼結(jié)束; 如果IBRC解碼器在[1,K]的范圍中不重復(fù)地一共隨機選擇K次整數(shù)ml后,對所有的得到的碼字Uif′執(zhí)行了步驟b的取反,步驟c所述的IBRC編碼以及步驟d所述的比較后均無法得到由整數(shù)ml與nl所確定的碼字Uif″,使得d=2成立,IBRC解碼器結(jié)束對IBRC碼字包含的2比特錯誤的情況的測試,當前的設(shè)定是錯誤的,IBRC解碼器轉(zhuǎn)而再次設(shè)定Ci′所包含的錯誤比特數(shù),并進行相應(yīng)的測試。
3)當IBRC解碼器設(shè)定IBRC碼字Ci′包含3比特的錯誤時,解碼器將在[1,K]的范圍中依次隨機取兩個不相等的整數(shù),不重復(fù)地至多選K*(K-1)/2次,即若在第j次選取的兩個整數(shù)組成整數(shù)對(mj,nj),那么對于這所有K*(K-1)/2次選擇,解碼器得到的所有整數(shù)對在mj≠nj的同時存在(m1,n1)≠(m2,n2)≠…≠(mK*(K-3)/2,nK*(K-3)/2)≠(mK*(K-1)/2,nK*(K-1)/2)。IBRC解碼器在設(shè)定IBRC碼字Ci′包含3比特錯誤的情況下;對碼字進行以下步驟的處理,以此來完成當前設(shè)定下的測試解碼過程 a.設(shè)IBRC解碼器在第1次選擇中選取了位于[1,K]的范圍內(nèi)的整數(shù)對(m1,n1),解碼器對碼字Uif的第m1個元素

以及第n1個元素

取反,即令I(lǐng)BRC解碼器通過碼字Uif得到了一個新的碼字Uif′,其中 b.IBRC解碼器在[1,K]的范圍內(nèi)再選擇一個不同于m1,n1的數(shù)r1,解碼器對碼字Uif′的第r1個元素

取反,即令I(lǐng)BRC解碼器在進行取反后,通過碼字Uif′得到新的碼字Uif″; c.IBRC解碼器對Uif″進行一次IBRC編碼,其中使用到的位移向量為α1=(0,3,7,10),α2=(0,3,7),IBRC解碼器得到碼字Uif″所對應(yīng)的IBRC碼字Cf; d.IBRC解碼器比較Cf與Ci′之間的漢明距離d,如果d=3,解碼器就將Uif″作為解碼結(jié)果輸出,即解碼結(jié)束;如果d=3不成立,IBRC解碼器將會重置在[1,K]的范圍中再依次不重復(fù)地隨機選擇不同于m1,n1和r1的整數(shù),至多選擇K-3次;IBRC解碼器對于每次得到不同的整數(shù)rl,按照步驟b)所述的方法,將相對應(yīng)的Uif′的第rl位取反得到碼字編碼器對該碼字Uif″進行IBRC編碼,得到Uif″相對應(yīng)的IBRC碼字Cf;解碼器再次比較Cf與Ci′之間的漢明距離d,如果出現(xiàn)d=3成立,解碼器就將當前選擇的整數(shù)nl所對應(yīng)的二進制取反后的碼字Uif″作為解碼結(jié)果輸出,解碼結(jié)束; 如果IBRC解碼器在[1,K]的范圍中不重復(fù)地共隨機選擇了K-3次不同于m1,n1和r1的整數(shù)后,所有的得到的碼字Uif″以及其對應(yīng)的IBRC碼字Cf均不能使得d=3成立,IBRC解碼器將恢復(fù)碼字Uif,然后在[1,K]的范圍中依次選擇不同于整數(shù)對(m1,n1)的其余整數(shù)對,至多再選擇次數(shù)為K*(K-3)/2次; 對于每次選擇的新整數(shù)對(ml,nl),IBRC解碼器對碼字Uif的第ml個元素

以及第nl個元素

取反,即令取反,即令I(lǐng)BRC解碼器通過碼字Uif得到了一個新的碼字Uif′,其中在當前選擇了整數(shù)對(ml,nl)的情況下,IBRC解碼器按步驟b中在[1,K]的范圍中再依次不重復(fù)地隨機選擇不同于ml與nl的整數(shù)rl,至多選擇K-2次;在每次選擇了rl后,IBRC解碼器通過對當前的Uif′第rl個元素取反得到相應(yīng)的Uif″,對每次得到的Uif″依次進行IBRC編碼得到對應(yīng)的IBRC碼字Cf;IBRC解碼器比較Cf與Ci′之間的漢明距離d,如果出現(xiàn)d=3,解碼器就將當前所選擇的整數(shù)對(ml,nl)以及rl所對應(yīng)的經(jīng)過了二進制取反(即分別對Uif中的三個元素

取反)所得到的碼字Uif″作為解碼結(jié)果輸出,解碼結(jié)束;如果IBRC解碼器在[1,K]的范圍中不重復(fù)地一共隨機選擇K*(K-1)/2次整數(shù)對(ml,nl)后,對所有的得到的碼字Uif′執(zhí)行了步驟b的依次取反,步驟c所述的IBRC編碼以及步驟d所述的比較后均無法得到整數(shù)對(ml,nl)以及rl所對應(yīng)的碼字Uif″使得d=3成立,IBRC解碼器結(jié)束對IBRC碼字包含的3比特錯誤的情況的測試,當前的設(shè)定是錯誤的,IBRC解碼器轉(zhuǎn)而再次設(shè)定IBRC碼字Ci′所包含的錯誤比特數(shù),并進行相應(yīng)的測試。
接收端IBRC解碼器通過以上的過程對接收到的IBRC碼字進行譯碼處理,由于K=3,因此IBRC解碼器將在[1,3]的范圍內(nèi)不重復(fù)地設(shè)定Ci′的錯誤比特數(shù)。于是IBRC解碼器至多在進行完了至多三次測試,不重復(fù)地設(shè)定了Ci′所包含的錯誤比特數(shù)是1比特,2比特或者3比特,并按照上述的過程進行相應(yīng)的解碼測試后,就能夠確定解調(diào)后的IBRC碼字Ci′所包含的錯誤比特數(shù)的范圍;對于包含的錯誤在3比特之內(nèi)的接收碼字Ci′,譯碼器能夠做到完全正確解碼;而對于錯誤大于3比特的碼字,IBRC譯碼器將無法正確地對Ci′進行解碼,,解碼器將直接放棄對碼字Ci′的解碼,發(fā)送長度為k比特的全零碼字作為解碼結(jié)果輸出,并且結(jié)束對Ci′的解碼。
由于IBRC解碼器的輸出就是LT解碼器的輸入,也就是在接收端恢復(fù)出的LT碼字,而對于LT解碼過程而言,全零LT碼字是不會造成LT解碼錯誤的,而錯誤的LT碼字將會造成一系列的LT解碼錯誤。因此IBRC解碼器通過上述的解碼過程,可以有效防止錯誤的IBRC碼的解碼結(jié)果(LT碼字)作為LT解碼器的輸入碼字。于是通過使用IBRC碼作為信道編碼,接收端的LT解碼器的輸入碼字要么是正確的,要么就是對LT解碼過程沒有影響的全零碼字,從而將無線信道的加擾特性近似成了適合噴泉碼工作的有線信道的刪除特性,杜絕接收端LT解碼過程因為輸入碼字包含錯誤而導(dǎo)致的一系列解碼錯誤。
與此同時,由于噴泉碼本身可以產(chǎn)生無數(shù)個編碼碼字進行傳輸?shù)奶攸c,在使用IBRC碼作為信道編碼后,接收端只需要一直對接收到的IBRC碼字按照專利內(nèi)容所述的過程進行解碼,就一定能夠解碼出足夠數(shù)量的正確的LT碼字;接收端再通過LT解碼器從IBRC解碼器輸出的大量的LT碼字中恢復(fù)出發(fā)送端的原始信息。因此通過本發(fā)明中敘述的IBRC碼,可以有效地提高噴泉碼在無線信道上的傳輸性能。
圖3包含中的三條曲線分別是本發(fā)明所舉例的IBRC碼字在AWGN信道上使用噴泉碼傳輸源數(shù)據(jù)時的誤包率曲線;普通FEC方式在相同的AWGN信道上使用噴泉碼傳輸源數(shù)據(jù)時的誤包率曲線;以及噴泉碼在有線刪除信道上傳輸數(shù)據(jù)時的誤包率曲線;從中可以看出本發(fā)明所敘述的IBRC碼相比普通的FEC方式,在AWGN無線信道上給噴泉碼的數(shù)據(jù)傳輸性能,即誤包率性能帶來明顯的提升,使得噴泉碼能夠以更低的錯誤概率傳輸數(shù)據(jù),并且能夠在更低的信噪比環(huán)境下達到與噴泉碼在有線信道上的誤包率相似的性能。因此本發(fā)明所敘述的IBRC碼是一種可以有效提高噴泉碼在無線信道上的數(shù)據(jù)傳輸性能的信道編碼方式。
權(quán)利要求
1.一種用于提升噴泉碼在無線信道上傳輸質(zhì)量的信道編碼方法,其特征是包括如下步驟
(1)IBRC信道編碼
1)IBRC編碼器對輸入該IBRC編碼器的待編碼的碼字以兩個位移向量中的其中一個的各元素為每次循環(huán)移位的幅度依次進行循環(huán)位移,將循環(huán)移位后所得到的所有碼字進行模二相加;
所述兩個位移向量分別如式(1)和式(2)所示,
α1=(a1,a2,…aK,aK+1)(1)
α2=(a1,a2,…aK) (2)
其中,位移向量α2比位移向量α1少一個元素ak+1,所述位移向量中所包含的各元素a1,a2,…ak,ak+1的值互不相同,
所述待編碼碼字的長度≥4K+4比特,其中,K為式(2)中向量α2所包含的元素個數(shù);
2)IBRC編碼器對步驟1)的待編碼的碼字以所述兩個位移向量中的另一個的各元素為每次循環(huán)移位的幅度依次進行循環(huán)位移,將循環(huán)移位后所得到的所有碼字進行模二相加;
3)IBRC編碼器將步驟1)模二相加后的碼字和步驟2)模二相加后的碼字進行級聯(lián),得到已編碼的碼字;
4)IBRC編碼器將已編碼的碼字經(jīng)過BPSK調(diào)制后發(fā)送到無線信道上進行傳輸;
(2)IBRC信道解碼
a)IBRC解碼器從無線信道上接收經(jīng)過BPSK調(diào)制的已編碼的碼字,對該接收碼字進行BPSK解調(diào),得到經(jīng)過IBRC編碼器編碼的IBRC碼字;
b)IBRC解碼器將解調(diào)后的IBRC碼字分成長度相等的前后兩段碼字;
c)IBRC解碼器將所述的長度相等的前后兩段碼字進行模二相加;
d)IBRC解碼器對步驟c)模二相加后的碼字進行與信道編碼時方向相反的循環(huán)位移,該循環(huán)位移的幅度為位移向量α1中的元素ak+1的值;
e)由IBRC解碼器按所述步驟1)至步驟3)的順序?qū)Σ襟Ed)得到的碼字進行IBRC編碼;
f)將步驟e)所得到的編碼后的IBRC碼字與步驟a)所得到的解調(diào)后的IBRC碼字進行比較,如果兩者相同,則將步驟d)得到的循環(huán)位移后的碼字作為IBRC解碼器的結(jié)果輸出;如果不同,則IBRC解碼器按以下步驟對步驟d)所得到的循環(huán)位移后的碼字進行糾錯
i)IBRC解碼器設(shè)定步驟d)得到的循環(huán)位移后的碼字的錯誤比特數(shù)為n,其中1≤n≤K;
ii)IBRC解碼器在步驟d)得到的循環(huán)位移后的碼字中,任意選擇n-1個元素,對這n-1個元素進行二進制取反;
iii)在步驟ii)沒有被選擇到的剩余元素中再任意選擇一個元素,并對這個元素進行二進制取反;
iv)由IBRC解碼器按所述步驟1)至步驟3)對步驟iii)得到的二進制取反后的碼字進行IBRC編碼;
v)將步驟iv)所得到的編碼后的IBRC碼字與步驟a)所得到的解調(diào)后的IBRC碼字進行比較
如果兩者之間的漢明距離等于n,則IBRC解碼器將步驟iii)得到的二進制取反后的碼字作為解碼結(jié)果輸出,此時解碼結(jié)束;
如果兩者的漢明距離不等于n,則對在步驟ii)中沒有被選擇到的剩余元素逐一進行二進制取反;再由IBRC解碼器按所述步驟1)至步驟3)對二進制取反后的碼字進行IBRC編碼;然后將所得到的IBRC碼字與步驟a)所得到的解調(diào)后的IBRC碼字進行比較
若出現(xiàn)漢明距離等于n的情形,則IBRC解碼器輸出當前得到的二進制取反后的碼字,解碼結(jié)束;
若出現(xiàn)漢明距離均不等于n的情形,則IBRC解碼器再依次對步驟d)得到的循環(huán)位移后的碼字不重復(fù)地選擇n-1個元素,并對每次選擇的這n-1個元素進行二進制取反;然后在對每次選擇的n-1個元素進行二進制取反后,再對步驟d)得到的循環(huán)位移后的碼字中本次未被選擇的剩余元素依次進行二進制取反;再由IBRC解碼器按所述步驟1)至步驟3)對二進制取反后的碼字進行IBRC編碼;然后將所得到的IBRC碼字與步驟a)所得到的解調(diào)后的IBRC碼字進行比較
如果出現(xiàn)漢明距離等于n的情形,則IBRC解碼器輸出當前得到的二進制取反后的碼字,解碼結(jié)束;
如果出現(xiàn)漢明距離均不等于n的情形,則將n在[1,K]的范圍內(nèi)不重復(fù)地重新取值,然后在每次重新取值后重復(fù)執(zhí)行步驟ii)至步驟v);如果在n取盡[1,K]范圍內(nèi)的所有值后仍未出現(xiàn)漢明距離等于n的情形,則IBRC解碼器輸出全零碼字,該全零碼字的長度與步驟1)的待編碼的碼字的長度相同,此時結(jié)束解碼。
全文摘要
本發(fā)明公開了一種用于提升噴泉碼在無線信道上傳輸質(zhì)量的信道編碼方法,步驟為IBRC信道編碼時,IBRC編碼器先對輸入碼字依次以兩個位移向量中的各元素為每次循環(huán)移位的幅度依次進行循環(huán)位移,再將循環(huán)移位后所得所有碼字進行模二相加,共得兩個碼字,后將兩個碼字級聯(lián)得到編碼碼字并用BPSK調(diào)制發(fā)送;IBRC信道解碼時,IBRC解碼器對收到的碼字進行BPSK解調(diào)后分為前后兩段再模二相加,后進行反向循環(huán)位移,基于循環(huán)位移后得到的碼字,確定IBRC碼字在傳輸過程中是否有錯,無錯則將該碼字直接輸出;否則將在一定范圍內(nèi)依次設(shè)定錯誤比特數(shù)并在該設(shè)定下解碼,解碼成功則輸出解碼結(jié)果;若所設(shè)錯誤比特數(shù)取盡該范圍內(nèi)所有整數(shù)后依舊未成功解碼,則IBRC解碼器輸出全零碼字。
文檔編號H04L1/00GK101807975SQ20101914603
公開日2010年8月18日 申請日期2010年2月5日 優(yōu)先權(quán)日2010年2月5日
發(fā)明者呂思達, 趙志峰, 崔云, 陳琴琴, 王曉, 危彥, 楊杰, 夏雨, 王龍威, 張廣超, 王峰, 周斌 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
河源市| 资阳市| 水城县| 茌平县| 弋阳县| 肃宁县| 广元市| 寿宁县| 克什克腾旗| 巴彦淖尔市| 万州区| 双峰县| 浮山县| 六安市| 旬邑县| 济源市| 舒兰市| 仪征市| 宣汉县| 博湖县| 旌德县| 平昌县| 安乡县| 仲巴县| 马龙县| 横峰县| 巨鹿县| 思茅市| 开化县| 镇安县| 普定县| 永春县| 尼勒克县| 乐昌市| 灵武市| 东港市| 阿勒泰市| 永州市| 郧西县| 兴和县| 巴青县|