妙 琳,彭亞雄,陸安江
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025)
近年來,網(wǎng)絡(luò)編碼的研究和應(yīng)用一直受到學(xué)者的關(guān)注,物理層網(wǎng)絡(luò)編碼(Physical-layer Network Coding,PNC)[1-2]的提出解決了網(wǎng)絡(luò)編碼(Network Coding,NC)不能直接在具有廣播性質(zhì)的無線信道中應(yīng)用的問題。PNC應(yīng)用范圍廣泛,其在安全性[3]方面以網(wǎng)絡(luò)編碼為指導(dǎo),能夠提供高效、敏捷的主動保護(hù)。文獻(xiàn)[4]利用編碼的可靠性,對編碼進(jìn)行最優(yōu)布局規(guī)劃,設(shè)計(jì)應(yīng)用于不同網(wǎng)關(guān)的傳感器。網(wǎng)絡(luò)編碼技術(shù)的一個重要功能是在無線通信[5-6]中使網(wǎng)絡(luò)性能得到提升,促進(jìn)網(wǎng)絡(luò)傳輸速率。NC還可應(yīng)用于依賴邊緣資源的新興霧架構(gòu),以實(shí)現(xiàn)更高的吞吐量。文獻(xiàn)[7~8]提出的混合編碼設(shè)計(jì)方法雖然優(yōu)于編碼的獨(dú)立方案,但是網(wǎng)絡(luò)編碼本身存在計(jì)算復(fù)雜、功耗較大的缺點(diǎn),還需要進(jìn)一步的研究和完善。
重復(fù)累積(Repeat-Accumulate,RA)碼[9]是在Turbo碼和低密度奇偶校驗(yàn)(Low Density Parity Check,LDPC)碼基礎(chǔ)上提出的一種信道編碼,它集Turbo碼和LDPC碼的優(yōu)越性能于一身。文獻(xiàn)[10]的研究雖然改變了Turbo碼的誤比特性能,但仍存在譯碼算法復(fù)雜的缺陷。RA碼的譯碼算法[11-13]中包括迭代譯碼、和積算法和最小和算法,在不同的情況下,隨機(jī)采用不同的算法,降低了譯碼計(jì)算的復(fù)雜度和系統(tǒng)的誤碼性能。本文采用基于RA碼的信道編碼與物理層網(wǎng)絡(luò)編碼的聯(lián)合設(shè)計(jì)方法,其性能優(yōu)于一般的RA碼和物理層網(wǎng)絡(luò)編碼,誤比特率和信噪比大幅降低,系統(tǒng)性能優(yōu)良且高效。
RA碼是一種具有兩種不同身份的碼,一類為具備編碼簡單性的“Turbo-like”碼,另一類為譯碼高效性的LDPC碼。如圖1所示,是RA碼作為一類“Turbo-like”碼對應(yīng)的編碼結(jié)構(gòu)。
當(dāng)RA碼被看作為一類“Turbo-like”碼,它的結(jié)構(gòu)是一個碼率為1/q的重復(fù)碼與一個碼率為1,傳遞函數(shù)為1/(1+D)的卷積碼(也稱累加器)經(jīng)一個交織器串行級聯(lián)。如果將RA碼當(dāng)作LDPC碼時,累加器和交織器決定校驗(yàn)矩陣H的結(jié)構(gòu),二元RA碼的編碼過程如下:
信息序列m=[m1,m2,…,mk]長度為k,被重復(fù)器重復(fù)p次得
(1)
交織器參數(shù)∏=[π1,π2,…,πn](n=k×p)決定b被交織器置換后的輸出序列,序列b的交織過程可表示為
D=[d1,d2,…,dn]=[bπ1,bπ2,…,bπn]
(2)
交織器輸出比特序列D,D經(jīng)過組合器組合。假設(shè)組合器參數(shù)為a,則將每a個比特為一組進(jìn)行模2加。組合完畢后,組合器輸出長為k×p/a的比特序列r=[r1,r2,…,rkp/a],其中
r1=d(i-1)×a+1⊕d(i-1)×a+2⊕…⊕di×a,i=1,2,…,k×p/a
(3)
這里“⊕”為模2加。
然后k×p/a個比特經(jīng)過累加器累加,輸出k×p/a個校驗(yàn)比特:P=[p1,p2,…,pkp/a]。累加過程可表示為
(4)
最后系統(tǒng)碼字輸出為c=[m1,…,mk,p2,…,pkp/a],碼長n=k+k×p/a,碼率R=k/(k+k×p/a)=
a/(a+p)。
RA碼的校驗(yàn)矩陣H分為兩個部分:H=[H1,H2],其中H1是kp/a行k列矩陣,結(jié)構(gòu)由重復(fù)器、交織器和累加器決定,行重和列重分別為p和a。H2的結(jié)構(gòu)由累加器決定,是一個大小為k×p/a的雙對角線方陣
(5)
RA碼完成譯碼有兩種主要的方法:一種是Turbo碼譯碼算法,另一種是置信傳播(Belief Propagation,BP)算法。下面介紹RA碼的BP譯碼算法[14]。
令p1和p2(均為非負(fù)數(shù))分別表示比特位為0和1的概率密度,并且p1+p2=1。在譯碼算法中,如圖2所示,有4種不同的信息:(1)從信息節(jié)點(diǎn)v傳向校驗(yàn)節(jié)點(diǎn)c的信息m[v,c];(2)從校驗(yàn)節(jié)點(diǎn)c傳向信息節(jié)點(diǎn)v的信息m[c,v];(3)從校驗(yàn)節(jié)點(diǎn)c傳向奇偶節(jié)點(diǎn)y的信息m[c,y];(4)從奇偶節(jié)點(diǎn)y傳向校驗(yàn)節(jié)點(diǎn)c的信息m[y,c]。
接收到的比特序列的初始值為P(r)=ln(p(x=0|r)/p(x=1|r))(x為比特位節(jié)點(diǎn)的值)。
BP譯碼算法步驟如下:
步驟1初始化,令m[v,c]、m[c,v]、m[c,y]、m[y,c]均為0;
步驟2更新從奇偶節(jié)點(diǎn)傳向校驗(yàn)節(jié)點(diǎn)的信息
(6)
步驟3更新從信息節(jié)點(diǎn)傳向校驗(yàn)節(jié)點(diǎn)的信息
m[v,c]=∑c′m[c′,u],c′≠c,(u,c′)∈E
(7)
步驟4更新m[c,y]和m[c,v]
m[c,y]=
(8)
m[c,v]=
(9)
tanh(x)是雙曲正切函數(shù)tanh(x/2)=(e-1)/(e+1)。
步驟5循環(huán)執(zhí)行K次步驟2~步驟4。
計(jì)算每個信息節(jié)點(diǎn)的概率對數(shù)似然值s(u)=∑cm[u,c],u∈U。若s(u)<0,則將比特位u譯碼為1,反之譯為0。
針對信道編碼與物理層網(wǎng)絡(luò)編碼在中高信噪比下帶寬利用率低,物理層網(wǎng)絡(luò)編碼譯碼復(fù)雜度高的問題,本文提出了基于RA碼的信道編碼與物理層網(wǎng)絡(luò)編碼的聯(lián)合設(shè)計(jì)。
圖3是基于RA的信道編碼與物理層網(wǎng)絡(luò)編碼的聯(lián)合計(jì)算流程。與一般的網(wǎng)絡(luò)編碼相比較,最大的特點(diǎn)在于將RA譯碼器加入到了PNC信息計(jì)算流程中[15-16]。首先對中繼節(jié)點(diǎn)逐符號計(jì)算PNC后驗(yàn)概率向量pCH[t],t=1,…,N,yR為接收信號,pCH[t]是關(guān)于第t個PNC符號CN[t]=CA[t]CB[t],其利用式(10)得到。
pCH(cA[t]⊕cB[t]|yR[t])=
(10)
(11)
然后進(jìn)入累計(jì)編碼譯碼器譯碼,最終輸出結(jié)果為PNC信息uN[t]=uA[t]uB[t]。
標(biāo)準(zhǔn)BP算法的消息用概率形式表示,令c為校驗(yàn)節(jié)點(diǎn)元素集合。譯碼的過程就是找到碼字矢量x′使之滿足Hx′=c。假設(shè)符號調(diào)制階數(shù)與多元有限域階數(shù)q相同,則解調(diào)器接收符號似然概率密度為
其中,噪聲方差為σn2;調(diào)制時映射到星座圖上的第a個點(diǎn)xa;解調(diào)器接收的第n個符號yn;接收符號yn到調(diào)制映射點(diǎn)xa的歐氏距離dynxa。
下面定義文中采用的變量符號:pia=p(xi=a)表示迭代前信道給出的先驗(yàn)信息,在迭代過程中其值不變。rjia表示校驗(yàn)點(diǎn)傳給變量點(diǎn)關(guān)于變量節(jié)點(diǎn)取值為a時校驗(yàn)方程j的概率。qjia表示變量節(jié)點(diǎn)i傳給校驗(yàn)節(jié)點(diǎn)j的外部概率,即在得到除j外其他所有校驗(yàn)節(jié)點(diǎn)和信道的外部信息后,判斷變量節(jié)點(diǎn)i的值為a的概率。C(i)表示與變量節(jié)點(diǎn)i相連的校驗(yàn)節(jié)點(diǎn)的集合。R(j)表示與校驗(yàn)節(jié)點(diǎn)j相連的變量節(jié)點(diǎn)集合,R(j)/i為除i外與校驗(yàn)節(jié)點(diǎn)j相連的變量節(jié)點(diǎn)的集合。C(i)/j為除j外與變量節(jié)點(diǎn)i相連的校驗(yàn)節(jié)點(diǎn)的集合。
BP譯碼算法具體步驟如下:
步驟1初始化
(13)
步驟2更新校驗(yàn)節(jié)點(diǎn)信息
(14)
步驟3更新變量節(jié)點(diǎn)信息
(15)
步驟4嘗試譯碼判決。
步驟5每次迭代后,計(jì)算每個碼元符號的q個后驗(yàn)概率
(16)
第i個符號的譯碼判決式為
(17)
基于加性高斯白噪聲(Additive White Gaussian Noise,AWGN)信道,采用正交相移鍵控(Quadrature Phase Shift Keying,QPSK)調(diào)制,最大迭代次數(shù)為5的條件下,設(shè)置不同的相位偏移和延遲系數(shù)。然后將基于RA碼的信道編碼與物理層網(wǎng)絡(luò)編碼相結(jié)合,通過MATLAB實(shí)驗(yàn)平臺進(jìn)行仿真,獲取誤比特率(Bit Error Ratio,BER)或誤幀率(Frame Error Ratio,F(xiàn)ER)與信噪比(Signal to Noise Ratio,SNR)的性能曲線圖。
仿真結(jié)果分析如下:圖4所示為基于RA碼的信道編碼與物理層編碼相結(jié)合的BER和FER曲線圖。由圖可知,在一定的信噪比范圍內(nèi),F(xiàn)ER呈現(xiàn)穩(wěn)定的變化趨勢,BER的值也越來越小,體現(xiàn)出穩(wěn)定的系統(tǒng)傳輸性能。
圖5和圖6所示為在不同相位偏移調(diào)制下RA碼的信道編碼與物理層編碼相結(jié)合后的BER性能曲線??梢钥闯?,當(dāng)BER=10-3時,由圖5可知RA碼的聯(lián)合設(shè)計(jì),QPSK調(diào)制下SNR約為5 dB;QPSK調(diào)制下信道編碼的SNR約為5.4 dB;8 bit相位偏移調(diào)制下,SNR約為7 dB。由圖6可知,16 bit相位偏移調(diào)制下,SNR約為8 dB;顯然當(dāng)RA碼的信道編碼與物理層編碼相結(jié)合的條件下,采用QPSK調(diào)制,性能優(yōu)于傳統(tǒng)方案約0.4~3 dB,聯(lián)合設(shè)計(jì)有效降低了系統(tǒng)的信噪比。
圖7所示為不同延遲系數(shù)下RA碼的信道編碼與物理層編碼相結(jié)合后的BER性能曲線??梢钥吹?,當(dāng)BER=10-3時,在沒有延遲的情況下,RA碼的聯(lián)合設(shè)計(jì)后SNR約為5.35 dB。當(dāng)存在有0.1T的延遲時,SNR約為5.45 dB,存在有0.2T的延遲時SNR約為6.6 dB。當(dāng)信噪比SNR在2 dB左右時,3條曲線的誤比特率BER幾乎重合。當(dāng)信噪比SNR在8~10 dB時,3條曲線的BER有相同的趨勢。由此可見,在一定的延遲范圍內(nèi),基于RA碼的信道編碼與物理層編碼相結(jié)合的SNR/BER曲線變化較小,具有良好的低延遲性能。
綜上所述,基于RA碼的信道編碼與物理層網(wǎng)絡(luò)編碼聯(lián)合設(shè)計(jì)的編碼技術(shù)具有低信噪比、低延遲的優(yōu)良性能,并且傳輸系統(tǒng)更加穩(wěn)定。
本文提出基于RA碼的信道編碼與物理層網(wǎng)絡(luò)編碼聯(lián)合設(shè)計(jì)的方案。與其他傳統(tǒng)信道編碼相比,RA碼的優(yōu)勢在于綜合了Turbo碼編碼和LDPC碼的譯碼的簡單特性,實(shí)現(xiàn)了時間編碼和并行譯碼,同時簡化了物理層網(wǎng)絡(luò)編碼譯碼的復(fù)雜度。通過MATLAB仿真結(jié)果分析可知,RA聯(lián)合設(shè)計(jì)編碼技術(shù)系統(tǒng)的傳輸穩(wěn)定性顯著提高,系統(tǒng)的信噪比顯著改變,且在一定延遲系數(shù)的范圍內(nèi)改善了系統(tǒng)的延遲性能。但是,聯(lián)合設(shè)計(jì)編碼技術(shù)只是在一定的時間內(nèi)降低了延遲,今后仍需要對該技術(shù)進(jìn)行提高??傮w來說,聯(lián)合設(shè)計(jì)編碼技術(shù)的編譯碼算法結(jié)構(gòu)簡單,具有良好的系統(tǒng)性能和更加顯著的應(yīng)用優(yōu)勢。