物理层基本概念

news2024/11/16 10:17:38

目录

  • 物理层的基本概念
  • 物理层传输方式
    • 串行传输
    • 并行传输
    • 同步传输
    • 异步传输
    • 单向通信(单工)
    • 双向交替通信(半双工)
    • 双向同时通信(全双工)
  • 编码与调制
    • 常用编码
    • 基本调制方法
  • 信道极限容量

物理层的基本概念

在这里插入图片描述

  • 物理层考虑的是怎么才能在连接各种计算机的传输媒体上传输数据比特流;
  • 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么;

物理层传输方式

串行传输

在这里插入图片描述

串行传输是指数据是一个比特一个比特依次发送的,因此在发送端和接收端只需要一条数据传输路线即可。

并行传输

在这里插入图片描述

并行传输是指一次发送n个比特而不是一个比特,在发送端和接收端之间需要有n条传输线路。

并行传输的优点是速度为串行传输的n倍,缺点为成本高。

在计算机网络中,数据在远距离传输线路上的传输采用的是串行传输;计算机内部的数据传输常采用并行传输方式(例如CPU与内存之间通过总线进行数据传输,常见的数据总线宽度有8位,16位,32位和64位)

同步传输

在这里插入图片描述

同步传输中,数据块以稳定的比特流的形式传输,字节之间没有间隔,接收端在每个比特信号的中间时刻进行检测,以判别接收到的是比特0还是比特1。由于不同设备的时钟频率存在一定差异,不可能做到完全相同,在传输大量数据的过程中,所产生的判别时刻的累计误差会导致接收端对比特信号的判别错位,因此需要采取方法使收发双方的时钟保持同步;

实现收发双方时钟同步的方法主要有两种:

  • 外同步:在收发双方之间添加一条单独的时钟信号线,发送端在发送数据信号的同时,另外发送一路时钟同步信号,接收端按照时钟同步信号的节奏来接收数据;
  • 内同步:发送端将时钟同步信号编码到发送数据中一起传输(例如曼切斯特编码);

异步传输

在这里插入图片描述

采用异步传输方式时,以字节为独立的传输单位,字节之间的时间间隔不是固定的,接收端仅在每个字节的起始处对字节内的比特实现同步。为此,通常需要在每个字节前后分别加上起始位和结束位;

  • 异步是指字节之间异步(字节之间的时间间隔不固定);
  • 字节中的每个比特仍然要同步(各比特的持续时间是相同的);

单向通信(单工)

在这里插入图片描述

通信双方只有一个数据传输方向,无线电广播采用的就是单工通信;

单向通信只需要一条信道;

双向交替通信(半双工)

在这里插入图片描述

通信双方可以相互传输数据,但不能同时进行,对讲机采用的就是这种通信方式;

双向交替通信需要两条信道(每个方向各一条);

双向同时通信(全双工)

在这里插入图片描述

通信双方可以同时发送和接收信息,例如电话采用的就是这种通信方式;

双向同时通信需要两条信道(每个方向各一条);

编码与调制

在这里插入图片描述

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

数据是运送消息的实体,我们比较熟悉的是十进制数据,计算机只能处理二进制数据,也就是比特0和比特1,计算机中的网卡将比特0和比特1变换成相应的电信号发送到网线;

信号是数据的电磁表现,由信源发出的原始电信号称为基带信号;基带信号可以分为两类:

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

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

在不改变信号性质的前提下,仅对数字基带信号的波形进行变换,称为编码,编码后产生的信号仍为数字信号,可以在数字信道中传输。(例如以太网使用曼切斯特编码,4B/5B,8B/10B等);把数字基带信号的频率范围搬移到较高的频段并转换为模拟信号,称为调制;调制后产生的信号是模拟信号,可以在模拟信道中传输(例如WIFI采用补码键控、直接序列扩频、正交频分复用等调制方法);

对于模拟基带信号的处理也有编码和调制两种方法,对模拟基带信号进行编码的典型应用是对音频信号进行编码的脉码调制PCM,也就是将模拟音频信号通过采用、量化、编码这三个步骤进行数字化。对模拟信号进行调制的典型应用是将语音数据加载到模拟的载波信号中传输(例如传统的电话),另一个是频分复用FDM技术,充分利用带宽资源。

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

常用编码

在这里插入图片描述

  • 不归零编码:所谓不归零,就是指在整个码元时间内,电平不会出现零电平;
    • 在不归零编码中,接收方为了判断码元的数量,需要发送方和发送和接收方的接收做到严格的同步,这就需要额外一根传输线来传输时钟信号,使发送方和接收方同步(接收方按照时钟信号的节拍来逐个接收码元);
    • 对于计算机网络,宁愿用这根传输线传输数据信号,而不是传输时钟信号;
    • 由于不归零编码存在同步问题,计算机网络中的数据传输不采用这类编码;

在这里插入图片描述

  • 归零编码:每个码元传输结束后信号都要归零,接收方只要在信号归零后进行采样即可,不需要单独的时钟信号;
    • 归零编码相当于把时钟信号用“归零” 方式编码在数据中,这称为“自同步”信号;
    • 归零编码中大部分的数据带宽都用来传输“归零”而浪费掉了;
    • 归零编码的优点是自同步,缺点是编码效率低;

在这里插入图片描述

  • 曼切斯特编码:在每个码元时间的中间时刻,信号都会发生跳变。例如负跳变表示比特1,正跳变表示比特0,码元中间时刻的跳变既表示时钟又表示数据。
    • 传统以太网使用的就是曼切斯特编码;

在这里插入图片描述

  • 差分曼切斯特编码:在每个码元时间的中间时刻,信号都会发生跳变;
    • 与曼切斯特编码不同,跳变仅表示时钟;
    • 码元开始处电平是否发生变化表示数据;

基本调制方法

给定待传输的数字基带信号(也就是来自信源的原始数字信号):在这里插入图片描述
假定使用模拟信道传输,需要将数字基带信号通过调制方法调制成可以在模拟信道中传输的模拟信号。

  • 通过调幅产生的模拟信号如下所示:在这里插入图片描述

    • 无载波输出表示比特0,有载波输出表示比特1;
  • 通过调频产生的模拟信号如下所示:
    在这里插入图片描述

    • 频率f1的波形表示比特0,频率f2的波形表示比特1;
  • 通过调相产生的模拟信号如下所示:
    在这里插入图片描述

    • 初相位0°的波形表示比特0,初相位180°的波形表示比特1;

通过基本调制方法,1个码元只能包含1个比特信息,为了使1个码元包含多个比特信息,可以采用混合调制方法;

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

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

  • 正交振幅调制QAM-16
    • 正交振幅调制QAM-16所调制出的波形可以有12种相位,每种相位有1或2种振幅可选;
    • 可以调制出16种码元(波形),每种码元可以对应表示4个比特
      在这里插入图片描述
    • 码元与4个比特的对应关系采用格雷码,任意两个相邻码元只有一个比特不同;
      在这里插入图片描述

信道极限容量

信号在传输过程中会受到各种因素的影响。

如下图所示,一个数字信号通过实际的信道后,波形会产生失真,当失真不严重时,在输出端还可根据已失真的波形还原出发送的码元;在这里插入图片描述
当失真严重时,在输出端就很难判断出这个信号在什么时候是1,在什么时候是0。信号波形失去了码元之间的清晰界限,这种现象叫做码间串扰;
在这里插入图片描述
产生失真的因素主要有:

  • 码元传输速率;
  • 信号传输距离;
  • 噪声干扰;
  • 传输媒体质量;

奈氏准则:在假定的理想条件下,为了避免码间串扰,码元传输速率是有上限的;

  • 理想低通信道的最高码元传输速率   = 2 W   B a u d = 2 W 码元 / 秒 \space=2W \space Baud=2W 码元/秒  =2W Baud=2W码元/
  • 理想带通信道的最高码元传输速率   = W   B a u d = W 码元 / 秒 \space=W \space Baud=W 码元/秒  =W Baud=W码元/
  • W W W:信道带宽(单位为Hz)
  • B a u d Baud Baud:波特,即码元/秒

码元传输速率又称为波特率、调制速率、波形速率或符号速率。它与波特率有一定关系:

  • 当一个码元只携带1比特的信息量时,波特率(码元/秒)与比特率(比特/秒)在数值上是相等的;
  • 当一个码元携带n比特的信息量时,波特率转换成比特率时,数值要乘以n;

要提高信息传输速率(比特率),就必须设法使每一个码元能携带更多个比特的信息量,这需要采用多元制;

实际信道所能传输的最高码元速率,要明显低于奈氏准则给出的上限数值,这是因为奈氏准则是在假定的理想条件下推导出来的;

如果采用更好的调制方法,让码元可以携带更多的比特,是否可以无限制地提高信息的传输速率呢?答案是否定的,因为信道的极限信息传输速率还要受限于实际的信号在信道中传输时的信噪比;信道中的噪声也会影响接收端对码元的识别,并且噪声功率相对信号功率越大,影响就越大。

1948年,香农用信息论的理论推导出了带宽受限且有高斯白噪声干扰的信道的极限信息传输速率,具体公式如下所示: c = W ⋅ l o g 2 ( 1 + S N ) c=W·log_{2}(1+\frac{S}{N}) c=Wlog2(1+NS)

  • c:信道的极限信息传输速率(单位:b/s);
  • W:信道带宽(单位:Hz);
  • S:信道内所传信号的平均功率;
  • N:信道内的高斯噪声功率;
  • S N \frac{S}{N} NS:信噪比,使用分贝(dB)作为度量单位, 信噪比 ( d B ) = 10 ⋅ l o g 10 ( S N ) ( d B ) 信噪比(dB)=10·log_{10}(\frac{S}{N})(dB) 信噪比(dB)=10log10(NS)(dB)
  • 信道带宽或信道中信噪比越大,信息的极限传输速率越高;
  • 在实际信道上能够达到的信息传输速率要比该公式的极限传输速率低不少,这是因为在实际信道中,信号还要收到其它一些损伤,如各种脉冲干扰,信号在传输中的衰减和失真等,这些因素在香农公式中并未考虑;

在信道带宽一定的情况下,根据奈氏准则和香农公式,要想提高信息的传输速率就必须采用多元制(更好的调制方法)和努力提高信道中的信噪比;

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

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

相关文章

路由 OSPF常见4种网络类型MA、P2P、NBMA、P2MP、OSPF报头字段信息简介。

4.2.1 路由 OSPF(OSPF常见4种网络类型、OSPF报头信息) 目录OSPF常见的4种网络类型广播类型(Broadcast 或 MA)P2PNBMAP2MPOSPF报文发送形式对于不同OSPF网络类型的组网OSPF报头信息实际抓包分析OSPF常见的4种网络类型 OSPF应用于不…

Kali最强渗透工具- metasploit

数据来源 本文仅用于信息安全学习,请遵守相关法律法规,严禁用于非法途径。若观众因此作出任何危害网络安全的行为,后果自负,与本人无关。 metasploit是什么? msf是一款开源安全漏洞利用和测试工具,集成了…

C++GUI之wxWidgets(9)-编写应用涉及的类和方法(4)-事件处理(3)

目录动态事件处理如何处理事件事件如何向上传播事件处理程序链动态事件处理 void MyFrameHandler::OnFrameExit(wxCommandEvent&) {// Do something useful. }MyFrameHandler myFrameHandler;MyFrame::MyFrame() {Bind(wxEVT_MENU, &MyFrameHandler::OnFrameExit,&…

Java数组的定义与使用

Java数组的定义与使用 文章目录Java数组的定义与使用数组的基本概念什么是数组数组的创建数组的初始化数组的使用数组中元素访问遍历数组数组是引用类型初始JVM的内存分布基本类型变量与引用类型变量的区别引用变量几道例题认识null数组的应用场景保存数据作为函数的参数参数传…

TypeScript中的泛型

泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。 通常用T来指代任意输入的类型,除了T之外,以下是常见泛型变量代表的意思: K(Key…

信息安全技术 可信计算规范 可信平台控制模块 学习笔记(一)

声明 本文是学习信息安全技术 可信计算规范 可信平台控制模块. 下载地址而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 可信计算规范 缩略语 下列缩略语适用于本文件。 I/O:输入输出(Input/Output) IP&#xff1…

第三十八章 贪心算法——区间问题及证明(上)

第三十八章 贪心策略——区间相关问题一、什么贪心策略?二、区间问题合集1、思路:2、问题1: 区间选点(1)问题(2)思路和证明a.思路b.证明(3)代码3、问题2:&…

java:文件分片上传

代码下载地址&#xff1a;https://download.csdn.net/download/u013938578/87358484 1 文件上传、断点续传服务端 1.1 新建maven项目 文件结构如下&#xff1a; 1.2 引入百度开源上传组件webuploader 1.3 前端页面upload.html <!DOCTYPE html> <html lang"en&…

Java个人家乡博客源码

概述 个人博客相册家乡主题&#xff0c;用户注册后可以发布关于家乡的特色文章介绍&#xff0c;可以发布照片&#xff0c;相册管理&#xff0c;留言&#xff0c;评论&#xff0c;回复&#xff0c;收藏&#xff0c;关注 演示视频 https://www.bilibili.com/video/BV1iy4y1x7w6…

SSM框架-注解开发

11 注解开发 11.1 注解开发定义Bean 代码 接口BookDao public interface BookDao {void save(); }实现类BookDaoImpl【更改之处】 在最上面Component(“bookDao”) Component("bookDao") //或者Repository("bookDao") public class BookDaoImpl impl…

【C++】-- 哈希(上万字详细配图配代码从执行一步步讲解)

目录 哈希 常见哈希函数 除留余数法 哈希冲突 哈希冲突解决 闭散列 a、线性探测 插入 查找 删除 线性探测的实现代码 b、二次探测 二次探测的实现 开散列 开散列实现 插入 查找 删除 析构函数 代码汇总 哈希 常见哈希函数 直接定址法 -- (常用)-- 不存在哈…

2022 年博客总结

时间过的飞快&#xff0c;孩子也快4岁了&#xff0c;1号带孩子去玩雪&#xff0c;发生了一件有趣的事&#xff0c;发个视频。 带孩子玩雪我拉着闺女&#xff0c;闺女拉着儿子&#xff0c;忽略了力的作用&#xff0c;我以为只有我在使劲&#xff0c;实际上闺女需要需要更大的力拉…

java8新特性——函数式编程

文章目录1.函数式编程思想1.1概念1.2函数式编程的思想2.Lambda表达式2.1概述2.2核心原则2.3基本格式2.4Lambda表达式练习2.5省略规则3.Stream流3.1概述3.2案例准备3.3Steam流操作案例3.3.1需求3.3.2实现3.4Stream常用操作3.4.1创建stream流方式3.4.2中间操作3.4.2.1filter3.4.2…

SpringMVC 底层机制的简易实现

SpringMVC 底层机制的简易实现项目基础配置 xml 文件开发指南开发步骤1.初始化数据2.中央控制器 - 分发请求3.开发者角度4.视图解析器开发总结项目基础 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId&g…

【Python基础】常用数据结构及处理

1. KeyValue dict.clear() 删除字典内所有元素dict.copy()返回一个字典的浅复制[dict.fromkeys(seq, val])创建一个新字典&#xff0c;以序列 seq 中元素做字典的键&#xff0c;val 为字典所有键对应的初始值 dict.get(key, defaultNone) 返回指定键的值&#xff0c;如果值不在…

prompt模型详解之文本生成

prompt在生成方面的应用从两个方面进行介绍&#xff1a; 评估手段 具体任务 评估手段 生成任务的评估手段主要分为四种类型&#xff1a; 1). 基于N-gram匹配 2). 基于编辑距离 3). 基于词向量 4). 基于可学习方式。 本小节主要介绍BARTSCORE&#xff0c;其使用prompt方…

Python杂题

目录 一、前言 二、例题1——修剪灌木 三、例题2—— 付账问题 四、例题3——最少砝码 五、例题四——矩形拼接 六、例题五——蜂巢 一、前言 竞赛题有很多不需要什么算法的题目&#xff0c;只要学过编程语言就能做&#xff0c;其考核思维、逻辑、编码能力。而这种题有“…

【算法题解】 8. K 个一组翻转链表

文章目录题目解题思路代码实现复杂度分析题目 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持…

Python中编码(encode)解码(decode)讲解

嗨害大家好鸭&#xff01;我是小熊猫~ 这次也是给大家带来一点干货~ 所用素材:点击此处跳转文末名片获取 一、python3中str与unicode 在python3中&#xff0c;字符串有两种形式&#xff1a;str和bytes&#xff0c;两者区别如下&#xff1a; unicode string(str类型)&#xf…

【经验】关于区分cin、getline、cin.getline三种字符串输入的区别

cin 既可以输入char[]数组&#xff0c;也可以输入string类型&#xff0c;输入会被空格打断 cin对char进行输入 #include<bits/stdc.h> using namespace std; int main(){char ch[50];cin>>ch;cout<<strlen(ch)<<endl;for(int i0;i<strlen(ch);i){…