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

目录

编码与调制

数字基带信号

模拟基带信号

码元

常用编码

不归零编码

归零编码 

曼彻斯特编码

差分曼彻斯特编码

编码习题

基本调制方法

调幅

调频

调相

混合调制

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…

结构工程师软件 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…

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

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

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…

vue3实现数据大屏内数据向上滚动,鼠标进入停止滚动 vue3+Vue3SeamlessScroll

1.效果图 2.npm下载依赖及main.js文件配置 npm install vue3-seamless-scroll --saveimport vue3SeamlessScroll from vue3-seamless-scroll;app.use(vue3SeamlessScroll) 3.html代码 <!-- scrollFlag为true时再渲染,vue3只要涉及到传值子页面需要加flag判断&#xff0c;否…

【BIM入门实战】Revit图元的选择方式,总有一款适合你

Revit图元的五种常见选择方式,总有一款适合你。 文章目录 一、直接单击二、加选和减选三、连续框选四、按类别选择五、全选过滤选择操作可以在三维视图、平面视图等多种视图中进行。 一、直接单击 直接单击,即可选中某一个图元,如选择一个扶手。 二、加选和减选 按住ctrl键…

vue-router配置

1、路由安装 npm install vue-router4 2、创建router目录 3、编辑文件且引入router包 4、main.js引入

Ubuntu18.04平台下Qt开发程序打包的一些问题总结

目录 前言 一、在Ubuntu18.04开发环境下打包有两种方式 1、利用linuxdeployqt软件进行打包 2、利用编写shell脚本的方式进行打包 二、详细介绍shell脚本打包的方式 1、新建一个空的文件夹 2、准备脚本copylib.sh 3、准备脚本xxxx.sh。 4、给上述两个脚本添加可执行权限…

Git目录不对,即当前文件夹不对应git仓库

报错信息是&#xff1a; fatal: not a git repository (or any of the parent directories): .git 如&#xff1a; 是当前文件夹不对应git仓库&#xff0c;一般在git clone之后&#xff0c;需要进入下一级文件夹才对应仓库。 在文件夹看&#xff0c;本层中没有.git文件夹&…

JavaScript的函数的形参与实参是怎么回事

0 写在前面 此文给小白看的&#xff0c;如果不是可以直接关闭 1 讲解 例如JavaScript中定义函数 //定义函数 function 方法名(形参){方法体-->使用形参}//使用函数 方法名字(实参)具体干了什么呢&#xff1f;此处以伪代码举例 //定义函数 function eat(A,B){A 去 B 家吃…

解决STM32F429烧录程序后还需复位才能植入程序的bug

1.打开魔术棒&#xff0c;打开debug 2.打开setting 3.打开Flas Download 4.开启Reset and Run 5.点进去Pack选项页面&#xff0c;去掉enable

部署LCM(Latent Consistency Models)实现快速出图

LCM&#xff08;Latent Consistency Models&#xff09;可以通过很少的迭代次数就可以生成高清晰度的图片&#xff0c;目前只可以使用一个模型Dreamshaper_v7&#xff0c;基于SD版本Dreamshaper微调而来的。 LCM模型下载&#xff1a; https://huggingface.co/SimianLuo/LCM_D…