ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:202.37KB ,
资源ID:3007231      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-3007231.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(BCH码编译码matlab仿真.doc)为本站会员(tangtianxu1)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

BCH码编译码matlab仿真.doc

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

2、42()-()-()kMxxx4. 所有非共轭根系的最小多项式乘积得到生成多项式 ()gx5. 利用系统码编码方程 ,进行编码。- -()()=()+RemnknkgxCxBCH 码译码方法主要有 Peterson 译码法和 Berlekamp 迭代译码法等,其中 Peterson 译码方法如下:1. 计算伴随式。已知接受向量 ,则()x(),i=1,2.iiSt2求解错误位置。引入错误位置多项式,将求解错误位置的问题转化为求解线性方程组的问题1-21+22122.=s.s.eeeeeeess3用 Peterson 译码方法译码,解出错误位置多项式系数和错误图样,得到估值码字。(1).假设 e

3、=t,计算 S 行列式 M 的值。M=0 则降阶,e=e-1,同样计算直到 M0.(2)将上面得到的 2t 个连续根代入试根,求上述方程组解。取倒数即为错误位置。由此写出错误图样。(3)求出译码。每一步具体的实现方法,详见程序源代码注释。三、 程序框图编码框图输入码长度 n 和纠错能力 t求 m , 判断能否生成该码N O生成扩域 G F ( 2 m )找本原元 a找 2 t 个连续根和其共轭根系计算最小多项式计算生成多项式g ( x )得到信息序列通过译码方程进行译码输出码字显示输出码字n,t输入信息序列Y E S结束过信道框图发送码字 信道 ( 高斯白 / 理想 ) 接收码字译码框图四、

4、实验结果分析结果截图:上面是较高信噪比时 127 位 BCH 正确译码下面是较低信噪比时 127 为 BCH 错误译码结果框内容(加粗部分是手动输入内容,下划线是结果重点):-简易 BCH 编码译码系统-输入码长 n=128错误:只支持本原 BCH 码输入码长 n=127输入纠错能力 t=6计算得码长 k=85自动生成随机信息序列输入 1,手动键入信息序列输入 0 :1随机生成的序列为 m= 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0

5、1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1编码后生成码序列为 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0

6、 1 0 1 0 1 1 0 1 0 1 0 1 1 1 0过高斯白信道输入 1,过理想信道输入 0 :1输入信道信噪比(单位分贝,15 左右较合适):10接收码字为 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1

7、1 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0发送码字为 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 0通过信道

8、后出错 4 位错误图样为 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0译码结果为 0 0 1 0 1 0 1 1 0 1 0 1 0 0

9、0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 0还原信息序列为 m= 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0

10、0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1译码正确 五、 实验小结整个过程严格按照所学 BCH 码相关知识编写,所得结论完全正确。六、 源代码clcclear all%-disp(-简易 BCH 编码译码系统-)flag=1;while(flag) %输入 nn=input(输入码长 n=);m=0;while(2m-1=nelse r(i)=0;endenddisp(接收码字为,num2str(r)disp(发送码字为,num

11、2str(c)enum=0;for i=1:nif r(i)=c(i)enum=enum+1;endenddisp(通过信道后出错 ,num2str(enum), 位)%-s=a+a; %构造伴随式, 初始化 sfor i=1:2*ts(i)=a+a;for j=1:ns(i)=s(i)+r(j)*a(n-j)*i);endendfor e=t:-1:1 %降阶A=a+a;for i=1:efor j=1:eA(i,j)=s(e+i-j);endendif det(A)=0 break; %判断行列式是否为奇异,是就继续降endendd=rank(A); %开始求方程组B=a+a;for i=

12、1:dB(i)=s(d+i);endif A=a+a %接受的码字出错的情况cc=r;E=zeros(1,n);elsesigma=A(B); %错误位置多项式的系数E=zeros(1,n);x=a+a;ki=1;for i=1:n %试根h=a0;for j=1:dh=h+sigma(j)*a(i*j);endif h=a+ax(k)=a(n-i);E(i)=1; %错误图样,可以不用求具体根, 找到位置即可ki=ki+1;endendcc=mod(E+r,2); %校正接收码字enddisp(错误图样为 ,num2str(E)disp(译码结果为 ,num2str(cc)m=c(1:k);disp(还原信息序列为 m= ,num2str(m)if cc=cdisp(译码正确 )else disp(译码错误 )end

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报