BCH码编译码matlab仿真_第1页
BCH码编译码matlab仿真_第2页
BCH码编译码matlab仿真_第3页
BCH码编译码matlab仿真_第4页
BCH码编译码matlab仿真_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信道编码姓 名:郭宇琦 学 号:XXX2009XXX实验目的1. 复习巩固BCH码编码译码知识。2. 使用matlab进行实践编写BCH,了解实际应用中BCH的编码译码过程。3. 结合实践验证所学BCH码知识。实验原理BCH码是用于校正多个随机错误的多级、循环、错误校正、变长数字编码,是循环码的子类。本原 BCH码编码原理如下:1.确定 n、m、t.2.用函数构造扩域GF(qm),q=2取二进制,GF(2m)3.取本原元,根据纠错能力t,确定连续根2t。通过逐个验证每个元素来找出每一个根的全部共轭根系。根据k 1M (X)(X- )(x- 2)(x- 4)(X- 2一)计算最小多项式。4. 所

2、有非共轭根系的最小多项式乘积得到生成多项式g(X)5.利用系统码编码方程C(x)=xn-km(x)+Remg(x)xn-km(x),进行编码。BCH码译码方法主要有Peterson译码法和Berlekamp迭代译码法等,其中Peterson译码方法如下:1.计算伴随式。已知接受向量R(x),则SiR( i),i=1,2,.2t2 .求解错误位置。引入错误位置多项式,将求解错误位置的问题转化为 求解线性方程组的问题Se l+Se-i 2 +S|e=Se+1Se+11+SB 2+S2 e = S5+2S2e 11 S2e 2 2 Se e S2e3 .用Peterson译码方法译码,解出错误位置多

3、项式系数和错误图样, 得到估值码字。(1) .假设e=t,计算S行列式M的值。M=0则降阶,e=e-1,同样计 算直到M丸).(2) 将上面得到的2t个连续根代入试根,求上述方程组解。取倒数即 为错误位置。由此写出错误图样。(3) 求出译码。每一步具体的实现方法,详见程序源代码注释。程序框图编码框图过信道框图发送码字信道(高斯白/理想)接收码字译码框图四、实验结果分析TfMimarMTWMitfniM科 PkH :a MAFLAE? Watch this i/dgn, w* Darwaw” 5r tesJ Cgfctdq SIzjtad窃人阻畑坨a拳住:只支样本躱肚商4输几匹卡“12甬酯力y冃

4、计耸徧醒K k=33色前生虑圖JI信息庁列!詹入1片韵施扎信息序刃输入© :B1 机主咸的申歹 I 为 11= 001aI011Q10100000歩后生脱码.申聊为 0 D1aI0110I 0100 a a 0IztiffSf ft信情愉h u讨璋想信甘覧A Cl :薪人信逋俏喚比单位协贝,13左右较合适):10樓生低字为 0 3 1 0' 1 1 1 1 0 I 0 I 0 0 0 0 0 3 d C 1 1 d 1 1 1 1 C 0 1 0 0 0 1 1 1 1 发送踣 RO 3 1 0 1 3 1 1 0 I 0 I Q 0 0 0 0 1 0 Gl 1 1 0 1

5、 1 1 1 til 0 1 0 0 0 1 1 1 1 诵过信谄后出皆4盂错误匿样为 0 0 '0 0 0 0 ID D 0 0 0 0 0 0 0 0 Q 0 0 0 q C 0 0 Q C 0 -0 0 0 0 0 0 -3 '0 0 0 译匹维果为 O' 0 1 0 1 ') I 1 0 I 0 L 0 0 0 0 0 1 0 a 1 I 0 1 1 I 1 0 0 I 0 0 0 I 1 1 理号値恳JTM为卅-0 0 a 1 a 1 0 1 0 1 Cl 0 0 0 Cl 1 1 © 0 1 i 3 i i l i o o i o o o

6、i 译再止聲A>d结果截图:上面是较高信噪比时127位BCH正确译码O N0Z)taNAlLAh?waccti iths丫dsa. see*他士.討 wmd hmiim 虫刖4.-一简痂匚咪咼译1歪统一析-k阳长iv=l?7愉丸到筍E力"-庁计算诣他怅k-3S自动吐曲匪机愴息庁列输人I,手动魔入惜恵序1谕人匚:BHLi或旳和伪 mF 111 D 0010014911 L 00 I 0燼甜Jfri 战码.号列力 LiioaoifloioiiioO'LC 世高斯白洁道霽LA.irj里殖信道输丸0 :拚人信雷信嘆比血付讨肌1$苧諭合适挨收砚为 1 1 1 1 1 0 C 0

7、I 1 0 D 1 1 D 0 1 0 1 1 1 1 1 I 0 I 0 1 I 1 I 0 0 -0 I 发送吗字沟 1 1 . 0 0' I 0 U 1 0 L J I D 0 J 0 1 J L 1 1 L 0' 0 C 1 0 j I 0 1 I I 通过僧道出塔2E怪惜霍閣样尙'000000030011 ODOOOOOOOOCODWOOaC a OOOODOfl译畴玉为 1 L 1 I L Q 0©】1)01 I 0 Q 101 I I 11 I I I ;!】Q I L 1 I 010 y还片信邑序列为if = I iaooiooioiiooii

8、i 111111)0010110译玛铭误A»lF面是较低信噪比时127为BCH错误译码结果框内容(加粗部分是手动输入内容,下划线是结果重点)-简易BCH编码译码系统-输入码长n= 128错误:只支持本原BCH码 输入码长n= 127输入纠错能力t= 6计算得码长k=85自动生成随机信息序列输入1,手动键入信息序列输入0 :随机生成的序列为 m= 000 110 0 110 111 1 00000000001101110111010111011编码后生成码序列为00101011010100110 110 10 0110 10 0 101011010101110过高斯白信道输入1,过理想

9、信道输入0 :0输入信道信噪比(单位分贝,15左右较合适):10 接收码字为 001010110101000001111110 10 0 10 10 1110发送码字为 001010110101010 10 10 1通过信道后出错 4位错误图样为1 000000000译码结果为0 0 10 10 10011011110011110 11110 10 10 1还原信息序列为m ' = 0010101101110011011110010001110 11000000000111 11110 10 0 0m=0;01101110111010111011译码正确五、实验小结整个过程严格按照所学

10、BCH码相关知识编写,所得结论完全正确。六、源代码cic clear all disp('-简易BCH编码译码系统-') flag=1;while(flag)%输入n%计算mn=input('输入码长 n=');while(2m-1=n&&m<20)m=m+1;endl=i;if(m=20)%非本原就重新输入%输入tfor i=1:2:(2*t-1)%求最小多项式,只找奇数项b=1,aAi;%让b分别为a".找每一个(这么定义是要卷积的)while ai=a(2*l) %找共轭根系dispC错误:只支持本原BCH码')el

11、se flag=0;end end flag=1;while(flag)t=inp ut('输入纠错能力t=');if(t>=floor( n-1)/2)|(tv=0)disp('错误:纠错能力不能为0或者不能太大')else flag=0;end enda=gf( 2,m);%构造扩域,matlab自动只把a当做扩域中的本原元l=2*l;b=co nv(b,1,aAl);% 求最小多项式endif i=1 g=b;elseg=co nv(g,b);%求生成多项式利用卷积,进行连乘endendgx=double(g.x);%从扩域到数域相当于变成多项式k=

12、n-le ngth(gx)+1;%k=n-(叶 1)+1disp('计算得码长k=',num2str(k) flag=1;while(flag)tem p=i np ut('自动生成随机信息序列输入1,手动键入信息序列输入0 :n');if tempmx=rou nd(ra nd(1,k);%随机生成信息组disp('随机生成的序列为m= ',n um2str(mx)if le ngth(i np utm)=k输入信息序列','s');flag=0;else inp utm=str2mat(i np ut('dis

13、p('错误:输入码长应为,num2str(k)else flag=0;endmx=str2 num(i np utm(:):for i=1:n%量化为01序列endendx1=zeros(1,le ngth(gx);%循环码编码方程中的x1(1)=1;c1=c on v(x1,mx);%码字的前k位,编码方程第一项%编码方程第二项q,r=dec on v(c1,gx);r=mod(r,2);c=mod(c1+r,2);%生成系统码,转换成为二进制disp('编码后生成码序列为',n um2str(c)judge=inp ut('过高斯白信道输入1,过理想信道输入

14、0 :n');if judge=1%过信道SNR=input('输入信道信噪比(单位分贝,15左右较合适):');rr=awg n(c,SNR);else rr=c;endif rr(i)>=0.5r(i)=1;else r(i)=0;endfor e=t:-1:1%降阶end disp('接收码字为,num2str(r) disp('发送码字为,num2str(c) en um=0;for i=1:nif r(i)=c(i)en um=e num+1;end end disp('通过信道后岀错,num2str(enum),' 位&

15、#39;)s=a+a;%构造伴随式,初始化sfor i=1:2*ts(i)=a+a;forj=1:ns(i)=s(i)+r(j)*aA(n-j)*i);endendA=a+a;for i=1:efor j=1:eki=1;endendendA(i,j)=s(e+i-j);if det(A)=0 break; %判断行列式是否为奇异,是就继续降endd=ra nk(A);%开始求方程组B=a+a;for i=1:dB(i)=s(d+i);endif A=a+a%接受的码字岀错的情况elsecc=r;E=zeros(1, n);sigma=A(B');%错误位置多项式的系数E=zeros(1, n);x=a+a;for i=1: n%试根h=a0;for j=1:dh=h+sigmaa)*aA(i*j);end if h=a+ax(k)=aA( n-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论