计算机通信常用的纠错方式,纠错

纠错是指一种用于纠正在传送或存储数据期间产生的出错数据的方法。纠错可以有几种方法,其中最常见的方法是重传纠错和前向纠错。

中文名

纠错

外文名

error correcting

所属学科

通信原理与基本技术功    能

纠正产生的出错数据

常见方法

重传纠错、前向纠错等

应    用

现代数据通信

纠错简述

编辑

语音

在数据通信的早期,几乎所有通信都发生在端坐于终端前与大型计算机通信的人类操作员之间。由于当时的比特率很低,所以提供纠错的最有效方法大概是称为符号置换的技术。符号置换设计成在人类环境中使用——当有人在终端前分析接收到的数据并对其完整性作出决定时。利用符号置换,如果接收到的一个字符有错误,不是将它回复到较高级别的纠错,或者显示这个不正确的字符,而是利用不是由字符代码规定的惟一字符(如反向问号)置换这个坏字符。如果操作员不能辨别有瑕疵的字符,那么将要求重传(即符号置换是选择性重传的一种形式)。例如,如果消息包含的是字母字符,操作员也许能够弄明白不正确的字符是什么。但是,如果消息包含的是数字,操作员也许将请求重传。

在现代数据通信领域,用于纠错的方法主要有两种:重传和前向纠错。[1]

纠错重发纠错

编辑

语音

ARQ是数据通信中常用的一种差错控制方式,有时也称为自动重发请求。发送端经编码后,发出能够检错的码;接收端收到后,进行检验,再通过反向信道反馈给发送端一个应答信号;发送端收到应答信号后,进行分析,若是接收端认为有错,发送端就把存储在缓冲存储器中的原有码组复本读出后,重新传输;反复上述过程,直到接收端认为已正确收到信息为止。

ARQ方式的主要特点:ARQ方式只需要较少的冗余码,就能获得极低的传输误码率。相对于FEC方式而言,ARQ方式是用检错码代替纠错码,因而比前向纠错占用更少的传输线路,编码器和译码器较为简单,成本也低得多。ARQ方式需要有反馈信道,因而不能用于单向传输信道和广播系统中。ARQ方式的控制规程比较复杂。当系统出现错误需要重发时,其通信效率较低。

由于反馈重发的随机性,ARQ方式的实时响应性不如前向纠错方式,所以ARQ方式不适合用于实时传输系统。

ARQ方式由于工作原理简单,在电话通信中的No.7信令、电报通信和某些卫星通信系统中得到了广泛的应用。实际上,计算机系统容错技术中的重试、向后恢复等技术也采用了ARQ方式。[2]

纠错前向纠错

编辑

语音

前向纠错(FEC,Forword Error-Correction)方式。发送端发送能够纠正错误的码,接收端收到信码后自动地纠正传输中的错误。其特点是单向传输,实时性好,但译码设备较复杂。

这种方式的优点是显而易见的。它不需要反馈信道,能用于一点发送多点接收的组播或广播通信中,而ARQ方式则不行;另外发送和接收端都不必设数据缓冲器,适合于实时通信的要求。它的缺点是:纠错码的纠错能力是有限的。若纠错能力强,则所加的冗余码的比特个数就多,在常用的前向纠错系统中,冗余码占总发送码的20%~50%,从而降低了数据传输效率;前向纠错所加的冗余码的个数与信道的差错统计特性相关,如何找到这个定量关系是很困难的,因而如何选择冗余码以达到最佳的纠错能力与最高的传输效率也是很困难的;另外,前向纠错所需的设备比反馈重发要复杂一些。

这种方式具有突出的优点,编码/译码器易于大规模集成电路化,无论在军用通信还是在常用的通信中都有广泛的应用前景。[3]

纠错混合纠错

编辑

语音

混合纠错(HEC,Hybrid Error-Correction)方式是FEC和ARQ方式的结合。发送端发送具有自动纠错同时又具有检错能力的码。接收端收到码后,检查差错情况,如果错误在码的纠错能力范围以内,则自动纠错,如果超过了码的纠错能力,但能检测出来,则经过反馈信道请求发送端重发。这种方式具有自动纠错和检错重发的优点,可达到较低的误码率,因此近年来得到广泛应用。

另外,按照噪声或干扰的变化规律,可把信道分为三类:随机信道、突发信道和混合信道。恒参高斯白噪声信道是典型的随机信道,其中差错的出现是随机的,而且错误之间是统计独立的。具有脉冲干扰的信道是典型的突发信道,错误是成串成群出现的,即在短时间内出现大量错误。短波信道和对流层散射信道是混合信道的典型例子,随机错误和成串错误都占有相当比例。对于不同类型的信道,应采用不同的差错控制方式。[2]

词条图册

更多图册

参考资料

1.

(美)WAYNE TOMASI著 张宝生 孙岩等译.国外经典教材·计算机科学与技术 数据通信与联网技术:清华大学出版社,2006年02月

2.

王兴亮,寇宝明主编.数字通信原理与技术:西安电子科技大学出版社,2009.05

3.

国林 杨武 王巍 张乐君编著.重点大学计算机专业系列教材 数据通信基础:清华大学出版社,2006年07月

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

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

相关文章

word总积分怎么算计算机,Word文档怎么计算积分

回答:1、求和:作一表格,填入一系列数字,光标定位于最后一格中,点击表格工具栏中的∑,即可求得总和;2、求平均数:填入一系列数字,光标定位于最后一格中,点击菜单中的“表格”-“公式”,在弹出对话框中填入公式“AVERAGE…

kmeans算法中的sse_聚类算法入门:k-means

一、聚类定义聚类分析(cluster analysis)就是给你一堆杂七杂八的样本数据把它们分成几个组,组内成员有一定的相似,不同组之间成员有一定的差别。区别与分类分析(classification analysis) 你事先并不知道有哪几类、划分每个类别的标准。比如垃圾分类就是…

win7局域网计算机 慢,Win7系统开机宽带连接很慢怎么办?

Win7系统用户在使用电脑系统上网时,都需要对宽度进行连接,但有用户反映在开机时机宽带连接非常缓慢,甚至要等上十来分钟,这使用户非常苦恼,那么Win7系统开机宽带连接很慢应该怎么办呢?接下来下面就来教大家…

小天才被限定使用时长的应用_家庭腕上社交新场景,OPPO Watch、小天才开启暖心联动...

说到小天才手表,相信家长朋友们都或多或少的听说过,或者正在给孩子使用。可爱的造型和实用的功能还有亲民的价格,让小天才手表成为青少年智能穿戴领域的热门产品。特别是对于正在上幼儿园和小学阶段的小朋友来说,支持通话和定位功…

ef 多个左联接查询_.NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记...

2.4.5 EF Core -- 查询关联数据加载客户端与服务端运算跟踪与不跟踪复杂查询运算原生 SQL 查询全局查询筛选器关联数据加载学员和助教都在项目分组中&#xff0c;调整模型&#xff0c;删除 AssistantProjectGroup 添加 Member 列表public List<Member> Members { get; se…

用友 无法正确解析服务器,用友T3软件登陆软件时提示:“可能无法正确解析服务器名称或者相应的端口被禁用,请尝试输入服务器的IP地址”?...

你好&#xff01;现在想要建立2015年的年度账&#xff0c;但新建年度账 是2016年 怎么解决&#xff1f; 你好&#xff01;现在想要建立2015年的年度账&#xff0c;但新建年度账 是2016年 怎么解决&#xff1f;[]您账才 做到2014年&#xff0c;要建立2015年度账&#xff1f;服务…

来自网页的消息服务器繁处理忙,EventSource 对象用于接收服务器发送事件通知,是网页自动获取来自服务器的更新...

//--------------------------------客户端代码-----------------------------if(typeof(EventSource) ! "undefined") {var source new EventSource("../api/v1/event.source");source.onmessage function(event) {$("#content_event").html(…

linux定向查日志_linux日志查找技巧

基础命令# 查询日志尾部最后10行的日志;tail -n 10 test.log#查询10行之后的所有日志;tail -n 10 test.log# 查询日志文件中的头10行日志;head -n 10 test.log# 查询日志文件除了最后10行的其他所有日志;head -n -10 test.log# 查看日志的尾部&#xff0c;并刷新显示日志变动。…

三国杀服务器改名 插图修改,《三国杀》大幅修改的武将——新旧两版,你更喜欢哪一位...

三国杀中&#xff0c;某些武将因为太强或者太弱&#xff0c;不能适应游戏环境&#xff0c;都会进行修改&#xff0c;例如&#xff1a;李丰、马良、伏皇后、曹冲等等&#xff0c;但这些武将修改之后&#xff0c;原有武将就淘汰了。其实&#xff0c;还有一类武将&#xff0c;技能…

php开源mvccms_轻松理解MYSQL MVCC 实现机制

1. MVCC简介1.1 什么是MVCCMVCC是一种多版本并发控制机制。1.2 MVCC是为了解决什么问题?大多数的MYSQL事务型存储引擎,如,InnoDB&#xff0c;Falcon以及PBXT都不使用一种简单的行锁机制.事实上,他们都和MVCC–多版本并发控制来一起使用.大家都应该知道,锁机制可以控制并发操作…

苹果电脑mac_清理Mac苹果电脑DNS缓存

说到清理苹果电脑想必不少网友会说苹果电脑不需要清理&#xff0c;但事实情况是现在对于“苹果电脑清理”的这个话题一直在不断地热议中&#xff0c;虽说Mac OS X系统它的优化比较好&#xff0c;很多小的无效数据文件会自动归类清除&#xff0c;但很多时候一些稍大的数据文件仍…

学python需要记笔记吗_开始学python,一些笔记

想想其实应该还是像在linux下一样在命令行下测试的&#xff0c;但是先跟着一个教程在IDE上试试手吧。1. 中文编码&#xff0c;我用的是python2.6.9 加两行注释&#xff1a;#!/usr/bin/python2.6# -*- coding: utf-8 -*-我原以为第一行是Python的安装目录&#xff0c;所以找了很…

鼠标追踪没用_【擺评】赛睿里最好用的小手鼠标---Rival 3

拿到这鼠标真的是有段时间了&#xff0c;深度体验了一个多月。先说&#xff0c;这是我用过所有赛睿鼠标里最喜欢的鼠标&#xff0c;虽然它不贵&#xff0c;虽然它是有线的&#xff0c;但真的舒服&#xff01;可能我也没用过几个赛睿的鼠标&#xff0c;仅有以下几款&#xff0c;…

java代码ftp重命名未生效_java使用apache commons连接ftp修改ftp文件名失败原因

今天被ftp上中文名修改坑了好久项目用的是 apache commons 里的 FtpClient 实现的对ftp文件的上传下载操作&#xff0c;今天增加了业务要修改ftp上的文件名&#xff0c;然后就一直的报错&#xff0c;问题是它修改名字的方法只返回一个boolean&#xff0c;没有异常&#xff0c;这…

zynq中mgtx应用_Zynq7000系列之芯片引脚功能综述

很多人做了很久的FPGA&#xff0c;知道怎么去给信号分配引脚&#xff0c;却对这些引脚的功能及其资源限制知之甚少&#xff1b;在第一章里对Zynq7000系列的系统框架进行了分析和论述&#xff0c;对Zynq7000系列的基本资源和概念有了大致的认识&#xff0c;然而要很好地进行硬件…

mysql存储过程触发器_MySQL存储过程及触发器

一、存储过程存储过程的基本格式如下&#xff1a;-- 声明结束符-- 创建存储过程DELIMITER $ -- 声明存储过程的结束符CREATE PROCEDURE pro_test() --存储过程名称(参数列表)BEGIN-- 可以写多个sql语句; -- sql语句流程控制SELECT * FROM employee;END $ -- 结束 结束符-- 执行…

mysql 扩展存储过程_MySQL4:存储过程和函数

什么是存储过程简单说&#xff0c;存储过程就是一条或多条SQL语句的集合&#xff0c;可视为批文件&#xff0c;但是起作用不仅限于批处理。本文主要讲解如何创建存储过程和存储函数以及变量的使用&#xff0c;如何调用、查看、修改、删除存储过程和存储函数等。使用的数据库和表…

netcore quartz job用不了services_.NetCore开源集成框架

GitHub地址&#xff1a;https://github.com/zwl568633995/AspNetCoreScaffolding&#xff08;感兴趣的Fork给个小星星吧~&#xff09;AspNetCoreScaffolding本框架在.netCore和.netStandard的基础上&#xff0c;集成了多种中间件.NetCore集成框架&#xff0c;即开即用如果对您有…

mysql基准性能测试标准_mysql性能测试与优化——(一),基准测试套件

笔者英语不好&#xff0c;又没人翻译&#xff0c;只好自己动手&#xff0c;希望大家多提意见&#xff0c;我好及时修改&#xff0c;以免误导他人。本文仅供参考&#xff0c;笔者对使用者产生的任何后果&#xff0c;概不负责。 转载请注明出处&#xff01;正文&#xff1a;The…

python合并数组输出重复项_python进行数组合并的方法

python的数组合并在算法题中用到特别多&#xff0c;这里简单总结一下&#xff1a;假设有a1和a2两个数组&#xff1a;a1[1,2,3]a2[4,5,6]合并方式1. 直接相加#合并后赋值给新数组a3a3 a1 a22. extend#调用此方法&#xff0c;a1会扩展成a1和a2的内容a1.extend(a2)3. 列表表达式…