计算机网络——物理层-编码与调制(数字基带信号、模拟基带信号、码元、常用编码、基本调制方法、混合调制)

目录

编码与调制

数字基带信号

模拟基带信号

码元

常用编码

不归零编码

归零编码 

曼彻斯特编码

差分曼彻斯特编码

编码习题

基本调制方法

调幅

调频

调相

混合调制

QAM-16


编码与调制

在计算机网络中,计算机需要处理和传输用户的文字、图片、音频和视频,他们可以统称为消息。

数据是运送消息的实体,我们人类比较熟悉的是十进制数据,而计算机只能处理二进制数据,也就是比特0和比特1。

计算机中的网卡,将比特0和比特1,变换成相应的电信号发送到网线。也就是说,信号是数据的电磁表现。

由信源发出的原始电信号,称为基带信号 。

基带信号又可分为两类:

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

数字基带信号

信号需要在信道中进行传输,信道可分为数字信道和模拟信道两种。

在不改变信号性质的前提下,仅对数字基带信号的波形进行变换,称为编码。

编码后产生的信号仍为数字信号,可以在数字信道中传输,例如以太网使用曼彻斯特编码,4B/5B,8B/10B等。

编码把数字基带信号的频率范围搬移到较高的频段,并转换为模拟信号,称为调制。

调制后产生的信号是模拟信号,可以在模拟信号中传输,例如Wifi使用补码键控,直接序列扩频,正交频分复用等调制方法。

模拟基带信号

对于模拟基带信号的处理,也有编码和调制两种方法。

对模拟基带信号进行编码的典型应用,是对音频信号进行编码的脉码调制PCM,也就是将模拟音频信号通过采样、量化、编码这三个步骤进行数字化。

对模拟信号进行调制的典型应用,是将语音数据加载到模拟的载波信号中传输。例如传统的电话。

另一个是频分复用FDM技术,可以充分利用带宽资源。

码元

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

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

简单来说,码元就是构成信号的一段波形。
例如这是一个调频信号:

图示这两段波形,是构成该信号的基本波形,我们可称其为码元。它们可以表示比特0,也可以表示比特1。

可见该信号由两种码元构成 。

注意传输媒体与信道的关系,

严格来说,传输媒体和信道不能直接划等号。

对于单工传输,传输媒体中只包含一个信道,要么是发送信道,要么是接收信道。

而对于半双工和全双工传输,传输媒体中要包含两个信道,一个是发送信道,另一个是接收信道。

如果使用信道复用技术,一条传输媒体还可以包含多个信道。 

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

常用编码

下面介绍几种常用编码,这是待传输的比特流:

不归零编码

这是采用不归零编码产生的该比特流的相应信号,正电平表示比特1,负电平表示比特0。

这是零电平:

所谓不归零,就是指在整个码元时间内电平不会出现零电平。

例如该码元在其时间内全部是正电平

而该码元在其时间内全部是负电平

那么就有一个问题了:接收端如何判断出是两个码元还是三个码元。

这需要发送方的发送与接收方的接收做到严格的同步,需要额外一根传输线来传输时钟信号,接收方按时钟信号的节拍来逐个接收码元。

然而对于计算机网络,宁愿利用这根传输线来传输数据信号,而不是要传输时钟信号。

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

归零编码 

这是归零编码,分别有正电平、零电平、负电平:

很明显每个码元传输结束后,信号都要“归零”,所以接收方只要在信号归零后,进行采样即可,不需要单独的时钟信号。

实际上归零编码相当于把时钟信号用归零方式编码在了数据之内,这称为“自同步”信号。

但是归零编码中,大部分的数据带宽都用来传输归零而浪费掉了。

也就是说,归零编码的优点是自同步,但缺点是编码效率低。

曼彻斯特编码

这是曼彻斯特编码,如图所示

在每个码元时间的中间时刻,信号都会发生跳变;例如负跳变表示比特1,正跳变表示比特0。

码元中间时刻的跳变既表示时钟,又表示数据。

传统以太网使用的就是曼彻斯特编码。

差分曼彻斯特编码

这是差分曼彻斯特编码,如图所示

在每个码元时间的中间时刻,信号都会发生跳变。

与曼彻斯的编码不同,跳变仅表示时钟。

而用码元开始处电平是否发生变化,来表示数据,如图所示:

依据码元开始处电平是否发生变化,来表示比特0或比特1。

接下来我们做一个有关编码的练习题

编码习题

若下图为10BaseT网卡接收到的信号波形,则该网卡收到的比特串是:

A.0011 0110        B.1010 1101        C.0101 0010        D.1100 0101

10BaseT中的10表示带宽为10Mb/s,Base表示基带传输,T表示双绞线。

10BaseT这种以太网使用曼彻斯特编码。

根据曼彻斯特编码的特点,也就是每个码元在其中间时刻发生跳变,可以划分出所给信号中的各码元,至于正跳变表示1还是0,负跳变表示0还是1,没有具体规定,可以自行假设。

我们假设正跳变表示1,负跳变表示0,最终会发现没有一个答案是符合的,那说明我们的假设有错误。

那么应该是正跳变表示0,负跳变表示1,写出个码元所表示的比特,就很容易可以看出正确答案应为A。

下面介绍基本调制方法

基本调制方法

这是待传输的数字基带信号:

也就是来自信源的原始数字信号,我们要使用模拟信道来传输。

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

调幅

这是调幅(AM)所产生的模拟信号:

无载波输出,表示比特0;有载波输出,表示比特一 

调频

这是调频(FM)所产生的模拟信号:

频率f1的波形表示比特0,频率f2的波形表示比特1

调相

这是调向(PM)所产生的模拟信号:

 初相位为0度的波形表示比特0;初相位为180度的波形表示比特1

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

混合调制

可以采用混合调制的方法。

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

通常情况下,相位和振幅可以结合起来一起调制,称为正交振幅调制QAM

QAM-16

我们来看属于正交振幅调制的QAM-16。

这种调制方法所调制出的波形,可以有12种相位,每种相位有一或两种振幅可选。
我们可在星座图中,画出该调制方法所产生的码元,该点就表示其中的一个码元:

它与圆心连线的距离可看作是振幅,连线与横坐标的夹角可看作是相位

这是QAM-16可调制出的16种码元:

思考两个问题:

  •  每个码元可以包含几个比特
  • 每个码元与4个比特的对应关系能否随便定义

如图所示,这是我们随便定义的每个码元所对应的4个比特:

假设A B C D E是接收端接收到的5个码元,这5个码元原本都是表示4个比特0的:

由于传输过程中产生失真,导致他们在星座图中并未落在理想的位置。

接收端可能会将码元A B C解调为0000,这是正确的;

也可能将码元D解调为0001,有一个错位;

也可能将码元E解调为1111,四位全错。

这就说明,每个码元与四个比特的对应关系,不能随便定义。

每个码元与4个比特的对应关系,应该采用格雷码,也就是任意两个相邻码元只有一个比特不同。

如图所示:


END 


学习自:湖科大——计算机网络微课堂

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

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

相关文章

深度学习AI识别人脸年龄

以下链接来自 落痕的寒假 GitHub - luohenyueji/OpenCV-Practical-Exercise: OpenCV practical exercise https://download.csdn.net/download/luohenyj/10993309 import cv2 as cv import time import argparsedef getFaceBox(net, frame, conf_threshold0.7):frameOpencvDn…

Vue3 自定义指令封装实现防抖 防止按钮暴力点击

本来项目前期没有做按钮防抖功能 快结束时才想起来 然后一个个写太慢了 然后就想着封装一下 新建 directive.js export default {//自定义节流操作preventReClick: {mounted(el, binding) {el.addEventListener(click, () > {if (!el.disabled) {el.disabled truesetTime…

Android 10.0 系统内存优化之修改dalvik虚拟机的内存参数

1.前言 在10.0的系统开发定制中,app应用也是运行在dalvik虚拟机上的,所以对于一些内存低的系统中,在某些大应用会出现耗内存 卡顿情况,这是系统分配的内存不够大,在进行耗内存的操作,就会出现频繁gc等等原因造成不流畅的现象,接下来就分析下 虚拟机分配内存的相关原理 …

结构工程师软件 Naviate Core MEP for Revit 3.4 Crk

Naviate Fabrication - 先进的建模和制造命令,可提高 VDC 设计师、细节设计师和承包商的生产力和收入。 Naviate MEP - 通过 MEP 工程师和设计师的建模和参数提高效率 导航架构 Naviate Architecture 完全集成到 Revit 平台中,增强了 BIM 提供的协作可能…

C++标准模板(STL)- 类型支持 (属性查询,获取类型的对齐要求)

类型特性 类型特性定义一个编译时基于模板的结构&#xff0c;以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为&#xff0c;除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完整类型实例…

使用JAVA pdf转word

使用spire.pdf 非常简单。 查看 https://mvnrepository.com/artifact/e-iceblue/spire.pdf 注意&#xff0c;这个包在 e-iceblue 下。 下面开始撸代码 先来pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://mav…

大数据-之LibrA数据库系统告警处理(ALM-12047 网络读包错误率超过阈值)

告警解释 系统每30秒周期性检测网络读包错误率&#xff0c;并把实际错误率和阈值&#xff08;系统默认阈值0.5%&#xff09;进行比较&#xff0c;当检测到网络读包错误率连续多次&#xff08;默认值为5&#xff09;超过阈值时产生该告警。 用户可通过“系统设置 > 阈值配置…

微服务架构演进

系统架构演变 没有最好的架构&#xff0c;只有最合适的架构&#xff1b;架构发展过程&#xff1a;单体架构》垂直架构》SOA 面向服务架构》微服务架构&#xff1b;推荐看看《淘宝技术这十年》&#xff1b; 单体架构 互联网早期&#xff0c;一般的网站应用流量较小&#xff0…

keepalived安装配置(服务器主备、负载均衡)

系统拓扑 安装keepalived 主备服务器上都需要安装 在线安装 yum install -y keepalived 离线安装 # todo 服务器准备 虚拟机ip&#xff1a;192.168.11.56 主服务器&#xff1a;192.168.11.53 备服务器&#xff1a;192.168.11.54 配置文件修改 keepalived安装之后&…

接口

文章目录 概述语法使用特性接口的继承抽象类和接口的区别 概述 电脑的USB口上&#xff0c;可以插&#xff1a;U盘、鼠标、键盘…所有符合USB协议的设备 电源插座插孔上&#xff0c;可以插&#xff1a;电脑、电视机、电饭煲…所有符合规范的设备 通过上述例子可以看出&#xff…

中断的分类、机理与嵌套:深入理解计算机系统的中断、陷入与异常

一、引言 在计算机科学和电子工程领域&#xff0c;中断、陷入和异常是操作系统和硬件设计中关键的概念。这些概念在处理多任务环境、实时系统以及调试问题等方面具有重要作用。本文将对这些概念进行详细的探讨&#xff0c;包括中断的分类、机理、嵌套&#xff0c;以及中断、陷…

【Rust】快速教程——从hola,mundo到所有权

前言 学习rust的前提如下&#xff1a; &#xff08;1&#xff09;先把Rust环境装好 &#xff08;2&#xff09;把VScode中关于Rust的插件装好 \;\\\;\\\; 目录 前言先写一个程序看看Rust的基础mut可变变量let重定义覆盖变量基本数据类型复合类型&#xff08;&#xff09;和 [ …

腾讯云PaaS份额稳居市场第二,25年技术积累打造安全稳定云上服务

国际权威行业研究机构IDC最新发布的《中国公有云市场份额报告&#xff0c;2023H1》显示&#xff0c;2023上半年中国公有云服务市场整体规模&#xff08;IaaS/PaaS/SaaS&#xff09;达190.1亿美元&#xff0c;其中IaaS市场同比增长13.2%&#xff0c;PaaS市场增速26.3%。 在IaaS…

shell之df和du命令介绍

shell之df和du命令介绍 df命令介绍du命令介绍 df命令介绍 df命令是Linux系统中的一个常用命令&#xff0c;用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。通过df命令&#xff0c;可以查看文件系统的总容量、已使用空间、可用空间以及挂载点等信息。 df命令的输出…

携带二进制文件的软件恢复方法

软件研发的四个柡度 在《Accelerate》一书中&#xff0c;作者提出了软件研发四个柡度&#xff0c;按照笔者的理解&#xff0c;四个柡度分别为&#xff1a; 部署周期&#xff0c;Deployment frequency改动时延&#xff0c;Lead time for changes修改错误率&#xff0c;Change …

基于spring gateway 的静态资源缓存实现

由于子项目比较多&#xff0c;子项目都是通过嵌套的方式实现的。就会导致子页面加载比较慢&#xff0c;影响客户体验 实现思路&#xff08;AI搜的--!&#xff09;: 1、通过spring boot缓存实现静态资源缓存 2、在gateway过滤器&#xff0c;对静态资源进行缓存 直接上代码&a…

【贪心算法】原理思想、算法步骤,应用示例(找零问题、活动选择问、霍夫曼编码、最小生成树问题、车辆路径问题)

贪心算法是一种基于贪心策略的优化算法&#xff0c;它在每一步选择中都采取当前状态下的最优决策&#xff0c;而不考虑未来的后果。通常&#xff0c;这种算法对于解决一些最优化问题非常有效&#xff0c;尤其是那些可以通过局部最优解来达到全局最优解的问题。 1 贪心算法的基…

pg_bouncer在使用中的坑勿踩

目录 简介 环境信息 问题配置 问题配置 启动pgbouncer 链接逻辑图 测试存在问题 pgadmin4 Idea JAVA调用 ​编辑 dbeaver 建议&#xff1a; 简介 前面文章说过关于pg_bouncer的安装讲解&#xff0c;这里讲一下在使用中的坑&#xff0c;在进行配置的时候需要注意。 …

系列三、双亲委派机制

一、概述 当一个类收到了类加载的请求&#xff0c;它首先不会尝试自己去加载这个类&#xff0c;而是把这个请求委派给父类去完成&#xff0c;每一层的类加载器都是如此&#xff0c;因此所有的请求都应该传送到启动类加载器中&#xff0c;只有当父类加载器反馈自己无法完成这个…

PowerPoint技巧:如何将一张图片同时加到全部幻灯片里?

想把一张图片加到PPT每一张幻灯片的同一个位置&#xff0c;如果一张一张的添加就太耗时间了&#xff0c;一起来看看如何利用母版快速设置同时添加吧。 首先&#xff0c;打开需要编辑的PPT&#xff0c;在菜单栏依次点击【视图】→【幻灯片母版】&#xff1b; 打开母版后&#x…