<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何基于并行流水線(xiàn)技術(shù)進(jìn)行RS255/RS233譯碼器設計?

如何基于并行流水線(xiàn)技術(shù)進(jìn)行RS255/RS233譯碼器設計?

作者: 時(shí)間:2018-08-06 來(lái)源:網(wǎng)絡(luò ) 收藏

RS糾錯編碼是目前最有效、應用最廣泛的差錯控制編碼之一,是一種糾錯能力很強的多進(jìn)制BCH碼,也是一類(lèi)典型的代數幾何碼。它是由里德(Reed)和索洛蒙(Solomon)應用MS多項式于1960年首先構造出來(lái)的。

本文引用地址:http://dyxdggzs.com/article/201808/385476.htm

RS碼被廣泛用于差錯控制系統中,以提高數據的可靠性,而且可以用來(lái)構造其他碼類(lèi),如級聯(lián)碼。在無(wú)線(xiàn)通信、衛星通信、磁或光存儲以及網(wǎng)絡(luò )通信中RS碼也有較為廣泛的應用。RS碼不僅具有良好的隨機糾錯和突發(fā)糾錯能力,而且有低復雜度的編譯碼算法,因此被國際電信聯(lián)盟(ITU)推薦為光纖子系統的前向糾錯(FEC)碼。RS(225,223)碼被CCSDS選為常規分包遙測信道糾錯編碼和高級在軌系統前向和反向鏈路的糾錯編碼,是實(shí)現CCSDS標準低差錯率信道糾錯編碼的關(guān)鍵部件。只要每個(gè)碼字(255個(gè)符號)中出現的錯誤不超過(guò)16個(gè)符號,它就能將其糾正。

近年來(lái),關(guān)于RS(255,223)碼實(shí)現的算法得到了廣泛的關(guān)注,但是這些算法的實(shí)現速度都不太快,即便有速度稍高的,其占用硬件資源也較多,而一些占用硬件資源較少的算法速度卻很慢。本文采用基于ME算法的8倍并行設計方案,結合流水線(xiàn)技術(shù),克服了上述算法的缺陷,利用盡可能少的硬件資源獲得了極高的譯碼速度。

1RS(255,223)碼及其譯碼原理

1.1RS(255,223)碼

因其碼元取自GF(q),RS編解碼過(guò)程中的所有運算都是在GF(q)的有限域上面進(jìn)行。RS(n,k)碼的編碼過(guò)程是將k個(gè)輸入信息碼字,用生成多項式產(chǎn)生(n,k)個(gè)冗余的糾錯信息碼字,與原碼字合成形成n個(gè)信息碼字進(jìn)行傳輸。譯碼是在接收端,對接收的n個(gè)碼字信息進(jìn)行糾錯處理,恢復k個(gè)信息碼字。對于1個(gè)長(cháng)度為am-1符號的RS碼,每個(gè)碼字都可以看成是有限域GF(am)中的1個(gè)元素。最小碼距為d的碼字,其RS碼生成多項式具有如下形式:

其中ai是GF(am)中的1個(gè)元素。

對于RS(255,223)碼而言,q=256,a=2,碼字符號在GF(28)中。m=8,是每個(gè)RS符號的碼元數;n=28-1,是每個(gè)RS碼字的符號數;k=223,是RS碼中信息位的符號數;t=16,是RS碼字內符號的糾錯能力;d=33,是最小碼距。

1.2RS(255,223)碼譯碼原理

由于RS碼為分組碼,故其譯碼算法主要由伴隨式計算、關(guān)鍵方程求解和錢(qián)搜索和Forney算法3部分構成,結構如圖1所示。


首先,根據接收碼字乘以校驗矩陣得到其伴隨多項式,對于RS(225,223)碼,其伴隨式求解式可以表示為:

求得伴隨式以后,則利用伴隨多項式求解關(guān)鍵方程:錯誤位置多項式σ(x)和錯誤特征多項式ω(x),如下所示:

求解關(guān)鍵方程現可采用的算法主要有BM(Belekamp-Messey)算法和ME(ModifiedEuclidean)算法。之后便得到錯誤位置多項式σ(x)與錯誤特征多項式ω(x)。

此后,由錯誤位置多項式與錯誤特征多項式來(lái)求得錯誤位置與錯誤值。求解錯誤位置本設計采用窮舉算法DD錢(qián)搜索算法來(lái)完成。同時(shí),使用Forney公式求得錯誤值。最后,用延時(shí)后的接收值減去錯誤值,得到最后的譯碼輸出。Forney公式可以表示為:

其中,ei代表發(fā)生在i位置上的錯誤值,σodd(x)代表錯誤位置多項式奇數次項之和。

2并行流水結構方案

本設計采用8倍并行流水方案。將255個(gè)碼元8倍并行后,只需要32個(gè)周期便完成所有32個(gè)伴隨多項式系數的求解。然后將32個(gè)伴隨多項式系數順序輸出到下一級,在此基礎上采用流水線(xiàn)結構,周期剛好滿(mǎn)足且不會(huì )浪費資源。本設計中所有乘法器都是采用GF(28)有限域乘法器。

2.1伴隨式計算

8倍并行伴隨多項式的求解算法,是在迭代算法的基礎上展開(kāi)實(shí)現,其推導過(guò)程如下:


式(6)中,R255=0;i=1,2,…,2t-1,2t。其電路結構如圖2所示。


2.2關(guān)鍵方程求解

本設計中關(guān)鍵方程的求解采用ME算法。BM算法具有反饋結構,不適合使用流水結構,而ME算法可采用流水結構。其算法描述如下:

其中,S(x)為輸入的伴隨多項式。

ME算法為1種迭代算法,目的在于求i階余式Ri(x),相應的多項式ri(x)與Li(x)滿(mǎn)足:

ri(x)A(x)+Li(x)S(x)=Ri(x)(8)

當i階余式Ri(x)的階數小于t時(shí),迭代算法結束。算法結束時(shí)的Ri(x)即為錯誤特征多項式ω(x),而Li(x)即為所求的錯誤位置多項式δ(x)。

ME算法在每一次迭代時(shí)進(jìn)行的運算為:


具體推導請見(jiàn)參考文獻[8-9]。

單級迭代電路結構如圖3所示。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>