【计算机网络】物理层 : 编码 ( 数字数据 编码 数字信号 | 非归零编码 | 归零编码 | 反向不归零编码 | 曼彻斯特编码 | 差分曼彻斯特编码 | 4B/5B 编码 )

简介: 【计算机网络】物理层 : 编码 ( 数字数据 编码 数字信号 | 非归零编码 | 归零编码 | 反向不归零编码 | 曼彻斯特编码 | 差分曼彻斯特编码 | 4B/5B 编码 )

文章目录

一、 数字数据 编码 数字信号

二、 非归零编码 ( NRZ )

三、 归零编码 ( RZ )

四、 反向不归零编码 ( NRZI )

五、 曼彻斯特编码

六、 差分曼彻斯特编码

七、 4B/5B 编码





一、 数字数据 编码 数字信号


数字数据 编码为 数字信号 的编码方式 :


① 非归零编码 ( NRZ )


② 曼彻斯特编码


③ 差分曼彻斯特编码



后面的编码仅做了解


④ 归零编码 ( RZ )


⑤ 反向不归零编码 ( NRZI )


⑥ 4B/5B 编码






二、 非归零编码 ( NRZ )


非归零编码 ( NRZ ) :



高电平 1 11 , 低电平 0 00 ;


编码 实现 简单 ;



没有检错功能 ;


无法判断 码元 的 开始 , 结束 ;


收发双方 无法 保持同步 ;

image.png





非归零编码 同步示例 :


① 发送数据 : 如果发送连续 50 个 高电平 1 11 ;


② 接受数据 : 那么接收端就会接受到一个长条持续高电平 , 无法判断接收了多少高电平 ;


③ 码元宽度信息 : 接收端需要知道发送端的 码元宽度 , 才可以解析接受到了多少高电平数据 ;


④ 建立同步 : 因此在发送数据之前 , 首先要通知接收方 , 当前发送的数据的码元宽度 , 建立同步后 , 才能开始发送数据 ;






三、 归零编码 ( RZ )


归零编码 ( RZ ) :


信号 电平 在一个码元之内 , 必须要恢复到 0 00 ;


每个码元的 后半段 都是 0 00 , 前半段表示 电平 高低 ;

image.png


如果发送持续低电平数据 , 此时也会出现大量持续的低电平数据 ;


这里需要 发送端 和 接收端 同步 ;






四、 反向不归零编码 ( NRZI )


反向不归零编码 ( NRZI ) :


信号 电平翻转 表示 0 00 , 信号电平不变 表示 1 11 ;

image.png


如果 发送端 持续 发送 0 00 数据 , 此时可以明确分辨出数据个数 ;


如果 发送端 持续 发送 1 11 高电平数据 , 接收端还是会接收到 连续的长条形的 高电平数据 ;


这里需要 发送端 和 接收端 同步 ;






五、 曼彻斯特编码


曼彻斯特编码 :


码元间隔 : 将 码元 分成 相等间隔 ;


前低后高 : 前一个间隔 低电平 , 后一个间隔 高电平 表示 码元 1 11 ;


前高后低 : 前一个间隔 高电平 , 后一个间隔 低电平 表示 码元 0 00 ;


两个作用 : 每个 码元 中间 都会出现电平跳变 , 该跳转既可以作为时钟信号 , 又可以作为 数据信号 ;


时钟信号 : 可以使 发送方 和 接收方 进行时钟同步 ;



频带宽度 : 该编码 占用的 频带宽度 是 原始基带宽度 的 2 22 倍 ; 一个时钟周期内 , 其脉冲个数是 2 22 个 , 其数据传输速率 , 是调制速率的 1 / 2 1/21/2 , 一个脉冲就是一个码元 , 相当于 2 22 个码元携带1 11 比特的数据量 ;


image.png









六、 差分曼彻斯特编码


差分曼彻斯特编码 :


码元为 1 11 : 前半个码元 电平 与 上一个 码元的 后半个码元 电平相同 ;


码元为 0 00 : 前半个源码 电平 与 上一个 码元的 后半个码元 电平相反 ;


编码特点 : 每个码元 都有一次电平跳变 ; 实现 自同步 ;


差分曼彻斯特编码 与 曼彻斯特编码 区别是 : 差分曼彻斯特编码 抗干扰性强 , 其它与曼彻斯特编码一致 , 也是 2 22 码元 携带 1 11 比特信息量 ;



image.png





七、 4B/5B 编码


4B/5B 编码 : 在 比特流 中 插入 额外 比特 , 打破 一连串的 0 00 或 1 11 , 使用 5 55 比特 编码 4 44 比特数据 , 然后传递给接收方 ;


编码效率 : 80 % 80\%80% ;


目录
相关文章
|
16天前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
105 0
|
2月前
|
机器学习/深度学习 数据采集 传感器
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
|
3月前
|
数据采集 存储 算法
MyEMS 开源能源管理系统:基于 4G 无线传感网络的能源数据闭环管理方案
MyEMS 是开源能源管理领域的标杆解决方案,采用 Python、Django 与 React 技术栈,具备模块化架构与跨平台兼容性。系统涵盖能源数据治理、设备管理、工单流转与智能控制四大核心功能,结合高精度 4G 无线计量仪表,实现高效数据采集与边缘计算。方案部署灵活、安全性高,助力企业实现能源数字化与碳减排目标。
67 0
|
4月前
|
Python
LBA-ECO CD-32 通量塔网络数据汇编,巴西亚马逊:1999-2006,V2
该数据集汇集了1999年至2006年间巴西亚马逊地区九座观测塔的碳和能量通量、气象、辐射等多类数据,涵盖小时至月度时间步长。作为第二版汇编,数据经过协调与质量控制,扩展了第一版内容,并新增生态系统呼吸等相关计算数据,支持综合研究与模型合成。数据以36个制表符分隔文本文件形式提供,配套PDF说明文件,适用于生态与气候研究。引用来源为Restrepo-Coupe等人(2021)。
50 1
|
29天前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
3月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
83 4
|
4月前
|
开发者
鸿蒙仓颉语言开发教程:网络请求和数据解析
本文介绍了在仓颉开发语言中实现网络请求的方法,以购物应用的分类列表为例,详细讲解了从权限配置、发起请求到数据解析的全过程。通过示例代码,帮助开发者快速掌握如何在网络请求中处理数据并展示到页面上,减少开发中的摸索成本。
鸿蒙仓颉语言开发教程:网络请求和数据解析
|
6月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
182 22
|
6月前
|
存储 数据库 Python
利用Python获取网络数据的技巧
抓起你的Python魔杖,我们一起进入了网络之海,捕捉那些悠游在网络中的数据鱼,想一想不同的网络资源,是不是都像数不尽的海洋生物,我们要做的,就是像一个优秀的渔民一样,找到他们,把它们捕获,然后用他们制作出种种美味。 **1. 打开魔法之门:请求包** 要抓鱼,首先需要一个鱼网。在Python的世界里,我们就是通过所谓的“请求包”来发送“抓鱼”的请求。requests是Python中常用的发送HTTP请求的库,用它可以方便地与网络上的资源进行交互。所谓的GET,POST,DELETE,还有PUT,这些听起来像偶像歌曲一样的单词,其实就是我们鱼网的不同方式。 简单用法如下: ``` im
127 14
|
7月前
|
网络协议 物联网
VB6网络通信软件上位机开发,TCP网络通信,读写数据并处理,完整源码下载
本文介绍使用VB6开发网络通信上位机客户端程序,涵盖Winsock控件的引入与使用,包括连接服务端、发送数据(如通过`Winsock1.SendData`方法)及接收数据(利用`Winsock1_DataArrival`事件)。代码实现TCP网络通信,可读写并处理16进制数据,适用于自动化和工业控制领域。提供完整源码下载,适合学习VB6网络程序开发。 下载链接:[完整源码](http://xzios.cn:86/WJGL/DownLoadDetial?Id=20)
241 12