江寶安
(重慶郵電大學(xué)移通學(xué)院,重慶 401520)
BCH碼是一種重要的能糾多個(gè)隨機(jī)錯(cuò)誤的循環(huán)碼,編碼方便,實(shí)現(xiàn)電路簡(jiǎn)單,在現(xiàn)代數(shù)字通信領(lǐng)域中有及極廣泛的應(yīng)用[1-3]。BCH譯碼已有多種算法,實(shí)際工程應(yīng)用中主要用的是錯(cuò)誤圖樣查表法。該方法需要預(yù)先存儲(chǔ)錯(cuò)誤圖樣,對(duì)碼長(zhǎng)較長(zhǎng)、糾錯(cuò)能力較強(qiáng)的BCH碼,錯(cuò)誤圖樣較多,查找、匹配較費(fèi)時(shí),譯碼延時(shí)嚴(yán)重[4-5]。
BCH(15,7)碼是碼距d=5的循環(huán)碼,能糾正2位隨機(jī)錯(cuò)誤。本文主要討論一種基于長(zhǎng)除法的BCH(15,7)碼譯碼算法,實(shí)現(xiàn)快速譯碼,且簡(jiǎn)單高效。
BCH(15,7)的生成多項(xiàng)式為:
信息多項(xiàng)式為:
信息序列為m=(m6m5m4m3m2m1m0),其中mi(i=0,1,…,6)為伽羅瓦域GF(2)中的0或1,則BCH(15,7)碼多項(xiàng)式為:
例 1:m=(0100101),m(x)=x5+x2+1,則:
此譯碼算法分為以下2步:
(1)由接收到的含有錯(cuò)誤的r(x)=c(x)+e(x)長(zhǎng)除g(x)得余式,即錯(cuò)誤多項(xiàng)式(余式項(xiàng)數(shù)必須小于等于2);
(2)錯(cuò)誤多項(xiàng)式模2相加r(x)得原碼。
證明:
由于g(x)=x8+x7+x6+x4+1能糾正循環(huán)距離為8位的2位錯(cuò)誤位,故只要r(x)mod(g(x))余式項(xiàng)數(shù)小于等于2必為錯(cuò)誤多項(xiàng)式。
證畢。
例2:由于例1發(fā)送碼是式(1),假定接收碼r(x)=x13+x12+x11+x10+x7+x6+x5+x4+1有2位錯(cuò)誤e(x)=x6+x2,當(dāng)然接收端是不知道有這2位錯(cuò)誤的。由長(zhǎng)除法得錯(cuò)誤多項(xiàng)式如圖1所示,得錯(cuò)誤多項(xiàng)式e(x)=x17+x21。由于BCH(15,7)是循環(huán)碼,x15=1,故e(x)=x17+x21=x6+x2,即c(x)=r(x)+e(x)=x13+x12+x11+x10+x7+x5+x4+x2+1糾錯(cuò)得原碼。
圖1 長(zhǎng)除法得錯(cuò)誤多項(xiàng)式
仿真程序如下:
%BCH(15,7)decode
msg=gf(randint(1,7),1); %information code
c=bchenc(msg,15,7); %encode
e=gf([1 0 0 0 0 0 0 0 0 0 0 1 0 0 0],1);%2 bit errors
r1=c+e;% receive code
r=r1;
g=gf([1 1 1 0 1 0 0 0 1],1);%generator polynomial
m=3;n=0;k=0;
k=k+1;
if r(1)==1
for j=1∶9
r(j)=r(j)+g(j);
end
end
m=sum(r==1);
可以看出,在大學(xué)階段產(chǎn)學(xué)合作的很多模式在我國(guó)也已經(jīng)廣為探索和開展。但是,高中階段的產(chǎn)學(xué)模式和中國(guó)的情況有所不同。20世紀(jì)90年代中期,職業(yè)教育達(dá)到發(fā)展高峰,中等職業(yè)教育的學(xué)生占高中在校生的比例為56%,20世紀(jì)90年代末,則進(jìn)入了低谷期,高等職業(yè)教育開始迎來發(fā)展高潮。
while r(1)==0 & m>2 & k<30 %left shift
n=n+1;
for i=1∶14
r(i)=r(i+1);
end
r(15)=0;
end
end
s=mod(n,15);
for k=1∶s %cyclic right shift
t=r(15);
for i=0∶13
r(15-i)=r(14-i);
end
r(1)=t;
end
e1=r;
m1=sum(e1==1);
if m1<3
disp('OK e(x)=r(x) mod(g(x))');
end
該MATLAB仿真程序,可驗(yàn)證本算法的正確性。任意改變信息多項(xiàng)式msg和小于等于2位錯(cuò)誤多項(xiàng)式e,均能糾錯(cuò)得到正確的原碼。
利用長(zhǎng)除法可得到BCH(15,7)接收碼的錯(cuò)誤多項(xiàng)式,譯碼算法具有簡(jiǎn)單、快速等優(yōu)點(diǎn),具有極廣泛的應(yīng)用價(jià)值。此外,本算法也適用于糾1位錯(cuò)誤的漢明碼譯碼,對(duì)糾多個(gè)錯(cuò)誤的BCH碼具有參考價(jià)值。