Viterb譯碼RS編碼
發(fā)布時(shí)間:2008/12/17 0:00:00 訪問次數(shù):771
rs碼是一種非分組的有記憶編碼,因編碼規(guī)則遵從卷積運(yùn)算而得名,可記為(n,k,m)碼,其中k表示輸入信息 的路數(shù),n表示碼元輸出的路數(shù),碼表示編碼器中寄存器的節(jié)數(shù)。輸出碼元n不僅與輸入信息位k有關(guān),而且與編 碼器中記憶的m位有關(guān),通常稱l=m+1為約束長度(記憶長度)。其譯碼既可采用傳統(tǒng)的代數(shù)方法,也可采用概率 方法,而常用的是概率方法。rs碼一般使用(n,k)表示,輸入信號(hào)分成k×mbit一組,每組包括k個(gè)符號(hào),每個(gè) 符號(hào)由m bit組成。一個(gè)可以糾錯(cuò)t個(gè)符號(hào)的rs碼具有如下參數(shù)。
rs碼都是在伽羅華域(galois field,gf)中運(yùn)算的,因此了解伽羅華域的數(shù)據(jù)運(yùn)算是rs編碼的前提。無線通 信中的數(shù)據(jù)、地址、校驗(yàn)碼等都可以看成是屬于gf(2)=gf(28)中的元素或稱符號(hào)。gf(28)表示域中有256 個(gè)元素,除0、1之外的254個(gè)元素由本原多項(xiàng)式p(x)生成。本原多項(xiàng)式p(x)的特性是p(x)得到的佘式等于0。無線通信中用來構(gòu)造gf(28)域的p(x)是p(x)= x8+x4+x3+x2+1,而gf(28)域中的本原元素為α=(00000010)。
下面以一個(gè)較簡單例子說明域的構(gòu)造。構(gòu)造gf(23)域的本原多項(xiàng)式假定為p(x)=x3+x+1。α定義為p(x)=0的根, 即α3+α+1=0和α3=α+1。gf(23)中的元素計(jì)算如表1所示。
表1 gf(23)中的元素計(jì)算
用二進(jìn)制數(shù)表示域元素得到如表2所示的對(duì)照表。
表2 二進(jìn)制數(shù)表示域元素
這樣一來就建立了gf(23)域中的元素與3位二進(jìn)制數(shù)之間的一一對(duì)應(yīng)關(guān)系。用同樣的方法可建立gf(28)域中的256個(gè)元素與8位二進(jìn)制數(shù)之間一一對(duì)應(yīng)關(guān)系。在糾錯(cuò)編碼運(yùn)算過程中,加、減、乘和除的運(yùn)算是伽羅華域中進(jìn)行的。現(xiàn)在以gf(23)域中的運(yùn)算為例。
這些運(yùn)算的結(jié)果仍然在gf(23)域中。
gf域的加法和減法采樣異或可以方便地實(shí)現(xiàn),但gf域的乘法和除法計(jì)算則十分復(fù)雜。在rs碼中g(shù)f域的除法使用較少,而 乘法使用較多,以下詳細(xì)介紹gf域的乘法運(yùn)算。
在c6x序列dsp中,c64x中有專門的gf域的乘法指令。這樣,可以快速實(shí)現(xiàn)gf域的乘法。該指令為gmpy4,可以一次實(shí)現(xiàn)4 個(gè)8位gf域的乘法。如果條件滿足,該指令執(zhí)行如下運(yùn)算,其中src1和src2為操作數(shù),ubyte表示無符號(hào)的字節(jié)數(shù),dst為 目的單元。
使用該指令的例子如圖1所示。
圖1 gmpy4的運(yùn)行結(jié)果
gmpy4指令默認(rèn)使用gf(256)域乘法,其生成多項(xiàng)式為g(x)=1+x2+x3+x4+x8?梢酝ㄟ^gfpgfr寄存器設(shè)置用戶的生成 多項(xiàng)式。gfpgfr寄存器各位的定義如圖2所示。
圖2 gfpgfr寄存器各位的定義
各位的意義分別如下。
● 第0~第7位。poly位,可讀寫位,復(fù)位值為ldh;存儲(chǔ)生成多項(xiàng)式的系數(shù)。
● 第8~第23位。預(yù)留,只讀位,復(fù)位值0。
● 第24~第26位。size位,可讀寫位,復(fù)位值07;該位值加1為gf域的位數(shù)。
● 第27~第31位。預(yù)留,只讀位,復(fù)位值0。
默認(rèn)的多項(xiàng)式為g(x)=1+x2+x3+x4+x8,則poly中存儲(chǔ)的數(shù)值為(1+4+8+16)=29,十六進(jìn)制則為0xld。注意,其中 盧為默認(rèn)帶有1,所以poly的值雖然為0xld,但實(shí)際上表示生成多項(xiàng)式系數(shù)為0x11d。
使用默認(rèn)多項(xiàng)式做gf(256)的乘法的c程序如下,程序中使用_gmpy4函數(shù)的dsp的c編譯器帶有的內(nèi)聯(lián)函數(shù)。
以上為直接使用默認(rèn)的生成多項(xiàng)式,如果用戶的生成多項(xiàng)式為g(x)=1+x3+x5+x6+x8,則poly中存儲(chǔ)的數(shù)值為(1+8+32+64)=105,十六進(jìn)制則為0x69。注意,其中x8為默認(rèn)帶有1,所以poly的值為0x69,設(shè)置新的poly值并進(jìn)行g(shù)f(256) 的乘法程序如下:
歡迎轉(zhuǎn)載,信息來源維庫電子市場(chǎng)網(wǎng)(www.dzsc.com)
rs碼是一種非分組的有記憶編碼,因編碼規(guī)則遵從卷積運(yùn)算而得名,可記為(n,k,m)碼,其中k表示輸入信息 的路數(shù),n表示碼元輸出的路數(shù),碼表示編碼器中寄存器的節(jié)數(shù)。輸出碼元n不僅與輸入信息位k有關(guān),而且與編 碼器中記憶的m位有關(guān),通常稱l=m+1為約束長度(記憶長度)。其譯碼既可采用傳統(tǒng)的代數(shù)方法,也可采用概率 方法,而常用的是概率方法。rs碼一般使用(n,k)表示,輸入信號(hào)分成k×mbit一組,每組包括k個(gè)符號(hào),每個(gè) 符號(hào)由m bit組成。一個(gè)可以糾錯(cuò)t個(gè)符號(hào)的rs碼具有如下參數(shù)。
rs碼都是在伽羅華域(galois field,gf)中運(yùn)算的,因此了解伽羅華域的數(shù)據(jù)運(yùn)算是rs編碼的前提。無線通 信中的數(shù)據(jù)、地址、校驗(yàn)碼等都可以看成是屬于gf(2)=gf(28)中的元素或稱符號(hào)。gf(28)表示域中有256 個(gè)元素,除0、1之外的254個(gè)元素由本原多項(xiàng)式p(x)生成。本原多項(xiàng)式p(x)的特性是p(x)得到的佘式等于0。無線通信中用來構(gòu)造gf(28)域的p(x)是p(x)= x8+x4+x3+x2+1,而gf(28)域中的本原元素為α=(00000010)。
下面以一個(gè)較簡單例子說明域的構(gòu)造。構(gòu)造gf(23)域的本原多項(xiàng)式假定為p(x)=x3+x+1。α定義為p(x)=0的根, 即α3+α+1=0和α3=α+1。gf(23)中的元素計(jì)算如表1所示。
表1 gf(23)中的元素計(jì)算
用二進(jìn)制數(shù)表示域元素得到如表2所示的對(duì)照表。
表2 二進(jìn)制數(shù)表示域元素
這樣一來就建立了gf(23)域中的元素與3位二進(jìn)制數(shù)之間的一一對(duì)應(yīng)關(guān)系。用同樣的方法可建立gf(28)域中的256個(gè)元素與8位二進(jìn)制數(shù)之間一一對(duì)應(yīng)關(guān)系。在糾錯(cuò)編碼運(yùn)算過程中,加、減、乘和除的運(yùn)算是伽羅華域中進(jìn)行的。現(xiàn)在以gf(23)域中的運(yùn)算為例。
這些運(yùn)算的結(jié)果仍然在gf(23)域中。
gf域的加法和減法采樣異或可以方便地實(shí)現(xiàn),但gf域的乘法和除法計(jì)算則十分復(fù)雜。在rs碼中g(shù)f域的除法使用較少,而 乘法使用較多,以下詳細(xì)介紹gf域的乘法運(yùn)算。
在c6x序列dsp中,c64x中有專門的gf域的乘法指令。這樣,可以快速實(shí)現(xiàn)gf域的乘法。該指令為gmpy4,可以一次實(shí)現(xiàn)4 個(gè)8位gf域的乘法。如果條件滿足,該指令執(zhí)行如下運(yùn)算,其中src1和src2為操作數(shù),ubyte表示無符號(hào)的字節(jié)數(shù),dst為 目的單元。
使用該指令的例子如圖1所示。
圖1 gmpy4的運(yùn)行結(jié)果
gmpy4指令默認(rèn)使用gf(256)域乘法,其生成多項(xiàng)式為g(x)=1+x2+x3+x4+x8。可以通過gfpgfr寄存器設(shè)置用戶的生成 多項(xiàng)式。gfpgfr寄存器各位的定義如圖2所示。
圖2 gfpgfr寄存器各位的定義
各位的意義分別如下。
● 第0~第7位。poly位,可讀寫位,復(fù)位值為ldh;存儲(chǔ)生成多項(xiàng)式的系數(shù)。
● 第8~第23位。預(yù)留,只讀位,復(fù)位值0。
● 第24~第26位。size位,可讀寫位,復(fù)位值07;該位值加1為gf域的位數(shù)。
● 第27~第31位。預(yù)留,只讀位,復(fù)位值0。
默認(rèn)的多項(xiàng)式為g(x)=1+x2+x3+x4+x8,則poly中存儲(chǔ)的數(shù)值為(1+4+8+16)=29,十六進(jìn)制則為0xld。注意,其中 盧為默認(rèn)帶有1,所以poly的值雖然為0xld,但實(shí)際上表示生成多項(xiàng)式系數(shù)為0x11d。
使用默認(rèn)多項(xiàng)式做gf(256)的乘法的c程序如下,程序中使用_gmpy4函數(shù)的dsp的c編譯器帶有的內(nèi)聯(lián)函數(shù)。
以上為直接使用默認(rèn)的生成多項(xiàng)式,如果用戶的生成多項(xiàng)式為g(x)=1+x3+x5+x6+x8,則poly中存儲(chǔ)的數(shù)值為(1+8+32+64)=105,十六進(jìn)制則為0x69。注意,其中x8為默認(rèn)帶有1,所以poly的值為0x69,設(shè)置新的poly值并進(jìn)行g(shù)f(256) 的乘法程序如下:
歡迎轉(zhuǎn)載,信息來源維庫電子市場(chǎng)網(wǎng)(www.dzsc.com)
上一篇:Viterbi譯碼
上一篇:Viterb譯碼概述
熱門點(diǎn)擊
- Viterbi譯碼
- 常用自動(dòng)控制系統(tǒng)設(shè)計(jì)的案例要求和應(yīng)用對(duì)象
- Viterb譯碼RS編碼
- 嵌入式DSP案例要求和應(yīng)用對(duì)象
- Viterb譯碼概述
- 嵌入式系統(tǒng)主機(jī)軟件程序
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點(diǎn)是“靈動(dòng)”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究