鄧 曉,潘學(xué)軍
(大連理工大學(xué),遼寧 大連 116024)
DMR(Digital Mobile Radio)協(xié)議是由歐洲電信標(biāo)準(zhǔn)協(xié)會(ETSI)推出的數(shù)字集群通信協(xié)議。在現(xiàn)代通信領(lǐng)域,專網(wǎng)的數(shù)字通信系統(tǒng)將逐漸取代過去的模擬通信系統(tǒng)。無線信道易受噪聲、干擾和其他信道因素的影響,對數(shù)字通信系統(tǒng)的服務(wù)質(zhì)量產(chǎn)生較大的影響。為了保證實時通信業(yè)務(wù)的服務(wù)質(zhì)量,降低誤碼率,在數(shù)據(jù)傳輸中采用前向糾錯編碼的方式使其有一定的糾錯能力。DMR中有兩種重要的前向糾錯碼,即BPTC(Block Product Turbo Code)碼和變長BPTC碼,它們分別在語音幀和廣播信令中起到非常重要的作用。本文提出了軟判決迭代譯碼方案,其仿真實驗結(jié)果明顯優(yōu)于參考文獻[1]、[2]中提出的兩種方案。
控制信令中,未確認(rèn)和確認(rèn)的數(shù)據(jù)都用一個(196,96)Turbo乘積碼[3]對信源進行編碼,然后分別對矩陣的行和列使用(15,11,3)和(13,9,3)漢明編碼。 對編碼后的新矩陣按從左到右再從上到下的順序編號,一個額外的保留位增添到原有序列中,形成196位。最后采用公式(1)進行交織。
其中,m表示交織后的序列號,n表示交織前的序列號。m決定了傳輸陣列中的每個位的位置。整個編碼過程如圖1所示。
圖1 BPTC編碼的原理
BPTC解碼是編碼的逆過程,對接收到的196 bit序列先排成 13×15的矩陣,通過(13,9)列譯碼后再通過(15,11)行譯碼,最后得出 9×11 的矩陣,去除前 3 bit后得到譯碼的96 bit序列。
在DMR協(xié)議中,CACH信令、嵌入式信令和反向信道采用3種方式的變長BPTC編碼。3種編碼方式十分類似,本文以CACH信令為例對變長BPTC編碼進行研究。
CACH信令采用BPTC編碼,如圖2所示,每一行采用(17,12,3)漢明編碼,每列采用簡單的奇偶校驗。圖 2也表明了CACH信令的交織過程。信令信息經(jīng)過漢明行編碼和簡單列奇偶校驗并將校驗位填入最后一行中形成編碼矩陣形式。把編碼矩陣按從上到下從左到右的順序讀出,再按照從左到右的順序?qū)懭雮鬏斁仃囍?。每一行的長度為17位。將矩陣左上編號為序號1,用從上向下、從左到右的方式遞增排序,并排成左上為序號1,從左向右從上到下的方式序號遞增的新序列。
圖2 變長BPTC編碼
變長BPTC碼每行采用漢明譯碼,而每列可以進行奇偶校驗,檢測譯碼是否成功。
2.1.1 BPTC迭代譯碼方案
為了逼近最優(yōu)譯碼引入了迭代譯碼的思想,兩個分量譯碼器采用的是軟輸入軟輸出,接收到的序列中每個比特軟信息在兩個漢明碼譯碼器之間相互交換,迭代更新。BPTC譯碼的譯碼過程如圖3所示。
圖3 BPTC(196,96)軟判決迭代譯碼方案
2.1.2 變長BPTC迭代譯碼方案
在變長BPTC碼中,每一列只采用奇偶校驗并將校驗值放置在最后一行中,奇偶校驗只能檢錯不能糾錯。但是在軟判決中置信度高的比特會影響置信度低的比特,一個似然值低的錯誤比特會被多個似然值高的比特影響。采用這種置信度傳播的思想,在變長BPTC譯碼中每個比特的軟信息在每行的漢明碼和每列的奇偶校驗中進行迭代不斷收斂完成譯碼,由于奇偶校驗也參與到了譯碼中來,使得譯碼的性能得到了提高,變長BPTC軟判決迭代譯碼方案如圖4所示。
圖4 變長BPTC軟判決迭代譯碼方案
SISO(Soft In Soft Out)譯碼器比硬輸出譯碼器有更少的信息損失和更高的誤碼性能。在迭代譯碼中,一個譯碼器的軟輸出能作為另一個譯碼器的軟輸入,并且兩個譯碼器對接收序列進行迭代處理,直到達到碼的性能界。文中的BPTC譯碼新方案采用在兩個SISO譯碼器間相互交換非本征信息完成迭代譯碼,該譯碼方案中對漢明碼的譯碼方式采用置信度傳播BP(Belief Propagation)算法,也稱和積算法 SPA(Sum-Product Algorithm)[4]。 在置信度傳播算法中,節(jié)點到節(jié)點的消息是通過Tanner圖傳遞。
2.2.1 Tanner圖
線性分組碼可以采用網(wǎng)格表示,也可以采用Tanner圖表示[5]。Tanner圖表示了碼元與校驗碼元的奇偶校驗和的關(guān)聯(lián)關(guān)系。Tanner圖中有兩類節(jié)點,一類表示碼元比特的頂點稱為變量節(jié)點,另一類表示奇偶校驗和或者約束方程的校驗節(jié)點。以一個(7,4)漢明碼為例,其生成矩陣如圖5所示,Tanner圖如圖6所示,其中圓形表示變量節(jié)點,方形的表示校驗節(jié)點??梢钥闯?,Tanner圖很清楚地表明了節(jié)點間的消息傳遞的路徑。
圖5 (7,4)漢明碼生成矩陣
圖6 (7,4)漢明碼 Tanner圖
2.2.2 和積算法
由奇偶校驗矩陣H確定碼長為n的漢明碼,H由h1,h2, … ,hJ共 J 行 構(gòu) 成 ,hj=(hj,0,hj,0, … ,hj,n-1), 對 于1≤j≤J,定義如下指標(biāo)集:
該指標(biāo)集稱為hj的支撐集。
和積算法譯碼的實現(xiàn)是基于對邊緣后驗概率P(vl|y)(0≤l<n)的計算,其中 y是軟判決接收序列。這樣每個碼比特的對數(shù)似然比可以表示為:
對于 0≤l<n,1≤j≤J 和每個 hj∈Al,令為在第 i次迭代中給定基于 Alhj(“”表示在集合 Al且除去 hj中的集合)中校驗向量計算得到的校驗和條件下,發(fā)送碼比特 vl取值為 x的條件概率。對于 0≤l<n,1≤j≤J和每個 hj∈Al, 令為給定 vl=x(0 或 1)和 B(hj)中其他碼比 特 的 可 分 離 的 分 布的 條 件 下 , 校 驗和 sj=0,即正確的條件概率[4]:
當(dāng)?shù)降趇步時,偽后驗概率為:
其中
最 后 計 算 z(i)·HT, 如 果 z(i)·HT=0 說 明 校 正 子 全 為0,譯碼成功停止迭代,輸出 z(i)作為譯碼的結(jié)果。
以 BPTC(196,96)為例,數(shù)據(jù)采用 BPSK調(diào)制經(jīng)過AWGN信道加噪后進行解調(diào)和譯碼,采用伴隨式譯碼方案和軟判決迭代譯碼方案得出的誤碼率曲線如圖7和圖8所示。由于伴隨式譯碼方案每個漢明碼只能糾正一個錯誤比特,因此當(dāng)接收矩陣中其中一列或者一行有多于一個的錯誤比特,這種形式的錯誤就會造成錯誤的擴散。而軟判決迭代譯碼方案采用的是每個比特置信度傳播的方式,SISO譯碼器不會對碼字立即作出判決。當(dāng)有一列或者一行中有多個比特錯誤時,雖然其中一個譯碼器不能正確譯碼,但是在另一個譯碼器中這些錯誤是分布在不同的碼字中的,因此能夠正確譯碼,這樣在行列譯碼器中反復(fù)迭代使得每個比特的概率值逐漸收斂,最后輸出譯碼結(jié)果。由圖7和圖8也可以看出采用迭代譯碼的方案在低信噪比和高信噪比時都有明顯的編碼增益。
本文對傳統(tǒng)的譯碼方法進行了改進,提出了利用和積算法并加入迭代譯碼的新譯碼方法,該方法適用于DMR系統(tǒng)的BPTC和變長BPTC。該方法具有性能好和架構(gòu)簡單的優(yōu)點。實驗中還發(fā)現(xiàn),隨著SNR增加,迭代次數(shù)會相應(yīng)降低。下一步工作的重點是將本文提出的算法在DSP平臺上實現(xiàn),從運算速度和存儲空間上進行進一步的優(yōu)化改進。
圖7 BPTC譯碼性能圖
圖8 變長BPTC譯碼性能圖
[1]劉輝,謝曉明.基于DMR通信協(xié)議的信道編碼的研究[J].現(xiàn)代電子技術(shù),2009,23(9):37-39.
[2]代敏.DMR系統(tǒng)的信道編碼研究[D].西安:西安電子科技大學(xué),2008.
[3]PYNDIAH R M.Near-optimum decoding of product codes:block turbo codes[J].IEEE Transactions on Communications,1998, 46(8):1003-1010.
[4]KSCHISCHANG F R, FREY B J, LOELIGER H-A.Factor graphs and the Sum-product algorithm[J].IEEE Transactions on Information Theory, 2001,47(2):498-519.
[5]TANNER R M.A recursive approach to low complexity codes[J].IEEE Transactions on Information Theory, 1981,27(5):533-547.
[6]MACKAY D J C.Good error-correcting codes based on very sparse matrices[J].IEEE Transactions on Information Theory, 1999,45(2):399-431.