当前位置: 首页 > news >正文

计算机网络:物理层 - 编码与调制

计算机网络:物理层 - 编码与调制

    • 基本概念
    • 编码
      • 不归零制编码
      • 归零制编码
      • 曼彻斯特编码
      • 差分曼彻斯特编码
    • 调制
      • 调幅
      • 调频
      • 调相
      • 混合调制


基本概念

在计算机网络中,计算机需要处理和传输用户的文字、图片、音频和视频,他们可以统称为消息数据,是运送消息的实体。我们人类比较熟悉的是十进制数据,而计算机只能处理二进制数据,也就是比特 0 和 1。

计算机中的网卡将 0 和 1 变换成相应的电信号发送到网线,也就是说信号是数据的电磁表现,由信源发出的原始电信号称为基带信号

基带信号又可分为两类:

  • 数字基带信号:例如计算机内部 CPU 与内存之间传输的信号
  • 模拟基带信号:例如麦克风收到声音后产生的音频信号

信号需要在信道中进行传输。信道可分为数字信道模拟信道两种,在不改变信号性质的前提下,仅对数字基带信号的波形进行变换,称为编码。编码后产生的信号仍为数字信号,可以在数字信道中传输。

把数字基带信号的频率范围搬移到较高的频段并转换为模拟信号,称为调制。调制后产生的信号是模拟信号可以在模拟信道中传输。

简单来说:

编码是将数字信号转换成另外一种数字信号,使其更适应信道的传输特性
调制是把数字信号转化为模拟信号,做频谱的搬移,增加信号抗干扰性

接下来我们介绍码元的概念:

在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形,称为码元。简单来说,码元就是构成信号的一段波形。例如这是一个调频信号:

在这里插入图片描述

红色这一段波形是构成该信号的一个基本波形,我们可称其为码元,它表示比特0。蓝色这一段波形是构成该信号的另一个基本波形,也称为码元,它表示比特1。可见该信号由两种码元构成,该信号中的所有波形,都由这两种波形排列而成。

在计算机网络中常见的是将数字基带信号通过编码或调制的方法在相应信道进行传输。


编码

不归零制编码

在这里插入图片描述
这是采用不归零编码产生的该比特流的相应信号,正电平表示比特 1,负电平表示比特 0。

所谓不归零,就是指在整个码元时间内,电平不会出现零电平,例如表示比特 1 的码元在其时间内全部是正电平,而表示比特 1 的码元在其时间内全部是负电平。

请大家思考一下这个问题:
在这里插入图片描述

接收端如何判断出红色区域是两个码元,而橙色区域是三个码元?这需要发送方的发送与接收方的接收做到严格的同步。这就需要额外一根传输线来传输时钟信号,接收方按时钟信号的节拍来逐个接收码源。然而对于计算机网络,宁愿利用这个传输线来传输数据信号,而不是要传输时钟信号。因此,由于不归零编码存在同步问题,计算机网络中的数据传输不采用这类编码


归零制编码

在这里插入图片描述
归零制编码,正电平表示比特 1,负电平表示比特 0。很明显,每个码元传输结束后,信号都要归零,所以接收方只要在信号归零后进行采样即可,不需要单独的时钟信号。

实际上,归零编码相当于把时钟信号编码在了数据之内,这称为自同步信号。但是归零编码中大部分的数据带宽都用来传输归零而浪费掉了。也就是说,归零编码的优点是自同步,但缺点是编码效率低


曼彻斯特编码

在这里插入图片描述
这是曼彻斯特编码。如图所示,在每个码元时间的中间时刻,信号都会发生跳变负跳变表示比特1,正跳变表示比特0码元中间时刻的跳变既表示时钟,又表示数据。接收端根据每个码元中间都有跳变这一规则,来判断多长是一个码元。传统以太网使用的就是曼彻斯特编码。


差分曼彻斯特编码

在这里插入图片描述

这是差分曼彻斯特编码。如图所示,在每个码元时间的中间时刻,信号都会发生跳变,与曼彻斯的编码不同,跳变仅表示时钟,而用码元开始处电平是否发生变化来表示数据。如图所示,每个码元的开始处,如果发生了跳变就是比特0,没发生跳变就是比特1。


调制

下面我们介绍基本调制方法。
在这里插入图片描述
这是数字基带信号,也就是来自信源的原始数字信号。

我们要使用模拟信道来传输,因此需要将数字基带信号通过调制方法调制成可以在模拟信道中传输的模拟信号

调幅

在这里插入图片描述

这是调幅所产生的模拟信号,无载波输出表示比特0,有载波输出表示比特 1。


调频

在这里插入图片描述

这是调频所产生的模拟信号,一种频率的波形表示比特0,另外一种频率的波形表示比特1。


调相

在这里插入图片描述

这是调相所产生的模拟信号,根据每个码元的初始相位不同,来区分比特0和比特1。


混合调制

在这里插入图片描述

很明显使用基本调制方法,一个码元只能表示一个比特信息,那么如何能使一个码元包含更多的比特呢?可以采用混合调制的方法。

因为频率和相位是相关的,也就是说频率是相位随时间的变化率,所以一次只能调至频率和相位两个中的一个

通常情况下,相位和振幅可以结合起来一起调制,称为正交振幅调制QAM。我们来看属于正交振幅调制的 QIM16:
在这里插入图片描述

这种调制方法所调制出的波形可以有 12 种相位,每种相位有一或两种振幅可选。我们可坐标中画出该调制方法所产生的码元。一个点就表示其中的一个码元,它与圆心连线的距离可看作是振幅连线,与横坐标的夹角可看作是相位。

请大家思考一下,每个码元可以包含几个比特呢?由于 QM 16 可以调制出 16 种码元,也就是 16 种波形,则每种码元可以对应表示 4 个比特。

每个码元与四个比特的对应关系采用了格雷马:

在这里插入图片描述

格雷码中,任意两个坐标之间,只有一位比特不同,可以减小传输过程中导致的误差。最后接收方就可以根据波形的相位和振幅,来判断一个码元表示哪四个比特了。


相关文章:

计算机网络:物理层 - 编码与调制

计算机网络:物理层 - 编码与调制 基本概念编码不归零制编码归零制编码曼彻斯特编码差分曼彻斯特编码 调制调幅调频调相混合调制 基本概念 在计算机网络中,计算机需要处理和传输用户的文字、图片、音频和视频,他们可以统称为消息数据&#xf…...

《量子计算:揭开未来科技新篇章》

随着科技的不断发展,量子计算作为一项颠覆性的技术逐渐走进人们的视野,引发了广泛的关注和探讨。本文将围绕量子计算的技术进展、技术原理、行业应用案例、未来趋势预测以及学习路线等方向,深入探讨这一领域的前沿动态和未来发展趋势。 量子…...

机器人机械手加装SycoTec 4060 ER-S电主轴高精密铣削加工

随着科技的不断发展,机器人技术正逐渐渗透到各个领域,展现出前所未有的潜力和应用价值。作为机器人技术的核心组成部分之一,机器人机械手以其高精度、高效率和高稳定性的优势,在机械加工、装配、检测等领域中发挥着举足轻重的作用…...

docker 共享内存不足问题

在启动容器时增加共享内存大小: 您可以通过在docker run命令中添加--shm-size参数来指定更大的共享内存大小。例如,如果您需要32GB的共享内存,可以这样做: docker run --shm-size32g -it your-docker-image 这里的your-docker-im…...

英语口语 3.27

keep It straight :竖着放 turn it to the side:横过来放 i get my shit done:shit(everything)任何事情 我都会去做的 that‘s what’s up 可以的可以的 thats cool zodiac sign :生肖 座 i sense that :我感受到了 talent”艺人 influencer:有影响力的人 …...

pytest之统一接口请求封装

pytest之统一接口请求封装 pytest的requests_util.pyrequests_util.py 接口自动化测试框架的封装yaml文件如何实现接口关联封装yaml文件如何实现动态参数的处理yaml文件如何实现文件上传有参数化时候,怎么实现断言yaml的数据量大怎么处理接口自动化框架的扩展&#…...

使用npm仓库的优先级以及.npmrc配置文件的使用

使用npm仓库的优先级以及.npmrc配置文件的使用 概念如何设置 registry(包管理仓库)1. 设置项目配置文件2. 设置用户配置文件3. 设置全局配置文件4. .npmrc文件可以配置的常见选项 概念 npm(Node Package Manager)是一个Node.js的…...

Netty源码剖析——ChannelHandlerContext 篇(三十七)

ChannelHandlerContext 作用及设计 ChannelHandlerContext 继承了出站方法调用接口和入站方法调用接口 ChannelOutboundInvoker 和 ChannelInboundInvoker 部分源码 这两个invoker就是针对入站或出站方法来的,就是在入站或出站 handler 的外层再包装一层&#xff0c…...

5.92 BCC工具之bitesize.py解读

一,工具简介 bitesize工具按进程名称显示请求块大小的I/O分布。 它通过监视磁盘上的读取和写入操作,记录每个操作的大小。再将跟踪到的 I/O 操作按照大小分组,通常是以 2 的幂次方(如 4K、8K、16K 等)进行划分,并统计每个大小范围内的 I/O 操作数量。 二,代码示例 #…...

jupyter notebook导出含中文的pdf(LaTex安装和Pandoc、MiKTex安装)

用jupyter notebook导出pdf时,因为报错信息,需要用到Tex nbconvert failed: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install…...

压力测试(QPS)及测试工具Locust

压力测试: 通常指的是确定接口或服务能够处理的最大请求量(吞吐量)和并发用户数,同时保持合理的响应时间和稳定性。 性能目标 最大吞吐量:系统每秒可以处理的请求数。最大并发用户数:系统可以同时支持的…...

canal: 连接kafka (docker)

一、确保mysql binlog开启并使用ROW作为日志格式 docker 启动mysql 5.7配置文件 my.cnf [mysqld] log-binmysql-bin # 开启 binlog binlog-formatROW # 选择 ROW 模式 server-id1一定要确保上述两个值一个为ROW,一个为ON 二、下载canal的run.sh https://github.c…...

45 对接海康视频九宫格的实现

前言 这里主要是 来看一下 海康视频 的一个九宫格播放的需求 然后 在实际使用的过程中产生了一些问题, 比如 增加一个视频, 应该只增量请求这一个视频的服务, 而一些实现下是全量请求了 整个视频列表的服务 另外 就是全屏播放, 如果是 自己写样式来实现 全屏播放, 可能需要 …...

二-容量管理之容量水位

容量水位概念 容量水位(Capacity Level)是指一个系统或服务所使用资源的程度、范围和可承受能力,通常以百分比表示。在容量管理中,容量水位是非常重要的指标,用于衡量系统或服务的健康状况、资源利用率以及未来容量需求。 容量水位通常是根据一些关键指标进行计算,例如…...

计算机网络——数据链路层(差错控制)

计算机网络——数据链路层(差错控制) 差错从何而来数据链路层的差错控制检错编码奇偶校验码循环冗余校验(CRC)FCS 纠错编码海明码海明距离纠错流程确定校验码的位数r确定校验码和数据位置 求出校验码的值检错并纠错 我们今年天来继…...

【搜索引擎1】Ubuntu通过deb方式安装ElasticSearch和Kibana、ik中文分词插件

1、官网下载文件 版本为官网最新版本,ElasticSearch与Kibana版本必须保持一致 ElasticSearch下载地址:Download Elasticsearch | Elastic Kibana下载地址:Past Releases of Elastic Stack Software | Elastic 下载选择DEB文件 ik插件下载…...

1.0 html(1)

html 一、基本介绍 1、定义:html是一种超文本标记语言,也是一种标识性语言(不是编程语言) 标记:记号(绰号) 超文本:就是页面内容可以包含图片、链接,音乐&#xff0c…...

基于SpringBoot和Leaflet的行政区划地图掩膜效果实战

目录 前言 一、掩膜小知识 1、GIS掩膜的实现原理 2、图层掩膜流程 二、使用插件 1、leaflet-mask介绍 2、核心代码解释 三、完整实例实现 1、后台逻辑实现 2、省级行政区划查询实现 3、行政区划定位及掩膜实现 4、成果展示 总结 前言 在之前的博客提过按空间矢量…...

【机器学习之---数学】马尔科夫链

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 马尔科夫 1. 概念 1.1 引言 马尔可夫链在许多领域都有应用,包括物理学、生物学、工程学、经济学和计算机科学等。在计算机科学中&#xff0…...

教程3_图像的轮廓

目录 目标 1. 特征矩 2、轮廓质心 3. 轮廓面积 4. 轮廓周长 5. 轮廓近似 6. 轮廓凸包 7. 边界矩形 7.1.直角矩形 7.2. 旋转矩形 8. 最小闭合圈 9. 拟合一个椭圆 10. 拟合直线 目标 在本文中,我们将学习 - 如何找到轮廓的不同特征,例如面积&…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)&#xff0…...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...