RS(204,188)碼連續(xù)編碼的設(shè)計(jì)
在數(shù)字電視中RS碼通常是以幀的形式來(lái)傳輸?shù)?,一幀又有八個(gè)數(shù)據(jù)包,因此連續(xù)編碼就有特別的必要。編碼時(shí)先輸入51個(gè)是零的數(shù)據(jù),得到編碼后將前面51個(gè)數(shù)據(jù)丟棄。要得到RS(204,188)的編碼先要得到域元素,可以借助MATLAB軟件來(lái)獲得。程序如下:m=8;%每個(gè)符號(hào)的比特?cái)?shù);n=2∧m- 1;%編碼后碼字長(zhǎng)度;本文引用地址:http://www.ex-cimer.com/article/166871.htm
k=n-16;%信息長(zhǎng)度;gfelement=gftuple([-1:n-1]',m)%產(chǎn)生加羅華域元素;
還可以來(lái)求生成多項(xiàng)式g(x).g(x)=(x+1)(x+a)…(x+a15)
程序如下:
N=255;k=239;b=0;gx=rsgenpoly(n,k,[],b)%[]表示缺省的本元多項(xiàng)式。
可以得到g(x):
還可以輸入一組數(shù)得到它的編碼程序如下:
m=8;n=255;k=239;b=0;
genpoly=rsgenpoly(n,k,[],b);%產(chǎn)生生成多項(xiàng)式
code=rsenc(msg,n,k,genpoly)%信息碼,前面51個(gè)為零,共239 bytes得到的校驗(yàn)碼是:
48,168,46,159,119,162,72,132,139,235,172,28,76,175,171,238.
硬件設(shè)計(jì)時(shí)常用LFSR(線性反饋寄存器)來(lái)實(shí)現(xiàn),可以圖1表示。
運(yùn)算電路中主要運(yùn)算是常系數(shù)的加羅瓦域乘法,假如有一個(gè)八位的二進(jìn)制數(shù):
域中的數(shù)相乘結(jié)果仍在域中,那就設(shè)結(jié)果為r(a)。則有
r(a)=b7a7+b6a6+b5a5+b4a4+b3a3+b2a2+b1a+b0。
與上式相比較就有:
b7=a6;b6=a5;b5=a4;b4=(a7+a3);
b3=(a7+a2);b2=(a7+a1);b1=a0;b0=a7;
同理可以得到編碼需要的定系數(shù)伽羅瓦域乘法的結(jié)果。
評(píng)論