计算机网络(物理层)

物理层

物理层最核心的工作内容就是解决比特流在线路上传输的问题

基本概念

何为物理层?笼统的讲,就是传输比特流的。

可以着重看一下物理层主要任务的特性
在这里插入图片描述

传输媒体

在这里插入图片描述
传输媒体举例:

引导型传输媒体

引导型传输媒体指的是信号通过某种物理介质进行引导的传输方式。这些介质可以是导线、光纤等,它们能够限制信号在特定的路径上传播。以下是一些常见的引导型传输媒体的例子:

  • 双绞线(Twisted Pair):由两根绝缘铜线缠绕在一起组成的电缆,用于抵抗电磁干扰。常见的类型包括UTP(Unshielded Twisted Pair,非屏蔽双绞线)和STP(Shielded Twisted Pair,屏蔽双绞线)。注意:双绞线在传入信号时,信号的振幅应该足够大时才容易被检测到。

  • 同轴电缆(Coaxial Cable):由内导体、绝缘层、网状屏蔽层和外护套组成的电缆,用于传输较高频率的信号。同轴电缆在现代有线电视和早期的以太网中使用较多。

  • 光纤(Fiber Optic Cable):由玻璃或塑料制成的纤维,用于通过光信号传输数据。光纤具有高带宽、远距离传输和抗电磁干扰的特点,常用于高速和长距离的网络连接。如果光纤需要中继可以使用掺铒光纤放大器。(光纤自带修正折射角度的特性)

非引导型传输媒体

非引导型传输媒体指的是信号在没有物理介质引导的情况下通过空气或其他介质传播的方式。这些介质不限制信号的传播路径,因此信号可以在空间中自由传播。以下是一些常见的非引导型传输媒体的例子:

  • 无线电波(Radio Waves):利用电磁波在空气中传播信号的方式,广泛应用于无线通信,如Wi-Fi、蓝牙、4G/5G移动网络等。

  • 红外线(Infrared):使用红外线波段的电磁波进行短距离通信,常见于遥控器和一些近距离无线数据传输。

编码与调制

想要利用信道传输数据,就必须将数据转换为能在传输媒体上传输的信号。信道可以分成模拟信道和数字信道

数字数据(比特)转换成数字信号的过程,称为编码
数字数据(比特)转换成模拟信号的过程,称为调制

模拟信道:电话线,广播电视线等
数字信道:互联网,无线WIFI等
在这里插入图片描述
码元的定义:一段波所代表的基本信息,一段码元包含了某些信息。在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形。简单来说,码元就是一段调制好的基本波形,可以表示比特信息。
同时,码元也是承载信息的基本单位。
在这里插入图片描述

常用编码有哪些?
在这里插入图片描述

调制

基本调制方法,一个码元内可以包含的信息是很少的,无法包含很多信息
在这里插入图片描述
频率、相位、振幅,三选二进行微调。调制技术的目的就是为了让一个有限的码元内部,尽可能多的携带数据。但是:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

信道的极限容量

信号波形失去了码元之间的清晰界限,这种现象叫做码间串扰,说人话就是被干扰的太厉害分不清了
在这里插入图片描述
为了避免这种码间串扰的情况,提出了奈氏准则
在这里插入图片描述
香农公式推算出了理想状态下信道的信号传输极限
在这里插入图片描述
香农公式与奈氏准则的区别
在这里插入图片描述

传输方式

串行&并行

  • 串行传输

串行传输就是单个线路上比特流进行传输(一个一个比特依次发送)
在这里插入图片描述

  • 并行传输
    并行传输就是多条线路同时传输比特流(一次发送n个比特)
    在这里插入图片描述

同步传输&异步传输

  • 同步(不管用什么方式,保证收发双方对每一个比特在线路上持续的时间达成一致)
    在这里插入图片描述

  • 异步(异步传输是以独立的字节为单位(8bit)每个字节的内部仍要同步)
    在这里插入图片描述

单工&半双工&全双工

  • 单工
    只能接收,类似广播,不能回复
  • 半双工
    收发不同步,类似对讲机,接的时候不能回复,对方说完了才能回复
  • 全双工
    收发同步进行,类似手机,可以同步收发

信道复用技术

复用是通信技术中的基本概念,复用可以节约传播介质。让大家合起来用一个共享信道进行通信。
左边是单个信道的场景。其容量较小。
右边是共享信道的场景。容量更大,但费用也高。
在这里插入图片描述

频分复用

频分复用(Frequency Division Multiplexing,FDM),将传输线路的频带资源划分成多个子频带,从而在一个大容量信道上,划分出多个子信道。

用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带

频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的带宽是频带带宽而不是数据的发送速率),并且频分复用是并行的,所以不考虑时延。
在这里插入图片描述

频分复用FDM示意图
在这里插入图片描述
注意:频分复用要求总频带宽度要大于各个子信道频带宽度之和。并且一般为了保证各子信道中所传输的信号互不干扰,会要求在各子信道之间设立隔离带。

如下图,传输信号经过调制解调器使用不同频率调制,形成不同频率的声波,然后把不同频率的声波叠加成一个声波进行传输。
在这里插入图片描述

在接收端收到信号以后,使用过滤器针对不同频率进行过滤,然后使用相同的频率进行解调,从而还原发送端传播的声波信息。
在这里插入图片描述

时分复用

时分复用则是将时间划分为一段段等长的时分复用帧(Time Division Multiplexing, TDM帧)。每一个时分复用的用户在每一个TMD帧中占用固定序号的时隙。每一个用户占用的时间空隙是周期性地出现(其周期就是TDM帧的长度对应的时间)。

TDM信号也成为等时信号。时分复用的所有用户是在不同的时间占用同样的频带宽度。(可用的带宽全给占用了,所有用户都一样)

发送端不同用户的信息存放位置是有规律的,接收端根据规律来取对应用户的数据。每一个TDM帧的固定位置都有固定的用户。如图:
在这里插入图片描述
不同用户的数据存放的位置始终是不变的,虽然时间短,但是带宽大
在这里插入图片描述
数据的排列图示

在这里插入图片描述

时分复用的实现机制
存取双方都遵从一定的时钟速率进行存取值
左边的是复用器(发送端),右边是分用器(接收端)。二者必须成对使用。
简而言之,复用器负责将多个信号合并为一个信号以便于传输,而分用器则负责将合并的信号分离,恢复为原始的多个信号,以便分发给不同用户。
在这里插入图片描述

时分复用的问题
时分复用可能会造成线路资源的浪费。使用时分复用系统传送计算机数据时,由于计算机数据的突发性质,用户对分配到的子信道的利用率一般是不高的。可以看到,当某个用户无数据发送时,在时分复用帧中,分配给该用户的时隙只能处于空闲状态。其他用户即使有数据要发送,也不能使用这些空闲的时隙。(因为TDM帧中,每个用户的时隙都是定好的专属时隙,即使空闲了,其他人也不能直接用)
如下图:
在这里插入图片描述
针对利用率不高的问题,提出了统计时分复用。

统计时分复用

统计时分复用(Statistic TDM ,STDM),能明显的提高利用率,集中器常使用这种统计时分复用。
首先注意,STDM帧中的时隙,并不是固定的分配给某个用户的。

统计时分复用使用STDM帧来传送复用的数据。但每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧,对没有数据的级存就跳过去。当一个帧的数据放满了(时间槽满了,集中器缓存空了的同时达到了STDM帧的最小帧要求等等情况),就把数据发送出去。
在这里插入图片描述

在不同信号前多加了一个信号标识,通过标识来区分不同用户的数据,不同数据不再占用一个固定的位置,数据存放是没有规律的,因此每个时隙中必须包含用户的地址信息,从而达到高效利用信道的目的。

在这里插入图片描述

波分复用

波分复用WDM,实际上就是光的频分复用,将n个光线调制到不同的波长上,然后用光波分复用器将技术光束合并成一道光。同时,接收端需要用光解调器,分离成不同波长的光。
在这里插入图片描述
波分复用的简略示意图

在这里插入图片描述

码分复用

码分复用的提出背景:当 时域、频域 无法再分时,寻求一种新的方法在同一信道传输多个信号(共享信道)

码分复用(Code Division Multiplexing , CDM码分复用),也叫码分多址(Code Division Multiplexing Access, CDMA码分多址)来称呼该技术,主要用于无线通信。

· 可以实现多个用户同时使用同样频率进行通信
· 如何实现?—— 通过各用户的码序列进行区分。并且由于多个用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰,且抗干扰能力强。

CDMA原理

1、每个比特(0或1)以一组码序列发送
在CDMA中,每一个比特时间再划分成m个短的间隔,称为码片(Chip),通常m的值是64或者128(m位编码将每位比特划分为m),后面为了简便运算,设m为8。

码片:一个数据信号(如逻辑1或0)通常要用多个编码信号来进行编码,那么其中的一个编码信号就称为一个码片

2、一个数据信号(如逻辑1或0)通常要用多个编码信号来进行编码,如这个站要发送1,就发送该码片的原码,如要发送0,就发送给码片的反码。

所以不难发现,因为0和1的定义变了,原来的1可能就只需要1个比特,现在的1在新的码片定义下需要8个比特。因此,其对应的发送速率就要提升至原来的n倍,才能保持和原来一样的发送速率。(只针对用CDMA的站点)

使用 CDMA 的每一个站被指派一个 唯一m bit 码片序列,也就是这个站点自己独有的码片序列
一个站若要发送 比特 1,就发送它自己的 m bit 码片序列;若要发送bit 0,就发送其码片序列的二进制反码。因此,为避免不通CDMA站点之间混淆,给每一站分配的码片序列不仅必须各不相同,还必须互相正交

Q:为啥要正交?
A:通过分配互相正交的码片序列,通信系统可以实现多用户的同时通信,即使它们在同一时间使用相同的频率,也可以将其区分出来。这是因为接收端可以根据接收到的信号与预先知道的码片序列进行内积运算,从而将特定用户的信号从其他用户的信号中区分出来。

通常将码片中的 0 写成 -1,将 1 写成 +1
在这里插入图片描述

如何选择码片序列

各用户的码片序列都是唯一的,要求我们可以通过(两个向量如果正交,那么他们的数量级为0,或者说向量内积为0)这个想法去实现。只需要每个用户码片之间相互正交即可
正交的实现(站点接收后,根据提前得到的码片序列,对收到的信号进行计算):
第一个式子计算结果是1,所以得到了比特1的数据
第二个式子计算结果是-1,所以代表得到了比特0的数据
第三个式子计算结果是0,所以代表当前收到的信号是别人的,舍弃
在这里插入图片描述

流程图

在这里插入图片描述
注意,这里T站是其他站点,目的是为了对比和T站规格化内积的对比,并且T站发出的信号,最后会和S站叠加在一起放在共享信道上传输
叠加后的信号,因为是叠加的,所以直接利用提前收到的S站码片序列对其进行正交计算即可。根据结果来判断本次叠加信号是否有S站发出的信号
在这里插入图片描述

扩频

除了发送速率要按照码片的n倍提升以外,总的发送信号因为是叠加的关系,如图所示,不难发现其频带宽度也需要对应累加扩大,因为是叠加。
这里只是简单表述其概念,真实的扩频要比这个复杂
在这里插入图片描述

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

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

相关文章

调试器烧录失败的几种常见解决办法

目录 1. 检查接线、Keil配置是否正确 2. 降低下载速度 3. SWD引脚被禁用或被复用为其他功能 4. 使用CubeMX生成的工程,无法调试? 5. 能识别到芯片但是下载时弹出报错对话框(Command not supported) 6. 内部flash锁死&#x…

深入解析Linux Bridge:原理、架构、操作与持久化配置

一、引言 在计算机网络中,桥接技术扮演着至关重要的角色,它能够实现不同网络设备之间的数据交换与共享。Linux Bridge作为Linux内核提供的一种网络功能,允许用户通过软件方式将多个网络接口桥接在一起,形成一个透明的二层网络。本…

python的os包总结

Python 的 os 模块提供了一系列与操作系统交互的功能,使你可以使用Python代码来执行许多与操作系统相关的任务,比如文件和目录操作、环境变量处理、进程管理等。以下是对 os 模块的一些详细介绍和常见用法。 导入 os 模块 import os文件和目录操作 获…

空间复杂度 线性表,顺序表尾插。

各位少年,大家好,我是那一脸阳光,本次分享的主题是时间复杂度和空间复杂度 还有顺序表文章讲解和分享,如有不对可以评论区指导。 时间复杂度例题 // 计算斐波那契递归Fib的时间复杂度? long long Fib(size_t N){if(N…

java:CompletableFuture的简单例子

java:CompletableFuture的简单例子 package com.chz.myTest;import lombok.extern.slf4j.Slf4j;import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; import java.util.concurrent.ExecutionException; import java.uti…

Spring Boot事件监听使用指南

Spring Boot事件监听使用指南 在Spring Boot中,事件监听是一种常见的设计模式,用于在事件发生时通知感兴趣的组件。通过事件监听机制,我们可以实现模块之间的松耦合,增强系统的可扩展性和可维护性。本文将详细介绍如何通过实现类…

注解详解系列 - @Lazy:懒加载管理

注解简介 在今天的注解详解系列中,我们将探讨Lazy注解。Lazy是Spring框架中的一个重要注解,用于实现bean的懒加载。懒加载是一种优化技术,可以延迟bean的初始化,直到首次使用时才进行创建。 注解定义 Lazy注解用于指示Spring容器…

C++语法基础:函数指针

前言 "打牢基础,万事不愁" .C的基础语法的学习."学以致用,边学边用",编程是实践性很强的技术,在运用中理解,总结. 引入 指针的一种,前一篇和指针相关的帖子C基础语法:指针“进阶“---结点,双重指针-CSDN博客 函数指针的思想 既然属于指针的一种,他背后的…

读AI新生:破解人机共存密码笔记05逻辑

1. 困难问题 1.1. 管理政府或教授分子生物学之类的问题要困难得多 1.2. 这些环境很复杂,大部分是不可观察的(一个国家的状态,一个学生的思想状态),还有更多的对象和对象类型,对动作…

嵌入式通信协议----Wi-Fi协议详解(二)(基于STM32+有人物联网WIFI模块)

四、有人WIFI模块 1.模块介绍 Wi-Fi 模块用于实现串口到 Wi-Fi 数据包的双向透明转发,模块内部完成协议转换,通 过该模块,客户可以将物理设备连接到 Wi-Fi 网络上,从而实现物联网的控制与管理。 2.模块参数 Wi-Fi 模块的…

Apple - Text System Storage Layer Overview

本文翻译整理自:Text System Storage Layer Overview(更新日期:2012-09-19 https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/TextStorageLayer/TextStorageLayer.html#//apple_ref/doc/uid/10000087i 文章目录 …

WebSocket走私实践(附赠LiveGBS监控系统未授权管理员密码重置)

WebSocket走私实践(附赠LiveGBS监控系统未授权管理员密码重置) 对此,我特别感谢TryHackMe和HackTheBox academy,永远相信和追随英国TryHackMe所教导的网络安全知识,并保持学习 WebSocket走私相关的知识在这里 前段时间学习过htt…

小程序 UI 设计缔造独特魅力

小程序 UI 设计缔造独特魅力

[信号与系统]有关时域信号与频域信号的转换

为什么时域信号通过傅里叶变换就可以变成频域信号 时域信号通过傅里叶变换变成频域信号的原因在于傅里叶变换的数学原理和信号的性质。傅里叶变换提供了一种将信号从时域表示转换为频域表示的方法,揭示了信号的频率成分。这一转换的基础在于以下几个关键概念&#…

uniapp 底部菜单栏书写

{"pages": [{"path": "pages/index/index","style": {"navigationBarTitleText": "首页"}},{"path": "pages/my/my","style": {"navigationBarTitleText": "我的&q…

vue3中的$attrs

作用是可以看到父组件给子组件传过的内容&#xff0c;子组件没有使用 父组件 <template><div class"father"><h3>父组件</h3><Child :a"a" :b"b" :c"c" :d"d" :aaa"aaa" v-bind&quo…

qt 简单实验 一个可以向右侧拖拽缩放的矩形

1.概要 目的是设置一个可以拖拽缩放的矩形&#xff0c;这里仅用右侧的一个边模拟这个过程。就是为了抓住核心&#xff0c;这个便解决了&#xff0c;其他的边也是一样的。而这个更能体现原理。 2.代码 2.1 resizablerectangle.h #ifndef RESIZABLERECTANGLE_H #define RESIZ…

Redis源码学习:跳表(Skip List)的工作原理详解

什么是跳表 跳表&#xff08;Skip List&#xff09;&#xff0c;首先它是链表&#xff0c;是一种随机化的数据结构&#xff0c;Redis 使用跳表作为有序集合&#xff08;Sorted Set&#xff09;的底层实现之一。跳表能够提供高效的插入、删除、查找操作。本文通过阅读源码来分析…

python对象转字典对象及序列化

python对象转字典 1、为什么要对python对象转换为字典 python字典与json对象结构相似&#xff0c;json数据结构是最常用的数据结构 2、python对象转字典及序列化的核心点在哪 python对象有很多内置属性并不是我们所需要的python字典对象在序列化的时候&#xff0c;时间字段…

grafana 通过自定义API获取数据

一、安装插件 安装infinity插件 二、配置数据源 三、配置图表 1、数据 这边提供一个go的demo package mainimport ("math/rand""net/http""time""github.com/gin-gonic/gin" )func main() {router : gin.Default()rand.Seed(time.…