日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab实现长除法,【网安智库】基于长除法的BCH(15,7)译码算法

發(fā)布時間:2023/12/10 循环神经网络 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab实现长除法,【网安智库】基于长除法的BCH(15,7)译码算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原標題:【網(wǎng)安智庫】基于長除法的BCH(15,7)譯碼算法

摘要:BCH(15,7)碼可糾錯2 bit錯誤位,是一種應(yīng)用廣泛的信道編碼。常見的實用譯碼方法是查表法,其存儲錯誤比特和校驗子的對應(yīng)表即錯誤圖樣,譯碼時根據(jù)計算的校驗子查錯誤圖樣表得到錯誤比特。BCH(15,7)的錯誤圖樣較大,存儲錯誤圖樣表占用較大內(nèi)存,查找較費時,譯碼較慢。因此,針對BCH(15,7)快速譯碼問題,提出了一種新穎的基于長除法的譯碼算法。該算法只利用有限域 中的長除法即可快速譯碼,不需要存儲錯誤圖樣,也不需要解BM方程。理論和仿真證明,此算法有效可行,軟硬件實現(xiàn)簡單易行,可推廣到實際BCH(15,7)的譯碼電路,具有較大的實際應(yīng)用價值。

0 引 言

BCH碼是一種重要的能糾多個隨機錯誤的循環(huán)碼,編碼方便,實現(xiàn)電路簡單,在現(xiàn)代數(shù)字通信領(lǐng)域中有及極廣泛的應(yīng)用[1-3]。BCH譯碼已有多種算法,實際工程應(yīng)用中主要用的是錯誤圖樣查表法。該方法需要預(yù)先存儲錯誤圖樣,對碼長較長、糾錯能力較強的BCH碼,錯誤圖樣較多,查找、匹配較費時,譯碼延時嚴重[4-5]。

BCH(15,7)碼是碼距d=5 的循環(huán)碼,能糾正2位隨機錯誤。本文主要討論一種基于長除法的BCH(15,7)碼譯碼算法,實現(xiàn)快速譯碼,且簡單高效。

1 BCH(15,7)編碼

BCH(15,7)的生成多項式為:

信息多項式為:

信息序列為,其中mi(i=0,1,…,6) 為伽羅瓦域GF(2) 中的0或1,則BCH(15,7)碼多項式為:

例1:,,則:

2 基于長除法的BCH(15,7)譯碼算法

此譯碼算法分為以下2步:

(1)由接收到的含有錯誤的r(x)=c(x)+e(x) 長除 得余式,即錯誤多項式(余式項數(shù)必須小于等于2);

(2)錯誤多項式模2相加r(x) 得原碼。

證明:

由于能糾正循環(huán)距離為8位的2位錯誤位,故只要r(x)mod(g(x)) 余式項數(shù)小于等于2必為錯誤多項式。

證畢。

例2:由于例1發(fā)送碼是式(1),假定接收碼有2位錯誤,當然接收端是不知道有這2位錯誤的。由長除法得錯誤多項式如圖1所示,得錯誤多項式。由于BCH(15,7)是循環(huán)碼,,故,即糾錯得原碼。

3 MATLAB仿真

仿真程序如下:

%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;

while m>2 & k<30

k=k+1;

if r(1)==1

for j=1:9

r(j)=r(j)+g(j);

end

end

m=sum(r==1);

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仿真程序,可驗證本算法的正確性。任意改變信息多項式msg 和小于等于2位錯誤多項式e ,均能糾錯得到正確的原碼。

4 結(jié) 語

利用長除法可得到BCH(15,7)接收碼的錯誤多項式,譯碼算法具有簡單、快速等優(yōu)點,具有極廣泛的應(yīng)用價值。此外,本算法也適用于糾1位錯誤的漢明碼譯碼,對糾多個錯誤的BCH碼具有參考價值。

參考文獻:

[1] Sweeney P.Error Control Coding,From Theory to Practice[M].Wiley,2002:67-83.

[2] Jorge C M.Essentials of Error Control Coding[M].Wiley,2006:41-61.

[3] John G P,Masoud S.Digital Communications[M].5th Edition(McGraw-Hill),2008:400-450.

[4] REED I S,Chen X M.Error-control Coding for Data Network[C].Norwell,1999:300-380.

[5] Blahut R E.Algebraic Codes for Data Transmissions[M].Cambridge:Cambridge University Press,2003:350-400.

作者簡介:

江寶安,重慶郵電大學(xué)移通學(xué)院講師,碩士,主要研究方向為糾錯編碼與通信理論。

原創(chuàng)聲明 >>>

本微信公眾號刊載的原創(chuàng)文章,歡迎個人轉(zhuǎn)發(fā)。未經(jīng)授權(quán),其他媒體、微信公眾號和網(wǎng)站不得轉(zhuǎn)載。

···························································返回搜狐,查看更多

責任編輯:

總結(jié)

以上是生活随笔為你收集整理的matlab实现长除法,【网安智库】基于长除法的BCH(15,7)译码算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。