labview-信道编码-李聪-11211060_第1页
labview-信道编码-李聪-11211060_第2页
labview-信道编码-李聪-11211060_第3页
labview-信道编码-李聪-11211060_第4页
labview-信道编码-李聪-11211060_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信道编码信道编码 实验报告实验报告 姓 名 李聪 罗贵阳 学 号 11211060 11211015 指导教师 姚冬萍 时 间 2014 年 5 月 14 日 李聪 通信 1101 11211060 1 目录目录 一 线性分组码原理简介 2 1 编码 2 2 译码 3 二 7 4 码 Labview 实现 4 一 读取图片产生数据流 4 二 汉明码编码 4 主要模块 5 三 BPSK 调制 5 四 加性高斯白噪声信道传输 5 五 PSK 解调 6 六 解码 6 七 重构图像 8 三 实验中遇到的问题 9 四 实验心得 10 五 参考文献 10 李聪 通信 1101 11211060 2 基于基于 LabviewLabview 的 的 7 47 4 线性分组码仿真 线性分组码仿真 一 线性分组码原理简介一 线性分组码原理简介 1 1 编码 编码 令 7 4 分组码的生成矩阵为矩阵 G 如下 根据生成矩阵 输出码字可按下式计算 所以有 信息位 冗余位 由以上关系可以得到 7 4 汉明码的全部码字如表 1 所示 表1 7 4 汉明码的全部码字 序号信息码元冗余元序号信息码元冗余元 0000000081000111 1000101191001100 20010101101010010 30011110111011001 40100110121100001 50101101131101010 60110011141110100 70111000151111111 2 2 译码 译码 7 4 汉明码的译码将输入的 7 位汉明码翻译成 4 位的信息码 并且纠正其中可能出现 1000110 0100011 0010111 0001101 G 32103210 1000110 0100011 0010111 0001101 ba a a aGa a a a 2310 1321 0210 baaa baaa baaa 63 52 41 30 ba ba ba ba 李聪 通信 1101 11211060 3 的一个错误 由于生成矩阵G已知且G IkQ 可以得到矩阵Q的值 110 011 111 101 T QP 又因为则 T PQ 1011 1110 0111 P 而校验矩阵H满足 H P Ir 则 1011100 1110010 0111001 H 由校正子 S BHT A E HT EHT可以看出校正子 S 与错误图样 E 是一一对 应的 通过计算校正子得到对应的错误图样 根据式子 A B E 便可得到纠正了一位 可能错误的信息位 完成解码 二 二 7 4 码 码 Labview 实现实现 一 读取图片产生数据流一 读取图片产生数据流 LabVIEW 提供了一个能够读取 JPEG 格式的图像并输出图像数据的模块 提供的还原 像素图 vi 完成图像数据到一维二进制数据的转换 图像数据 十进制二维数组 二进制一 维数组 输出信源比特流 李聪 通信 1101 11211060 4 二 汉明码编码二 汉明码编码 我们知道编码是拿输入的数据流构建信息矩阵然后和生成矩阵相乘得到的 在这里 我们 编码是 7 4 汉明码 先将输入的一维数据流每 4 个排在一起生成一个二维矩阵 采用的 方法是首先测量一维数组里面含有的元素个数 然后除以 4 得到行数 将一维数组流重 排为二维数组 然后和生成矩阵相乘得到码字矩阵 然后将二维码字矩阵重排为一维数据 流输出 主要模块 主要模块 主要用于测量输入数组的大小 在这里我们是来测量一维数据流元素个数 除法算子 矩阵乘法算子 信息矩阵和生成矩阵相乘 数组重排算子 一维数组重排为二维数组 输入是一维数组 两个参数分别是二维 数组维数 三 三 BPSK 调制调制 首先单极性码转化为双极性码 然后用双极性码调制信号 李聪 通信 1101 11211060 5 四 加性高斯白噪声信道传输四 加性高斯白噪声信道传输 根据给定的信噪比 dB 信号功率和编码速率 计算高斯白噪声的功率 生成和信号 数组相同长度的高斯白噪声数组 叠加到信号上 模拟信号经过加性高斯白噪声信道的情 况 在本模块中需要设定信噪比 五 五 PSK 解调解调 解调是测量接收到的信号虚部 对虚部作一个过零比较判决 如果虚部大于 0 则信号判 为 0 小于 0 则判为 1 李聪 通信 1101 11211060 6 六 解码六 解码 实现思路 首先将输入的一维码字数据流重排成 n 7 的二维数组 然后让这个二维数组和 校验矩阵的转置相乘得到 n 3 伴随矩阵 每代表每个码字的伴随式矢量 利用伴随式矢量 可以得到码字哪一位错误 具体判断实现方法是 首先得到伴随式矩阵的行数 也就是码 字个数 这个行数是用来确定循环次数 在每一次循环内 将伴随式矩阵的每一行分离出 来 然后用伴随式矢量的每一行和校验矩阵的每一列进行匹配 和哪一列匹配则证明哪一 位出现了错误 然后再对该数据位取反 对收到的码字进行纠正 除去冗余位即可得到数 据位 还原原来图像的数据流 算子分析 主要用于测量输入数组的大小 在这里我们是来测量一维数据流元素个数 除法算子 矩阵乘法算子 信息矩阵和生成矩阵相乘 数组重排算子 一维数组重排为二维数组 输入是一维数组 两个参数分别是二维 数组维数 测量数组大小 输入的是一个二维数组 返回的是这个数组的行数和列数 李聪 通信 1101 11211060 7 这个模块主要是用来控制循环次数 在每次循环内将每一行取出来 并且根据右边的公式 转化为十进制 然后和校验矩阵每一列匹配 相同 则该列错误 判决模块 判断哪一列出现了错误 数组重排 二维数组变一维数组 七 重构图像七 重构图像 将上步得到的信息流转换成二维的 JPEG 数组 使用 绘制还原像素图 vi 重建图片 三 实验现象以及分析 李聪 通信 1101 11211060 8 加噪后 未编码加噪后 未编码 编码去噪编码去噪 从上面的现象可以看出 加了噪声之后图片出现了很多随机分布的小点 说明信息在高 斯白噪声信道中进行传输后出现了误码 得到的图像还原过来有失真 使能编解码模块 小点渐渐减少 说明了采用编码的方案能够在很大程度上降低误码率 从误码曲线上也能 得到这个结论 采用编码之后误码率下降了将近 90 这也说明了在噪声不是特别大的信 道中 传输的信息码字大部分是只错一位 能够通过 7 4 汉明码很好的进行纠正 三 实验中遇到的问题三 实验中遇到的问题 刚开始做实验的时候什么都不会 甚至是打开工程之后都不知道该怎么运行 主要原因是 对软件不熟悉 后来在网上收到了一些资料之后 才渐渐了解到了这款软件与其他计算机 语言的显著区别是 其他计算机语言都是采用基于文本的语言产生代码 而 LabVIEW 使用 的是图形化编辑语言 G 编写程序 产生的程序是框图的形式 图形化编程之前有所了解 知道它能够在能打程度上减少工程师复杂 繁琐的程序调试工作 极大地提高效率 这次 李聪 通信 1101 11211060 9 无线仿真做实验 本来觉得这个实验比较简单 可是刚开始做的时候还是会觉得有点无从 下手 究其原因 最主要的还是对 labview 中的算子不太熟悉 虽然整个信道编码无论是 从理解还是实现来说都比较简单的 后来实在没有办法 和已经做过的同学进行了交流 听听他们的想法 后来有了思路开始做 可是做的时候还是出现了一些问题 首先是在实 现的过程中有些算子不知道在哪儿找 后来看了 labview 手册之后对这些算子熟悉之后这 个问题很容易就解决了 其次是不会怎么将图片的数据流转化为二维数组 后来在网上找 了些资料之后 学会了使用数组重排函数 只要给出二维数组的行数和列数就可以将一维 数组转化为二维数组 后来在做纠错的时候 不知道伴随式矢量和错误的位数的对应关系 以为是将伴随式矢量转化为十进制 数是多少就是第几位错误 这个理解是错误的 这导 致我在使用信道编码之后传输的误码率没有降低多少 图片还是有很多随机的点 后来通 过与同学老师交流后 知道了正确的方法是将伴随式矢量和校验矩阵匹配 和哪一列相同 则是哪一位出现了错误 四 实验心得四 实验心得 试验我们组选择了信道编码 一个原因这个题目我们比较熟悉 可以有的放矢 另外一方 面 信道编码相对于其他的题目有比较强的实用价值 在信息传输的时候用得非常广泛 它能在很多方面解决信息在传输的过程中出现损失的问题 有点万金油的味道 这次试验 的确很有意思 首先 我们得对图片进行信源编码 转化为二进制的比特流 然后我们将 比特流转化为二进制数组 再与生成矩阵相乘 得到信息矩阵 然后在转化为一维数据流 在信道上进行传输 接受端先将一维比特流转化为数组 然后和校验矩阵转置相乘得到伴 随矩阵 根据伴随矩阵纠正错误 这些过程 简单 思路明晰 实现起来也不是特别困难 当我看到通过自己的努力减小图片信息在高斯信道传输的信息丢失问题之后 我心里面由 衷产生了一种成就感 非常高兴 后来在做实验的过程中 助教向我们提出一个问题是 如果图片转化成的信息比特数如果不是 4 的倍数的时候会出现什么样的结果 由于我们只 是做了编解码模块 没有涉及图片转化为二进制比特流的过程 对这些过程的的原理不是 特别理解 我们当时想当然的说 模块会自动补零到比特数是 4 的倍数 然后在对信息序 列进行编码 后来老师让我们试一试 发现程序其实是有 bug 当点数不是 4 的倍数的时 候 系统自动会把比特截短到 4 的倍数 然后在进行编码 因此在写程序的时候要注意到 这一点 不然会导致在编码过程中信息的丢失 误码率会上升 李聪 通信 1101 11211060 10 五 参考文献 五 参考文献 1 刘君华

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论