计算机网络之曼彻斯特编码和差分曼彻斯特编码

news2024/10/6 2:27:11

目录

前言

曼彻斯特编码

定义

策略

思路

差分曼彻斯特编码

定义

策略

思路

结束语


前言

今天是坚持写博客的第十九天,很高兴自己又坚持了一天,今天想送给自己一句李白《行路难》当中的诗词,希望我自己和大家都可以铭记于心,相互勉励:行路难,行路难,多歧路,今安在?长风破浪会有时,直挂云帆济沧海。

我们今天来讲计算机网络当中的曼彻斯特编码和差分曼彻斯特编码。


曼彻斯特编码

定义

曼彻斯特编码是目前应用最为广泛的一种编码方式,用于在数据通信中同步信号和时钟信号,解决同步问题。主要特点是每比特的中间有一次电平跳转,两次电平跳转的间隔可以是T/2或T,利用电平跳转可产生首发双方的同步信号。但是缺点是效率低,占用带宽大。

其中比特“0”的编码是从高电平到低电平;比特“1”的编码是从低电平到高电平。

曼彻斯特编码的规则如下:

  1. 每比特的周期T分为前T/2和后T/2两部分。
  2. 前T/2传送该比特的反码,后T/2传送该比特的原码。

策略

假设我们现在有一段二进制编码0100110,我们要使用曼彻斯特编码的方式将其表示出来,我们可以遵循以下步骤:遇到“0”时从高处出发,遇到“1”时从低处出发。

因此我们可以很快得出解题思路与图解。

思路

解题思路如下(配合图解看可能理解起来会更加容易):

  1. 首先第一个是“0”,从高处(高电平)出发到低处(低电平)。
  2. 第二个是“1”,从低处(低电平)出发到高处(高电平)。
  3. 第三个是“0”,从高处(高电平)出发到低处(低电平)。
  4. 第四个是“0”,依旧是从高处(高电平)出发到低处(低电平)。
  5. 第五个是“1”,从低处(低电平)出发到高处(高电平)。
  6. 以此类推,我们可以得到如下的图解:

如果遇到连续两个编码或者多个编码相同,比如“00”,那么在第一个“0”到低处后,我们需要立即回到高处,进行对下一个“0”的编码,“11”也同理,第一个“1”到高处后需要立即到低处进行下一个编码。


差分曼彻斯特编码

定义

差分曼彻斯特编码与曼彻斯特编码类似,但它关注的是相邻比特之间的电平变化,而不是每个比特周期内的电平变化。规则如下:

  1. 没比特的中间跳变仅用于同步。
  2. 根据每比特的开始便捷是否跳转来决定该比特的值。
  3. 每比特的开始处如果发生电平跳变,这传输“0”,否则传输“1”。

策略

我们仍然使用编码0100110,我们要使用差分曼彻斯特编码的方式将其表示出来,我们可以遵循以下步骤:如果下一个是“1”那么交界处的“线段”不变,如果下一个是“0”吗,饿交界处的“线段”变化。

因此我们也可以快速得到如下思路和图解。

思路

解题思路如下(配合图解看可能理解起来会更加容易):

  1. 第一个是“0”,不受影响,先从高处(高电平)出发到低处(低电平)。
  2. 第二个是“1”,因为此时“即将”到来的是“1”,因此交界处的“线段”不变。
  3. 第三个是“0”,此时“即将”到来的是“0”,因此交界处的“线段”变。
  4. 第四个是“0”,此时“即将”到来的是“0”,因此交界处的“线段”变。
  5. 第五个是“1”,此时“即将”到来的是“1”,因此交界处的“线段”不变。
  6. 第六个是“1”,此时“即将”到来的是“1”,因此交界处的“线段”不变。
  7. 以此类推,我们可以得出如下图解:


简化下来记忆,其实可以遵循“遇到1延长,遇到0上升/下降”的口诀,这样可以方便记忆,而不至于走错路。


结束语

今天对曼彻斯特编码和差分曼彻斯特编码的讲解就到这里,希望对大家有所帮助,如果对您有帮助,希望您可以留下点赞、关注和收藏,这对我很重要,谢谢!

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

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

相关文章

27、matlab傅里叶变换:fft()函数

1、fft 快速傅里叶变换 语法 Y fft(X) 使用快速傅里叶变换 (FFT) 算法计算 X 的离散傅里叶变换 (DFT)。 Y fft(X,n) 返回 n 点 DFT。 Y fft(X,n,dim) 返回沿维度 dim 的傅里叶变换。例如,如果 X 是矩阵,则 fft(X,n,2) 返回每行的 n 点傅里叶变换含…

微软不再允许Windows 11通过1@1.com绕过登录 但还有其他办法可以继续用

微软不再允许 Windows 11 通过 11.com 和 nothankyou.com 绕过登录,但断网的情况下使用 OOBE\BYPASSNRO 命令仍然是有效的。如果你在安装或重置系统时仍然需要创建本地账户,请直接使用 OOBE 命令。 在 Windows 11 家庭版和专业版中用户必须保持设备联网…

尚硅谷2024新版3小时速通Docker教程

尚硅谷2024新版3小时速通Docker教程 百度网盘:https://pan.baidu.com/s/1SncgHbdJehvZspjcrrbLSw?pwd6c27

linux 系统监控脚本

1.对CPU的监控函数 function GetCpu(){cpu_numgrep -c "model name" /proc/cpuinfocpu_usertop -b -n 1 | grep Cpu | awk {print $2} | cut -f 1 -d "%"cpu_systemtop -b -n 1 | grep Cpu | awk {print $4} | cut -f 1 -d "%"cpu_idletop -b -…

Github 2024-06-06 Go开源项目日报 Top10

根据Github Trendings的统计,今日(2024-06-06统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10Ollama: 本地大型语言模型设置与运行 创建周期:248 天开发语言:Go协议类型:MIT LicenseStar数量:42421 个Fork数量:2724 次关注人…

当边缘计算用在定位设备

什么是边缘计算? 边缘计算是个比较高大上的概念,在这里就不提众多官方与非官方的定义了,只说说自己的理解。 边缘计算就是在最靠近物理设备的使用现场,利用有限的硬件资源,完成设备层数据采集、协议转换、数据上传、…

Java | Leetcode Java题解之第120题三角形最小路径和

题目&#xff1a; 题解&#xff1a; class Solution {public int minimumTotal(List<List<Integer>> triangle) {int n triangle.size();int[] f new int[n];f[0] triangle.get(0).get(0);for (int i 1; i < n; i) {f[i] f[i - 1] triangle.get(i).get(i…

Chrome浏览器打开无痕模式的方法

快捷键&#xff1a;同时按住CtrlshiftN 如图&#xff0c;系统会新开一个无痕标签页&#xff0c;不需要了点右上角关闭就可以了。

探索计算机视觉:开启智能图像处理的新纪元

第一部分&#xff1a;计算机视觉概述与基本原理 计算机视觉&#xff0c;作为人工智能领域的重要分支&#xff0c;旨在让计算机具备处理和理解图像和视频数据的能力。随着深度学习技术的飞速发展&#xff0c;计算机视觉已经在许多实际应用场景中取得了显著的成果&#xff0c;如…

山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(二十七)- 微服务(7)

11.1 : 同步调用的问题 11.2 异步通讯的优缺点 11.3 MQ MQ就是事件驱动架构中的Broker 安装MQ docker run \-e RABBITMQ_DEFAULT_USERxxxx \-e RABBITMQ_DEFAULT_PASSxxxxx \--name mq \--hostname mq1 \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3-management 浏览器访问1…

RabbitMQ-直连交换机(direct)使用方法

RabbitMQ-默认读、写方式介绍 RabbitMQ-发布/订阅模式 目录 1、概述 2、直连交换机 3、多重绑定 4、具体代码实现 4.1 生产者部分 4.2 消费者部分 5、运行代码 6、总结 1、概述 直连交换机&#xff0c;可以实现类似路由的功能&#xff0c;消息从交换机发送到哪个队列…

详细分析Mysql中的SQL_MODE基本知识(附Demo讲解)

目录 前言1. 基本知识2. Demo讲解2.1 ONLY_FULL_GROUP_BY2.2 STRICT_TRANS_TABLES2.3 NO_ZERO_IN_DATE2.4 NO_ENGINE_SUBSTITUTION2.5 ANSI_QUOTES 前言 了解Mysql内部的机制有助于辅助开发以及形成整体的架构思维 对于基本的命令行以及优化推荐阅读&#xff1a; 数据库中增…

【C语言】详解函数(下)(庖丁解牛版)

文章目录 1. 前言2. 数组做函数形参3. 函数嵌套调用和链式访问3.1 嵌套调用3.2 链式访问 1. 前言 详解C语言函数(上)的链接&#xff1a;http://t.csdnimg.cn/EGsfe 经过对函数的初步了解之后,相信大家已经对C语言标准库里的函数已经有初步的认知了&#xff0c;并且还学会了如…

HashMap第2讲——put方法源码及细节

上篇文章介绍了HashMap在JDK 1.8前后的四大变化&#xff0c;今天就进入到put方法的源码解析。HashMap的设计非常巧妙&#xff0c;细节也很多&#xff0c;今天来看看部分细节&#xff0c;后续的文章会一一介绍。 ps&#xff1a;学习源码的目的不仅仅是为了了解它的运行机制&…

Java——Stream流(2/2):Stream流的中间方法、终结方法(方法、案例演示)

目录 Stream流的中间方法 方法 案例演示 Stream流的终结方法 方法 案例演示1 收集 案例演示2 Stream流的中间方法 方法 中间方法指的是调用完成后会返回新的Stream流&#xff0c;可以继续使用(支持链式编程)。 Stream提供的常用中间方法说明Stream<T> filter(P…

Ansible部署 之 zookeeper集群

简介 Ansible是近年来越来越火的一款轻量级运维自动化工具&#xff0c;主要功能为帮助运维实现运维工作的自动化、降低手动操作的失误、提升运维工作效率。常用于自动化部署软件、自动化配置、自动化管理&#xff0c;支持playbook编排。配置简单&#xff0c;无需安装客户端&am…

【小白专用 已验证24.5.30】ThinkPHP6 视图

ThinkPHP6 视图 模板引擎支持普通标签和XML标签方式两种标签定义&#xff0c;分别用于不同的目的 标签类型描述普通标签主要用于输出变量、函数过滤和做一些基本的运算操作XML标签也称为标签库标签&#xff0c;主要完成一些逻辑判断、控制和循环输出&#xff0c;并且可扩展 c…

keil下载及安装(社区版本)

知不足而奋进 望远山而前行 目录 文章目录 前言 Keil有官方版本和社区版本&#xff0c;此文章为社区版本安装&#xff0c;仅供参考。 1.keil MDK 2.keil社区版介绍 3.keil下载 (1)打开进入登录界面 (2)点击下载,跳转到信息页面 (3)填写个人信息,点击提交 (4)点击下载…

基于web的垃圾分类回收系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;用户管理&#xff0c;公告管理&#xff0c;运输管理&#xff0c;基础数据管理 用户账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;运输管理&#xff0c;公告…

Web安全:Web体系架构存在的安全问题和解决方案

「作者简介」&#xff1a;2022年北京冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础对安全知识体系进行总结与归纳&#xff0c;著作适用于快速入门的 《网络安全自学教程》&#xff0c;内容涵盖系统安全、信息收集等…