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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4325331.html】到电脑端继续下载(重复下载【60天内】不扣币)。

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(BCH码编译码matlab仿真.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

BCH码编译码matlab仿真.doc

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

2、生成多项式 5. 利用系统码编码方程,进行编码。 BCH码译码方法主要有Peterson译码法和Berlekamp迭代译码法等,其中Peterson译码方法如下: 1. 计算伴随式。已知接受向量,则 2.求解错误位置。引入错误位置多项式,将求解错误位置的问题转化为求解线性方程组的问题 3.用Peterson译码方法译码,解出错误位置多项式系数和错误图样,得到估值码字。 (1).假设e=t,计算S行列式M的值。M=0则降阶,e=e-1,同样计算直到M≠0. (2)将上面得到的2t个连续根代入试根,求上述方程组解。取倒数即为错误位置。由此写出错误图样。 (3)求出译

3、码。 每一步具体的实现方法,详见程序源代码注释。 三、 程序框图 编码框图 过信道框图 译码框图 四、 实验结果分析 结果截图: 上面是较高信噪比时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

4、 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 编码后生成码序列为 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0

5、 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

6、 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

7、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 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

8、 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 通过信道后出错 4 位 错误图样为 0 0 0 0 0 0 0 0 0 0 0 0

9、 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

10、 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 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

11、 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 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1

12、 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码相关知识编写,所得结论完全正确。 六、 源代码 clc clear all %---------------------------------------------- disp('---简易BCH编码译码系统---') flag=1; while(flag) %输入n

13、 n=input('输入码长n='); m=0; while(2^m-1~=n&&m<20) %计算m m=m+1; end if(m==20) %非本原就重新输入 disp('错误:只支持本原BCH码') else flag=0; end end flag=1; while(flag) %输入t t=input('输入纠错能力t='); if(

14、t>=floor((n-1)/2))||(t<=0)) disp('错误:纠错能力不能为0或者不能太大') else flag=0; end end %---------------------------------------------- a=gf(2,m); %构造扩域,matlab自动只把a当做扩域中的本原元 for i=1:2:(2*t-1) %求最小多项式,只找奇数项 b=[1,a^i]; %让b分别为a^i...找每一个(这么定义是要卷积的) l=i; while a^i~=a^(2*l) %找共轭根

15、系 l=2*l; b=conv(b,[1,a^l]);%求最小多项式 end if i==1 g=b; else g=conv(g,b); %求生成多项式利用卷积,进行连乘 end end %-------------------------------------------------- gx=double(g.x);%从扩域到数域相当于变成多项式 k=n-length(gx)+1;%k=n-(r+1)+1 disp(['计算得码长 k=',num2str(k)]) flag=

16、1; while(flag) temp=input('自动生成随机信息序列输入1,手动键入信息序列输入0 :\n'); if temp mx=round(rand(1,k));%随机生成信息组 disp(['随机生成的序列为 m= ',num2str(mx)]) flag=0; else inputm=str2mat(input('输入信息序列','s')); if length(inputm)~=k disp(['错误:输入码长应为',num2str(k)]) else flag=0;

17、 end mx=str2num(inputm(:))'; end end %---------------------------------------------------- x1=zeros(1,length(gx)); %循环码编码方程中的 x1(1)=1; c1=conv(x1,mx); %码字的前k位,编码方程第一项 [q,r]=deconv(c1,gx); r=mod(r,2); %编码方程第二项 c=mod(c1+r,2)

18、 %生成系统码,转换成为二进制 disp(['编码后生成码序列为 ',num2str(c)]) %----------------------------------------------------- judge=input('过高斯白信道输入1,过理想信道输入0 :\n'); if judge==1 SNR=input('输入信道信噪比(单位分贝,15左右较合适):'); rr=awgn(c,SNR); %过信道 else rr=c; end for i=1:n

19、 %量化为01序列 if rr(i)>=0.5 r(i)=1; else r(i)=0; end end disp(['接收码字为',num2str(r)]) disp(['发送码字为',num2str(c)]) enum=0; for i=1:n if r(i)~=c(i) enum=enum+1; end end disp(['通过信道后出错 ',num2str(enum),' 位']) %-----------------------------------------

20、 s=a+a; %构造伴随式,初始化s for i=1:2*t s(i)=a+a; for j=1:n s(i)=s(i)+r(j)*a^((n-j)*i); end end for e=t:-1:1 %降阶 A=a+a; for i=1:e for j=1:e A(i,j)=s(e+i-j); end end if det(A)~=0 break; %判断行列

21、式是否为奇异,是就继续降 end end d=rank(A); %开始求方程组 B=a+a; for i=1:d B(i)=s(d+i); end if A==a+a %接受的码字出错的情况 cc=r; E=zeros(1,n); else sigma=A\(B'); %错误位置多项式的系数 E=zeros(1,n); x=a+a; ki=1; for i=1:n %试根 h=a^0;

22、for j=1:d h=h+sigma(j)*a^(i*j); end if h==a+a x(k)=a^(n-i); E(i)=1; %错误图样,可以不用求具体根,找到位置即可 ki=ki+1; end end cc=mod(E+r,2); %校正接收码字 end disp(['错误图样为 ',num2str(E)]) disp(['译码结果为 ',num2str(cc)]) m=c(1:k); disp(['还原信息序列为m’= ',num2str(m)]) if cc==c disp('译码正确 ') else disp('译码错误 ') end .

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服