伍建輝 王 毅
(西安電子工程研究所 西安 710100)
無線信道的數據傳輸非常復雜,存在著一些不確定的干擾因素使信號產生衰落,這樣就會使接收端恢復出來數據出現突發性的錯碼,嚴重干擾時所引起的信號深度衰落可能會引起大量的、成片突發性錯碼,由此數據傳輸會受到嚴重的影響。因此為了提高數據的抗干擾能力和傳輸的可靠性,一般采用合適的信道編解碼技術來檢測和糾正信號衰落所產生的隨機和突發性錯碼,來保證數字信號的傳輸質量[1]。
Shannon信道編碼定理指出,隨著碼長的增加,譯碼錯誤概率以指數方式趨近于零。因此為使糾錯碼有效就必須使用長碼,但碼長的增加使碼率相應下降,譯碼設備復雜性與計算量也相應增加以至于系統難以實現。為了解決碼長與系統實現之間的矛盾,1966年Forney提出了級聯碼的方案,它是用兩次或更多次編碼的方法組合成很長的分組碼,以實現Shannon信道編碼定理所要求的增加碼長實現有效而可靠通信的目的[2]。在實際工程應用中,最常用的是兩級編碼和譯碼,其中第一級為外碼,第二級為內碼,內外碼有多種組合,工程上結合各種編碼方式的優缺點,級聯碼主要采用以下幾種方式:
a.RS碼+分組碼
b.RS碼+卷積碼
c.RS碼+交織碼+卷積碼(超糾錯能力)
d.卷積碼+卷積碼
e.卷積碼+交織碼
其中方式c是一種具有超強糾錯能力的級聯碼形式,結構如圖1所示。

圖1 典型的級聯碼結構示意圖
無線通信系統可以根據對糾錯能力的要求選取圖1級聯碼的全部或者部分作為差錯控制方案,盡可能的消除數據傳輸過程中的隨機差錯與突發差錯,保證可靠的數據傳輸。
在本文涉及的無線通信系統中,上行幀格式64bit,通過RS編碼后的序列太長,如果采用圖1的級聯碼結構,編譯碼時間超出了系統所要求的通信時間,不符合指標要求,經權衡采用圖2所示的簡化級聯碼方案。
對于圖2的卷積碼+交織碼方式的級聯碼,下面分別從兩個方面來討論它的具體選型。
卷積碼的格式的選擇主要是考慮以下幾點:

圖2 簡化的級聯碼方案
a. 對于(n,k,m)的卷積碼,k為輸入位寬,n 為輸出位寬,m為約束長度。(n,k,m)格式的卷積碼共有2km個狀態,viterbi譯碼器的復雜性隨2km指數增加,為了不使譯碼器太復雜、成本太高,一般要求約束長度m<10。
b.若采用m>10的卷積碼,譯碼須采用序列譯碼算法,它是基于碼樹結構上的準最佳概率譯碼,雖然誤碼率較m<10的viterbi譯碼算法有所下降,但從譯碼速度、復雜性、成本、資源占用等方面考慮,采用m<10的卷積碼更為有利。另外,m<10的viterbi譯碼算法是基于網格圖上的一種最大似然譯碼,同時也是一種最佳的概率譯碼方法,它比序列譯碼算法效率更高,速度更快,譯碼器也較為簡單。所以針對項目實際要求提出m<10的卷積碼方案。
c.在AWGN信道中viterbi譯碼器輸出的誤碼率可近似表示為:[3]

其中R是卷積碼的碼率;df是碼的自由距離;Bdf是卷積碼碼字中,所有重量為df碼字的非零信息位的總數。
由誤碼率公式可知,無論采用軟判決還是硬判決VB譯碼器的pb主要由df決定,隨著df的增加,pb指數下降。碼率R=1/2的卷積碼誤碼率的特征參數如下表1所示。

表1 卷積碼的特征參數(R=1/2)
由圖3可以看出,約束長度m=9對應的誤碼率最小,所以選擇(2,1,9)格式的卷積碼是最佳選擇。
a.數據交織的必要性
在空間無線通信信道中不但存在隨機差錯,還存在由外來的脈沖干擾引起突發差錯,同時同頻道干擾、相位噪聲、多徑和衰落信道等都會引起突發差錯,這種干擾有一個共同的特點就是發生的差錯具有很強的相關性,當發生一個差錯時,往往波及后面的很多數據,導致一片數據都發生錯誤,使突發錯誤的數目超過了糾錯碼的糾錯能力。而且某些譯碼算法也會產生突發錯誤,比如Viterbi譯碼可能產生突發差錯的情況,添加交織編碼后,它可使突發錯誤分散化,使本不可糾的錯誤變為可糾的錯誤,系統的糾錯性能可以提高好幾個數量級。而且交織不會引入冗余碼,所以也就不會降低頻譜利用率。

圖3 不同約束長度下的誤碼率(R=1/2)
b.交織方式的選擇
交織編碼根據交織圖案形式的不同,可分為線性交織、卷積交織和偽隨機交織。其中線性交織是一種工程上比較常見的方式,實現較為容易[4,5]。本項目擬采用線性交織。線性交織編碼器就是把糾錯編碼的輸出信號均勻分成q個碼組,每個碼組由p段數據構成,形成一個p×q的矩陣,即交織矩陣。數據按列依次進入,輸出按行依次讀出,其中p為交織深度。
交織器的設計基于以下考慮:
a.最大程度的置亂原來幀數據的排列順序,避免置換前相距較近的數據在置換后仍然相距較近,特別避免交織前數據在交織后再次相鄰。
b.級聯編碼是以幀為單位進行編譯碼,應使交織深度在滿足系統時延的前提下必須根據信道中突發誤碼的長度、出現的頻率以及糾錯碼的約束長度、糾錯能力適當選擇較大的交織圖案,以提高糾正突發差錯能力。
由于本文的通信系統上行幀數據為64 bit,它共有32×2、16×4、8×8、4×16、2×32五種塊交織方案供選擇。表2是隨機的產生多組數據經卷積后采用不同的線性交織結構,數據不動點的個數與交織前后數據序列的互相關系數均值的比較。

表2 不同的線性交織結構比較
由表2可以看出,16×4,8×8,4×16這三種交織方式互相關系數均值較小,從不動點數據個數考慮,16×4,4×16優于8×8交織,最后根據卷積碼的約束長度,交織深度p應大于(2,1,9)卷積碼的約束長度9(因為交織深度p大于約束長度可以有效的將連續誤碼分散成非連續誤碼,增大卷積碼的約束長度),最終確定16×4交織結構是最為合理的交織方案。
卷積碼既可以用于糾錯又可以用于檢錯,即對于最小漢明距離為 dmin的(n,k,m)卷積碼,能在m個連續段內糾正個隨機錯誤;若用于檢錯,則可以檢測出m個相鄰段內的(dmin-1)個錯誤。特別是針對卷積碼的概率譯碼常用自由距離df來衡量糾錯性能,df越大,糾錯能力越強。
交織編碼的糾錯能力在于對本可糾正t個錯誤的卷積碼,經交織深度為p的交織后,就可以糾正所有長度≤pt的突發錯誤[3]。
總體來說,煤樣在不同浸泡時間下的單軸壓縮曲線具有相似的特征,在受載初期單軸壓縮曲線均呈上凸型,達到峰值應力以后又迅速跌落。說明無論是自然煤樣還是有機/酸復合溶液浸泡后煤樣均具有一定程度的壓密階段和脆性特征,不同的是,隨著浸泡時間的增加,煤樣的彈性模量和峰值強度逐漸減小,而峰值應變和總應變呈增加的趨勢。
根據以上理論對于本方案選定的(2,1,9)卷積碼,最小漢明距離為dmin≈df=12,所以它能在9個連續段內糾正個隨機錯誤。
由以上討論可知,糾錯方案已選定為在發送端采用(2,1,9)格式的卷積碼與16×4的交織編碼,接收端采用對應的解交織以及最大似然譯碼的viterbi譯碼,圖4是整個級聯碼方案用硬件語言實現后綜合的頂層電路圖。
圖4包括4 個模塊,convolution-219 是(2,1,9)格式的卷積編碼模塊,interleaver-16x4是16x4的線性交織模塊,interleaver-jie-16x4是16x4的解交織模塊,vb-decode-219是針對(2,1,9)卷積編碼的vb譯碼模塊。
級聯碼編譯碼模塊中的核心模塊是vb-decode-219譯碼器,圖5是VB譯碼器FPGA實現的總體架構圖,它主要由BMG(分支度量發生器)、ACS(加比選)、RAM Metric(度量存儲單元)、RAM Survivor(幸存路徑存儲單元)、Traceback(回溯單元)、MMU(存儲管理單元)和 CONTROL(控制單元)七部分組成。


以上各個模塊的工作簡述如下:
a.BMG(分支度量發生器)是計算譯碼輸入和卷積碼網格圖各狀態分支之間的距離度量值,為后繼的ACS單元提供輸入。
b.ACS(加比選)是Viterbi算法中的基本運算單元,它根據VB譯碼原理,將支路度量和前一時刻相應的路徑度量相加并比較,得到本時刻的新的路徑度量和相應的判決比特。
d.RAM Survivor(幸存路徑存儲單元):存儲ACS單元生成的判決比特以供搜索幸存路徑用。
e.Traceback(回溯單元)是幸存路徑搜索的一種基本方式。
f.MMU(存儲管理單元)控制幸存路徑存儲單元的操作。
g.CONTROL(控制單元)產生VB譯碼所需的各種控制信號以控制和協調譯碼器各模塊的工作時序。
圖6是vb-decoder-219模塊的綜合展開電路圖。
圖7是對圖6中的分支度量模塊(METRICMEMORY)與加比選(ACS)兩個模塊放大圖。
針對上面各個模塊的仿真這里就不逐一進行,下面只對級聯碼的編譯碼頂層設計做一仿真。圖8為無線通信中上行一幀數據(64bits)經過級聯編譯碼后在modesim中的仿真圖。
其中X為輸入信息碼元;Y為卷積編碼后信號;Y-jiaozhi是經過線性交織后的信號;y-jiejiaozhi是接收端解交織后的數據;DecodeOut是VB譯碼后的數據;另外 VB譯碼時鐘為10M,數據速率為30Kbps。

圖6 vb-decoder-219模塊的綜合展開圖


由圖 8 可見原始信息數據 X=(1,1,1,1,1,0,0,0,1,0,1,0,1,1,0…)經 viterbi譯碼后的 Decode-Out=(1,1,1,1,1,0,0,0,1,0,1,0,1,1,0…),兩者完全一致,且發送端從一幀數據的編碼到接收端譯碼結束大約需要8.4ms的時間(未考慮信道傳輸時間等)。
另外通過用大量的實采數據作為參考,系統在不加級聯碼與系統采用級聯碼兩種方式下的誤碼率進行對比發現,在相同的信噪比條件下,采用級聯碼糾錯方案后信道傳輸的誤碼率從原來10-5降至10-6左右,很好的改善了系統的糾錯性能。
無線通信信道在接收端既有由高斯白噪聲引發的隨機性錯誤又有由脈沖噪聲帶來的突發性錯誤。為保證信息傳輸的可靠性和準確性,借助本文所述的級聯碼方案,通過計算機仿真,結果表明級聯碼對于衰落的無線通信信道來說確實是一種十分有效的差錯控制手段。
[1]傅祖蕓,趙建中.信息論與編碼[M].北京:電子工業出版社,2006.
[2]王育民,李暉,梁傳甲.信息論與編碼理論[M].北京:高等教育出版社,2005.
[3]王新梅,肖國鎮.糾錯碼原理與方法[M].西安:西安電子科技大學出版社,2001.
[4]付天暉,王永斌,張文娟.級聯碼與交織技術在甚低頻對潛通信中的性能研究[J].無線通信技術,2006,(4).
[5]王霞,張傳生.級聯碼結合交織技術的糾錯性能研究[J].無線通信技術,2000,(2).