实验6 BCH循环码的编码与译码_第1页
实验6 BCH循环码的编码与译码_第2页
实验6 BCH循环码的编码与译码_第3页
实验6 BCH循环码的编码与译码_第4页
免费预览已结束,剩余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 对不同信道的进行误码率分析 特别是对称信道 画出误码性能图 即信道误码率与循环汉明 码之间的关系 3 认真填写实验报告 五 实验原理五 实验原理 1 循环 BCH 的编码与译码原理 略 2 循环 BCH 的程序实现 六 实验步骤六 实验步骤 1 基本概念基本概念 设 是 上的一个本原 t 是整数 含有 2t 个跟 其系数在 2mGF 232 t 上 并且最低次多项式 为循环码生成多项式 并称为而原本预案 BCH 码 参数如下 2GF g x 码长 1 2mn 校验位数 rnkmt 最小码距 min0 21ddt 纠错能力 t 其中 和纠错能力 t 是任意整数 3 m m 1 2mt t 2 计算方法 计算方法 1 有 算出 遭到一个 次的本原多项式 产生 扩域 21 m n mm p x 2mGF 2 在 上找到一个本原 a 一般情况下是利用本原多项式的根 分别计 2t 个连续米次根 2mGF p x 所对应的 域上的最小多项式 232 t 2GF 122 t mxmxmx 3 计算 2t 个连续奇次幂之根所对应的最小多项式的公倍式 得到生成多项式 132 t g xLCM mxmxmx 4 由关系式 求得 BCH 码字 C xm x g x 3 程序实现 对于程序实现 对于 BCH 15 5 有有 matlab 实现程序如下 实现程序如下 BCH 编码 enbch155 m function coded bch155 msg seq 定义函数 bch 编码 输入为 msg seq 信息位 输出为编码后的码元 coded g 1 0 1 0 0 1 1 0 1 1 1 生成多项式系数 n 15 k 5 默认为 BCH 15 5 从输入 msg seq 中提取信息位 msg display 信息位 if nargin 1 判断输入信息 若未输入 系统自动产生 5 组信息码 并显示出信息 位 nmsg 5 msg randi 0 1 nmsg k else lmsg length msg seq nmsg ceil lmsg k msg msg seq zeros nmsg k lmsg 1 msg reshape msg k nmsg end xx msg zeros nmsg n k 将输入信息码 msg 拓展为矩阵形式的 xx 进行编码 将 xx 编码为 coded coded zeros nmsg n for i 1 nmsg q r deconv xx i g 产生余式 r abs rem r 2 coded i r end coded coded xx 产生信息码 end BCH 解码 debch155 m M 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 prim 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 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 m function bch 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 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 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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论