<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è) > EDA/PCB > 設計應用 > 基于FPGA的RS編碼器的設計與實(shí)現

基于FPGA的RS編碼器的設計與實(shí)現

作者: 時(shí)間:2009-03-09 來(lái)源:網(wǎng)絡(luò ) 收藏
1 RS編碼原理
RS編碼是一種線(xiàn)性的塊編碼,其表示形式為RS(N,K)。當編碼器接收到一個(gè)數據信息序列,該數據信息序列被分割成若干長(cháng)度為K的信息塊,并通過(guò)運算將每個(gè)數據信息塊編碼成長(cháng)度為N的編碼數據塊。在RS碼中的碼元符號不是二進(jìn)制而是多進(jìn)制符號,其中2m進(jìn)制使用更為廣泛。能糾正t個(gè)錯的RS碼具有,如表1參數所示。上述參數,t表明最多可以糾正t個(gè)隨機錯誤符號。

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

由于RS碼是對多進(jìn)制符號糾錯,RS碼可用于糾正突發(fā)錯誤,比如能糾兩個(gè)八進(jìn)制符號錯誤的RS(7,3)碼,每個(gè)符號可用3 bit二進(jìn)制符號表示。八進(jìn)制的RS(7,3)碼相當于二進(jìn)制的(21,9)碼,因此糾兩個(gè)符號就相當于糾連續6 bit二進(jìn)制符號的突發(fā)錯誤,然而二進(jìn)制的(2l,9)碼卻沒(méi)有糾6 bit突發(fā)錯誤的能力,它能糾任何2個(gè)隨機錯誤以及長(cháng)度≤4的突發(fā)錯誤。
通用的RS編碼的運算步驟:
(1)確定的生成多項式g(x),這里選用了最為常用的生成多項式,如式(1)所示。


式中a定義為m階初等多項式p(x)的根它可生成全部GF域的元素。(有關(guān)GF域的內容可參閱相關(guān)書(shū)籍)。
以RS(15,9)為例,RS(15,9)的生成多項式,如式(2)


(2)通過(guò)對取模運算產(chǎn)生校驗信息多項式p(x)如式(3)


式中m(x)表示RS編碼碼字中的數據信息,它是K一1階的線(xiàn)性多項式。
(3)通過(guò)加法運算生成最終的編碼后的多項式c(x)如式(4)


RS碼的編碼主要是圍繞碼的生成多項式g(x)進(jìn)行的,一旦生成多項式確定了,則碼就完全確定了。

2 RS編碼的設計實(shí)現
在一些特定應用域中,RS碼的設計與實(shí)現是比較困難的。RS碼是在有限域上進(jìn)行的代數運算,不同于常用的二進(jìn)制系統,實(shí)現相對復雜一些,其復雜度主要決定于有限域的大小、碼字的長(cháng)度、采用的編碼算法等,編碼器的實(shí)現方式主要有以下幾種:
(1)微處理器實(shí)現的RS編碼。
通用的微處理器采用查表(Table―lookup)方法可以實(shí)現RS編碼,首先需要產(chǎn)生有限域運算中的系數,存于內存中,就可以通過(guò)查表的方法實(shí)現編碼了。
(2)利用DSP實(shí)現的RS編碼。
DSP早已成為傳統微處理器的一種替代品,現在的DSP芯片已能對一些特定的應用提供并行的處理結構,可以在DSP芯片中完成RS編碼,不過(guò)DSP不是專(zhuān)為實(shí)現糾錯中需要的特定功能設計的,同樣也可以采用查表的方法在DSP中實(shí)現快速有限域運算。
(3)ASIC實(shí)現的RS編碼。
ASIC是專(zhuān)用集成電路,由LSI―Logic Corpera―tion設計的ASIC芯片,有3 kB的RAM和4 kB的ROM,是實(shí)現高速編碼器的最佳選擇。
(4)實(shí)現的RS編碼。
能夠快速和經(jīng)濟地將電路描述轉化為硬件實(shí)現,而且對設計的修訂也比較方便。而通常的ASIC需要的設計時(shí)間較長(cháng),制作費用也較高,也不便于調整。所以本設計是基于的RS編碼設計。
如圖1所示為本設計所采用的編碼器的結構。

其工作原理如下:
(1)寄存器R0~R2t-1全部清零。開(kāi)關(guān)接通A點(diǎn),然后信息位分為兩路送電路中,一路直接送入C(x),一路送入除法電路并進(jìn)行移位。每一個(gè)時(shí)鐘移一個(gè)字節;
(2)在k個(gè)時(shí)鐘結束的時(shí)候,信息位全部輸入,完成除法功能。此時(shí)移位寄存器里保留了余式r(x)的系數,這就是RS碼的校驗位;
(3)在k+1個(gè)時(shí)鐘到來(lái)的時(shí)候,開(kāi)關(guān)接通B點(diǎn)。寄存器中的數據依次移出,送入信道。在經(jīng)過(guò)2t個(gè)時(shí)鐘后數據全部移出,得到2t個(gè)校驗位。這2t個(gè)校驗位跟在原先的尼個(gè)信息位的后面,組成(n,k)碼輸出。這樣就完成了RS碼的編碼;
(4)寄存器R0~R2t-1全部清零,重復步驟(1)、(2)、(3),完成對下一組RS碼的編碼。



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

關(guān)鍵詞: FPGA RS編碼器

評論


相關(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>