matlab系统仿真-信道编码交织.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab系统仿真-信道编码交织

第8章 信道编码和交织 本章内容 8.1 概述 8.1.1 差错控制方式 8.1.2 纠错码的分类 8.1.3 编码效率 8.2 线性分组码 8.2.1 Hamming码 8.2.2 循环码 8.2.3 BCH码 8.2.4 RS码 8.2.5 CRC校验码 8.3 卷积码 8.3.1 卷积码的原理 8.3.2 卷积码的描述 8.3.3 卷积码的译码 8.3.4 卷积码仿真 8.4 交织器 8.1.1 差错控制方式 检错重发、前向纠错和混合纠错 8.1.2 纠错码的分类 线性码与非线性码 分组码与卷积码 检错码和纠错码 8.1.3 编码效率 采用差错控制编码是提高了通信系统的可靠性,但是以降低有效性为代价换来的。 通常定义编码效率R 来衡量有效性 其中,k 是一个码组中信息元的个数,n 为码长 对纠错码的基本要求是: 检错和纠错能力尽量强; 编码效率尽量高; 编码规律尽量简单。实际中要根据具体指标要求,保证有一定纠、检错能力和编码效率,并且易于实现。 8.2 线性分组码 8.2 线性分组码 8.2.1 Hamming码 8.2.2 循环码 除了具有线性码的一般性质外,还具有循环性即循环码许用码组集合中任一码字循环移位所得的码字仍为该码组集合中的一个码字。 特点: 可以用反馈线性移位寄存器很容易地实现其编码和伴随式计算。 由于循环码有许多固有的代数结构,从而可以找到各种简单实用的译码方法。 8.2.2 循环码 8.2.2 循环码 8.2.2 循环码 8.2.3 BCH码 8.2.4 RS码 在线性分组码中,它的纠错能力和编码效率是最高的 短的中等码长下,其性能接近于理论值 不但可以纠正随机错误、突发错误以及两者的结合,而且可以用来构造其他码类,如级联码 8.2.4 RS码 8.2.4 RS码 8.2.4 RS码 8.2.5 CRC校验码 8.3.1 卷积码的原理 8.3.1 卷积码的原理 8.3.2 卷积码的描述 树图、状态图和格图 树图描述的是在任何数据序列输入时,码字所有可能的输出。 8.3.2 卷积码的描述 状态图 8.3.2 卷积码的描述 格图也称网络或篱笆图,它由状态图在时间上展开而得到 8.3.3 卷积码的译码 代数译码和概率译码两大类。 代数译码是利用生成矩阵和监督矩阵来译码,最主要的方法是大数逻辑译码。 概率译码比较实用的有两种: 维特比译码 序列译码 目前,概率译码已成为卷积码最主要的译码方法 8.3.3.1 维特比(Viterbi)译码 是一种最大似然译码算法。 最大似然译码算法的基本思路是,把接收码字与所有可能的码字比较,选择一种码距最小的码字作为解码输出。 由于接收序列通常很长,所以维特比译码对最大似然译码做了简化,即它把接收码字分段累接处理,每接收一段码字,计算、比较一次,保留码距最小的路径,直至译完整个序列。 8.3.3.2 序列译码 译码先从码树的起始节点开始,把接收到的第一个子码的n个码元与自始节点出发的两条分支按照最小汉明距离进行比较,沿着差异最小的分支走向第二个节点。在第二个节点上,译码器仍以同样原理到达下一个节点,以此类推,最后得到一条路径。 若接收码组有错,则自某节点开始,译码器就一直在不正确的路径中行进,译码也一直错误。因此,译码有一个门限,当接收码元与译码器所走的路径上的码元之间的差异总数超过门限值时,译码器判定有错,并且返回试走另一分支。经数次返回找出一条正确的路径,最后译码输出。当该门限值很小时,序列译码的性能接近最大似然译码,尽管译码时每一次搜索的计算量和所需存储容量不大,但是其频繁的返回则要求更大的计算量,反而使其译码延时远大于维特比译码。当门限值很大时,序列译码的计算量和延时会大大减少,但不一定能搜索到最佳路径,从而导致译码输出误比特率增大。 8.3.4 卷积码仿真 MATLAB提供了卷积码的函数编码convenc和相应的Viterbi译码函数vitdec,可以快速地得到编译码结果。 卷积码的编码函数主要有以下3个。 1、code=convenc(msg,trellis) 完成输入信号msg的卷积编码,其中trellis代表编码多项式,但其必须是MATLAB的网格结果,需要利用poly2trellis函数将多项式转化为网格表达式。msg的比特数必须为log2(trellis.numInputSymbols)。 2、code=convenc(msg,trellis,puncpat) 作用与1类似,其中puncpat定义凿孔模式。 3、code=convenc(msg,trellis,…,init_state) init_state指定编码寄存器的初始状态。 4、decoded=vitdec(co

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档