面向天基物联的异步免授权SCMA多用户检测方案
2023-04-03郭一诺吴云飞成俊峰
郭一诺,吴云飞,张 景,成俊峰,陆 洲
(中国电子科学研究院,北京 100041)
0 引言
天基物联网[1](IoT, internet of things)是新一代6G物联网中的重要组成部分,可支持多种应用场景和海量用户需求。主要是将卫星通信系统和地面物联网结合,并利用卫星通信的覆盖面广、几乎不受天气等恶劣环境的影响、容量大并可支持海量连接等特点,来弥补地面物联网难以在沙漠、海洋等地理环境搭建基站、受自然灾害影响严重以及在人烟稀少的地方建立基站成本高等限制[2]。并且,天基物联作为6G物联网的重要组成部分,也为物联网中例如超级物联网、人工智能以及移动超宽带等很多应用场景提供了有效的解决方案[3-4]。
目前针对天基物联场景的多用户检测研究受到了国内外学者的广泛关注。文献[5]针对近地轨道卫星物联网提出了一种免授权[6]的随机接入模型,并结合压缩感知提升了系统的活跃用户的检测性能。文献[7]针对卫星通信系统中将SCMA多用户检测算法中的MPA算法进行了串并结合的改进。文献[8]针对异步上行SCMA链路多用户检测中的异步干扰问题采用在导频和数据之间插入保护间隔的方式来消除异步用户间的交叉导频与数据干扰问题。文献[9-12]针对异步SCMA系统中由于用户之间的传输时延问题,通过对多用户检测算法进行优化,例如提出消息传递检测算法(MP, message passing)等方法解决系统时间偏移存在估计误差的问题。文献[13-14]针对异步非正交多址系统中存在的定时误差问题,通过采用过采样技术在不同用户符号之间引入定时不匹配,从而得到最佳的定时失配,达到解决定时误差的目的。文献[15]针对卫星通信系统中的异步检测算法计算复杂度较高的问题,提出改进的概率数据关联算法(PDA, probabilistic data association)。文献[16]提出残差辅助消息传递算法,该算法通过动态选择的方式利用具有最大残差的外信息实现异步消息传递算法的信息更新和信息传递,从而将多用户检测的迭代次数由6次降低到了2次,最终使得异步检测算法计算复杂度大大降低。文献[17]针对同步SCMA多用户检测算法计算复杂度较高的问题,提出基于信噪比设置动态阈值的方案,减少了码本中的冗余部分,在不同信噪比的情况下选择不同数量的叠加星座点,同时减小了码本的大小和算法运算量,最终达到降低检测算法计算复杂度的目的。文献[18]从基于改进传统的消息传递算法(MPA, message passing algorithm)的角度来解决SCMA多用户检测算法计算复杂度高的问题,即提出一种基于排序的消息传递算法(S-MPA, sorted message passing algorithm),减少资源节点到用户节点的冗余消息传递。
然而当前这些研究只能解决天基物联场景下的多用户检测算法所面临的某些单一的问题,例如文献[7]只实现了天基物联场景的免授权接入以及活跃用户检测,文献[7]和[17]只解决了同步场景下的多用户检测计算复杂度较高以及收敛速度慢等问题。
当前针对异步场景的文献同样只能解决某些单一的问题。例如文献[8-16],[18]只解决了异步场景下的多用户检测算法的高计算复杂度或传输时延较长导致的难以同步的问题。而本文则较为充分的解决了天基物联场景下多用户检测算法目前所遇到的问题,例如传输信令过多引起的资源开销较大以及星地通信距离较远造成的卫星用户之间难以同步的问题。为解决以上两种问题本文采用免授权机制以及异步检测算法,然而随之又将产生多用户检测算法计算复杂度高以及收敛速度慢等问题。由此本文又采用盲多用户检测算法以及压缩感知领域的子空间追踪算法来解决上述问题。仿真结果表明,所提系统模型以及解决方案针对天基物联场景下的多用户检测算法所面临的问题进行了算法优化和改进,使得所提方案相比于当前文献所提出的多用户检测算法而言更适用于天基物联场景。
1 基于SCMA的天基物联免授权机制
1.1 天基物联免授权
在天基物联海量连接的背景下,用户与卫星基站之间的信息交互将会带来庞大的信令开销,且握手过程中使用的导频资源碰撞的概率也会大大增加,使得传输时延增大,传输效率降低以及资源浪费。综合以上因素,上行免授权机制较为适合天基物联的上行接入过程。
传统的天基物联授权机制与天基物联免授权机制对比如图1所示,传统的授权机制如图1(a)需要经过多次信令交互,即首先用户设备向卫星发送调度请求,然后卫星向用户发送调度许可,当用户数据不能分配到资源时,用户将向卫星报告缓存状态以及相应数据量,得到许可后便可进行数据传输。这种需进行多次信令交互的传输机制在天基物联大连接的场景下会带来较大的传输时延,在耗费资源的同时也影响了传输效率。而免授权机制如图1(b)只需用户设备向天基卫星发送先导序列即可传输数据,免去了冗杂的卫星授权和过多的握手协定。不仅降低了用户设备的接入时延、提高了接入效率,还减少了密集的信令交换,更加满足天基物联海量连接用户的场景需求。由此本文主要基于SCMA进行天基物联的上行免授权接入研究。
图1 上行天基物联授权与免授权机制对比
1.2 上行SCMA接入模型
稀疏码多址接入技术(SCMA, sparse code multiple access)为码域非正交多址接入技术,用户在码域中进行多路复用,在同一时频资源上叠加多路用户符号,提升系统传输容量并降低用户传输延迟[19]。上行SCMA接入模型共有J个用户(UE)和K个正交时频资源(RE)(其中J>K),过载因子λ=J/K(一般大于1)。在发送端,用户为j∈{1,2,…,J}。 SCMA编码的定义为从log2(M)比特到大小为M的K维复数域码本映射[20]。其中K维复数域码字x是具有N≪K个非零元素的稀疏向量,码字的稀疏性限制了叠加在同一时频资源上的用户数,以降低接收端多用户检测算法的计算复杂度。在接收端,接收到的信号可以表示为:
(1)
其中:y=(y1,y2,…,yK)T是用户在接收端的接收信号,hj=(h1j,…,hKj)T是用户j的信道矢量,xj=(x1j,x2j,…,xKj)T是第j个用户的码字,n~CN(0,N0I)为高斯噪声。
可通过SCMA编码为系统提供编码增益,从而有效适应过载的海量连接场景,适合天基物联的上行异步传输。
2 上行SCMA多用户异步检测方案
2.1 上行SCMA系统的异步传输模型
上行SCMA系统的异步传输模型如图2所示,假设共有J=6个用户(UE)和K=4个正交时频资源(RE),过载因子λ=3/2。在发送端可能存在部分活跃用户(发送数据)与空闲用户(不发送数据),并且经过信道编码以及SCMA码本映射,使得活跃用户的二进制序列数据从log2(M)比特映射到大小为M的K维复数域码本。
图2 上行SCMA系统的异步传输模型
(2)
图3 单个子载波异步SCMA叠加信号采样
而每个接收信号可表示为:
rk[3n-2] =
(3)
由上式可知,由于时延的影响,有的接收信号由3个用户数据叠加而成,有的则由两个或一个用户数据叠加而成。
2.2 上行免授权SCMA异步检测技术
2.2.1 多用户盲检测
在上行异步SCMA系统中,用户状态分为活跃用户与空闲用户两种。活跃用户在当前时隙中发送数据而空闲用户不发送数据。故而上行异步SCMA系统接收端上行链路用户发送的导频信号y可以表示为:
(4)
式中,ωj为第j个用户所使用的导频序列,hj为第j个用户所在通信信道的信道增益,xj为第j个潜在用户在活跃状态要发送的数据,n为高斯白噪声。
如果某个用户在当前时隙中没有发送数据,则可等效为在本次数据传输过程中该用户发送了一个元素全为0的码字,若码本使用QPSK生成,则这种没有发送数据的情况可看作数据被调制为了0星座点。如图4所示,该场景下的码本为经过加入0码字的扩展码本,这种将码本状态与数据检测相结合的译码算法为JMPA译码[21]。
盲检测的步骤可概括为:
1)按照MPA准则计算在消息传递过程中每个用户所用码本中各个码字的概率。
2)由MPA最终的迭代结果,计算出每个用户码本传递0码字的概率,并由此确定该用户在当前时隙是否处于活跃状态。
3)对每一个用户的码字概率进行归一化处理,并针对每个码字的概率进行判决,若确定该用户在当前时隙为空闲用户,则略过该用户针对其他用户进行误符号率、误检率以及漏检率的统计,从而降低JMPA的计算复杂度。
2.2.2 多用户异步检测
图4 盲用户检测星座图
图5 异步检测算法因子图
其中初始联合概率可表示为:
(5)
变量节点向校验节点传递消息可表示为:
(6)
图6 天基物联上行异步SCMA传输模型
上式以一个变量节点和校验节点之间信息传递为例,如上式可知,变量节点向相邻校验节点所传递的信息由其本身关联的接收信号传递的联合概率与另外两个相邻的校验节点传递给他的信息组成。
同理,校验节点向变量节点传递消息可表示为:
(7)
最后,当完成所有符号的信息传递之后,可将经过BP串行更新之后的初始概率传递给MPA进行并行信息迭代更新。
上述方案虽然可以在一定程度上解决上行免授权SCMA多用户检测所面临的异步时延问题,然而在在实际应用中依然存在一些问题,例如上述BP-MPA算法必须在已知各个用户的时延顺序的情况下才能进行多用户异步检测,且假设时延小于一个符号周期,由此无法满足实际应用中异步时延随机分布的传输条件。并且上述异步检测算法使得检测算法面临高计算复杂度以及较差误符号率性能等的问题,由此本文针对以上问题提出基于压缩感知的免授权上行异步SCMA多用检测方案。
3 基于压缩感知的上行异步SCMA多用户检测方案
由于卫星与地面用户设备之间的距离较远所以在传输过程中会产生一定程度的时延τ,在接收端接收到的信号可以表示为式(8),因为免授权机制使得接收端无法区分活跃与空闲用户,所以需要在接收端加入盲检测算法来进一步识别活跃用户,式中ωj表示用户j的状态(ωj=1则用户j为活跃用户,ωj=0则用户j为空闲用户),其他参数含义与式(2)相同。
yk(t)=
(8)
由于天基物联场景广覆盖的要求,天基物联采用卫星平台作为基站进行计算和信号检测。然而卫星距离地面用户较远,各个用户之间时间延迟较大,为解决星地远距离长时延造成的用户间难以精准同步的问题,可采用串行串行BP-MPA异步检测算法进行接收端译码。
然而串行BP-MPA异步检测的前提是已知异步用户的时延顺序,这种情况不符合天基物联的实际应用情况,故而为了在接收端确定用户的时延顺序,本文设计了子载波时延预检测模型,从而在接收端进行多用户检测之前确定各个用户的时延顺序以及是否有部分用户同步到达等等较为复杂的情况。之后再利用串行BP异步检测和MPA同步检测的原理进行异步或同步检测。在增大了检测误符号率性能的同时,还在一定程度上降低了算法计算复杂度。然而尽管如此,算法的计算复杂度依然较大而且收敛性能依然较差,所以本文采用压缩感知中的稀疏重构算法以残差补偿的方式来进一步降低复杂度和提高收敛速度。
如图6为天基物联上行异步SCMA传输模型,相对于上行SCMA异步传输检测模型,本模型在发送端首先进行功率幅度调制和活跃用户与空闲用户区分,然后在多用户检测部分通过子载波时延顺序预检测、盲检测、串行BP异步检测以及自适应子空间追踪算法等一系列检测算法实现天基物联异步检测和检测算法性能优化。
3.1 子载波时延预检测
由于在该模型中,各用户向卫星基站发送数据时存在时间延迟,故而各个用户到达接收端存在先后顺序。又因为上行SCMA系统的4个子载波中每个子载波上叠加3个用户数据,所以当用户数据到达子载波时会在子载波上产生功率跳变。又因为SCMA因子图的列重为2,即每个用户复用两个子载波,所以一般情况下,如果在某时刻同时有两个子载波功率发生跳变,则根据因子矩阵可确定此时到达的用户,同时也可确定在该时刻是否有用户同步到达子载波。
图8 单个子载波时延类型预检测
如图7所示为上行SCMA异步检测系统接收端针对子载波跳变情况的一种时延类型的模拟,如图所示为模拟的4个子载波叠加在一起的功率跳变曲线,纵坐标为各个子载波功率值大小,本文假设各子载波每次的功率跳变值为1,所以各个子载波总共跳变3个单位的功率值,本文为方便显示,以14至17为子载波功率跳变的相对值,横坐标为各用户到达接收端子载波的时间,本文以一个数据符号时间周期为单位,假设用户之间的时延在一个符号周期内。由于子载波的每一次跳变都表示一个用户到达接收端,所以上图可结合因子矩阵表示各用户之间的时延顺序。由上图(接收端子载波功率检测)可知,首先第三和第四子载波功率上升,则由因子矩阵可知,此时到达的用户为用户4,之后功率上升的是第二和第四子载波,故而此时用户1到达接收端。同理可推得,图7的各用户时延顺序(由小到大)为:4,1,5,6,2,3(图中的横纵坐标为相对值,不代表实际数值),而且由图可知,此时延类型中的用户2和用户4的时延均大于一个符号周期,所以此模型没有时延周期限制。
图7 异步SCMA系统的子载波跳变模拟
又因为本文采用经典的SCMA上行链路模型,即用户数为6,子载波数为4,并且一个子载波上叠加3个用户符号数据。所以在异步场景下,各用户时延呈随机分布趋势,一个子载波上叠加的用户之间的时延类型有3种,即3个用户时延各不相同,3个用户中可能有两个用户甚至3个用户同步。
如图8所示。子载波时延类型的预检测的目的就是以这3种为基础,通过一系列检测机制,判断出每个子载波上3个用户的时延类型。具体步骤如下:
首先,对用户进行一定程度的功率幅度调制。设定一个阈值作为子载波跳变检测的窗口,由于接收机对于子载波跳变的检测可能存在误差,并且当两个或多个用户时延相差很近(小于检测阈值)时,可视为两个或多个用户在一个子载波上同步传输,则通过初始的子载波时延检测机制可以仍然检测出绝大多数子载波上叠加的用户时延顺序,但有一些特殊情况不能通过接收端子载波跳变被检测出用户时延顺序(例如12同步、34同步、56同步同时发生,如图9所示),故而可对用户进行功率幅度调制(如图10所示)。
图9为一种不能由上述算法唯一确定用户时延顺序的特殊情况,图中曲线为模拟的4个子载波功率跳变曲线重叠到一起时的图像。
图9 存在同步用户的接受端子载波跳变模拟
图10 功率幅度调制后的子载波跳变模拟
图11 自适应子空间追踪算法(A-SP)流程
如图10所示,经过发送端功率幅度调制(例如用户3,4设置为2倍的发射功率,用户5,6设置为4倍的发射功率)之后,再根据上述检测算法便可很容易唯一确定各个用户的时延顺序,即上图为用户1,2同步、3,4同步、5,6同步,且时延顺序由小到大为用户1,2;用户3,4; 用户5,6;
其次,检测出各用户时延顺序。由系统的因子矩阵可知,每个子载波上叠加的3个用户分别都是哪3个。然后在接收端对子载波进行功率检测。根据子载波功率的上升趋势再结合因子矩阵,便可判断出各个用户之间的时延大小顺序。
然后,检测出各个子载波的时延组合类型。根据用户时延顺序以及因子矩阵判断出各子载波的时延组合类型。由于当码本确定时,每个子载波上叠加的用户也可确定。故而跟据上一步所得的用户时延顺序便可对应求出每个子载波的时延组合。
最后,有针对性地进行BP串行异步检测或MPA同步检测。当SCMA系统的用户时延顺序和各个子载波的时延类型确定,则便可针对各个子载波的时延组合类型进行异步检测。
3.2 基于压缩感知的上行异步多用户检测算法
3.2.1 自适应子空间追踪算法
由于异步多用户检测算法在解决天基物联场景需求的同时也牺牲了一部分性能,例如盲检测算法在有空闲用户时的误符号率要比已知用户状态或没有空闲用户的情况要差一些,BP异步检测算法以牺牲一定的误符号率和计算复杂度性能为代价实现天基物联的异步检测。故而为补偿性能损失,本文采用压缩感知领域的子空间追踪算法来对盲检测算法和BP异步检测算法牺牲的计算复杂度以及收敛速度等性能做进一步的补偿,将检测算法的检测性能以残差的形式转化为稀疏重构算法的重构性能。
首先,将观测矩阵与残差内积的绝对值按照从大到小排列,取其中最大的k个值组成一个集合,然后将最大的k个分量的索引加入支撑集。接着利用最小二乘的方法对结果排序,取最大的k个分量的索引得到更新后的支撑集,然后更新残差向量,判断当残差能量是否大于上次迭代能量,大于则跳出迭代。最后判断残差能量是否小于噪声功率,小于则退出重构算法。
3.2.2 基于压缩感知的上行异步检测流程
由于盲检测算法和BP异步检测算法通过牺牲误符号率性能为代价来换取,且BP异步检测算法又会带来高计算复杂度的问题。而压缩感知的稀疏重构算法的计算复杂度相对于BP异步检测算法等迭代算法来说就很低。所以可利用压缩感知对盲检测算法和BP异步检测算法进行补偿,用压缩感知的稀疏重构算法来代替计算复杂度较高的迭代算法。具体补偿方法如下。
基于压缩感知的多用户检测算法流程:
输入:x,CB,h,N0,Nit,τ,t
输出:用户的译码序列
·Part1(利用JMPA确定盲检测机制)
1.初始化
2.forn=1:Ndo
3.设置空闲用户与活跃用户
4.endfor
5.fork=1:K,n=1:Ndo
6.综合时延信息确定每一个时隙下的接收信号
7.endfor
·Part2(子载波时延类型预检测)
8.fori=0:tdo
9.forj=1:Jdo
10.根据在一定时间内的功率跳变个数判断时延类型
11.根据功率跳变情况和因子矩阵解出各用户时延顺序
12.endfor
13.endfor
·Part3(利用BP-MPA完成异步检测)
14.fork=1:K,n=1:3N+2do
15.结合串行BP原理计算联合概率
16.endfor
17.fork=1:K,n=1:Ndo
18.连续译码,进行连续消息迭代更新
19.endfor
20.fork=1:K,m=1:M+1do
21.将BP译码之后的概率信息传递给MPA
22.endfor
23.传统MPA消息迭代更新
24.forn=1:Ndo
25.MPA迭代译码
26.endfor
27.确定盲检测误符号率、漏检率、误检率等信息
·Part4(利用压缩感知优化算法性能)
28.forn=1:Ndo
29.由异步检测算法所得译码数据求得观测信号,并确定残差数据
30.endfor
31.forn=1:Ndo
32.用A-SP算法对残差进行校正
33.endfor
1)首先利用异步检测算法所得译码数据求得观测信号,并确定残差数据:
已知经过两次迭代计算后的译码数据为,则令初始译码信号为:
(9)
同理,原始信号为
y=Hx+n
(10)
(11)
若存在常数δS∈(0,1),使得:
(12)
则Φ可为稀疏重构算法的测量矩阵,故而H可作为稀疏重构算法的感知矩阵(测量矩阵×稀疏基)。因为观测信号带有噪声,故而本文采取可以在有噪声环境下重建信号的子空间追踪算法。2)重建残差信号和误差信号,与初始接受译码信号相加进行补偿:
(13)
4 实验结果与分析
表1为本文所提出的联合压缩感知多用户检测算法(CS-BPMPA)所用到的仿真参数,即上行SCMA传输模型采用6个用户,4个子载波以及大小为4,行重为3,列重为2的码本。采用自适应子空间追踪算法,可设置多种稀疏度使得算法可自动选出检测性能最好的稀疏度值,即算法可从1~6的6种稀疏度中选择一个使得算法误符号率性能最好的稀疏度。另外,本文所检测的用户符号数为106,信道环境为瑞利信道,且本仿真以经典用户时延类型为例,即各个用户之间所到达接收端的时刻各不相同,不存在某一子载波接收有用户叠加信号时出现两个用户同步以及3个用户同步的情况。
表1 仿真参数
4.1 误符号率与收敛性能分析
在天基物联场景下,在通过本文所提出的子载波时延预检测模型确定出各个用户的时延顺序的前提下,利用基于压缩感知和串行BP-MPA异步检测的多用户检测算法,不仅可实现上行SCMA系统传输的异步检测问题,还将异步检测所面临的误符号率性能降低以及收敛性能变差的问题进行了优化,使得所提出的算法不仅误符号率较低,且能够实现较快的算法收敛。
如图12描述了联合压缩感知检测算法与BPMPA算法的收敛情况,图中根据信噪比的不同共设置了两组数据,即信噪比为10 dB和信噪比为15 dB时的误符号率性能情况。由图可知,所提出的联合压缩感知检测算法在没有空闲用户的条件下,可在第2次迭代时收敛,而BP-MPA异步检测算法在相同的仿真条件下在第3次迭代的时候才能收敛,而当信噪比为15 dB时联合压缩感知检测算法的收敛性能优势尤其明显。
图12 联合压缩感知检测算法与BPMPA算法收敛性能对比
如图13所示,在仿真参数相同的条件下,即联合压缩感知检测算法与BPMPA异步检测算法所有用户都为活跃用户。联合压缩感知检测算法的误符号率相比BP-MPA性能更好,当误符号率为10-2时,联合压缩感知检测算法与BPMPA相差将近1 dB。
图13 联合压缩感知检测算法与BPMPA算法误符号率性能对比
图14描述了不同空闲用户状态下BPMPA与联合压缩感知检测算法误符号率性能对比,图中分别列举了当空闲用户数为0、1、2、3时两种算法的误符号率性能对比,且当空闲用户数为0时,接收端已知用户状态。由图可知,在已知用户状态和未知两种情况下,联合压缩感知检测算法的误符号率性能都优于BPMPA异步检测算法。且当未知用户状态时,空闲用户数越多,则两算法的误符号率性能相差越大。当误符号率性能为10-1时,空闲用户数为1时,两算法信噪比相差约1.5 dB,当空闲用户数为3时,两算法信噪比相差达到了4 dB。由此可知,越复杂的用户接入场景,联合压缩感知检测算法的误符号率性能优势越明显。而且,在盲检测条件下,即接收端不明确发送端的用户活跃情况时,发送端的空闲用户数越多,两种算法的误符号率性能越差,且联合压缩感知检测算法在空闲用户数为2的误符号率性能与BPMPA异步检测算法在已知用户活跃状态时的误符号率性能相近。故而在信噪比较高的情况下,联合压缩感知检测算法能在一定程度上弥补由盲检测以及复杂用户接入场景所导致的误符号率下降的性能。
图14 不同空闲用户状态下BPMPA与联合压缩感知检测算法误符号率性能对比
4.2 复杂度对比分析
如表2所示,本文列出了几种常见的低复杂度算法以及本文所涉及的自适应压缩感知算法的复杂度公式对比,由于在计算算法复杂度的过程中,乘法相对于加法所造成的复杂度较高,故而本文以乘法复杂度为主要对比变量。
表2 部分低复杂度检测算法的复杂度分析
已知MPA检测算法可在第4次迭代时收敛。故而由表3可知,联合压缩感知检测算法的计算复杂度可如图15所示,相比之下,BP-MPA主要由于时延和串行译码的影响,计算复杂度相比于MPA稍有增加,而联合压缩感知检测算法相比于BP-MPA检测算法计算复杂度则实现了较大程度的降低,即大致相当于78.15%的BP-MPA计算复杂度。
图15 MPA、BP-MPA、CS-BPMPA算法计算复杂度对比
5 结束语
本文基于上行免授权SCMA异步传输系统模型,提出了一种检测发送端异步用户时延类型的预检测模型和一种基于压缩感知的多用户检测算法。针对发送端用户异步时延随机长度和随机时刻特性的异步场景,结合因子矩阵与接收端子载波功率跳变异步检测判断各个用户时延顺序,并且针对其中时延预检测不能唯一确定的情况,采用发送端对部分用户进行功率幅度调制实现时延顺序和时延类型预检测。由各个子载波上叠加用户的时延顺序类型确定各个接收端子载波适合采用的异步检测算法,再利用自适应子空间追踪算法提高异步检测算法的收敛性能,误符号率性能以及计算复杂度。通过仿真分析,所提方案在天基物联上行SCMA异步检测场景中有较好的检测性能,具有一定的应用价值。