通信原理板块——差错控制编码或纠错编码

2023-11-21 09:52

本文主要是介绍通信原理板块——差错控制编码或纠错编码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
在这里插入图片描述
1、背景
数字信号在传输过程中,由于存在干扰,码元波形将变坏。接收端收到后可能发生错误判决。由乘性干扰引起的码间串扰,可以采用均衡的办法纠正。而加性干扰的影响,先合理选择调制制度、解调方法以及发送功率,其次可以把差错控制作为附加手段。
差错控制是以降低信息传输效率为代价换取提高传输可靠性。
2、差错控制技术
从差错控制角度出发,按照加性干扰引起的错误分布规律不同,信道可以分为三类:随机信道(random channal)、突发信道(burst channal)和混合信道(mixed channal)。
随机信道:错码的出现是随机的,而且错码之间是独立统计的。
突发信道:错码是成串集中出现的,在一些短促的时间段内会出现大量错码,而在这些短促的时间段之间存在较长的无错码区间。成串出现的错码称为突发错码。产生的主要原因有:脉冲干扰和信道中的衰落现象
混合信道:既存在随机错码又存在突发错码,且哪一种都不能忽略不计的信道
差错控制技术主要有四种,检错重发、前向纠错、反馈校验、检错删除
(1)检错(error detection)重发(retransmission)
在发送码元序列中加入差错控制码元,接收端利用这些码元检测到有错码时,利用反向信道通知发送端,要求发送端重发,直到正确接收为止。
检测到有错码,是指在一组接收码元中知道有一个或一些错码,但不知道该错码应该如何纠正。
二进制系统中,可以通过对错码码元取补即能纠正,不需要重发;多进制系统中,即使知道了错码的位置,也无法确定其正确值。
采用检错重发技术,通信系统需要有双向信道传输重发指令。
(2)前向纠错FEC
接收端利用发送端在发送码元序列中加入的差错控制码元,不但能发现错码,还能将错码恢复其正确取值。
采用FEC时,不需要反向信道传送重发指令,也没有因反复重发而产生的时延,故实时性好。
为了能够纠正错码,不仅仅检测到有错码,还需要加入更多的差错控制码元。故设备要比检测重发设备复杂。
(3)反馈(feedback)校验(checkout)
不需要在发送序列中加入差错控制码元。接收端将接收到的码元原封不动地转发回发送端。在发送端将它和原发送码元逐一比较。若发现不同,则认为接收端收到的序列中有错码,发送端立即重发。
需要双向信道,因为每个码元都需要占用两次传输时间,传输效率比较低。
(4)检测删除(deletion)
和检测重发的区别在于,在接收端发送错码后,立即将其删除,不要求重发。只适用于在少数特定系统,在发送码元中有大量多余度,删除部分接收码元不影响应用。
3、纠错编码效率
(1)监督码元
在发送端需要在信息码元序列中增加一些差错控制码元,称为监督码元,监督码元与信息妈呀之间有确定的关系,比如某种函数关系,使接收端有可能利用这种关系发现或者纠正可能存在的错码。
差错控制编码又称为纠错编码。不同编码方法,有不同的检错或纠错能力。
(2)编码效率(code rate)、多余度以及冗余度
设编码序列中信息码元数量为k,总码元数量为n,比值k/n就是编码效率,或码率。监督码元数(n-k)和信息码元数k之比(n-k)/k称为冗余度
比如在编码序列中平均每两个信息码元就添加一个监督码元,这编码的多余度为1/3,编码效率为2/3。
4、自动要求重发系统(ARQ)
采用检错重发法的通信系统,通常称为自动要求重发ARQ系统
三种ARQ系统,停止等待ARQ系统、拉后ARQ系统和选择重发ARQ系统
(1)停止等待ARQ系统
数据按分组发送,每发送一组数据后,发送端等待接收端的确认ACK答复,然后发送下一组数据。若某一组数据有误,接收端发回一个否认NAK答复。发送端将重新发送该组数据。系统处于半双工(half-duplex)状态,传输效率较低。
在这里插入图片描述
(2)拉后ARQ系统
发送端连续发哦送数据组,接收端对于每个接收到的数据组都发回确认(ACK)或否认(NAK)答复。一旦接收某组数据有误,则在发送端收到该组数据的否认答复后,从该组数据从新发送数据组。需要对发送的数据组和答复进行编号,以便识别。需要双工通信。
在这里插入图片描述
(3)选择重发(selective repeat)ARQ系统
只重发出错的数据组,提高了传输效率
在这里插入图片描述
(4)ARQ系统原理框图
①在发送端,输入的信息码元在编码器中被分组编码,并加入监控码元,除了立即发送,还缓存于缓冲存储器buffer中。
②若接收端解码器检出错码,则由解码器控制产生一个重发指令。此指令讲过反向信道发送至发送端。
③发送端重发控制器控制缓冲存储器重发一次。
④接收端仅当解码器认为接收信息码元正确时,将信息码元送给收信者,否则在输出缓冲存储器中删除接收码元。
⑤当解码器未发现错码时,经过反向信道发出不需要重发指令,接收端收到此指令后,继续发送后一码组,发送端的缓冲存储器的内容也随之更新。
在这里插入图片描述

这篇关于通信原理板块——差错控制编码或纠错编码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/401565

相关文章

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重