信息论复习—差错控制编码

news2024/9/23 1:41:29

目录

差错控制编码的基本概念:

差错控制编码的主要类型和方式: 

差错控制编码的主要类型:

差错控制方式:

简单的差错控制方法:

奇偶校验码:

重复码:

信道编码的基本概念和定理*:

信道编码的基本概念:

最大后验译码准则:

定义编码速率(纠错编码的信息率)定义为:

归一化信道容量:

信道编码定理:

信道编码定理的意义:


差错控制编码的基本概念

通过对数据进行某种编码处理,使得接收端可以判断接收到的数据,是否出现错误,甚至可以纠正一定范围内错误。差错控制编码是将有误码的物理信道改造成无差错的逻辑信道的一种方法。

所谓差错控制编码,通常是通过代数的方法,加入与待传输的数据有一定关联关系的监督位来实现的。在接收端可根据特定的关联关系是否受到破环来判别是否出现错误,并可在一定程度上根据出错的情况纠正错误。在纠错编码中加入的监督位本身并不携带信息,因此有时也将监督位成为冗余位

每一组 k 位信息位,编码后生成 n 位长度的码字,则定义编码效率:

冗余度:


差错控制编码的主要类型和方式: 

差错控制编码的主要类型:

(1)线性码与非线性码

线性码:监督码元与信息码元间的关系是一种线性关系;

非线性:监督码元与信息码元间的关系则是一种非线性的关系。

(2)分组码与卷积码

分组码:监督码元与信息码元间以码组为单位建立关系;

卷积码:监督码元不仅与本组的信息码元有关,还与前面若干个码组的信息码元有关。

(3)系统码与非系统码

系统码:编码后信息码元部分的排列结构保持不变;

非系统码: 编码后码组中信息码元部分的排列结构发生了变化,一般不能看出原来信息码元的图样结构。

通信系统通常可分为单工半双工、和全双工三种工作方式。

    单工:单向、没有回传通道的系统称之;

    半双工:双向,但发送和接收必须分时进行的系统称之;

    全双工:双向,发送和接收可同时进行的系统称之。

差错控制方式:

(1)检错重发:通过差错控制编码,使得接收端具有检错能力,接收端如果发现传输出错,通过反向信道请求重发。

   检错重发方式,要求系统具有反向传输通道;

   检错重发方式通常具有较高的编码效率。 

(2)前向纠错采用具有检错和纠错的编码算法,接收端不仅能够检测出错误,而且定位出码字中错误的位置并加以纠正。

  前向纠错的方法适用于包括单工通信系统的应用场合。

  在一些对实时性要求较高的通信场合,必须采用前向纠错的方法。

  前向纠错需要定位错误的位置和出现何种错误(对二进制以外的纠错编码),通常编译码的方法比较复杂,效率较低、

  (3)混合差错控制:结合检错重发前向纠错方式优点的差错控制方法;

  对于出现较少错误时,由前向纠错方式加以纠正;当经纠错后仍有错误时,则启动检错重发机制。

  混合差错是一种兼顾效率和复杂性的方法。


简单的差错控制方法:

奇偶校验码:

奇偶校验码是一种通过增加1监督位,从而使得码组具有检测1位误码的差错控制方法。

(1)偶校验:

(2)奇校验:

所有可能的信息码组经过差错控制编码后,得到的输出码组(也称为码字)构成了一个称为许用码字的集合:许用码字集

示例偶校验码字中所有含偶数个“1”的码字为许用码字;所有含奇数个“1”的码字为禁用码字。奇校验码字中所有含奇数个“1”的码字为许用码字;所有含偶数个“1”的码字为禁用码字。如果传输过出错使得原来的许用码字变为另外一个许用码字,则这种错误不能被发现

重复码:

上例中可见,“000”和“111”3位码元均相同,是一种3位的重复码,可发现任意的2位错误和纠正1位错误。3位的重复编码可推广到一般的情形,若 n 位的重复码用于表示1比特信息。如

可发现任意的n-1位误码;采用择多逻辑进行判决,可纠正任意的少于n/2位的误码。重复码编译码简单,但效率较低。


信道编码的基本概念和定理*:

信道编码的基本概念:

编码信道的基本模型:

最大后验译码准则:

误码的概率:

正确译码的概率:

若规定译码规则

则可使得差错概率最小,最佳译码方法

定义编码速率(纠错编码的信息率)定义为:

其中L信息位长度,N编码输出码字长度。 

归一化信道容量:

已知离散信道的容量:

  信息论的基本知识,有:

定义归一化信道容量为:

信道编码定理:

给定归一化信道容量Cn,若Ri<Cn则Ri是可达的。

信道编码定理给出了编码速率Ri可达的基本条件

在信道编码定理的证明过程中,可得:


信道编码定理的意义:

信道可达性的定义包含了可通过增大码字的长度来改善信道编码误码性能的思想

      1)纠正了传统的观点:信道编码的可靠性和有效性是一对不可调和的矛盾。为信道编码理论与技术的发展指明了方向。

      (2)信道编码定理并没有告诉我们如何具体应如何编码,才能保证译码能够满足的条件。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/181853.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4 反向传播

文章目录问题提出计算图中的神经网络改进&#xff08;激活函数&#xff09;反向传播前馈计算反向传播pytorch当中的前馈与反馈Tensor张量课程代码课后作业课程来源&#xff1a; 链接课程内容部分来源&#xff08;觉得归纳的非常好的&#xff09;&#xff1a; 链接以及&#xff…

MySQL中的运算符

目录 一.运算符 简介 算术运算符 比较运算法 逻辑运算符 位运算符 实例演示 一.运算符 简介 数据库中的表结构确立后&#xff0c;表中的数据代表的意义就已经确定。通过MySQL运算符进行运算&#xff0c;就可以获取到表结构以外的另一种数据。 例如&#xff0c;学生表中…

[数据结构笔记]二叉树初阶

基本知识 树 -节点的度&#xff1a;一个节点含有的子树的个数称为该节点的度&#xff1b; -叶节点或终端节点&#xff1a;度为0的节点称为叶节点&#xff1b; -非终端节点或分支节点&#xff1a;度不为0的节点&#xff1b; -父节点&#xff1a;若一个节点含有子节点&#xff…

Mybatis 通过接口实现 sql 执行原理解析

使用过 mybatis 框架的小伙伴们都知道&#xff0c;mybatis 是个半 orm 框架&#xff0c;通过写 mapper 接口就能自动实现数据库的增删改查&#xff0c;但是对其中的原理一知半解&#xff0c;接下来就让我们深入框架的底层一探究竟1、环境搭建首先引入 mybatis 的依赖&#xff0…

Consul服务注册与发现

目录 一、Consul简介 &#xff08;一&#xff09;官网 &#xff08;二&#xff09;特点 二、安装并运行Consul &#xff08;一&#xff09;官网安装说明 &#xff08;二&#xff09;下载 &#xff08;三&#xff09;使用开发模式启动 三、服务提供者 四、服务消费者 …

怎么压缩pdf文件?选对方法其实很简单!

相信许多人在使用设备的时候都会面对这样一个问题&#xff0c;那就是设备内存不足。仿佛不管我们多么努力的节省空间&#xff0c;总是会到头来遇到储存空间不足得难题&#xff0c;尤其是一些比较大的pdf文件&#xff0c;特别占据我们的设备内存&#xff0c;那么你知道怎么压缩p…

0128 Web API基本认知

作用使用JS去操作html和浏览器分类DOM&#xff08;文档对象模型&#xff09;BOM&#xff08;浏览器对象模型&#xff09;DOM是什么&#xff1a;Document Object Model-----文档对象模型&#xff0c;用来呈现以及与任意HTML或XML文档交互的API&#xff0c;浏览器提供的一套专门用…

【Linux】一文掌握Linux权限

环境&#xff1a;centos7&#xff0c;腾讯云服务器Linux文章都放在了专栏&#xff1a;【Linux】欢迎支持订阅&#x1f339;前言权限 一词相信大家都不陌生&#xff0c;与我们的生活密切相关。小区里的门禁制度、公司里的管理制度、学校里的校规规定、甚至是社交平台上的一些设置…

python 手机相机传感器信息计算

传感器信息计算 输入传感器尺寸以上已红米12pro为例 输入传感器尺寸 1/1.4英寸 0.7142857 输入像素2亿 200000000 得到以下结果 和宣传中的传感器信息一致 附源码 import sympyclass CMosInfo(object):"""传感器信息计算"""def __init__(…

C 程序设计教程(19)—— 数组和指针(二):字符数组与字符串

C 程序设计教程&#xff08;19&#xff09;—— 数组和指针&#xff08;二&#xff09;&#xff1a;字符数组与字符串 该专栏主要介绍 C 语言的基本语法&#xff0c;作为《程序设计语言》课程的课件与参考资料&#xff0c;用于《程序设计语言》课程的教学&#xff0c;供入门级用…

word实用操作:几个关于录入和排版的小妙招

对于职场人来说&#xff0c;工作中使用Word早已成了习惯。而如何提高Word的技术&#xff0c;那简直是职场人一生都需要研究探索的课题。因此&#xff0c;今天小编将为大家分享几个实用的Word小技巧&#xff0c;这些技巧貌似不起眼&#xff0c;但是学会后&#xff0c;可以大大提…

如何查linux服务器的带宽占用?哪些进程占用带宽?

前言操作系统&#xff1a; Linux操作环境&#xff1a; Centos7 / ubuntulinux查看服务器带宽具体方法   一、使用speedtest-cli命令查看下载和上传最大流量值因为命令是python的&#xff0c;所以需要先下载一个python&#xff0c;用pip下载次命令&#xff1b;123yum -y insta…

七个 Vue 项目用得上的 JavaScript 库分享

文章目录前言一、vueuse二、vue-js-modal三、vue-wait四、good-table五、vue-notification六、tree select七、egjs-infinite grid总结前言 借助开源库加速 Vue 项目的开发进度是现代前端开发比较常见的方式&#xff0c;平常收集一些 JavaScript 库介绍&#xff0c;在遇到需要的…

上古神兵,先天至宝,Win11平台安装和配置NeoVim0.8.2编辑器搭建Python3开发环境(2023最新攻略)

毫无疑问&#xff0c;我们生活在编辑器的最好年代&#xff0c;Vim是仅在Vi之下的神级编辑器&#xff0c;而脱胎于Vim的NeoVim则是这个时代最好的编辑器&#xff0c;没有之一。异步支持、更好的内存管理、更快的渲染速度、更多的编辑命令&#xff0c;是大神Thiago de Arruda对开…

第九层(5):STL之stack

文章目录前情回顾stack概念stack容器需要注意的地方stack类内的构造函数stack类内的赋值操作stack类内的插入stack类内的删除stack类内的访问stack类内的大小操作下一座石碑&#x1f389;welcome&#x1f389; ✒️博主介绍&#xff1a;一名大一的智能制造专业学生&#xff0c;…

Knowledge-based-BERT(三)

多种预训练任务解决NLP处理SMILES的多种弊端&#xff0c;代码&#xff1a;Knowledge-based-BERT&#xff0c;原文&#xff1a;Knowledge-based BERT: a method to extract molecular features like computational chemists&#xff0c;代码解析继续downstream_task。模型框架如…

HTML中的div和span标签

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>HTML中的div和span标签</title> </head> <body> <!-- 1、div和span是什么&#xff1f;有什么用…

【linux】文件操作(IO)详述

文件操作一、引入二、系统调用接口2.1 open与close2.2 write2.3 read三、文件描述符3.1 分配规则四、重定向4.1 输出重定向4.2 追加重定向4.3 输入重定向4.4 独立性五、缓冲区5.1 缓冲区刷新策略5.2 缓冲区位置5.3 现象解释六、文件系统6.1 文件系统分区6.1.1 分区图6.1.2 介绍…

实时推荐业务介绍 grpc接口对接

5.1 实时推荐业务介绍 学习目标 目标 无应用 无 5.1.1 实时推荐逻辑 逻辑流程 1、后端发送推荐请求&#xff0c;实时推荐系统拿到请求参数 grpc对接2、根据用户进行ABTest分流 ABTest实验中心&#xff0c;用于进行分流任务&#xff0c;方便测试调整不同的模型上线3、推荐中心…

k8s之部署有状态应用

写在前面 本文一起看下k8s对于有状态应用部署提供的解决方案。 1&#xff1a;有状态应用和无状态应用 如果是一个应用每次重启时依赖环境都能和第一次启动时的完全一致&#xff0c;则就可以称这类应用是无状态应用用&#xff0c;反之&#xff0c;就是有状态应用&#xff0c;如…