




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据通信原理数据通信原理 实验报告实验报告 实验题目实验题目 汉明码的编译码 专业班级专业班级 信息工程 2 班 姓名学号姓名学号 赵星敏 201342351 李明阳 201342300 指导教师指导教师 刘钰 实验五 汉明码的编译码 1 实验目的 1 理解汉明码的编码原理 2 掌握利用 simulink 进行汉明码编译码仿真的方法 3 掌握利用 matlab 指令进行汉明码编译码的方法 2 实验原理 在数字通信系统中 为了实现信息的可靠传输 需要采用差错控制来发现并纠 正错误 进行差错控制的方法就是对信息进行差错控制编码 差错控制编码种类 较多 其中线性分组码是常用的一类编码 具有编码效率高 实现较简单以及检纠 错能力较强等特点 一般数字通信系统模型由信源信宿 加解密 编解码 调制解调等模块组 成 其中有些通信模块是组成整个通信系统所必不可少的 有些模块是可以不需要 的 差错控制编解码属于编解码器通信模块 为了方便分析差错控制编码性能 通 过将通信系统简化为如图 5 1 所示的信息传输系统来搭建仿真实验平台进行分 析研究 信源差错控制编码器差错控制解码器信宿信道 图 5 1 编码 有时也称为纠错编码 不同的编码方法 有不同的检错或纠错能力 有的编码只能检错 不能纠错 一般说来 付出的代价越大 检纠错的能力就越 强 在选择差错控制编码时需要考虑到编码效率 检纠错的能力等方面因素的 影响 按照是否将信息码元进行分组可以将差错控制编码分为分组码和非分组 码 线性码是指信息位和监督位满足一组线性方程的码 任一 n k 线性分组码 的编码效率为 k n Simulink 通信模块中提供了二进制线性分组码编解码器 Binary Linear Encoder 和 Binary Linear Decoder 汉明码是汉明 Hamming 于 1950 年提出的能纠正一位错码且编码效率较高 的线性分组码 它可以用一种简洁有效的方法进行解码 汉明码不是仅指某一 种码 而是指一类码 二进制汉明码应满足条件 2n k 1 n 令 m n k 汉明码 n 和 k 服从关系式 码长 n 2m 1 信息位 k 2m 1 m 最小距离 dmin 3 指汉明距离 当 m 3 4 5 6 7 8 时 分别有 7 4 15 11 31 26 63 57 127 120 255 247 汉 明码 汉明码的基本思想 在 k 个信息位上加 r 个校验位 构成 n k r 位的码字 其 中每个校验位和某几个特定的信息位构成偶校验的关系 接收端对这 r 个偶关 系进行校验 即将每个校验位与它关联的信息位进行异或加 相异或的结果称 为校正因子 如果没有错的话 这 r 个校正因子都为 0 如果有一个错则校正因 子不会全为 0 根据校正因子的不同取值 可以知道错误发生在码字的哪一个 位置上 线性分组码的生成原理与 Hamming 码基本一致 下面以 7 4 Hamming 码为例简单地介绍一下汉明码的构造过程 构造一个 7 4 汉明码 就是求出它的生成矩阵 或等效地 求出它的监督 矩阵 也叫校验矩阵 由于 7 4 汉明码的校验矩阵是矩阵 而监督矩阵的列矢 量不能为全零 零与任何码元的乘积为零 失去检验功能 因此监督矩阵 H 的 7 个 列矢量正好是除全零矢量外 3 重矢量的全部可能组合 将 001 T 010 T 011 T 100 T 101 T 110 T 111 T排列起来就是监督矩阵 排列顺序不同 所得 矩阵也就不同 说明 H 不是唯一的 由于交换列不会影响最小距离 所以可以 通过列置换将最初的 H 变换为系统形式的 H 若信息组以不变的形式 在码字的 任意 k 位中出现 则称该码为系统码 否则 称为非系统码 成为系统汉明码 1010101 1100110 1111000 H 经过变换 整理为典型监督矩阵形式为 3 1001011 0101101 0011110 PIH 根据校验矩阵与生成矩阵的转换关系式得到系统汉明码的生成矩阵 G 为 1111000 0110100 1010010 1100001 T kP IG 这样输入信息组 m m3 m2 m1 m0 将 m 与 G 相乘即得到编码后的码字 A 当数字信号编码成汉明码形式后在信道中传输 由于信道中噪声的干扰 可能由于干扰引入差错 使得接收端收到错码 因此在接收端进行汉明码纠错 以提高通信系统的抗干扰能力及可靠性 解码的时候将接收到的信息组 r 与 HT相乘 如果 rHT 0 接收码组无错 如果 rHT 0 则根据译码图样进行纠错 Simulink 通信模块中提 供了 Hamming 码编解码器 Hamming Encoder 和 Hamming Decoder 三 实验内容 1 simulink 仿真汉明码编译码过程 汉明码编译码仿真的模型图如图 5 2 所示 图 5 2 汉明码编译码仿真 各模块参数及说明 Bernoulli Binary Generator 伯努利二进制随机数产生器 模块描述 产生服从伯努利分布的随机二进制序列 模块的输出可以是帧结构 的矩阵 也可以是数据流形式的行或列向量或一维数组 模块位置 Communications Blockset Comm Sources Random Data Sources Bernoulli Binary Generator 模块参数 参数说明 Probability of a zero 模块产生的二进制序列中出再 0 的概率 Initial seed 随机数种子 不同的随机数种子通常产生不同的序列 Sample time 抽样时间 表示输出序列中每个二进制符号的持续时间 此处参 数表示在 0 02 秒内产生 4 个比特 Frame based outputs 选种表示输出为帧格式 否则输出数据流 Samples per frame 只有当 Frame based outputs 选种后才可编辑此参数 它 表示输出一帧中包含的抽样点数 此处表示 1 帧由 4 个比特组成 Hamming Encode 汉明码编码器 模块描述 用于对输入信息进行汉明编码 汉明码是一种能够纠正一位错误的 红性分组码 码长为 N 该信息位的长度为 K 其中 N 2 M 1 M 3 K N M 模块位置 Communications Blockset Error Detection and Correction Block Hamming Encode 模块参数 Binary Symmetric Channel 二进制对称信道 模块描述 用于对二进抽制信号的误比特率性能进行仿真 添加二进制噪声到 输入信号 可以是标量 数据流向量或帧结构的行向量 模块位置 Communications Blockset Channels Binary Symmetric Channel 模块参数 参数说明 Error probability 添加噪声比特的概率 Hamming Decode 汉明码译码器 模块描述 创建一个码长为 N 信息码长为 K 的汉明码 其中 N 2M 1 M 3 K N M 模块位置 Communications Blockset Error Detection and Correction Block Hamming Decode 模块参数 此处的两个参数要与前面的 Hamming Encode 参数一致 Error Rate Calculation 误码率计算 模块描述 通过比较传输数据和接收数据来计算误码率 模块的输出数据是长 度为 3 的向量 其中每个元素的意义分别是 误码率或误比物率 总的错误个 数 总的参加比较的符号或比特数 模块位置 Communications Blockset Comm Sinks Error Rate Calculation 模块参数 参数说明 Receive delay 指定接收方滞后发送的抽样点数 即接收的第几个值对应发送的 第一个值 Computation delay 指定开始比较时模块忽略的抽样点数 Computation mode 指定模块是比较全部还是输入数据 Output data 指定计算结果是输出到工作区还是端口 To Workspace 输出到工作区 模块描述 写入专门的数据到 MATLAB 的主工作区 数据不可用直到仿真结束或 暂停 模块位置 Simulink Sinks To Workspace 模块参数 参数说明 Variable name 写入工作区间的数据名称 默认为 simout Limit data points to last 模块最多可以保留的数据个数 inf表示无穷大 Decimation 写入数据的抽样频率 即每隔多少抽样点输入一个值 Sample time 写入数据的抽样时间 默认值为 1 表示与上一模块抽样时间相同 Save format 输出数据的形式 Display 显示仿真结果 模块描述 显示结果 模块位置 Simulink Sinks Display 模块参数 参数说明 Format 显示在模块对话框上的数据形式 short显示小数据点后5位数字 2 利用 matlab 语句进行汉明码编译码 MATLAB中提供了汉明码的编码和译码函数 本程序直接调用进行编程 将用到的程序函数说明如下 encode函数 功能 编码函数 语法 code encode msg N K hamming 说明 该函数对二进制信息msg进行汉明编码 K为信息位长度 N为码字长度 msg是一个任意行K列的矩阵 比如 code encode 1 0 0 0 1 1 0 1 7 4 hamming 运行结果为 code 1 1 0 1 0 0 0 0 0 0 1 1 0 1 decode函数 功能 译码函数 语法 rcvcode decode code N K hamming 说明 该函数对接受码字进行译码 恢复出原始信息 译码参数及方式必须和 编码时采用的完全相同 比如 在 结果的基础上 rcvcode decode code 7 4 hamming 运行结果为 rcvcode 1 0 0 0 1 1 0 1 randint函数 功能 产生一个均匀分布的n m维的整数矩阵 矩阵的元素是随机的 语法 randint m n 说明 randint m n 矩阵中的元素或者是0或者是1 0或者1的出现是随机的 比如 randint 3 2 运行结果为 ans 0 0 0 1 0 1 语法 randint m n range 说明 产生一个m n的随机矩阵 矩阵元素值的范围由range确定 比如range设 定为一个区间 randint 2 3 1 6 就是产生一个2 3随机矩阵 这个矩阵的元素 是区间 1 6 的随机整数 比如 randint 3 2 1 2 运行结果为 ans 2 1 1 2 1 2 rem函数 功能 求余数 语法 R rem X Y 求X除以Y的余数 X Y应该为正数 当Y为2时 相当于模 二运算 randerr函数 功能 产生比特误差样本 语法 randerr A B 说明 产生A行B列的随机误差样本矩阵 比如 randerr 3 2 运行结果为 ans 0 1 1 0 0 1 说明 计算A B两个矩阵中的误比特数 返回给num 计算误码率返回rat biterr函数 功能 计算误比特数和误比特率 语法 num rat biterr A B 说明 计算A B两个矩阵中的误比特数 返回给num 计算误码率返回rat 参考matlab编译码的指令代码为 K 4 N 7 row num 20 msg randint row num 4 信息产生 产生row num行4列的二进制随机矩阵 row num表示要对row num组信息数进行编码 code encode msg N K hamming 7 4 汉明编码 输出为3行7列的已编码矩阵 nois randerr row num N code noise rem code nois 2 编码后进入有噪信道 则加上噪声 3行7 列的随机数 rem运算相当于取了模二和 code nois 表示两个二维矩阵 求和 rcv decode code noise N K hamming 汉明译码 num rat biterr rcv msg 比较编码前和译码后矩阵 计算误码率 运行指令的方法 1 直接在matlab的command window窗口下输入上述语句 2 在matlab主界面下 新建一个空白文档 输入以下命令行 然后保存为 m 文件 按F5键 或者在 m文件界面选择菜单debug run运行 运行结果会显示 在matlab 的command window窗口下 四 实验结果 5 实验结论 通过结果可知 汉明码可以降低误码率 提高系统抗干扰能力 6 实验总结 通过这次通信原理课程设计的题目是汉明码的编码 译码 因为之前并没 有接触过 MATLAB 中的 SIMULINK 所以在画原理图和设置参数的时候遇到 了不少困难 但好在网上可借鉴的资源很多 通过学习相关的教程和查阅 MATLAB 中的 help 这些困难都迎刃而解了 这其中我深刻地体会到专业英语 的重要性 可想而知
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度双鸭山市专业技术继续教育公需科目考试及答案
- 2025年编导理论考试题库(含答案)
- 2025年农业数字化资格考试(农业碳排放数字化-碳减排技术应用)考核试卷
- 2025年老年认知障碍患者日常生活能力训练管理考核试卷
- 2025年疫苗接种规范操作考试:接种人员心理健康支持计划考核试卷
- 2025年能源安全保障精治规范岗前考核试卷
- 肃正协议书配船
- 没有空白就业协议书
- 股东合作协议样本:合作协议终止后的后续事宜
- 茶饮品牌咨询方案
- 2025年盘锦市总工会面向社会公开招聘工会社会工作者52人考试参考试题及答案解析
- 2025河北水发节水有限公司公开招聘工作人员16人笔试参考题库附答案解析
- 2025年秋人教版数学四年级上学期第一次月考测试卷【附答案】
- 新版中华民族共同体概论课件第十二讲民族危亡与中华民族意识觉醒(1840-1919)-2025年版
- 美国RAZ分级读物目录整理
- 110kV七棵树输变电工程环境影响报告表
- 传染病学课件:霍乱完整版
- 化疗在晚期肺癌治疗中的应用讲解课件
- 十七世纪英国资产阶级革命
- 班主任专业化和家长资源开发韩似萍
- WS/T 102-1998临床检验项目分类与代码
评论
0/150
提交评论