基于BM算法的BCH碼的譯碼硬件實(shí)現
摘要:BCH碼是一種理論上比較成熟的代數碼型,在電力通信系統,GSM標準的語(yǔ)音和數據業(yè)務(wù),以及衛星通信和數字廣播通信(DVB-S2)等多個(gè)領(lǐng)域均有著(zhù)廣泛的應用?;趦绱芜\算,在線(xiàn)性反饋移位寄存器(LFSR)下實(shí)現了基于Berlekamp―Massey(BM)時(shí)域迭代譯碼算法的整個(gè)譯碼器構架,以及BM簡(jiǎn)化算法的硬件設計。通過(guò)計算機模擬仿真表明,兩種算法的譯碼速率分別可達到32 Mbps,37Mbps。
關(guān)鍵詞:BM迭代簡(jiǎn)化算法;FPGA;譯碼器構架
O 引言
BCH碼是1959年由Hocquenghem,1960年由Bose和Chandhari分別獨立提出的一種能糾正多個(gè)隨機錯誤的循環(huán)碼,該碼有嚴格的代數結構,具有糾錯能力可控,在中短碼長(cháng)情況下性能接近理論最佳值等優(yōu)點(diǎn),并且構造方便,編碼簡(jiǎn)單,是實(shí)際使用最廣泛的碼型之一。
1960年P(guān)eterson從理論上解決了二進(jìn)制BCH碼的譯碼算法,奠定了BCH碼譯瑪的理論基礎。隨后,Gorensten和Zierler把它推廣到高階有限域中。1966年Berlekamp提出了迭代譯碼算法,Maxsey從線(xiàn)性反饋寄存器的角度對該算法進(jìn)行描述,不僅使算法硬件實(shí)現成為可能,也大大提高了譯碼速度,從實(shí)際上解決了BCH碼的譯碼問(wèn)題。鑒于FP―GA具有較大塊RAM,本文以(15,5)BCH碼為例說(shuō)明如何將BM迭代算法,以及后面的chien搜索都建立在有限域上進(jìn)行運算,用域元素的冪次運算代替原來(lái)的乘和除操作,從而節約了邏輯單元(slice)資源。文獻已經(jīng)給出了普通BM譯碼算法的流程圖,本文根據二元BCH碼的特點(diǎn)給出了簡(jiǎn)化的BM算法流程圖。
1 BM算法介紹
1.1 有限域知識介紹
BCH碼是在有限域中進(jìn)行運算的,詳細的有限域知識參考文獻。
以本文設計的BCH碼為例,p(x)=x4+x1+1是GF(2)上的本原多項式。令α為本原多項式的根,m=4,則由{l,α,α2,α3}中元素的線(xiàn)性組合可表示GF(24)上的所有非零元素{α0,α1,α2,…,α14},這些非零元素構成一個(gè)循環(huán)群如表l所示。最后一行是為了運算的需要,人為加上去的,表示“無(wú)”這種狀態(tài)。
1.2 經(jīng)典BM算法
普通的譯碼算法都可分為如下三步:
(1)由接收碼字R(x)計算伴隨式S(x).(用除法電路)
(2)由伴隨式S(x)求差錯圖樣E(x).(用各種譯碼方式)
(3)由差錯圖樣E(x)求得譯出碼字C(x).(用關(guān)系式C(x)=R(x)一E(x))
上面的(1)(3)步是固定關(guān)系式的運算,相對容易,最關(guān)鍵的是第(2)步。1966年,Berlekamp針對關(guān)鍵方程式S(x)D(x)≡ω(x)(mod x2t+1)的求解(這里的D(x)為錯誤位置多項式),提出一種復雜度隨糾錯數目線(xiàn)性增加的迭代算法,而Massey對Berlekamp算法作為設計自回歸濾波器的過(guò)程進(jìn)行了重新的推導,采用反饋移位寄存器來(lái)完成關(guān)鍵方程的計算。自此以后這種譯碼算法被稱(chēng)為BM迭代譯碼算法,其算法流程圖參考文獻。
2 二元域下的簡(jiǎn)化算法
經(jīng)典的BM算法流程適合任何有限域的BCH碼,對于GF(2),我們可以證明當r為偶數時(shí),△r為0[2],此時(shí)迭代可以省略。通過(guò)對經(jīng)典BM算法流程圖的改進(jìn),得到下圖l,即GF(2)上的簡(jiǎn)化BM算法流程圖。
其中,Sn為伴隨式,D(x)為錯誤位置多項式,B(x)為多項式修正項,△代表差值即下一個(gè)伴隨式與由當前錯誤位置多項式表示的移位寄存器所產(chǎn)生的值之間的差值,L為移位寄存器的當前長(cháng)度。
評論