常见数据编码方式

news2024/11/14 23:49:25

数据编码方式:
二进制数字信息在传输过程中可以采用不同的代码,各种代码的抗噪声特征和定时功能各不相同,实现费用也不一样。下面介绍几种常用的编码方式。
1、单极性码
在这种编码方案中,只用正的(或负的)电压表示数据。例如,用+3V表示二进制数字“0”,用0V表示二进制数字“1”。单极性码用在电传打字机接口以及pc与tty兼容的接口中,这种代码需要单独的时钟信号配合定时,否则,当传输一长串0或1时,发送机和接收机的时钟将无法定时,单极性码的抗噪声特性也不好。

        
2、极性码
在这种编码中,分别用正点压和负电压表示二进制数“0”和“1”。例如,用+3V表示二进制数字“0”,用-3V表示二进制数字“1”。这种代码的电平比单极性码大,因而抗干扰特性好,但仍然需要另外的时钟信号。

        
3、双极性码
在双极性编码方案中,信号在3个电平(正、负、零)之间变化。一种典型的双极性码就是所谓的信号交替翻转编码(AMI)。在AMI信号中,数据流中遇到“1”时使电平在正和负之间交替翻转,而遇到“0”时则保持零电平。双极性码是三进制信号编码方法,他与二进制编码相比抗噪声特性更好。AMI有其内在的检错能力,当正负脉冲交替出现的规律被打破时容易识别出来,这种情况叫AMI违例。这种编码方案的缺点时传送长传“0”时会失去位同步信息。对此稍加改进的一种方案是“6零取代”双极性码B6ZS,即把连续6个“0”用一组代码替换,这组代码中若含有AMI违例,便可以被接收机识别出来。

        
4、归零码
在归零码中(return to zero,rz)中,码元中间的信号回归到零电平,因此,任意两个码元之间被零电平隔开。与以上仅在码元之间有电平转换的编码方案相比,这种编码方案有更好的噪声抑制特性。因为噪声对电平的干扰比电平转换的干扰要强,而这种编码方案是以识别电平转换来判别“0”和“1”信号的。可以看出,从正电平到零电平的转换边表示码元“0”,从负电平到零电平的转换便表示码元“1”,同时每一位码元中间都有电平转换,使得这种编码称为自定时的编码。

        
5、双相码
双向码要求每一位中都要有一个电平转换。因为这种代码的最大优点是自定时,同时双向码也有检测错误的功能,如果某一位中间缺少了电平反转,则被认为是违例代码。

        
6、不归零码
不归零码(not return to zero,NRZ)的规律是当“1”出现时电平翻转,当“0”出现时电平不翻转。因而数据“1”和“0”的区别不是高低电平,而是电平是否转换。这种代码也叫差分码,用在中断到调制解调器的接口中。这种编码的特点是实现起来简单而且费用低,但不是自定时的。

        
7、曼彻斯特编码
曼彻斯特(manchester code)是一种双向码,用高电平到低电平的转换边表示0,用低电平到高电平的转换边表示“1”,相反的表示也是允许的。位中间的电平转换边表示了数据代码,同时也作为定时信号使用。曼彻斯特编码用在以太网中。

        
8、差分曼彻斯特编码
这种编码也是一种双相码,和曼彻斯特编码不同的是,这种码元中间的电平转换边只作为定时信号,不表示数据。数据的表示在于每一位开始处是否有电平转换:有点评转换表示 “0”,无电平转换表示“1”。差分曼彻斯特编码用在令牌环网种。

        
从曼彻斯特编码和差分曼彻斯特编码的图形中可以看出,这两种双向码的每一个码元都要调制为两个不同的电平,因为调制速度是码元速率的2倍。这对信道的带宽做出了更高的要求,所以实现起来更困难也更昂贵。但由于凄凉更好的看噪声特性和自定时功能,在局域网中仍被广泛使用。
9、多电平编码
这种编码的码元可取多个电平之一,每个码元可代表几个二进制位。例如,零M=2^n,设M=4,则n=2。若表示码元的脉冲取4个电平之一,则一个码元可表示两个二进制位。与双相码相反,多电平码的数据速率大于波特率,因而可提高频带的利用率。但是这种代码的抗噪声特性不好,在传输过程中信号容易即便到无法区分。
在数据通信中,选择什么样的数据编码要根据传输的速率、信道的带宽、线路的质量以及实现的价格等因素综合考虑。

        
10、4B/5B编码
在曼彻斯特编码和差分曼彻斯特编码中,每位中间都有一次电平跳变,因此波特率是数据速率的两倍。对于100Mbps的高速网络,如果采用这类编码方法,就需要200兆的波特率,其硬件成本是100兆波特率硬件成本的5~10倍。
为了提高编码的效率,降低电路成本,可以采用4B/5B编码。这种编码方法的原理如下所示。

        
这实际上是一种二级编码方案。系统中使用不归零码,在发哦送到传输介质之前要变成见1就翻不归零码(NRZ-I)。NRZ-I代码序列中1的个数越多,越能提供同步定时信息,但如果遇到长串0,则不能提供同步信息。所以在发送到介质之前还要经过一次4B/5B编码,发送器扫描要发送的为序列,4为分为一组,然后按照表2-2的对应规则变换成5位的代码。             
5为二进制代码的状态有32中。在表2-2中选用的5为代码中1的个数都不少两个。这就保证了在介质上传输的代码能提供足够多的同步信息。另外,还有8B/10B编码等方法,其原理是类似的。

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

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

相关文章

服务器如何远程桌面连接不上,服务器远程桌面连接不上解决办法

服务器远程桌面连接不上,是IT运维中常见的挑战之一。针对这一问题,专业的解决方法通常涉及以下几个方面的排查与操作: 首先,我们需要检查网络连接是否正常。远程桌面连接依赖于稳定的网络连接,因此,确认服务…

第十九节:暴力递归到动态规划

一 动画规划的概念 优化出现重复解的递归 一旦写出递归来,改动态规划就很快 尝试策略和状态转移方程是一码事 学会尝试是攻克动态规划最本质的能力 如果你发现你有重复调用的过程,动态规划在算过一次之后把答案记下来,下回在越到重复调用过程…

Java四舍五入保留小数

这里介绍两种方法: package Book.jj.hh;import java.text.DecimalFormat; //使用DecimalFormat类 public class Demo1 {public static void main(String[] args) {double num 123.52631;DecimalFormat a new DecimalFormat("#.00"); //小数点后有几个0…

UE4 RPC进行网络同步

说明 基于UE本身提供的RPC同步机制 RPC远程过程调用允许客户端或服务器通过网络连接相互发送消息: 使用时需要注意: 1、必须从 Actor 上调用 2、Actor 必须被复制,注意勾选BP中Replicates,或使变量bReplicates true 3、注意如…

揭秘独孤信印章:多面性与历史地位的双重传奇

2024高考已经结束,小编回顾前几年高考试卷时发现在2019年全国高考II卷中,一枚古老的印章被做成了一道数学题。这枚印章不仅因其独特的多面体设计而引人注目,更因为其背后所代表的历史人物——独孤信,而成为了热门的话题。那么&…

pip切换至国内镜像超简单方法

新配置的python环境,pip安装包超时 这里给出最简单配置国内镜像的方法 这里将服务器地址切换为国内清华镜像,具体执行的命令如下: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 执行完,看到上面提…

【C++ 类和对象】初始化列表

文章目录 1. 构造函数体赋值2. 初始化列表🔍 1. 构造函数体赋值 🍎① 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date { public:// 构造函数 Date(int year, int month, int day) {_y…

面试题:如何避免索引失效?

(1) 范围条件查询 (2) 不要在索引上使用函数运算, 否则索引也会失效. 比如在索引上使用切割函数, 就会使索引失效. (3) 字符串不加引号, 造成索引失效. (4) 尽量使用索引覆盖, 避免 select *, 这样能提高查询效率. 如果索引列完全包含查询列, 那么查询的时候把要查的列写出来…

一文教你如何实现并发请求的失败自动重试及重试次数限制

需求 在并发接口请求的时候,能够自动对失败的请求进行重发尝试(超过指定重试次数则不再重试),并将最终的结果返回(包含每个请求是否成功、返回结果) 核心思路 代码实现 使用案例 为了演示我们代码的最终实现效果&a…

期权交易单位是什么?期权懂新手必看!

今天带你了解期权交易单位是什么?很多对期权还不太熟悉的朋友,不知道期权的单位是什么,下面小编就来告诉你期权的交易单位到底是什么? 期权交易单位是什么? 50ETF期权的交易单位,用大白话来说,…

从盛世到衰落,历史上八大强国的兴衰与现代地位!

人类文明史悠久,从远古时代至今日,世界舞台上曾经涌现出许多强盛的帝国。它们在自己的黄金时代,曾经无人能敌,不论是在军事、经济还是文化上都独领风骚。然而,无论多么强大的国家也难逃“兴盛必衰”的命运。今天&#…

【文档+源码+调试讲解】精准扶贫管理系统

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了精准扶贫管理系统的开发全过程。通过分析精准扶贫管理系统管理的不足,创建了一个计算机管理精准扶贫管理系统的方案。文章介绍了精准扶贫管理系统的系…

【Week-R3】天气预测,引入探索式数据分析方法(EDA)

文章目录 1. 导入模块2. 导入数据3.探索式数据分析方法(EDA)3.1 数据相关性探索3.2 是否会下雨3.3 地理位置与下雨的关系3.4 湿度和压力对下雨的影响3.5 气温对下雨的影响 4.数据预处理4.1 处理缺损值4.2 构建数据集 5 预测是否会下雨5.1 构建神经网络5.…

JAVAEE值之网络原理(1)_传输控制协议(UDP)、概念、特点、结构、代码实例

前言 在前两节中我们介绍了UDP数据报套接字编程,但是并没有对UDP进行详细介绍,本节中我们将会详细介绍传输层中的UDP协议。 一、什么是UDP? UDP工作在传输层,用于程序之间传输数据的。数据一般包含:文件类型&#xff0…

您对薪资待遇是否满意?没证据怎么办?这样做很可能会补上来!

您对薪资待遇是否满意?没证据怎么办? 这样做很可能会补上来! 您有时可能对自己的工资或福利待遇感到不满意:感到为何我付出的不比别人少,但是工资待遇总是比别人低,是不是觉得很不服气?那么不服…

K8s 卷快照类

卷快照类 卷快照类 这个警告信息通常出现在使用 kubectl 删除 Kubernetes 集群资源时,如果尝试删除的是集群作用域(cluster-scoped)的资源,但指定了命名空间(namespace),就会出现这个警告。 集…

leetcode刷题-二叉树02

代码随想录二叉树part02|102.层序遍历、226.翻转二叉树、101.对称二叉树 102.层序遍历--十题226.翻转二叉树101.对称二叉树 102.层序遍历–十题 代码随想录文档讲解 LeetCode102 图论中的深度搜索和广度搜索分别对应二叉树中的递归遍历和层序遍历。 3/ \9 20/ \15 7返回层序…

ubuntu 20.04禁止自动更新内核驱动、显卡驱动(使用命令行)

本文目录 一、禁止更新内核1.1 查看当前内核1.2 查看安装的内核1.3 根据需求,使用hold参数禁止固定内核1.4 查询被锁定不更新软件包的状态 二、禁止更新显卡驱动2.1 查看安装的显卡驱动2.2 查看详细的详细的显卡信息2.3 禁止显卡驱动更新2.4 查询显卡是否设置成功 前…

记录大三上学期大数据课程设计:基于Hadoop和Spark的中文手写数字实时识别系统

我整理好了两个百度网盘链接,一个是模型文档和数据,一个是镜像,下载、导入虚拟机即可运行。 github地址:Li-Jihong/big-data: 用来记录大三上学期大数据课程设计:基于Hadoop和Spark的中文手写数字实时识别系统 (githu…

c# 二维图形绘制实践

1.等边三角形 1.1 概述 1.2 代码 using System; using System.Drawing; using System.Windows.Forms;public partial class TriangleForm : Form {public TriangleForm(){//InitializeComponent();// 确保窗体大小足够大,以容纳三角形 this.ClientSize new Siz…