计算机网络——数据链路层-媒体接入控制-静态划分信道(频分复用FDM、时分复用TDM、波分复用WDM、码分复用CDM)

目录

频分复用FDM

时分复用TDM

波分复用WDM

码分复用CDM

练习1

码分多址的应用举例

练习2 


本篇我们介绍媒体接入控制的其中一类方法——静态划分信道

首先介绍信道复用的基本概念, 

  • 复用(Multiplexing)是通信技术中的一个重要概念,也就是通过一条物理线路同时传输多路用户的信号。
  • 当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。

如下图所示,

这是三对用户,各自使用一条独立的物理线路进行通信。

如果在发送端使用复用器,在接收端再使用分用器,这三对用户就可以共享一条物理线路进行通信:

常见的信道复用技术有:频分复用FDM,时分复用TDM、波分复用WDM、码分复用CDM。

首先来看频分复用,

频分复用FDM

如下图所示,将传输线路的频带资源划分成多个子频带,形成多个子信道,各子信道之间需要留出隔离频带,以免造成子信道间的干扰。

当多路信号输入一个多路复用器时,这个复用器将每一路信号调至到不同频率的载波上,接收端由相应的分用器通过滤波将各路信号分开,将合成的复用信号恢复成原始的多路信号。

很显然,频分复用的所有用户同时占用不同的频带资源并行通信。

时分复用TDM

再来看时分复用,如下图所示,

横坐标为时间,将时间划分成一个个的时隙;时分复用技术将传输线路的带宽资源按时隙轮流分配给不同的用户,每对用户只在所分配的时隙里使用线路传输数据。

时分复用技术将时间划分成了一段段等长的时分复用帧,每一个时分复用的用户在每一个时分复用帧中占用固定序号的时隙;每一个用户所占用的时序是周期性出现的,其周期就是时分复用帧的长度。

很显然,时分复用的所有用户在不同的时间占用同样的频带宽度。

波分复用WDM

再来看波分复用,波分复用其实就是光的频分复用。

如下图所示,

这是八路传输速率均为2.5G比特每秒的光载波,其波长均为1310纳米,经光调制后,分别将波长变换到1550-1561.2纳米;每个光载波相隔1.6纳米,这八个波长很接近的光载波经过光复用器或称合波器。就在一根光纤中传输,因此在一根光纤上,数据传输的总速率就达到了8*2.5 G比特每秒,也就等于20G比特每秒;

光信号传输一段距离后会衰减,因此对衰减了的光信号必须进行放大才能继续传输,现在已经有了很好的掺饵光纤放大器,两个光纤放大器之间的光缆线路长度可达120公里;

而光复用器和光分用器或称分波器之间可以放入四个掺饵光纤放大器使得光复用器和光分用器之间的无光电转换的距离可达600公里 。

码分复用CDM

再来看码分复用,码分复用是另一种共享信道的方法。

实际上,由于该技术主要用于多址接入,人们更常用的名词是码分多址CDMA(Code Division Multiple Access)

同理,频分复用FDM和时分复用TDM同样可用于多址接入,相应的名词是频分多址FDMA(Frequency Division Multiple Access)和时分多址TDMA(Time Division Multiple Access)。

在本篇中,我们不严格区分复用与多址的概念,可简单理解如下:

  • 复用是将单一媒体的频带资源划分成很多子信道,这些子信道之间相互独立、互不干扰,从媒体的整体频带资源上看,每个子信道只占用该媒体频带资源的一部分。
  • 多址(更确切地应该称为多点接入)它处理的是动态分配信道给用户,这在用户仅仅暂时性的占用信道的应用中,是必须的;而所有的移动通信系统基本上都属于这种情况。相反,在信道永久性的分配给用户的应用中,多址是不需要的(例如,对于无线电广播或电视广播就是这样)。

某种程度上,频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA),可以分别看成是频分复用(FDM)、时分复用(TDM)、码分复用(CDM)的应用。

与FDM和TDM不同,CDM的每一个用户可以在同样的时间使用同样的频带进行通信

由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰

CDM最初是用于军事通信的,因为这种系统所发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。

随着技术的进步,CDMA设备的价格和体积都大幅度下降,因而现在已广泛用于民用的移动通信中。

在CDMA中,每一个比特时间再划分为m个短的间隔,称为码片Chip)。通常m的值是64或128。为了简单起见,在后续的举例中,我们假设m为8。

使用CDMA的每一个站被指派一个唯一的m  bit码片序列(Chip Sequence)。

  • 一个站如果要发送比特1,则发送它自己的m  bit码片序列
  • 一个站如果要发送比特0,则发送它自己的m  bit码片序列的二进制反码;

【举例】

指派给CDMA系统中某个站点的码片序列为 0001 1011

发送比特1:发送自己的码片序列 0001 1011

发送比特0:发送自己的码片序列的二进制反码1110 0100

为了方便,我们按惯例将码片序列中的0写为-1,将1写为+1。

则该站点的码片序列是(-1 -1 -1 +1  +1 -1 +1 +1)

这种通信方式称为直接序列扩频DSSS

码片序列的挑选原则如下:

  1. 分配给每个站的码片序列必须各不相同,实际常采用伪随机码序列。
  2. 分配给每个站的码片序列必须相互正交(规格化内积为0)。

令向量S表示站S的码片序列,令向量T表示其他任何站的码片序列。

两个不同站S和T的码片序列正交,就是向量S和T的规格化内积为0:

任何一个码片向量和该码片向量自己的规格化内积应该是一:

不仅如此,任何一个码片向量和其他各站码片反码的向量的内积也是0:

任何一个码片向量和该码片反码的向量的内积是 -1:

练习1

接下来我们来做一个练习,

假设给站S分配的码片序列为0101 1101,给站T分配的码片序列为1011 1000,这样的分配正确吗?


首先检查码片序列是否各不相同,很显然,题目所给的两个码片序列互不相同,满足码片序列挑选原则的第一条;

  • 检查码片序列是否互不相同:满足

再来检查码片序列是否相互正交,根据题意可知,

用向量S表示站S的码片序列(-1 +1 -1 +1  +1 +1 -1 +1),用向量T表示站T的码片序列(+1 -1 +1 +1  +1 -1 -1 -1)

向量S和T的规格化内积计算如下:

 结果不等于0,不满足码片序列挑选原则的第二条。

  • 检查码片序列是否相互正交:不满足

码分多址的应用举例

接下来我们来看码分多址的应用举例,

A站发送比特1,也就是发送自己所分配到的码片序列;为了简单起见,我们用向量A来表示A站的码片序列,B站发送比特0,也就是发送自己所分配到的码片序列的二进制反码;我们用B反来表示
B站的码片序列的二进制反码,而C站没有发送数据。

显然,D站可以接收到A站和B站所发送信号的叠加信号:

假设系统中的各站所发送的码片序列都是同步的,接收站D知道其他各站所特有的码片序列。

则接收站D对所接收到的叠加信号可以进行判断:

  • 要判断A站是否发送数据所发送的是比特0还是比特1,可将收到的叠加信号的码片向量与A站自身的码片向量进行规格化内积运算,根据我们之前就给出过的参考公式可计算出结果为1

  • 同理要判断B站,可将收到的叠加信号的码片向量与B站自身的码片向量进行规格化内积运算,可计算出结果为-1

  • 要判断C站,可将收到的叠加信号的码片向量与C站自身的码片向量进行规格化内积运算,可计算出结果为0

 从上述计算结果可以看出:

练习2 

我们基于上述方法来做一个练习:


我们一起来分析一下,用收到的码片序列分别与各站的码片序列进行求规格化内积的运算,
若计算结果为数值1,则被判断的站发送了比特1;
若计算结果为数值-1,则被判断的站发送了比特0;
若计算结果为数值0,则被判断的站未发送数据。

  • 判断A站

用A站的码片序列与收到的码片序列进行求规格化内积的运算,结果为1:

因此可知A站发送了比特1

  • 判断B站

用B站的码片序列与收到的码片序列进行求规格化内积的运算,结果为-1:

因此可知B站发送了比特0

  • 判断C站

用C站的码片序列与收到的码片序列进行求规格化内积的运算,结果为0:

因此可知C站没有发送数据

  • 判断D站

用D站的码片序列与收到的码片序列进行求规格化内积的运算,结果为1:

因此可知D站发送了比特1

最后看一道考研题进行思考:


END 


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

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

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

相关文章

SpringBoot中整合MybatisPlus快速实现Mysql增删改查和条件构造器

场景 Mybatis-Plus(简称MP)是一个Mybatis的增强工具,只是在Mybatis的基础上做了增强却不做改变,MyBatis-Plus支持所有Mybatis原生的特性, 所以引入Mybatis-Plus不会对现有的Mybatis构架产生任何影响。MyBatis 增强工具包,简化 C…

强化学习入门

强化学习是指智能体通过不断试错的方式进行学习,利用与环境进行交互时获得的奖励或惩罚来指导行为 试错学习 尝试(决策-decision)错误结果:每次尝试无论产生什么样的结果,都会对下一次结果产生影响 奖励(…

使用elasticsearchdump迁移elasticsearch数据实战

目录 1.安装nodejs 2.安装elasticsearchdump 3.迁移 4.核对数据 5.注意事项 1.安装nodejs https://ascendking.blog.csdn.net/article/details/135509838 2.安装elasticsearchdump npm install elasticdump -g 3.迁移 elasticdump --inputhttp://用户:密码源ES地址/源…

Springboot 子工程构建完后无法找到springboot依赖

问题: 构建完子工程后无法找到SpringBootTest 解决方案: 最好用这个构建 https://www.cnblogs.com/he-wen/p/16735239.html 1.先观察项目目录 是否正确 2.观察子工程目录 3.看pom.xml中是否引用springboot依赖 4.检查代码 查看父项目是否包含子模块 查看子模块的父项目是否…

vscode 中配置 python 虚拟环境

vscode 中配置 python 虚拟环境 Start 在编写代码的过程中,我们经常会用到一些第三方依赖,帮助我们快速完成功能。在 Python 中,默认情况都是统一安装在全局环境中,但是这样伴随着电脑项目越来越多,不同项目对依赖的…

【LeetCode算法题】数组经典题目分析

系列文章目录 【LeetCode算法题】各类基础排序算法的Python实现 【LeetCode算法题】数组经典题目分析 文章目录 系列文章目录前言一、二分查找(704)二、移除元素(27)三、有序数组的平方(977)四、长度最小…

Intel Quartus II IP之DP1.4 工程的创建与使用

前述: Win10电脑安装了Quartus 21.4,这可以满足绝大多数情况,但是对于创建DMI/DP IP的设计demo工程时会报错,因为还需要Eclipse与WSL(Windows Subsystem for Linux)。 具体安装方法参考: Int…

Redis与DB数据一致性-个人总结

缓存读写策略: Cache-Aside Pattern 读缓存: 先查询缓存,存在则返回, 如果不存在则查询DB, 再塞回缓存中,最后返回结果. 写缓存: 更新完成DB之后,删除缓存. 适合场景: 读比较多的场景,更新比较少的场景. 像我们工作当中&#…

R语言【paleobioDB】——pbdb_strata_auto():通过部分名称或前缀返回多个地质地层的基本信息

Package paleobioDB version 0.7.0 paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。 Usage pbdb_strata_auto (...) Arguments 参数【...…

redis7部署集群:包含主从模式、哨兵模式、Cluster集群模式等三种模式

前言: redis部署集群常见的一般有三种模式:主从模式,Sentinel(哨兵模式),Redis Cluster(高可用Cluster集群),根据不同的需求可自定义选择部署方式。 Redis 主从模式&…

c# 视频播放之Vlc.DotNet.Forms

先说下优缺点 优点:与电脑无关,能播放主流编码格式视频。 缺点:只能播放本地视频,网络视频播放不了。 下面是具体操作和代码 1. 安装Vlc.DotNet.Forms 和 VideoLAN.LibVLC.Windows Vlc.DotNet.Forms 是播放库,Vid…

C语言所有字符串函数举例如何使用

strcpy: 将一个字符串复制到另一个字符串中 char source[] "Hello"; char destination[10]; strcpy(destination, source);strcat: 将一个字符串连接到另一个字符串的末尾 char str1[20] "Hello"; char str2[] "World"; strcat(str1, str2)…

三网话费余额查询的API系统,基于thinkphp6.0框架,附带搭建教程

系统用的是Thinkphp6.0框架 PHP版本需要用8.2 搭建教程 1、源码上传后,吧运行目录改为 /public 2、然后吧 数据库文件.sql 这个文件导入到数据库内 3、打开/config/database.php目录文件,然后进行配置数据库信息 4、挂任务计划,用处&…

运输层协议

运输层是OSI模型中的第四层,主要负责提供端到端的通信服务,包括错误检测、纠错、流量控制和拥塞控制等。以下是一些与运输层相关的常见协议: TCP(Transmission Control Protocol): 描述:TCP是一…

未来的NAS:连接您的数字生活

未来的NAS:连接您的数字生活 引言 网络附加存储(Network Attached Storage,简称NAS)是一种通过网络连接的存储设备,用于集中存储和共享数据。传统的NAS设备通常包含一个或多个硬盘驱动器,可以通过局域网连…

【python】学习笔记01

一、基础语法 1. 字面量 - 什么是字面量? 在代码中,被写下来的的固定的值,称之为字面量。 - 常用的值类型 Python中常用的有6种值(数据)的类型。 666 13.14 "程序员"print(666) print(13.14) print(&qu…

服务器变矿机,该如何应对?

开始 恶意的挖矿程序会导致服务器cpu的异常占用&#xff0c;很让人讨厌。起初&#xff0c;我只是使用top命令显示出占用cpu不正常的进程&#xff0c;发现其中一个进程占用了百分之九十九点几&#xff0c;然后通过kill -9 <PID>命令干掉它。但总是过不了几天&#xff0c;…

C++三剑客之std::variant(二):深入剖析

目录 1.概述 2.辅助类介绍 2.1.std::negation 2.2.std::conjunction 2.3.std::is_destructible 2.4.std::is_object 2.5.is_default_constructible 2.6.std::is_trivially_destructible 2.7.std::in_place_type和std::in_place_index 3.原理分析 3.1.存储分析 3.2.…

Jira 宣布Data Center版涨价5%-15%,6年内第8次提价

近日&#xff0c;Atlassian官方面向合作伙伴发布2024年涨价通知&#xff1a; 自2024年2月15日起&#xff0c;旗下核心产品Jira Software、Confluence、Jira Service Management的DC版本&#xff08;Data Center版本&#xff09;价格提高5%-15%&#xff08;涨幅与坐席数阶梯相关…

Django中使用MySQL的视图View

文章目录 一、MySQL创建视图二、Django模型定义 一、MySQL创建视图 首先确定好自己需要链接的两张表及其对应的字段&#xff0c;视图的意义是将两张表数据联合一起变成一张新的表方便后续查询数据。 源Django两张表模型 class ProjectTaskRange(BaseModel, TimeModel):class …