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

下载本文档

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

文档简介

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

2、多项式。 4.所有非共腕根系的最小多项式乘积得到生成多项式g(x) 5,利用系统码编码方程C(x)=xn-km(x)+Remg(x)xn-km(x),进行编码。 BCH码译码方法主要有Peterson译码法和Berlekamp迭代译码法等,其中Peterson译码方法如下: 1,计算伴随式。已知接受向量R(x),则=三印),i=1,2,.2t 2 .求解错误位置。引入错误位置多项式,将求解错误位置的问题转化为 求解线性方程组的问题 Se二1+Se-1二2+.+SFe=Se+1 Se+101+Se02+.+S2Ce=Se+2 S2e4-1S2e22Sf-e=S2e 3 .用PeterSon译码方

3、法译码,解出错误位置多项式系数和错误图样,得到估值码字。 (1) .假设e=t,计算S行列式M的值。M=0则降阶,e=e-1,同样计算直到MW0. (2)将上面得到的2t个连续根代入试根, 求上述方程组解。 取倒数即为错误位置。由此写出错误图样。 求出译码。 每一步具体的实现方法,详见程序源代码注释 三、程序框图 编码框图 输入信息 序列 输出码字 四、 过信道框图 译码框图 输入R(x) 输fH 实验结果分析 结果截图: CominandWfidow ONewtoMATLAB?WatchthtsVkieo,SMDanos,orreddGettinciParted.X 简易B BC C盗码译码

4、不统 输入码长蛇2g2g 错误:只支持本原BCBC师 箭人闰长317317 输入纠错能力上=方 计算得得长k=35k=35 自动生成随机信息序列输入1,1,手动键入信息序列前入Q Q; ;: L L 随机生或的向U U为OQlQtOltOlOlOOflOQlOQlQtOltOlOlOOflOQl Q Q0 0 1 10 0 1 1t tI I0 00 0I I0000G GI I 堀码后为OOLOlOllOlOLOOOOOl10011011LOOLOlOllOlOLOOOOOl10011011L0010000010001 1 过高斯白信道输入1,1,过殂福信道输入口: I I 射人信道信噪比(

5、单位分贝,1515左右较合适J J: :1010 接收现字光(OlOjOllOlOlCOOOflllOOlOlOjOllOlOlCOOOflllOOlL L0 0I IL L I I0000I ICQCQ01011 11111 发送码字为UOlOlQllOlOlOOOOOllOOllOllLlOOlOOQllllUOlOlQllOlOlOOOOOllOOllOllLlOOlOOQllll通过信道后出错i i位 措谡图洋为Q0QOQ0QO口口 译码结果为0010101101010000011001101100101011010100000110011011L L1 100001 10000001

6、 11L1L 还原信息序列为用=QoQo1 1a a1 1o oL LLo oL LQ1 1aooaoaooao1 1Lo ooioiloiiiifloioooiloiiiifloioooi译吗正晡 A A I I 上面是较高信噪比时127位BCH正确译码 F F面是较低信噪比时127为BCH错误译码 。Ne.jtoMAILAfi?WatchthsME、see口三作5,orreadInttin/Etmit己d. 简易BCIfiBCIfi扇吗译码系统 输入码长仇=127127 输M M憾能力t=6t=6 计算得码长上的 自动生成随机信息序列输入1,1,手动麋入信息序列输入口:I I 随机牛暇的序

7、列站61=111(10(11(01011100101111111100(110110161=111(10(11(01011100101111111100(1101101后生成码序剂为111111。口0100101001口11101110。1 1。111111110111111110。0101。110110 过高斯白信道输入L L过理超值道输入。: I I 输入信道信噪比I I段位分贝,1 1速右较合适,;,;5 5 接收码字为L1L1L0001100110010111111110L1L1L000110011001011111111010L1L10100110L1L101001字为lllQOQl

8、QOlOlllOUlOllllllllCiOCilQllOlllllllQOQlQOlOlllOUlOllllllllCiOCilQllOllll 通过信道后出错2525位 *图样为OOOOOOOOOOOOOOOOOCOOOCOOOOOOOOOOOOOOOOOOOOOCOOOCOOOO0000000000000000000000 丽造果为liiiiOOOiiQOJtOOlClLilllllQlQliliOiQOliiiiOOOiiQOJtOOlClLilllllQlQliliOiQO信息序列为11*=11*=JlJ00010O101L100L0lllIlill0000101JlJ00010O1

9、01L100L0lllIlill0000101译码错误 AlAl IN 结果框内容(加粗部分是手动输入内容,下划线是结果重点) -简易BCH编码译码系统- 输入码长n=128 错误:只支持本原BCH码 输入码长n=127 输入纠错能力t=6 计算得码长k=85 自动生成随机信息序列输入1,手动键入信息序列输入0: 随机生成的序列为m=00101 100110111100 000000001111 0110101 1000111 1110101 01110111010111011 编码后生成码序列为001010110101 10011 00000 01110 00010 011 000 111

10、010 010101110 过高斯白信道输入1,过理想信道输入0: 1 1 1 1 1 输入信道信噪比(单位分贝,15左右较合适):10 接收码字为0010101101010 11011 00000 10111 10010 10111 发送码字为0 11011 00000 10111 10010 110011111101011 00010 001010 110011111101011 00010 0001 1111 1001 1111 1101 0001 1101 1011 1111 101110 通过信道后出错4位 00000 11011 00001 111 010 100 001 1111

11、01 010000 100100 001011 010000 111101 010000 100100 001010 1011 0001 1001 0101 0110 1000 1101 1000 1001 0110 1000 1101 1000 1101 错误图样为00000000000000000000 00000000 00000000 00000000 00000000 00000000 00001000 00001000 00000000 译码结果为001010110101 1101111001000111 0000011111110101 0000 0000 0000 0001 0

12、000 1101 0000 0000 0000 0000 0100 0110 1000 1101 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 110111010111011100100100001001000010111100101011010101110 还原信息序列为m=00101011010100000110011011110010001111101100000000011111110101000011 01110111010111011 译码正确 五、实验小结 整个过程严格按照所学BCH码相关知识编写,所得结论完全正确。 六、源代

13、码 clc clearall end % a=gf(2,m);%构造扩域,matlab自动只把a当做扩域中的本原元 fori=1:2:(2*t-1)%求最小多项式,只找奇数项 b=1,aAi;%让b分别为aAi.找每一个(这么定义是要卷积的) l=i; whileaAi=aA(2*l)% 找共斩根系 % disp(-简易BCH编码译码系统 flag=1; while(flag)% n=input(输入码长n=); m=0; while(2Am-1=n&m=floor(n-1)/2)|(t=0.5循环码编码方程中的 码字的前k位,编码方程第一项 编码方程第二项 生成系统码,转换成为二进制

14、 fori=1:n r(i)=1; elser(l)=0; end end dlsp(接收码字为,num2str(r) dlsp(发送码字为,num2str(c) enum=0; forl=1:n ifr(i)=c(i) enum=enum+1; end end disp(,通过信道后出错 % s=a+a;% forl=1:2*t s(l)=a+a; forj=1:n s(l)=s(l)+r(j)*aA(n-j)*l); end end fore=t:-1:1% A=a+a; forl=1:e forj=1:e A(l,j)=s(e+l-j); end end lfdet(A)=0break;% end end d=rank(A);% B=a+a; forl=1:d B(l)=s(d+l); end lfA=a+a% cc=r; E=zeros(1,n); else slgma=A(B);% E=zeros(1,n); x=a+a; kl=1; ,num2str(enum),位) 构造伴随式,初始化s 降阶 判断行列式是否为奇异 开始求方程组 接受的码字出错的情况 错误位置多项式的系数 ,是就继续降 fori=1:n%试根 h=aA0;forj=1:d h=

温馨提示

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

评论

0/150

提交评论