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

计算机网络:物理层 --- 基本概念、编码与调制

目录

一.   物理层的基本概念

二.   数据通信系统的模型

三.   编码

3.1   基本概念

3.2   不归零制编码

3.3   归零制编码

3.4   曼切斯特编码

3.5   差分曼切斯特编码

​编辑 

四.   调制

4.1   调幅

4.2   调频

4.3   调相

4.4   混合调制


今天我们讲的是物理层的基本概念,以及如何编码调制。一起来看看吧!!!

一.   物理层的基本概念

大家知道,现有的计算机网络中的硬件设备和传输媒体的种类非常繁多,而通信手段也有不同的方式。物理层的作用正是要尽可能地屏蔽掉这些传输媒体和通信手段的差异,使物理层上的数据链路层感觉不到这些差异,这样就可以让数据链路层只需要考虑如何完成本层的协议和服务。

可以将物理层的主要任务描述成确定与传输媒体的接口有关的一些特性,即:

机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等。

电气特性:指明在接口电缆的各条线上出现的电压的范围。

功能特性:指明某条线上出现的某一电平的电压的意义。

过程特性:指明对于不同的功能的各种可能事件的出现顺序。

数据在计算机内部多采用并行传输方式,但数据在通信线路(传输媒体)上的传输方式一般都是串行传输

二.   数据通信系统的模型

下面我们通过一个最简单的例子来说明数据通信系统的模型。这个例子就是两台计算机经过普通电话机的连线,再经过公用电话网来进行通信。

如图所示,一个数据通信系统可划分为三大部分,即源系统传输系统目的系统

源系统一般包括以下两部分:

  • 原点:原点设备产生要传输的数据,源点又称源站或信源。
  • 发送器:通常源点生成的数字比特流要通过发送器编码后才能在传输系统中进行传输。调制器就是典型的发送器。

目的系统一般包括以下两部分:

  • 接收器:接收器用于接收传输系统传送过来的信号,并把它转换为能够被目的设备处理的信息。
  • 终点:终点设备从接收器获取传送来的数字比特流,然后把信息输出。终点又称为目的站或信宿

常用术语:

  • 消息:通信的目的就是传送消息。话音,文字,图像,视频等都是消息。
  • 数据:数据是运送消息的实体,是使用特定方式表示的信息,通常是有意义的符号序列。这种信息的表示可用于计算机或其他机器(或人)处理或产生。
  • 信号: 数据的电气或电磁的表现。

 根据信号中代表消息的参数的取值方式不同,信号可分为以下两大类:

  1. 模拟信号(或连续信号):代表消息的参数的取值是连续的
  2. 数字信号(或离散信号):代表消息的参数的取值是离散的

三.   编码

3.1   基本概念

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

我们先介绍一下码元的概念:

在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形,称为码元。例如下面这个信号:

绿色段是构成这个信号的一个基本波形,我们就称之为码元,表示比特0;蓝色段是构成这个信号的另一个波形,也是码元,表示码元1。

3.2   不归零制编码

上图就是采用不归零制编码参数的信号,正电平表示比特1,负电平表示比特0。

不归零的意思就是说,在码元真个时间内,电平不会出现零电平,例如表示比特1的码元在其时间内全部都是正电平,表示比特0的码元在其时间内全部都是负电平。

不归零制编码编码以其高效率闻名,但是它存在着诸多问题,最为重要的是同步问题:

同步问题:不归零编码的信号电平在码元之间不归零,导致接收端在信号开始和结束时难以捕捉到同步信号,从而影响通信质量。

由于存在的同步问题,所以计算机网络中的数据传输不采用这类编码。

3.3   归零制编码

归零制编码中,正脉冲表示比特1,负脉冲表示比特0。由图可以看出,每次码元结束之后,都会归零,所以接收方只需在信号归零之后进行采样即可。

归零制编码的优点就是自同步,即把时钟信号编码在了数据内部。但是他的缺点就变成了低效率,因为在归零制编码中大部分的数据宽带都用来传输归零而浪费掉了。

3.4   曼切斯特编码

上图是曼切斯特编码,如图所示,曼切斯特编码在码元的中间都会发生信号的跳变。位周期中间向下跳变代表1,向上跳变代表0(也可以反过来定义)。码元中间时刻的跳变既代表时钟,又表示数据。传统以太网就是用的曼切斯特编码。

3.5   差分曼切斯特编码

上图是差分曼切斯特编码。跟曼切斯特编码一样的是,在每个码元的中间时刻,信号都会发生跳变。但是与曼切斯特编码不同的是,跳变仅表示时钟,而用码元开始处是否发生变化来表示数据。如果为开始边界有跳变代表0,位开始边界没有跳变就表示1。 

四.   调制

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

以下是基带信号,也就是来自信源的信号:

4.1   调幅

对比上面的基带信号,可以发现调幅后,载波的振幅随基带数字信号而变化。1代表有载波输出,0代表没有载波输出。

4.2   调频

对比上面的基带信号,可以发现调频后, 载波的频率随基带数字信号而变化。一种频率代表1,另一种频率代表0。

4.3   调相

对比上面的基带信号,可以发现调相后, 载波的初始相位随基带数字信号而变化。根据初识香味的不同,来区分0与1。例如:相位0度代表0,相位180度代表1。

4.4   混合调制

很明显,基本调制方法,一个码元只能表示一个比特信息。为了达到更高的信息传输效率,必须采用技术上更为复杂的混合调制方法,来让一个码元包含更多的比特。

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

通常情况下,相位和振幅可以结合起来一起调制,称为正交振幅调制QAM。我们来看属于正交振幅调制的 QIM16:

这种调制方法所调制出来的波形可以有12种相位、每种相位可以有1或2种振幅可选

(图借用计算机网络:物理层 - 编码与调制-CSDN博客)。

我们可以在坐标图中画出该调制方法所产生的码元。一个点代表其中一个码元,点与圆心连线的距离可以看做振幅连线,与横坐标的夹角可以看做相位。

那么大家可以思考一下,一个码元可以包含多少个比特呢?由于QM16可以调制出16种码元,所以每种码元可以对应表示4个比特。

每个码元与四个比特的对应关系采用了格雷码,即相邻两个点之间,只有一个比特不同,这样可以减少传输误差。


总结:

好了,到这里今天的知识就讲完了,大家有错误一点要在评论指出,我怕我一人搁这瞎bb,没人告诉我错误就寄了。

祝大家越来越好,不用关注我(疯狂暗示)

相关文章:

计算机网络:物理层 --- 基本概念、编码与调制

目录 一. 物理层的基本概念 二. 数据通信系统的模型 三. 编码 3.1 基本概念 3.2 不归零制编码 3.3 归零制编码 3.4 曼切斯特编码 3.5 差分曼切斯特编码 ​编辑 四. 调制 4.1 调幅 4.2 调频 4.3 调相 4.4 混合调制 今天我们讲的是物理…...

使用Maven创建一个Java项目并在repository中使用

JDK环境:1.8.0_371 Maven环境 :Apache Maven 3.6.3 配置完成jdk和mvn后,进入到指定文件夹下执行如下语句: mvn archetype:generate -DgroupIdtop.chengrongyu -DartifactIdCyberSpace -DarchetypeArtifactIdmaven-archetype-quic…...

如何使用IIC外设(硬件IIC)

本文重点叙述如何使用芯片自带的 IIC 外设,即硬件 IIC,实现 IIC 通信。文章《IIC通信基础_cpu的iic通信-CSDN博客》 中,叙述了软件 IIC 通信和硬件 IIC 通信的区别, 并且重点叙述了 IIC 的通信协议。在使用软件进行 IIC 通信时&am…...

使用 Vue 3、Vite 和 TypeScript 的环境变量配置

使用 Vue 3、Vite 和 TypeScript 的环境变量配置 在开发现代前端应用时,环境变量是一个非常重要的概念。它可以帮助我们根据不同的环境(开发、测试、生产)配置不同的行为,比如 API 请求地址、调试选项等。在 Vue 3、Vite 和 Type…...

F28335 的串行外设接口(以下简称 SPI)

1 SPI 介绍 1.1 SPI 简介 1.2 F28335 的 SPI模块介绍 (1)F28335 的 SPI 特点...

科技引领未来生活——“光影漫游者”展览馆应用—轻空间

随着科技的快速发展,展览馆作为展示文化、科技和艺术的场所,正逐渐从传统的静态展示向高科技互动体验转变。由轻空间打造的“光影漫游者”展览馆,凭借其前沿的气承式结构和智能化系统,将参观者带入了一个未来感十足、充满科技魅力…...

ego-planner开源代码之启动参数介绍分析

ego-planner开源代码之启动参数介绍&分析 1. 源由2. 逻辑分析3. 启动参数section 1 三维地图尺寸section 2 里程计话题映射section 3 advanced_param.xml配置section 3.1section 3.2section 3.3section 3.4section 3.5section 3.6section 3.7section 3.8 section 4 轨迹服务…...

828 华为云征文|华为 Flexus 云服务器打造 Laverna 在线笔记应用

一、引言 在当今数字化时代,高效的笔记管理工具对于学习、工作和生活都至关重要。Laverna 作为一款功能强大的开源在线笔记应用,提供了 Markdown 编辑、加密支持等特性,是替代 Evernote 的绝佳选择。在 2024 年 9 月 14 日这个充满创新的日子…...

数据结构与算法-Trie树添加与搜索

trie树的使用场景 我们若需要制作一个通讯录的软件,使用常规树结构查询的复杂度为O(logn),但trie树的复杂度确与数据多少无关,与单词长度有关,这就大大缩减的查询的时间复杂度。 trie树的基本实现 基础结构 package com.study.trieDemo;i…...

AIGC专栏15——CogVideoX-Fun详解 支持图文生视频 拓展CogVideoX到256~1024任意分辨率生成

AIGC专栏15——CogVideoX-Fun详解 支持图&文生视频 拓展CogVideoX到256~1024任意分辨率生成 学习前言项目特点生成效果相关地址汇总源码下载地址 CogVideoX-Fun详解技术储备Diffusion Transformer (DiT)Stable Diffusion 3EasyAnimate-I2V 算法细节算法组成InPa…...

BFS 解决多源最短路问题

文章目录 多源BFS542. 01 矩阵题目解析算法原理代码实现 1020. 飞地的数量题目解析算法原理 1765. 地图中的最高点题目解析算法原理代码实现 1162. 地图分析题目解析算法原理代码实现 多源BFS 单源最短路: 一个起点、一个终点 多源最短路: 可以多个起点…...

论文笔记:交替单模态适应的多模态表征学习

整理了CVPR2024 Multimodal Representation Learning by Alternating Unimodal Adaptation)论文的阅读笔记 背景MLA框架实验Q1 与之前的方法相比,MLA能否克服模态懒惰并提高多模态学习性能?Q2 MLA在面临模式缺失的挑战时表现如何?Q3 所有模块是否可以有…...

鸿蒙OS 线程间通信

鸿蒙OS 线程间通信概述 在开发过程中,开发者经常需要在当前线程中处理下载任务等较为耗时的操作,但是又不希望当前的线程受到阻塞。此时,就可以使用 EventHandler 机制。EventHandler 是 HarmonyOS 用于处理线程间通信的一种机制&#xff0c…...

执行 npm报错 Cannot find module ‘../lib/cli.js‘

报错 /usr/local/node/node-v18.20.4-linux-x64/bin/npm node:internal/modules/cjs/loader:1143 throw err; ^ Error: Cannot find module ../lib/cli.js Require stack: - /usr/local/node/node-v18.20.4-linux-x64/bin/npm at Module._resolveFilename (node:inter…...

基于SpringBoot+Vue+MySQL的国产动漫网站

系统展示 用户前台界面 管理员后台界面 系统背景 随着国内动漫产业的蓬勃发展和互联网技术的快速进步,动漫爱好者们对高质量、个性化的国产动漫内容需求日益增长。然而,市场上现有的动漫平台大多以国外动漫为主,对国产动漫的推广和展示存在不…...

AUTOSAR汽车电子嵌入式编程精讲300篇-基于CAN总线的气动控制

目录 前言 知识储备 什么是气动控制: 气动控制基础知识 一、气动元件 二、气路设计 三、气动控制系统 气动控制系统构成图 气动控制系统基本组成功能图 几种常见的气动执行元件实物图 常用气动压力控制阀实物图 常用气动流动控制阀实物图 电磁控制换向发实物图 部…...

Ubuntu 20.04 内核升级后网络丢失问题的解决过程

在 Ubuntu 系统中,内核升级是一个常见的操作,旨在提升系统性能、安全性和兼容性。然而,有时这一操作可能会带来一些意外的副作用,比如导致网络功能的丧失。 本人本来是想更新 Nvidia 显卡的驱动,使用 ubuntu-drivers …...

论文解读《LaMP: When Large Language Models Meet Personalization》

引言:因为导师喊我围绕 “大语言模型的个性化、风格化生成” 展开研究,所以我就找相关论文,最后通过 ACL 官网找到这篇,感觉还不错,就开始解读吧! “说是解读,其实大部分都是翻译哈哈哈&#x…...

Excel VLOOKUP函数怎么用?vlookup函数的使用方法及案例

大家好,这里是效率办公指南! 🔎 在Excel的世界里,VLOOKUP函数无疑是查询和数据分析中的明星。无论是从庞大的数据表中提取特定信息,还是进行数据的快速匹配,VLOOKUP都能大显身手。今天,我们将深…...

专为汽车功能应用打造的 MLX90376GGO、MLX90377GGO、MLX90377GDC-ADB-280 Triaxis®磁位置传感器 IC

一、MLX90376 Triaxis堆叠式高性能位置传感器芯片(模拟/PWM/SENT/SPC) MLX90376GGO-ABA-600 MLX90376GGO-ABA-630 MLX90376GGO-ABA-680 MLX90376是一款磁性绝对位置传感器芯片,适用于要求具备抗杂散磁场干扰性能的360旋转汽车应用。它提供…...

34.贪心算法1

0.贪心算法 1.柠檬水找零(easy) . - 力扣(LeetCode) 题目解析 算法原理 代码 class Solution {public boolean lemonadeChange(int[] bills) {int five 0, ten 0;for (int x : bills) {if (x 5) // 5 元:直接收下…...

DataX实战:从MongoDB到MySQL的数据迁移--修改源码并测试打包

在现代数据驱动的业务环境中,数据迁移和集成是常见的需求。DataX,作为阿里云开源的数据集成工具,提供了强大的数据同步能力,支持多种数据源和目标端。本文将介绍如何使用DataX将数据从MongoDB迁移到MySQL。 环境准备 安装MongoDB…...

Axure设计之表格列冻结(动态面板+中继器)

在Web端产品设计中,复杂的表格展示是常见需求,尤其当表格包含大量列时,如何在有限的屏幕空间内优雅地展示所有信息成为了一个挑战。用户通常需要滚动查看隐藏列,但关键信息列(如ID、操作按钮等)在滚动时保持…...

WPF DataGrid 动态修改某一个单元格的样式

WPF DataGrid 动态修改某一个单元格的样式 <DataGrid Name"main_datagrid_display" Width"1267" Height"193" Grid.Column"1"ItemsSource"{Binding DataGridModels}"><DataGrid.Columns><!--ElementStyle 设…...

如何安装部署kafka

安装和部署Apache Kafka需要以下几个步骤&#xff0c;包括下载 Kafka、配置 ZooKeeper&#xff08;或者使用 Kafka 自带的 Kafka Raft 模式替代 ZooKeeper&#xff09;&#xff0c;以及启动 Kafka 服务。以下是一个但基于 Linux 的典型安装流程&#xff0c;可以根据需要改装到其…...

Centos7-rpm包管理器方式安装MySQL 5.7.25

前言 本文用于学习通过Mysql压缩包在centos7中安装和配置的过程以及过程中碰到的Bug解决。 Mysql安装包下载和上传 MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/访问Mysql官方下载站&#xff0c;选择对应的…...

Project Online 协作版部署方案

目录 前言 第一部分:为什么选择Project Online? 一、核心优势 二、适用场景 第二部分:部署前的准备工作 一、需求分析 二、账户和权限管理 三、培训与支持 第三部分:Project Online 的核心功能 一、项目创建与管理 二、资源管理 三、团队协作 四、风险管理 五…...

小米 13 Ultra机型工程固件 资源预览与刷写说明 步骤解析

小米 13 Ultra机型---机型代码为ishtar 。工程固件可以辅助修复格机或者全檫除分区后的基带修复。可以用于修复TEE损坏。以及一些分区的底层修复。此款固件也可以为更换UFS后的底包。 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此…...

Goweb预防XSS攻击

XSS攻击示例 假设您有一个简单的Web应用程序&#xff0c;其中包含一个用户输入表单&#xff0c;用户可以在其中输入他们的名字&#xff0c;然后这个名字会被显示在页面上。攻击者可以在表单中输入恶意的JavaScript代码&#xff0c;如&#xff0c;如果应用程序没有对这个输入进…...

ICM20948 DMP代码详解(36)

接前一篇文章&#xff1a;ICM20948 DMP代码详解&#xff08;35&#xff09; 上一回讲到了icm20948_sensor_setup() ---> inv_icm20948_initialize_auxiliary函数 ---> inv_icm20948_set_slave_compass_id函数&#xff0c;本回开始&#xff0c;就对于inv_icm20948_set_sla…...