專利名稱::基于Turbo譯碼的網(wǎng)絡(luò)編碼方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于無線通信
技術(shù)領(lǐng)域:
,涉及信道編碼和網(wǎng)絡(luò)編碼,具體地說是針對兩個源節(jié)點和一個中繼節(jié)點的無線通信網(wǎng)絡(luò),設(shè)計一種能改善網(wǎng)絡(luò)吞吐量和誤比特性能的網(wǎng)絡(luò)編碼方法。
背景技術(shù):
:利用中繼幫助移動用戶轉(zhuǎn)發(fā)數(shù)據(jù),可獲得額外的分集增益,改善接收端的誤比特BER性能,是提高移動用戶在小區(qū)邊緣通話質(zhì)量的有效手段之一。針對圖1所示的無線雙向中繼信道,兩個源節(jié)點通過一個中繼節(jié)點交換信息時,通常需要四個時隙,即兩個源節(jié)點分別占用一個時隙與中繼節(jié)點進行通信,中繼節(jié)點占用兩個時隙,分別為兩個源節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)。網(wǎng)絡(luò)編碼通過對多條輸入鏈路上收到的數(shù)據(jù)信息進行一定的線性或非線性編碼,可提高網(wǎng)絡(luò)吞吐量、減少數(shù)據(jù)包的傳輸次數(shù)、增強網(wǎng)絡(luò)的容錯性和魯棒性,為提高雙向中.繼信道的傳輸效率提供了一個有效的方法。為了提高中繼轉(zhuǎn)發(fā)效率,美國學(xué)者S.Zhang,S.C.Liew和P.P.Lam等人在2006年的移動通信會議上,提出一種物理層網(wǎng)絡(luò)編碼的概念,其基本原理是將兩個源節(jié)點分別占用一個時隙與中繼節(jié)點進行通信,然后由中繼節(jié)點將譯碼得到兩個源節(jié)點的數(shù)據(jù)信息進行模2運算后重新編碼轉(zhuǎn)發(fā),需要三個時隙就可以交換一個數(shù)據(jù)包。2007年,他們又提出了一種基于重復(fù)累加編碼RA的信道譯碼-網(wǎng)絡(luò)編碼方案,該方案允許兩個源節(jié)點同時與中繼節(jié)點進行通信,并利用RA碼的特點設(shè)計了一個虛擬編碼器,從而使中繼節(jié)點可根據(jù)上述虛擬編碼器對接收信號進行譯碼,直接得到兩個源節(jié)點的數(shù)據(jù)信息的模2和結(jié)果,并將模2和結(jié)果重新編碼廣播到兩個源節(jié)點。釆用該方案只需要兩個時隙就可以交換一個數(shù)據(jù)包。上述文獻里所給出的方法,只適用于源節(jié)點采用規(guī)則重復(fù)累加碼的情況,無法直接推廣至源節(jié)點采用Turbo碼和低密度校驗碼的情況。同時由于重復(fù)累加碼只有在低碼率的情況下才可獲得較好性能,因此,如何將上述虛擬編碼的思想推廣至源節(jié)點采用Turbo碼的情況,以進一步提高中繼節(jié)點的譯碼性能,是目前需要解決的一個問題。
發(fā)明內(nèi)容本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺陷,提出一種基于Turbo譯碼的網(wǎng)絡(luò)編碼方法,以將信道譯碼-網(wǎng)絡(luò)編碼直接推廣至源節(jié)點采用Turbo碼的情況,提高網(wǎng)絡(luò)吞吐量和中繼節(jié)點的轉(zhuǎn)發(fā)效率,改善目的節(jié)點的性能。6本發(fā)明是這樣實現(xiàn)的;技術(shù)方案l,對于源節(jié)點采用不同Turbo碼的網(wǎng)絡(luò)編碼,包括如下步驟(1)采用Turbo碼對兩個源節(jié)點的數(shù)據(jù)信息《,《分別進行編碼,得出編碼序列xpx2,并同時發(fā)送至中繼節(jié)點,若兩個源節(jié)點都采用BPSK調(diào)制,中繼節(jié)點接收的信號為_V=(2^-1)+(2x2-1)+","代表信道的加性高斯白噪聲;(2)根據(jù)兩個源節(jié)點采用的Turbo碼結(jié)構(gòu),構(gòu)造虛擬Turbo編碼器的兩個聯(lián)合分量碼設(shè)第1個源節(jié)點Turbo碼的第一個分量碼生成多項式為(")/gg(")),第2個源節(jié)點Turbo碼的第一個分量碼生成多項式為(D)/g^(")),則第一聯(lián)合分量碼的生成多項式為f,頻")。.〕設(shè)第1個源節(jié)點Turb。碼的第二個分量碼生成多項式為(gf(£)/gl(22)(£》,第2個源節(jié)點Turbo碼的第二個分量碼生成多項式為(g^(D)/g^(D)),則第二聯(lián)合分量碼的生成多項式為L。,)/g,J,g^(D)代表第i個源節(jié)點Turb。碼中第j個分量碼的前向多項式,A力(")代表第i個源節(jié)點Turbo碼中第j個分量碼的反饋多項式;(3)根據(jù)第一聯(lián)合分量碼和第二聯(lián)合分量碼的生成多項式,構(gòu)造聯(lián)合分量碼的虛擬Trellis圖(3a)設(shè)第1個源節(jié)點采用Turbo碼中第/個分量碼有附"個移位寄存器,第2個源節(jié)點采用的Turbo編碼器中第/個分量碼有w^個移位寄存器,則由第/個聯(lián)合分量碼的w^+一"個移位寄存器,得出第/個聯(lián)合分量碼有2'個狀態(tài),其中/=1,2;(3b)從第l個聯(lián)合分量碼中的任一狀態(tài)Sf)出發(fā),根據(jù)兩個輸入比特《^o和第l個聯(lián)合分量碼的生成多項式,計算第1個聯(lián)合分量碼編碼器的校驗比特輸出cfcf和下一時刻的狀態(tài)《),確定出第l個聯(lián)合分量碼的Trellis圖中的一個狀態(tài)轉(zhuǎn)移,即從狀態(tài)《)轉(zhuǎn)移至狀態(tài)S)'),S(')^0,1,2,…,2^—°-1},={00,01,10,11},1=1,2;(3c)將&(')和《《)遍歷所有取值,重復(fù)過程(4b),確定Trdlis圖所有的狀態(tài)轉(zhuǎn)移,得出第1聯(lián)合分量碼的Trellis(3d)保持每一個聯(lián)合分量碼的Trellis圖的狀態(tài)數(shù)及狀態(tài)轉(zhuǎn)移關(guān)系不變,將兩個輸入比特和兩個校驗比特分別進行和運算,構(gòu)成聯(lián)合分量碼的虛擬Trellis圖;(4)用第/個聯(lián)合分量碼的虛擬Trellis圖代替Turbo碼的第/個分量碼,并用與源節(jié)點交織器結(jié)構(gòu)相同的交織器,構(gòu)成虛擬Turbo碼,/=1,2;(5)中繼節(jié)點根據(jù)虛擬Turbo碼的特點,対擺收信號y"2x「1)+(2^-l)+w進行最大后驗概率譯碼,得到兩個源節(jié)點信息相加后的估計序列4+i2;(6)中繼節(jié)點對估計序列^+^進行模2運算,得出網(wǎng)絡(luò)編碼信息4,再對^@&重新進行Turbo編碼,并將編碼序列廣播至兩個源節(jié)點;(7)第1個源節(jié)點根據(jù)接收的信號進行Turbo譯碼,并將譯碼結(jié)果與本地信息4進行模2運算,得到第2個源節(jié)點的估計信息^;第2個源節(jié)點根據(jù)接收的信號進行譯碼,并將譯碼結(jié)果與本地信息《模2運算,得到第1個源節(jié)點的估計信息4。技術(shù)方案2,對于源節(jié)點采用相同Turbo碼的網(wǎng)絡(luò)編碼,包括如下步驟1)采用Turbo碼對兩個源節(jié)點的數(shù)據(jù)信息《,《分別進行編碼,得出編碼序列x,,&,并同時發(fā)送至中繼節(jié)點,若兩個源節(jié)點都采用BPSK調(diào)制,中繼節(jié)點接收的信號為j;-(2jc,-l)+(2x2-1)+","代表信道的加性高斯白噪聲;2)根據(jù)兩個源節(jié)點采用的Turbo碼結(jié)構(gòu),構(gòu)造虛擬Turbo編碼器的兩個聯(lián)合分量碼設(shè)第1個源節(jié)點Turbo碼的第一個分量碼生成多項式為(gf(")/gg,第2個源節(jié)點Turbo碼的第一個分量碼生成多項式為(D)/gg,則第一聯(lián)合分量碼的生成多項式為?!矻。^)J,設(shè)第1個源節(jié)點Turb。碼的第二個分量碼生成多項式為(g^(D)/g^("》,第2個源節(jié)點Turbo碼的第二個分量碼生成多項式為(gf(")/gg("》,則第二聯(lián)合分量碼的生成多項式為^2)()q)L。g,頻")J'^力(D)代表第i個源節(jié)點Turb。碼中第j個分量碼的前向多項式,a力(Z))代表第i個源節(jié)點Turbo碼中第j個分量碼的反饋多項式;3)根據(jù)第一聯(lián)合分量碼和第二聯(lián)合分量碼的生成多項式,構(gòu)造聯(lián)合分量碼的簡化虛擬Trellis圖3a)當兩個源節(jié)點采用的Turbo編碼器中的第/個分量碼有m^個移位寄存器,則由第/個聯(lián)合分量碼有2m^個移位寄存器,得出聯(lián)合分量碼有22"'("個狀態(tài),其中/=1,2;3b)從第/個聯(lián)合分量碼中的第一個分量碼的0狀態(tài)開始,找第/個聯(lián)合分量碼中的第二個分量碼的狀態(tài)數(shù)不小于第一個分量碼狀態(tài)數(shù)的狀態(tài),與第一個分量碼的狀態(tài)聯(lián)合,8構(gòu)成Trellis圖的簡化狀態(tài),遍歷第/個聯(lián)合分量碼的第一個分量碼的的2""個狀態(tài),得出簡化后的狀態(tài)數(shù)為22"'("(22'"(')+1)/2,/=1,2;3c)從簡化后的狀態(tài)的任一狀態(tài)S"出發(fā),根據(jù)兩個輸入比特^W^和第/個聯(lián)合分量碼的編碼器結(jié)構(gòu),計算第/個聯(lián)合分量碼編碼器的校驗比特輸出cfcf和下一時刻的狀態(tài)Sf,確定出第/個聯(lián)合分量碼的Trdlis圖中從狀態(tài)5f轉(zhuǎn)移至狀態(tài)S,的一個簡化狀態(tài)轉(zhuǎn)移,其中S,(')={o,l,2,...,22m(')(22"'(')+1)/2-小={00,01,10,11};3d)將S尸和《d,遍歷所有取值,重復(fù)步驟(5c),確定Trellis圖所有的簡化狀態(tài)轉(zhuǎn)移,得出第/聯(lián)合分量碼的簡化Trellis3e)保持每一個聯(lián)合分量碼的簡化Trellis圖狀態(tài)數(shù)及狀態(tài)轉(zhuǎn)移關(guān)系不變,將兩個輸入比特和兩個校驗比特分別進行和運算,構(gòu)成聯(lián)合分量碼的簡化虛擬Trellis4)用第/個聯(lián)合分量碼的簡化虛擬Trellis圖代替Turbo碼的第/個分量碼,并用與源節(jié)點交織器結(jié)構(gòu)相同的交織器,構(gòu)成虛擬Turbo碼,/=1,2;5)中繼節(jié)點根據(jù)虛擬Turb。碼的特點,對接收信號j;"2A:廣l)+(2A-l)+M進行最大后驗概率譯碼,得到兩個源節(jié)點信息相加后的估計序列^+A;6)中繼節(jié)點對估計序列&+<2進行模2運算,得出網(wǎng)絡(luò)編碼信息^@&,再對^④^重新進行Turbo編碼,并將編碼序列廣播至兩個源節(jié)點;7)第1個源節(jié)點根據(jù)接收的信號進行Turbo譯碼,并將譯碼結(jié)果與本地信息《進行模2運算,得到第2個源節(jié)點的估計信息^;第2個源節(jié)點根據(jù)接收的信號進行譯碼,并將譯碼結(jié)果與本地信息《模2運算,得到第1個源節(jié)點的估計信息&。本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點1.本發(fā)明由于在中繼節(jié)點上采用了基于Turbo譯碼的網(wǎng)絡(luò)編碼,使中繼節(jié)點直接譯出兩個源節(jié)點發(fā)送信息的模2和,不僅可用兩個時隙完成兩個源節(jié)點的信息交互,使吞吐量可以達到1/2符號/用戶/符號周期,并且可以提高中繼節(jié)點的譯碼性能;2.本發(fā)明由于針對兩個源節(jié)點采用相同Turbo碼的情況提出了一種虛擬簡化Trellis圖,因而可在不損失性能的前提下降低中繼節(jié)點的譯碼復(fù)雜度。圖l是本發(fā)明的無線雙向中繼通信網(wǎng)絡(luò)模型;圖2是本發(fā)明源節(jié)點采用不同Turbo碼的網(wǎng)絡(luò)編碼流程圖3是圖2流程構(gòu)造聯(lián)合分量碼虛擬Trellis圖的子流程圖4是本發(fā)明源節(jié)點采用相同Turbo碼的網(wǎng)絡(luò)編碼流程圖5是圖4流程構(gòu)造聯(lián)合分量碼簡化虛擬Trellis圖的子流程圖6是本發(fā)明實施例1的聯(lián)合分量碼結(jié)構(gòu)9圖7是本發(fā)明實施例1的聯(lián)合分量碼的Trellis圖;圖8是本發(fā)明實施例1的虛擬Trellis圖;圖9是本發(fā)明實施例2的聯(lián)合分量碼結(jié)構(gòu)圖;圖10是本發(fā)明實施例2的簡化虛擬Trellis圖11是本發(fā)明實施例2與現(xiàn)有MMSE-PNCF譯碼方法的性能比較圖;具體實施例方式參照圖2,本發(fā)明源節(jié)點采用不同Turbo碼的網(wǎng)絡(luò)編碼方法,包括如下步驟步驟l,兩個源節(jié)點的Turbo編碼。參照圖1,采用不同Turbo碼對兩個源節(jié)點vV,,iV2的數(shù)據(jù)信息《,4分別進行編碼,得出編碼序列x,,A,并在第一個時隙同時發(fā)送編碼序列至中繼節(jié)點A^,若兩個源節(jié)點都采用BPSK調(diào)制,中繼節(jié)點接收的信號為^=(2^-1)+(212-1)+,"代表信道的加性高斯白噪聲。步驟2,構(gòu)造聯(lián)合分量碼。根據(jù)兩個源節(jié)點采用的Turbo碼結(jié)構(gòu),構(gòu)造虛擬Turbo碼的兩個聯(lián)合分量碼設(shè)第1個源節(jié)點Turbo碼的第一個分量碼生成多項式為(")/g^(D》,第2個源節(jié)點Turbo碼的第一個分量碼生成多項式為(g^(D)/g^(D)),構(gòu)造出第一聯(lián)合分量碼的生成多項式為W)("頻")。)L。^J,設(shè)第1個源節(jié)點Turb。碼的第二個分量碼生成多項式為(g『(£)/&(22)("》,第2個源節(jié)點Turb。碼的第二個分量碼生成多項式為(^f(i))/gg(Z))),構(gòu)造出第二聯(lián)合分量碼的生成多項式為。)L。,歸")J,g^(D)代表第i個源節(jié)點Turb。碼中第j個分量碼的前向多項式,A力(D)代表第i個源節(jié)點Turbo碼中第j個分量碼的反饋多項式。步驟3,構(gòu)造聯(lián)合分量碼的虛擬Trellis圖。如圖3所示,根據(jù)第一聯(lián)合分量碼和第二聯(lián)合分量碼的生成多項式,按照如下步驟構(gòu)造聯(lián)合分量碼的虛擬Trdlis圖3.1)l個源節(jié)點采用Turbo碼中第/個分量碼有w"個移位寄存器,第2個源節(jié)點采用的Turbo編碼器中第/個分量碼有個移位寄存器,則由第/個聯(lián)合分量碼的+個移位寄存器,得出第/個聯(lián)合分量碼有2,+《'個狀態(tài),其中/=1,2;3.2)第/個聯(lián)合分量碼中的任一狀態(tài)出發(fā),根據(jù)兩個輸入比特和第/個聯(lián)合分量碼的生成多項式,計算第/個聯(lián)合分量碼編碼器的校驗比特輸出cfc^和下一時刻的狀態(tài)S,,確定出第/個聯(lián)合分量碼的Trdlis圖中的一個狀態(tài)轉(zhuǎn)移,即從狀態(tài)S"轉(zhuǎn)移至狀態(tài)S)')'Sf)=Ju2,…,2'"X-l},={00,01,10,11},/=1,2;3.3)將S"和《f遍歷所有取值,重復(fù)過程3.2),確定Trellis圖所有的狀態(tài)轉(zhuǎn)移,得出第/聯(lián)合分量碼的Trellis3.4)保持每一個聯(lián)合分量碼的Trellis圖的狀態(tài)數(shù)及狀態(tài)轉(zhuǎn)移關(guān)系不變,將兩個輸入比特和兩個校驗比特分別進行和運算,構(gòu)成聯(lián)合分量碼的虛擬Trellis圖。步驟4,構(gòu)造虛擬Turbo碼。用第/個聯(lián)合分量碼的虛擬Trellis圖代替Turbo碼的第/個分量碼,并用與源節(jié)點交織器結(jié)構(gòu)相同的交織器,構(gòu)成虛擬Turbo碼,/=1,2。步驟5,中繼節(jié)點最大后驗概率譯碼。中繼節(jié)點M根據(jù)虛擬Turbo碼的特點,對接收信號j;-(2^-l)+(2x2-1)+"進行最大后驗概率譯碼,得到兩個源節(jié)點信息相加后的估計序列4+<2。步驟6,中繼節(jié)點重新編碼并廣播信號。中繼節(jié)點iV3對估計序列4+^進行模2運算,得出網(wǎng)絡(luò)編碼信息4@&,再對44重新進行Turbo編碼,并參照圖1,在第二個時隙中繼節(jié)點W3將編碼序列廣播至兩個源節(jié)點M,iV2。步驟7,兩個源節(jié)點分別譯碼,獲得對方節(jié)點信息。源節(jié)點M根據(jù)接收的信號進行Turbo譯碼,并將譯碼結(jié)果與本地信息進行模2運算,得到源節(jié)點W的估計信息^;源節(jié)點iV2根據(jù)接收的信號進行譯碼,并將譯碼結(jié)果與本地信息^模2運算,得到源節(jié)點M的估計信息^。參照圖4,源節(jié)點采用相同Turbo碼的網(wǎng)絡(luò)編碼方法,包括如下步驟步驟A,兩個源節(jié)點Turbo編碼。參照圖l,采用相同Turbo碼對兩個源節(jié)點M,iV2的數(shù)據(jù)信息《.《分別進行編碼,得出編碼序列x,,x,,并在第一個時隙同時發(fā)送編碼序列至中繼節(jié)點,若兩個源節(jié)點都采用BPSK調(diào)制,中繼節(jié)點接收的信號為j^(2x廣l)+(2^-l)十M,"代表信道的加性高斯白噪聲。步驟B,構(gòu)造聯(lián)合分量碼。根據(jù)兩個源節(jié)點采用的相同Turbo碼結(jié)構(gòu),構(gòu)造虛擬Turbo編碼器的兩個聯(lián)合分量碼設(shè)第1個源節(jié)點Turbo碼的第一個分量碼生成多項式為(")/gg),第2個源節(jié)點Turbo碼的第一個分量碼生成多項式為(g^(D)/gg(£>》,則第一聯(lián)合分量碼的生成多項式為<formula>formulaseeoriginaldocumentpage12</formula>設(shè)第1個源節(jié)點Turbo碼的第二個分量碼生成多項式為(gf(")/gg("》,第2個源節(jié)點Turbo碼的第二個分量碼生成多項式為(g^(")/g^(")),則第二聯(lián)合分量碼的生成多項式為-<formula>formulaseeoriginaldocumentpage12</formula>g^(D)代表第i個源節(jié)點Turb。碼中第j個分量碼的前向多項式,A"(D)代表第i個源節(jié)點Turbo碼中第j個分量碼的反饋多項式。步驟C,構(gòu)造聯(lián)合分量碼的虛擬Trellis圖。參照圖5,根據(jù)第一聯(lián)合分量碼和第二聯(lián)合分量碼的生成多項式,按照如下步驟構(gòu)造聯(lián)合分量碼的簡化虛擬Trellis圖Cl)設(shè)兩個源節(jié)點采用的Turbo編碼器中的第/個分量碼有附("個移位寄存器,則由第/個聯(lián)合分量碼有2(/)個移位寄存器,得出聯(lián)合分量碼有22^個狀態(tài),其中/=1,2;C2)從第/個聯(lián)合分量碼中的第一個分量碼的0狀態(tài)開始,找第/個聯(lián)合分量碼中的第二個分量碼的狀態(tài)數(shù)不小于第一個分量碼狀態(tài)數(shù)的狀態(tài),與第一個分量碼的狀態(tài)聯(lián)合,構(gòu)成Trellis圖的簡化狀態(tài),遍歷第/個聯(lián)合分量碼的第一個分量碼的的2""(')個狀態(tài),得出簡化后的狀態(tài)數(shù)為22"'(')(22'"(')+1)/2,/=1,2;C3)從簡化后的狀態(tài)的任一狀態(tài)S尸出發(fā),根據(jù)兩個輸入比特《&,和第/個聯(lián)合分量碼的編碼器結(jié)構(gòu),計算第/個聯(lián)合分量碼編碼器的校驗比特輸出cftf和下一時刻的狀態(tài)S",確定出第/個聯(lián)合分量碼的Trellis圖中從狀態(tài)S"轉(zhuǎn)移至狀態(tài)Sf的一個簡化狀態(tài)轉(zhuǎn)移,其中Sf)=luU2"^2"1")+1)/2—1},={00,01,10,11};C4)將S"和^^,遍歷所有取值,重復(fù)步驟C3),確定Trdlis圖所有的簡化狀態(tài)轉(zhuǎn)移,得出第/聯(lián)合分量碼的簡化TrellisC5)保持每一個聯(lián)合分量碼的簡化Trellis圖狀態(tài)數(shù)及狀態(tài)轉(zhuǎn)移關(guān)系不變,將兩個輸入比特和兩個校驗比特分別進行和運算,構(gòu)成聯(lián)合分量碼的虛擬簡化Trellis圖。步驟D,構(gòu)造虛擬Turbo碼。用第/個聯(lián)合分量碼的簡化虛擬Trellis圖代替Turbo碼的第/個分量碼,并用與源節(jié)點交織器結(jié)構(gòu)相同的交織器,構(gòu)成虛擬Turbo碼,/=1,2。步驟E,中繼節(jié)點最大后驗概率譯碼。中繼節(jié)點M根據(jù)虛擬Turbo碼的特點,對接收信號^^(2j^-l)+(2x2-1)+"進行最大后驗概率譯碼,得到兩個源節(jié)點信息相加后的估計序列4+&。步驟F,中繼節(jié)點重新編碼并廣播信號。中繼節(jié)點iV3對估計序列4+^進行模2運算,得出網(wǎng)絡(luò)編碼信息4十A,再對A十A重新進行Turbo編碼,并參照圖1,在第二個時隙中繼節(jié)點AV將編碼序列廣播至兩個源節(jié)點iVi,W2。步驟G,兩個源節(jié)點分別譯碼,獲得對方節(jié)點信息。源節(jié)點M根據(jù)接收的信號進行Turbo譯碼,并將譯碼結(jié)果與本地信息《進行模2運算,得到源節(jié)點iV2的估計信息^;源節(jié)點A^根據(jù)接收的信號進行譯碼,并將譯碼結(jié)果與本地信息《模2運算,得到源節(jié)點M的估計信息^。實施例l:第1步,采用兩個分量碼生成多項式均為l/l+"的Turbo碼對第一個源節(jié)點進行編碼,兩個分量碼生成多項式均為1+"2/1+"+"2的Turbo碼對第二個源節(jié)點進行編碼,得出編碼序列,并將編碼序列同時發(fā)送到中繼節(jié)點。第2步,由第一個源節(jié)點的Turbo碼第一個分量碼的生成多項式1/1+D,第二個源節(jié)點的Turbo碼第一個分量碼的生成多項式1+/)2/1+£>+£>2,構(gòu)造出第一聯(lián)合分量碼的生成多項式為1/1+D00l+Z)2/l+Z)2由第一個源節(jié)點的Turbo碼第二個分量碼的生成多項式1/1+D,第二個源節(jié)點的Turbo碼第二個分量碼的生成多項式1+1)2/1+"+/)2,構(gòu)造出第二聯(lián)合分量碼的生成多項式為1/1+D00l+D2/l+i)2D代表分量碼從第一個移位寄存器的后抽頭,D"t表分量碼從第二個移位寄存器的后抽頭,第一聯(lián)合分量碼和第二聯(lián)合分量碼具有相同的生成多項式,其碼結(jié)構(gòu)均如圖6所示。第3步,按照下述過程可以構(gòu)造第一聯(lián)合分量碼的虛擬Trellis圖由第一聯(lián)合分量碼的第一個分量碼有一個移位寄存器,第二個分量碼有兩個移位寄存器,得出第一聯(lián)合分量碼有8個狀態(tài)分別為000,001,010,011,100,101,110,111,將這8個狀態(tài)用十進制數(shù)表示分別為0,1,2,3,4,5,6,7;第一聯(lián)合分量碼的每個狀態(tài)都有4個輸入比特分別為00,01,10,11,用十進制數(shù)表示為0,1,2,3;當?shù)谝宦?lián)合分量碼的初始狀態(tài)為0,輸入比特為0時,將第一聯(lián)合分量碼的輸入比特和生成多項式相乘,得到聯(lián)合分量碼的輸出比特為O,下一狀態(tài)為l,確定了圖7的第一個狀態(tài)轉(zhuǎn)移分支,輸入比特和輸出比特在狀態(tài)轉(zhuǎn)移分支的右側(cè)表示;按照上述同樣的方法,遍歷第一聯(lián)合分量碼的所有狀態(tài)0,1,2,3,4,5,6,7和所有輸入比特0,1,2,3,確定聯(lián)合分量碼的Trellis圖,如圖7所示;保持第一聯(lián)合分量碼的Trellis圖的狀態(tài)數(shù)和狀態(tài)轉(zhuǎn)移關(guān)系不變,將兩個輸入比特和兩個校驗比特分別做和運算,得出第一聯(lián)合分量碼的虛擬Trellis圖,如圖8所示。第4步,由于第一聯(lián)合分量碼和第二聯(lián)合分量碼具有相同的生成多項式,得出第二聯(lián)合分量碼和第一聯(lián)合分量碼具有相同的虛擬Trellis圖,如圖8所示。。第5步,用第一聯(lián)合分量碼的虛擬Trdlis圖代替Turbo碼的第l個分量碼,用第二聯(lián)合分量碼的虛擬Trellis圖代替Turbo碼的第2個分量碼,并用與源節(jié)點交織器結(jié)構(gòu)相同的交織器,構(gòu)成虛擬Turbo碼。第6步,中繼節(jié)點對接收信號進行最大后驗概率譯碼,并對譯碼信息進行模2運算,得到網(wǎng)絡(luò)編碼信息,將網(wǎng)絡(luò)編碼信息重新進行Turbo編碼,廣播至兩個源節(jié)點。第7步,第一源節(jié)點將接收的信號進行Turbo譯碼,再將譯碼信息和本地信息模2和,得出第二源節(jié)點的估計信息;第二源節(jié)點將接收的信號進行Turbo譯碼,再將譯碼信息和本地信息模2和,得出第一源節(jié)點的估計信息。實施例2:第1步,采用兩個分量碼生成多項式均為1+"2/1+乃+"2的Turbo碼分別對兩個源節(jié)點進行編碼,并將編碼序列同時發(fā)送至中繼節(jié)點。第2步,由第一個源節(jié)點的Turbo碼第一個分量碼的生成多項式l+W/l+"+D2,第二個源節(jié)點的Turbo碼第一個分量碼的生成多項式1+/)2/1+"+2)2,構(gòu)造出第一聯(lián)合分量碼的生成多項式為Q+Z)2/l+D+D20、0l+D2/l+Z)+D2由第一個源節(jié)點的Turbo碼第二個分量碼的生成多項式1+/)2/1+/)+/)2,第二個源節(jié)點的Turbo碼第二個分量碼的生成多項式1+"2/1+"+"2,構(gòu)造出第二聯(lián)合分量碼的生成多項式為l+Zy/l+D+Z^00l+Z)2/l+D+D2D代表分量碼從第一個移位寄存器的后抽頭,02代表分量碼從第二個移位寄存器的后抽頭。14第一聯(lián)合分量碼和第二聯(lián)合分量碼具有相同的生成多項式,其碼結(jié)構(gòu)均如圖9所示。第3步,按照下述過程構(gòu)造第一聯(lián)合分量碼的簡化虛擬Trellis圖由兩個源節(jié)點采用Turbo碼的第一個分量碼都有2個移位寄存器,得出第一聯(lián)合分量碼有24=16個狀態(tài),將這16個狀態(tài)用四維二進制向量"3"2^^。表示,分別為0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111,"一2代表第一聯(lián)合分量碼的第一個分量碼所確定的狀態(tài),^a。代表第一聯(lián)合分量碼的第二個分量碼所確定的狀態(tài);第一聯(lián)合分量碼的第一個分量碼有4個狀態(tài)00,01,10,11,第二個分量碼有4個狀態(tài)00,01,10,11。當?shù)谝粋€分量碼的狀態(tài)為00時,第二個分量碼不小于00狀態(tài)的狀態(tài)為OO,01,10,11;當?shù)谝粋€分量碼的狀態(tài)的狀態(tài)為01時,第二個分量碼不小于01狀態(tài)的狀態(tài)為01,10,11;當?shù)谝粋€分量碼的狀態(tài)的為10時,第二個分量碼不小于10狀態(tài)的狀態(tài)為10,11;當?shù)谝粋€分量碼的狀態(tài)為11時,第二個分量碼不小于11狀態(tài)的狀態(tài)為ll;將第一個分量碼的狀態(tài)與第二個分量碼的狀態(tài)組合起來,構(gòu)成了聯(lián)合分量碼的的IO個簡化狀態(tài)0000,0001,0010,0011,0101,0110,0111,1010,1011,1111,將這10個狀態(tài)用十進制數(shù)表示分別為0,1,2,3,4,5,6,7,8,9;第一聯(lián)合分量碼的每個簡化狀態(tài)都有4個輸入比特分別為00,01,10,11,用十進制數(shù)表示為0,1,2,3;當?shù)谝宦?lián)合分量碼的狀態(tài)為0,輸入比特為0時,將聯(lián)合分量碼的輸入比特和生成多項式相乘,得出聯(lián)合分量碼的下一狀態(tài)為O,輸出比特為0,確定了第一聯(lián)合分量碼的一個狀態(tài)轉(zhuǎn)移分支;按照上述的方法,遍歷聯(lián)合分量碼的所有簡化狀態(tài)和所有的輸入比特,確定聯(lián)合分量碼的簡化Trellis保持聯(lián)合分量碼的簡化Trellis圖的狀態(tài)數(shù)及狀態(tài)轉(zhuǎn)移關(guān)系不變,將兩個輸入比特和兩個校驗比特分別做和運算,構(gòu)成第一聯(lián)合分量碼的簡化虛擬Trellis圖,如圖10所示,輸入比特和輸出比特在狀態(tài)轉(zhuǎn)移分支的右側(cè)表示。第4步,由于第二聯(lián)合分量碼和第一聯(lián)合分量碼具有相同的生成多項式,可以得出第二聯(lián)合分量碼與第一聯(lián)合分量碼具有相同的簡化虛擬Trellis圖,如圖IO所示。第5步,用第一聯(lián)合分量碼的簡化虛擬Trellis圖代替Turbo碼的第1個分量碼,用第二聯(lián)合分量碼的簡化虛擬Trellis圖代替Turbo碼的第2個分量碼,并用與源節(jié)點交織器結(jié)構(gòu)相同的交織器,構(gòu)成虛擬Turbo碼。第6步,中繼節(jié)點對接收信號進行最大后驗概率譯碼,并對譯碼信息進行模2運算,得到網(wǎng)絡(luò)編碼信息,并將網(wǎng)絡(luò)編碼信息重新進行Turbo編碼,廣播至兩個源節(jié)點。譯碼,再將譯碼信息和本地信息模2和,得出第一源節(jié)點的估計信息。為了進一步說明本發(fā)明方法帶來的有益結(jié)果,圖11給出了實施例2在AWGN信道中,源節(jié)點采用1/3碼率Turbo碼中繼節(jié)點的譯碼性能曲線,并與《Physical-LayerNetworkCodingSchemesoverFiniteandInfiniteFields》一文中給出的基于MMSE-PNCF譯碼方法進行了比較。由圖11可看出,當兩種方案源節(jié)點采用相同Turbo碼編碼,在誤比特率10-5時,本發(fā)明的聯(lián)合Turbo譯碼網(wǎng)絡(luò)編碼方法比PNCF方法有接近0.5dB的編碼增益。權(quán)利要求1.一種源節(jié)點采用不同Turbo碼的網(wǎng)絡(luò)編碼方法,包括如下步驟(1)采用Turbo碼對兩個源節(jié)點的數(shù)據(jù)信息d1,d2分別進行編碼,得出編碼序列x1,x2,并同時發(fā)送至中繼節(jié)點,若兩個源節(jié)點都采用BPSK調(diào)制,中繼節(jié)點接收的信號為y=(2x1-1)+(2x2-1)+n,n代表信道的加性高斯白噪聲;(2)根據(jù)兩個源節(jié)點采用的Turbo碼結(jié)構(gòu),構(gòu)造虛擬Turbo編碼器的兩個聯(lián)合分量碼設(shè)第1個源節(jié)點Turbo碼的第一個分量碼生成多項式為(g11(1)(D)/g12(1)(D)),第2個源節(jié)點Turbo碼的第一個分量碼生成多項式為(g21(1)(D)/g22(1)(D)),則第一聯(lián)合分量碼的生成多項式為<mathsid="math0001"num="0001"><math><![CDATA[<mrow><mfencedopen='('close=')'><mtable><mtr><mtd><msubsup><mi>g</mi><mn>11</mn><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>/</mo><msubsup><mi>g</mi><mn>12</mn><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msubsup><mi>g</mi><mn>21</mn><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>/</mo><msubsup><mi>g</mi><mn>22</mn><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math></maths>設(shè)第1個源節(jié)點Turbo碼的第二個分量碼生成多項式為(g11(2)(D)/g12(2)(D)),第2個源節(jié)點Turbo碼的第二個分量碼生成多項式為(g21(2)(D)/g22(2)(D)),則第二聯(lián)合分量碼的生成多項式為<mathsid="math0002"num="0002"><math><![CDATA[<mrow><mfencedopen='('close=')'><mtable><mtr><mtd><msubsup><mi>g</mi><mn>11</mn><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>/</mo><msubsup><mi>g</mi><mn>12</mn><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msubsup><mi>g</mi><mn>21</mn><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>/</mo><msubsup><mi>g</mi><mn>22</mn><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math></maths>gi1(j)(D)代表第i個源節(jié)點Turbo碼中第j個分量碼的前向多項式,gi2(j)(D)代表第i個源節(jié)點Turbo碼中第j個分量碼的反饋多項式;(3)根據(jù)第一聯(lián)合分量碼和第二聯(lián)合分量碼的生成多項式,構(gòu)造聯(lián)合分量碼的虛擬Trellis圖(3a)設(shè)第1個源節(jié)點采用Turbo碼中第l個分量碼有m1(l)個移位寄存器,第2個源節(jié)點采用的Turbo編碼器中第l個分量碼有m2(l)個移位寄存器,則由第l個聯(lián)合分量碼的m1(l)+m2(l)個移位寄存器,得出第l個聯(lián)合分量碼有id="icf0003"file="A2009100241730002C3.tif"wi="12"he="4"top="199"left="149"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>個狀態(tài),其中l(wèi)=1,2;(3b)從第l個聯(lián)合分量碼中的任一狀態(tài)Si(l)出發(fā),根據(jù)兩個輸入比特d1(l)d2(l)和第l個聯(lián)合分量碼的生成多項式,計算第l個聯(lián)合分量碼編碼器的校驗比特輸出c1(l)c2(l)和下一時刻的狀態(tài)Sj(l),確定出第l個聯(lián)合分量碼的Trellis圖中的一個狀態(tài)轉(zhuǎn)移,即從狀態(tài)Si(l)轉(zhuǎn)移至狀態(tài)Sj(l),id="icf0004"file="A2009100241730002C4.tif"wi="48"he="7"top="236"left="120"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>id="icf0005"file="A2009100241730002C5.tif"wi="39"he="5"top="246"left="23"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>l=1,2;(3c)將Si(l)和d1(l)d2(l)遍歷所有取值,重復(fù)過程(4b),確定Trellis圖所有的狀態(tài)轉(zhuǎn)移,得出第l聯(lián)合分量碼的Trellis圖;(3d)保持每一個聯(lián)合分量碼的Trellis圖的狀態(tài)數(shù)及狀態(tài)轉(zhuǎn)移關(guān)系不變,將兩個輸入比特和兩個校驗比特分別進行和運算,構(gòu)成聯(lián)合分量碼的虛擬Trellis圖;(4)用第l個聯(lián)合分量碼的虛擬Trellis圖代替Turbo碼的第l個分量碼,并用與源節(jié)點交織器結(jié)構(gòu)相同的交織器,構(gòu)成虛擬Turbo碼,l=1,2;(5)中繼節(jié)點根據(jù)虛擬Turbo碼的特點,對接收信號y=(2x1-1)+(2x2-1)+n進行最大后驗概率譯碼,得到兩個源節(jié)點信息相加后的估計序列id="icf0006"file="A2009100241730003C1.tif"wi="13"he="5"top="83"left="144"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>(6)中繼節(jié)點對估計序列id="icf0007"file="A2009100241730003C2.tif"wi="11"he="5"top="91"left="78"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>進行模2運算,得出網(wǎng)絡(luò)編碼信息id="icf0008"file="A2009100241730003C3.tif"wi="14"he="5"top="91"left="155"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>再對id="icf0009"file="A2009100241730003C4.tif"wi="12"he="5"top="99"left="33"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>重新進行Turbo編碼,并將編碼序列廣播至兩個源節(jié)點;(7)第1個源節(jié)點根據(jù)接收的信號進行Turbo譯碼,并將譯碼結(jié)果與本地信息d1進行模2運算,得到第2個源節(jié)點的估計信息id="icf0010"file="A2009100241730003C5.tif"wi="5"he="5"top="114"left="120"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>第2個源節(jié)點根據(jù)接收的信號進行譯碼,并將譯碼結(jié)果與本地信息d2模2運算,得到第1個源節(jié)點的估計信息id="icf0011"file="A2009100241730003C6.tif"wi="5"he="5"top="130"left="41"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)編碼方法,其中步驟(3d)所述的將兩個輸入比特和兩個校驗比特分別進行和運算,是將聯(lián)合分量碼Trellis圖的輸入比特""々和校驗比特cfcf分別進行相加,得出聯(lián)合分量碼虛擬Trellis圖的輸入數(shù)據(jù)+《)和校驗數(shù)據(jù)cf+cf,其中/=1,2。3.—種源節(jié)點采用相同Turbo碼的網(wǎng)絡(luò)編碼方法,包括如下步驟1)采用Turbo碼對兩個源節(jié)點的數(shù)據(jù)信息《,^分別進行編碼,得出編碼序列x,,x,,并同時發(fā)送至中繼節(jié)點,若兩個源節(jié)點都采用BPSK調(diào)制,中繼節(jié)點接收的信號為^=(2^-1)+(2x2—1)+,"代表信道的加性高斯白噪聲;2)根據(jù)兩個源節(jié)點采用的Turbo碼結(jié)構(gòu),構(gòu)造虛擬Turbo編碼器的兩個聯(lián)合分量碼設(shè)第1個源節(jié)點Turbo碼的第一個分量碼生成多項式為(g^(Z))/g^(D》,第2個源節(jié)點Turbo碼的第一個分量碼生成多項式為(g^(")/gg,則第一聯(lián)合分量碼的生成多項式為<formula>formulaseeoriginaldocumentpage3</formula>設(shè)第1個源節(jié)點Turb。碼的第二個分量碼生成多項式為(gf("V&T("》,第2個源節(jié)點Turbo碼的第二個分量碼生成多項式為(")/gg,則第二聯(lián)合分量碼的生成多項式為<formula>formulaseeoriginaldocumentpage4</formula>(D)代表第i個源節(jié)點Turb。碼中第j個分量碼的前向多項式,g,(f(")代表第i個源節(jié)點Turbo碼中第j個分量碼的反饋多項式;3)根據(jù)第一聯(lián)合分量碼和第二聯(lián)合分量碼的生成多項式,構(gòu)造聯(lián)合分量碼的簡化虛擬Trellis圖3a)當兩個源節(jié)點采用的Turbo編碼器中的第/個分量碼有W"個移位寄存器,則由第/個聯(lián)合分量碼有2^(/)個移位寄存器,得出聯(lián)合分量碼有22"'"'個狀態(tài),其中/=1,2;.3b)從第/個聯(lián)合分量碼中的第一個分量碼的0狀態(tài)開始,找第/'個聯(lián)合分量碼中的第二個分量碼的狀態(tài)數(shù)不小于第一個分量碼狀態(tài)數(shù)的狀態(tài),與第一個分量碼的狀態(tài)聯(lián)合,構(gòu)成Trellis圖的簡化狀態(tài),遍歷第/個聯(lián)合分量碼的第一個分量碼的的2""(')個狀態(tài),得出簡化后的狀態(tài)數(shù)為2y"^'"(')+l)/2,/=1,2;3c)從簡化后的狀態(tài)的任一狀態(tài)S"出發(fā),根據(jù)兩個輸入比特t/"《0和第/個聯(lián)合分量碼的編碼器結(jié)構(gòu),計算第/個聯(lián)合分量碼編碼器的校驗比特輸出^cf和下一時刻的狀態(tài)Sf,確定出第/個聯(lián)合分量碼的Trellis圖中從狀態(tài)S"轉(zhuǎn)移至狀態(tài)Sf的一個簡化狀態(tài)轉(zhuǎn)移,其中S"={o,l,2,...,22m(')(22m(')+l]|/2-l},={00,01,10,11};3d)將S尸和^W,遍歷所有取值,重復(fù)步驟(5c),確定Trellis圖所有的簡化狀態(tài)轉(zhuǎn)移,得出第/聯(lián)合分量碼的簡化Trellis圖;3e)保持每一個聯(lián)合分量碼的簡化Trellis圖狀態(tài)數(shù)及狀態(tài)轉(zhuǎn)移關(guān)系不變,將兩個輸入比特和兩個校驗比特分別進行和運算,構(gòu)成聯(lián)合分量碼的簡化虛擬Trellis圖;4)用第/個聯(lián)合分量碼的簡化虛擬Trellis圖代替Turbo碼的第/個分量碼,并用與源節(jié)點交織器結(jié)構(gòu)相同的交織器,構(gòu)成虛擬Turbo碼,/=1,2;5)中繼節(jié)點根據(jù)虛擬Turbo碼的特點,對接收信號j^(2j^-l)+(2A-l)+M進行最大后驗概率譯碼,得到兩個源節(jié)點信息相加后的估計序列4+&;6)中繼節(jié)點對估計序列^+^進行模2運算,得出網(wǎng)絡(luò)編碼信息4e^,再對^@^重新進行Turbo編碼,并將編碼序列廣播至兩個源節(jié)點;7)第1個源節(jié)點根據(jù)接收的信號進行Turbo譯碼,并將譯碼結(jié)果與本地信息《進行模2運算,得到第2個源節(jié)點的估計信息&;第2個源節(jié)點根據(jù)接收的信號進行譯碼,并將譯碼結(jié)果與本地信息《模2運算,得到第1個源節(jié)點的估計f曰息JIo4.根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)編碼方法,其中步驟3e)所述的將兩個輸入比特和兩個校驗比特分別進行和運算,是將聯(lián)合分量碼Trellis圖的輸入比特《"《"和校驗比特cfcf分別進行相加,得出聯(lián)合分量碼虛擬Trellis圖的輸入數(shù)據(jù)《+《)和校驗數(shù)據(jù)^)+cf,其中/=1,2。全文摘要本發(fā)明公開了一種基于Turbo譯碼的網(wǎng)絡(luò)編碼方法,它屬于無線通信
技術(shù)領(lǐng)域:
,主要解決無線通信網(wǎng)絡(luò)中網(wǎng)絡(luò)吞吐量有限和中繼節(jié)點轉(zhuǎn)發(fā)效率低的問題。本發(fā)明設(shè)計了源節(jié)點采用不同Turbo碼和相同Turbo碼兩種情況下的網(wǎng)絡(luò)編碼方法,其步驟是兩個源節(jié)點將經(jīng)過Turbo編碼的信息同時發(fā)送至中繼節(jié)點,通過對采用不同Turbo碼的源節(jié)點設(shè)計虛擬Trellis圖和對采用相同Turbo碼的源節(jié)點設(shè)計虛擬簡化Trellis圖構(gòu)造虛擬Turbo碼;并對虛擬Turbo碼進行最大似然譯碼獲得兩個源節(jié)點信息的網(wǎng)絡(luò)編碼信息;并將網(wǎng)絡(luò)編碼信息重新進行編碼廣播到源節(jié)點,兩個源節(jié)點根據(jù)譯碼信息和本地信息獲得對方源節(jié)點的信息。本發(fā)明具有網(wǎng)絡(luò)吞吐量和中繼節(jié)點轉(zhuǎn)發(fā)效率高的優(yōu)點,可應(yīng)用于無線網(wǎng)絡(luò)通信。文檔編號H03M13/29GK101674091SQ20091002417公開日2010年3月17日申請日期2009年9月30日優(yōu)先權(quán)日2009年9月30日發(fā)明者岳孫,穎李,姍路申請人:西安電子科技大學(xué)