




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验6 BCH循环码的编码与译码一、实验内容用VC或Matlab软件编写循环BCH码的编码与译码程序。利用程序对教科书的例题做一个测试。二、实验环境1. 计算机2. Windows 2000 或以上3. Microsoft Visual C+ 6.0 或以上4. Matlab 6.0或以上三、实验目的1. 通过BCH循环码的编码与译码程序的编写,彻底了解并掌握循环BCH的编码与译码原理2. 通过循环BCH码的编码与译码程序的编写,提高编程能力。四、实验要求1. 提前预习实验,认真阅读实验原理以及相应的参考书。2. 对不同信道的进行误码率分析。特别是对称信道,画出误码性能图。即信道误码率与循环汉
2、明码之间的关系。3. 认真填写实验报告。五、实验原理1. 循环BCH的编码与译码原理(略)2. 循环BCH的程序实现。六、实验步骤1.基本概念:设 是 上的一个本原,t是整数,含有2t个跟 ,其系数在 上,并且最低次多项式 为循环码生成多项式,并称为而原本预案BCH码。参数如下:码长: 校验位数: 最小码距: 纠错能力:。其中 和纠错能力t 是任意整数2.计算方法:(1)有 算出 ,遭到一个 次的本原多项式 ,产生 扩域。(2)在 上找到一个本原a,一般情况下是利用本原多项式的根,分别计2t个连续米次根所对应的 域上的最小多项式 (3)计算2t个连续奇次幂之根所对应的最小多项式的公倍式,得到生
3、成多项式(4)由关系式 求得BCH码字3.程序实现:对于BCH(15,5),有matlab实现程序如下:BCH编码 enbch155.mfunction coded = bch155(msg_seq) %定义函数bch编码% 输入为msg_seq信息位% 输出为编码后的码元codedg=1 0 1 0 0 1 1 0 1 1 1; %生成多项式系数n=15;k=5; %默认为BCH(15,5)% 从输入msg_seq中提取信息位msgdisplay(信息位:)if nargin1 %判断输入信息 ,若未输入,系统自动产生5组信息码,并显示出信息位 nmsg=5;msg=randi(0,1,nm
4、sg,k) else lmsg = length(msg_seq); nmsg = ceil(lmsg/k); msg = msg_seq(:);zeros(nmsg*k-lmsg,1);msg = reshape(msg,k,nmsg). endxx = msg zeros(nmsg,n-k); %将输入信息码msg拓展为矩阵形式的xx% 进行编码,将xx编码为codedcoded =zeros(nmsg,n);for i=1:nmsg q,r=deconv(xx(i,:),g); %产生余式 r=abs(rem(r,2); coded(i,:)=r;endcoded = coded + x
5、x; %产生信息码endBCH解码 debch155.mM=4;code = gf(code,M);m , n=size(code);decode=;code1=;T2=6;N=15;mat=gf(2,M,code.prim_poly).(N-1:-1:0*(1:T2);Tx = 0 1 zeros(1,T2-1); for i=1:m ;code1=code(i,:); M=code1.m;T2=6;N=15; S = code1* (gf(2,M,code1.prim_poly).(N-1:-1:0*(1:T2); LambdaX = gf(1 zeros(1,T2),M,code1.pr
6、im_poly); Tx = 0 1 zeros(1,T2-1); L=0; for k = 1:T2; LambdaXTemp = LambdaX; Delta = S(k) - LambdaXTemp(1+1:L)*(S(k-1:L); if Delta.x; LambdaX = LambdaXTemp - Delta*Tx; if 2*L k; L = k-L; Tx = LambdaXTemp/Delta; end; end; Tx = 0 Tx(1:T2); end; LambdaXValue = LambdaX.x; LambdaX = gf(LambdaXValue(1:max(
7、find(LambdaXValue), M, code1.prim_poly); errLoc_int = roots(LambdaX);errLoc = log(errLoc_int); for i = 1:length(errLoc); errorMag = 1; code1(N-errLoc(i) = code1(N-errLoc(i) - errorMag; end; decode=decode;code1; end; ccode = double(decode.x); decode = ccode(:,1:5);end测试文件 bch_en_decode.mfunction bch_
8、en_decode(msg) %编码 if nargin bch_en_decode()信息位:msg = 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0编码后码元:coded = 0 0 1 1 1 1 0 1 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0信道传输中干扰后,接收到的信息coder = 0 0 0 1 1 1
9、 0 1 0 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0解码后decode = 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0法二:输入信息位在matalb中输入下面两行代码,得到结果如下 msg=1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1; bch_en_decode(
10、msg)信息位:msg = 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1编码后码元:coded = 1 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1信道传输中干扰后,接收到的信息coder = 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生创新创业基础项目教程 课件 项目九 模拟开办企业
- 主管药师(专业知识)模拟试卷答案学习资料
- 种子学第一章2013学习资料
- (高清版)DB510100∕T 171-2015 海栀子观赏苗木扦插培育技术规程及质量分级
- 幼儿园大班体育教案
- 李宁品牌分销渠道研究
- 决胜关键2025年计算机二级考试试题及答案
- 车间巡查管理制度建设
- 食品日常查验管理制度
- 通宝集团印章管理制度
- 弱电机房验收标准
- 安全专项整治三年行动台账套表
- 《数据的收集与整理》说课稿课件
- 脚手架或模板支架立杆底地基承载力计算
- 超导材料应用举例PPT课件
- 2020年超星尔雅重说中国近代史通识课期末考试答案
- 急性肺动脉栓塞诊断及介入治疗经验分享PPT课件
- 初中数学知识框架
- 轮胎式装载机检测报告(共5页)
- 电动机可逆运行控制电路
- 抗菌药物分级管理目录(完整资料).doc
评论
0/150
提交评论