协议分析

CSA和MuSCA是CRDSA和IRSA的一种推广形式,主要是通过在协议中引入了编码、分割过程来实现对CRDSA中冗余度的消除,从而达到提高吞吐量的目的。
对CRDSA和IRSA的分析介绍在我之前的博客中有:
Aloha及其衍生协议CRDSA、IRSA的介绍.

编码时隙aloha(CSA)

编码时隙aloha协议是IRSA的延申。与IRSA中将用户的数据包进行简单重复之后插入到帧中不同,CSA首先对用户需要传的数据包进行编码、分割,再插入到MAC帧中。

CSA协议流程

1、发送端
与IRSA不同,为了传输分割后的数据块,CSA首先将每一个突发分割成k个子突发。这k个子突发然后由线性(n,k)分组级擦除纠错码编码。再将子突发传输。1
2、接收端
(1) 在接收端,不同的发射用户发送的消息一旦冲突则被认为丢失。
论文1中,假设使用MDS编码,在此编码方式的假设下,如果特定突发的丢失子突发的总数小于或等于n-k,则可以恢复n个子突发的完整集合。
(2) 每个子突发包含指向与同一突发相关的其他子突发的位置的指针,则可以应用与IRSA相同的干扰消除(IC)处理。


CSA与CRDSA之间的效果对比

1中报告的优化CSA的模拟吞吐量结果似乎略优于编码速率大于1/2的IRSA。但没有报告PLR结果;因此,与其他RA方案进行公平的比较是不可能的。
从实现的角度来看,CSA由于其相关的信令机制,是一种更复杂的RA方案。
因为CSA将突发分割为子突发,并且每一个突发都要有信令的开销,因此会更为复杂。

多时隙编码aloha(MuSCA)

卫星通信中的多时隙编码MuSCA随机接入方法,可以被认为是竞争解决分集时隙Aloha机制CRDSA的推广。2
与上文介绍的CSA相似这个系统不是传输复制的突发,而是用被划分成几部分的一个纠错码来代替它们。
它也不同于编码时隙ALOHA (CSA),因为不采用破坏性碰撞的假设(碰撞即认为丢失)。在MuSCA中,负责解码机制的实体在解码之前收集同一用户的所有突发(包括受干扰、冲突的时隙),并执行连续干扰消除(SIC)过程来移除成功解码的信号。
仿真显示,对于100个时隙的帧,对于500个时隙的帧,可实现的总归一化吞吐量大于1.25和1.4,导致相对于CRDSA和CSA的增益分别为80%和75%。

MuSCA过程

1、发送端
假设发送系统的每个用户在每一帧都有传输k比特的数据的需求,可以假定使用速率为R的码(如DVB-SH),因此就可以生成k/R bits长度的数据块。编码后的数据块再进行交织并分割成Nb个冲突。
类似于CRDSA*,信令信息比特和前导码被添加到每个突发。每个突发的结构如下图所示

调制脉冲串在一个类似时隙的信道的几个时隙上发送(见下图)。

2、接收端
帧上的接收信号是通过数字用户信道后的信号总和。干扰消除(IC)过程对该信号应用两次:首先解码信令字段,然后解码每个定位用户的一组Nb个冲突的数据字段。
(1)接收机试图通过用连续干扰消除(SIC)算法解码信令字段来定位尽可能多的用户突发。它贯穿每个时隙,试图用速率为Rs的解码器解码信号场。如果解码成功,则发现同一用户的Nb-1个其他突发的位置。这允许接收机产生Nb个信号场(因为解码成功,因此可以复原出原信号),并从接收信号中减去它们。在此操作之后,Nu-1用户仍未找到。这个过程一直重复到最后。
(2)之后,开始对具有最多未碰撞(干净)突发的定位用户进行数据解码。接收器收集同一用户的所有突发,重建长度为1/R×k的码字,并将其发送给解码器。
与CSA中的操作不同,在MuSCA中,当一个突发被定位时,即使受到其他用户突发的干扰,它仍然可以参与解码过程。
只有当突发受到高度干扰并且没有为解码带来更多有用信息时,它才被视为丢失。
其中,对“高度干扰”的定义为:在一个时隙中发生冲突的消息数量超过了一定的阈值(如3)。这个阈值由编码的种类决定。
如下图中,设定阈值为2,则在MuSCA中也可以实现解码。

MuSCA的性能

下图描绘了使用MuSCA通信协议的情况下,turbo码在3种情况下的性能曲线:
a)3个突发在干净的时隙上,
b)3个突发与一个用户的信号冲突,
c)3个突发与2个其他用户冲突。

下图对比了CRDSA和MuSCA之间的吞吐量性能和正则化承载量之间的关系变化。

可以看出,CRDSA和MuSCA之间的吞吐量和正则化负载之间的分布趋势不同。
下图对比了相同误码率下SA、CRDSA和MuSCA之间的负载对比。
可以看出,当误码率相同时,MuSCA能够承受的负载更大,因此它的性能比CRDSA要好。

协议的缺点

CSA和MuSCA都在通信协议过程中引入了编码过程来消除冗余度,这能够提高吞吐量,但这也引入了问题:

更高的运算要求

编码、解码过程需要运算,这提高了对处理速度的要求

由更多的信令所带来的更高的开销

因为将原数据分割成了多个子突发,相关的信令开销更高,尤其是对于小尺寸的数据包。文献2中报道的仿真结果表明,在忽略信令开销的情况下,MuSCA优于CRDSA。

不能像CRDSA一样时隙级解码

在MuSCA方案中,编码符号被划分为Np个子分组,每个子分组被分配给不同的帧时隙。因此,子分组不能像CRDSA那样在时隙级解码。这使得接收端的处理延迟更高了。


  1. Paolini E , Liva G , Chiani M . High Throughput Random Access via Codes on Graphs: Coded Slotted ALOHA[C]// IEEE International Conference on Communications. IEEE, 2010. ↩︎ ↩︎ ↩︎

  2. Bui H C , Lacan J , Boucheret M L . An Enhanced Multiple Random Access Scheme for Satellite Communications[J]. IEEE, 2011. ↩︎ ↩︎

多时隙编码aloha(MuSCA)与编码时隙aloha(CSA)协议分析相关推荐

  1. python字符编码讲解_python 字符编码讲解

    ASCII控制字符  Unicode编码 ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字 ...

  2. python2 python3编码_Python2和Python3编码问题-从底层出发

    首先需要强调---无论是python2还是python3都可以理解成是Unicode编码,但是在电脑硬盘上存储是按照不同的映射关系的. Python的encode和decode 首先明白一件事情,之前 ...

  3. 格伦布编码——rice编码无非是golomb编码M为2^x的特例

    格伦布编码 格伦布编码是一种无失真资料压缩方法,由数学家所罗门·格伦布在1960年代提出. Rice编码 Robert F. Rice提出Rice 编码,是以哥伦布编码为基础做改良而更简易的前置码.R ...

  4. 【Android RTMP】音频数据采集编码 ( 音频数据采集编码 | AAC 高级音频编码 | FAAC 编码器 | Ubuntu 交叉编译 FAAC 编码器 )

    文章目录 安卓直播推流专栏博客总结 一. 音频数据采集.编码 二. AAC 高级音频编码 三. FAAC 编码器 四. Ubuntu 18.04.4 交叉编译 FAAC 编码器 安卓直播推流专栏博客总 ...

  5. 计算机网络---非归零码、曼彻斯特编码和差分曼彻斯特编码

    题目: 在数据通信技术中,将利用模拟信道通过调制解调器传输模拟信号的方法称为频带传输:将利用数字信道直接传输数字信号的方法称为基带传输. 基带传输中,数字信号的编码方式主要有三种:非归零码.曼彻斯特编 ...

  6. 计算机键盘是编码键盘还是非编码键盘,矩阵按键原理图_矩阵按键扫描实例

    键盘分编码键盘和非编码键盘.键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘.而靠软件编程来识别的称为非编码键盘. 在一般嵌入式应用中,用的最多的是非编码键盘 ...

  7. sql server schema下拉不到存储过程_mysql数据库字符编码总结--数据存储编码

    概述 MySQL的字符编码结构比较细,它大方向分为两个部分:数据存储编码和数据传输编码. 内容比较多,下面先简单介绍下数据存储编码~ 01 编码层次 数据存储的字符编码配置是指定数据库中存储的数据默认 ...

  8. .Net 编码以及与这些编码关联的代码页

    下表列出了受支持的编码以及与这些编码关联的代码页. 最后一列中的星号指示 .NET Framework 本身即支持该代码页,而不需考虑基础平台. http://msdn.microsoft.com/z ...

  9. fileinput设置编码python_Python的各种编码设置

    之前我们编写了一个python操作数据库的方法,按照文档的提供的参数来写,写完了以后自己测试发现报了一个编码的错误,也不知道为什么会报这个错误,我一般对编码的错误比较在意,原来搞php的时候,就出现过 ...

最新文章

  1. python ssh2 库 远程登录 执行命令 文件获取
  2. 枚举目录下的目录和文件CFileFind
  3. Atitit 热烈庆祝读经器项目圆满完成
  4. python 将图片转换成像素画_Canvas 实现位图转像素画
  5. git每个项目创建帐户名和密码
  6. Python之print 格式化输出
  7. html5的canvas动画,Canvas HTML5简介 · Canvas动画教程
  8. java图形用户界面实验_java图形用户界面实验教程
  9. MikroTik ROS软路由OSPF命令配置实例
  10. 2019年PMP考试模拟题(附答案解析)
  11. Android 微信高性能日志存储库Xlog的使用
  12. css常见定位、居中方案
  13. 仿真 steam linux 安装教程,Ubuntu安装Steam游戏平台的解决方案
  14. BAT32G137 移植threadX
  15. 全国城市空气质量实时发布平台数据抓取采集获取
  16. Cloudflare找不到服务器 IP 地址
  17. 开发一款出境旅游类APP需要包含哪些功能?
  18. daimayuan每日一题#810 最短路计数
  19. [转]什么是Base-64编码?
  20. 《Linux Device Driver》——时间、延迟及延缓操作

热门文章

  1. python对于设计师有什么用-如果你有设计师朋友,请对TA好一些...
  2. 自学python需要安装什么-初学 Python 需要安装哪些软件?
  3. python怎么读写文件-python读写文件
  4. 学python能做什么-学Python后到底能干什么
  5. 巴斯勒相机外部触发接线_2021新疆欧姆龙相机回收童嫂无欺
  6. 【离散数学笔记】计数原理:解决计数问题的基本方法
  7. c# 操作redisclient 设置过期时间_C# Redis分布式锁 单节点
  8. java 参数类型可变_java – 具有可变类型参数的通用
  9. windows上telnet用法 测试端口号
  10. 2022牛客寒假算法基础集训营3 签到题7题(附基础集训营1-3签到题总结)