張羅成,李廣軍
(電子科技大學通信與信息工程學院,成都 611731)
引 言
RS糾錯編碼是目前最有效、應用最廣泛的差錯控制編碼之一,是一種糾錯能力很強的多進制BCH碼,也是一類典型的代數(shù)幾何碼。它是由里德(Reed)和索洛蒙(Solomon)應用MS多項式于1960年首先構造出來的。
RS碼被廣泛用于差錯控制系統(tǒng)中,以提高數(shù)據(jù)的可靠性,而且可以用來構造其他碼類,如級聯(lián)碼。在無線通信、衛(wèi)星通信、磁或光存儲以及網(wǎng)絡通信中RS碼也有較為廣泛的應用。RS碼不僅具有良好的隨機糾錯和突發(fā)糾錯能力,而且有低復雜度的編譯碼算法,因此被國際電信聯(lián)盟(ITU)推薦為光纖子系統(tǒng)的前向糾錯(FEC)碼。RS(225,223)碼被CCSDS選為常規(guī)分包遙測信道糾錯編碼和高級在軌系統(tǒng)前向和反向鏈路的糾錯編碼,是實現(xiàn)CCSDS標準低差錯率信道糾錯編碼的關鍵部件。只要每個碼字(255個符號)中出現(xiàn)的錯誤不超過16個符號,它就能將其糾正。
近年來,關于RS(255,223)碼譯碼器實現(xiàn)的算法得到了廣泛的關注,但是這些算法的實現(xiàn)速度都不太快,即便有速度稍高的,其占用硬件資源也較多,而一些占用硬件資源較少的算法速度卻很慢。本文采用基于ME算法的8倍并行設計方案,結合流水線技術,克服了上述算法的缺陷,利用盡可能少的硬件資源獲得了極高的譯碼速度。
1 RS(255,223)碼及其譯碼原理
1.1 RS(255,223)碼
因其碼元取自GF(q),RS編解碼過程中的所有運算都是在GF(q)的有限域上面進行。RS(n,k)碼的編碼過程是將k個輸入信息碼字,用生成多項式產(chǎn)生(n,k)個冗余的糾錯信息碼字,與原碼字合成形成n個信息碼字進行傳輸。譯碼是在接收端,對接收的n個碼字信息進行糾錯處理,恢復k個信息碼字。對于1個長度為am-1符號的RS碼,每個碼字都可以看成是有限域GF(am)中的1個元素。最小碼距為d的碼字,其RS碼生成多項式具有如下形式:
其中ai是GF(am)中的1個元素。
對于RS(255,223)碼而言,q=256,a=2,碼字符號在GF(28)中。m=8,是每個RS符號的碼元數(shù);n=28-1,是每個RS碼字的符號數(shù);k=223,是RS碼中信息位的符號數(shù);t=16,是RS碼字內(nèi)符號的糾錯能力;d=33,是最小碼距。