当前位置: 首页 > 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. 拟合直线 目标 在本文中,我们将学习 - 如何找到轮廓的不同特征,例如面积&…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

ios苹果系统,js 滑动屏幕、锚定无效

现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

抽象类和接口(全)

一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...

React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构

React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...