一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于状态位置的SCMA接收检测方法与流程

2021-12-04 14:20:00 来源:中国专利 TAG:

基于状态位置的scma接收检测方法
技术领域
1.本发明涉信号检测技术领域,更具体的涉及基于状态位置的scma接收检测方法。


背景技术:

2.scma是区别于功率域noma的另一种noma解决方案,主要通过各用户使用不完全正交的时频资源来体现其非正交方式。
3.在scma编码中,直接将用户需要发送的二进制比特数据映射成多维复数码字,每个用户拥有属于自己的码本,映射的多维复数码字正是自己码本中的某一个向量,每个码字中的元素可以是复数。在同一时频资源块上,多个用户的码字可以叠加传输,使得用户数量和系统容量得到大幅度增长。
4.假设在一个上行scma通信系统中,系统可用频率资源数为k,每个用户占用的资源数为n(n<k),该系统支持的最大用户数为在发送端,如图1所示,每个用户通过scma编码器,将b bit信息数据流直接映射成码本中对应的k维码字,m=2
b
为每用户码本的大小,即码本中码字的个数。每个码字中有n个非零值,说明每个用户仅使用了n个频率资源而不是全部。每个频率资源块上有d
v
个非零值,说明每个资源块由d
v
个用户占据,在接收端每个资源块上叠加着d
v
个用户的发送码字。
5.scma在接收端的检测主要利用的是经典的消息传递算法(mpa,message passing algorithm),在每一次消息传递迭代过程中,需要在每个资源块与其关联用户之间进行外部数据传递,用户与资源数量越多、迭代次数越多,所带来的检测复杂度越高。


技术实现要素:

6.本发明实施例提供基于状态位置的scma接收检测方法,包括:在scma系统的消息传递算法mpa中,获取t次迭代完成时每个用户节点j发送m个码字的条件概率,并按照降序排列构成状态位置检测向量,根据状态检测向量构建任一用户节点j在t次迭代完成时的状态位置检测矩阵;
7.进行t1次mpa迭代运算后,在各用户状态位置检测矩阵中,去除状态位置均排在末尾且概率相等的状态对应的码字,该码字不作为发送码字参与后续迭代过程;
8.进行t2次mpa迭代运算后,提前解码消息传递算法mpa因子图中的多个用户节点中的稳定节点,其中稳定节点是指,在状态位置检测矩阵中,状态位置均排在首位且元素概率相等的用户节点;
9.进行t3次mpa迭代运算,通过带有惩罚机制的状态位置检测算法,对消息传递算法mpa因子图中的非稳定用户节点选择性解码。
10.进一步,还包括获取每个用户节点码本中各个码字的先验概率:
11.每个用户节点码本中各个码字的先验概率包括:
12.13.其中:用户节点j,j∈{1,2,

,j}向资源块节点k,k∈{1,2,

,k}传递外部信息,表示用户节点j向资源节点k在第0次迭代时传递的第m个状态码字时的先验概率,由于每个用户节点的码本中均有m个状态码字,则将每个码字的先验概率初始化为1/m。
14.进一步,每次mpa迭代运算步骤为:
15.资源块节点向用户节点传递外部信息进行迭代更新,其公式包括:
[0016][0017]
资源块节点k,k∈{1,2,

,k}向用户节点j,j∈{1,2,

,j}传递外部信息,其中,表示资源节点k向用户节点j传递的当用户节点j发送第m个状态,码字时,k资源节点其它关联用户l,每资源块上共d
v

1个其它关联用户,发送不同码字的多种组合的条件概率,表示其它关联用户发送码字组合的集合,该集合的数量为t与t

1表示迭代次数;y
k
表示第k个资源块节点上接收到的占用资源块节点k的所有用户发射信号的叠加;
[0018]
获得的m个资源块节点k向用户节点j传递信息的条件概率密度值包括:
[0019][0020][0021][0022][0023]
式中,ξ
k
资源块节点k相关联的用户节点的集合;表示ξ
k
\{j}表示除第j个用户节点以外与资源块节点k相关联的用户节点的集合;表示ξ
k
\{j}集合中的d
v

1个用户发送码字的组合空间,该空间中共有种组合,h
k,l
表示基站与第k个资源块上关联的用户l之间的信道状态信息;
[0024]
用户节点向资源块节点传递外部信息迭代更新,条件概率计算公式包括:
[0025][0026]
表示用户节点j,j∈{1,2,

,j}向资源块节点k,k∈{1,2,

,k}传递当用户节点j发送第m个状态时的条件概率,其中,表示与用户节点j相关联的资源块节点的集合,表示除k资源块以外的其他与用户节点j相关联的资源块集合;
[0027]
对于任一用户节点j,均有m个分别是:
[0028][0029][0030]
进一步,去除状态位置均排在末尾且概率相等的状态对应的码字步骤包括:
[0031]
进行t1次mpa迭代运算;
[0032]
将任一用户节点j获得的条件概率按降序排列;
[0033]
建立用户节点j的状态位置检测矩阵并初始化为零矩阵;
[0034][0035]
t1表示属于t1次迭代阶段,经t1次迭代后任一用户节点j的状态位置矩阵可以填满;中向量其中,中存放第t次迭代后用户节点j所获条件概率降序排列对应的状态;
[0036]
对的最后一列即用户节点j在t1次迭代过程中记录的所有状态位置末位上对应的状态,若中每一个元素均相等,记为
[0037]
所有其他用户节点也在本阶段的t1次迭代后去除了相应发送概率最低的码字信息,并令
[0038][0039]
其中,是检测出的状态末位无变化的用户节点集合。
[0040]
进一步,对稳定用户解码步骤包括:
[0041]
进行进行t2次mpa迭代运算;
[0042]
构建用户节点j的状态位置检测矩阵并初始化为零矩阵;
[0043][0044]
中向量中向量中存放第t次迭代后用户节点j所获条件概率降序排列对应的状态,对的第1列即用户节点j在t2次迭代过程中记录的状态位置首位上对应的状态,若中每一个元素均相等,记为用户节点j被称为稳定节点,上标t2表示参数属于t2次迭代阶段中的参数,对稳定节点进行提前解码可得
[0045][0046][0047]
其中,是稳定用户集合。
[0048]
进一步,对非稳定用户选择性的解码步骤包括:
[0049]
进行t3次mpa迭代运算;
[0050]
为每个用户设定一个状态位置计数器,形成状态位置计数器矩阵表达式为:
[0051][0052]
其中,为非稳定用户集合,j为总用户集合,cl
j
=[cl
j1
,

,cl
jm
,

,cl
jm
]表示用户节点j为每一个状态设定的计数器;
[0053]
将cl
j
中各个计数器值均初始化为cl
j
=[c,

,c,

,c];构建用户状态位置检测矩阵并初始化为零矩阵,其中,上标t3表示属于t3次迭代阶段,矩阵中的向量矩阵中的向量中存放本轮t3次迭代中,第t次迭代后用户节点j所获条件概率降序排列后对应的状态,计数器在每一次迭代后会根据用户状态位置发生增减,其过程既有奖励也有惩罚,计数器变化的规则是:在每一次迭代后,例如,在第t次迭代后,用户节点j查看存放在向量中状态位置,状态位置向量中第一个元素是本次迭代后用户节点j发送可能性最大的码字所对应的状态值,作为奖励,将用户节点j的计数器向量cl
j
=[c,

,c,

,c]中第个计数器值减1;另一方面,状态位置向量中末位元素是本次迭代后用户节点j发送可能性最小的码字所对应的状态值,作为惩罚,将用户节点j的计数器向量cl
j
=[c,

,c,

,c]中第个计数器值加1;
[0054]
cl
j
=[c,

,c,

,c]中m个计数器的值首先降为0的元素,其位置所对应的状态代表的码字可判定为用户节点j的发射码字,用户节点j可以直接解码;
[0055]
达到最大迭代次数t3时,对仍未解码的非稳定用户,将其最后一次迭代完成后,计数器向量中计数器值最小的元素位置作为对应的解码状态,解码出最终的码字。
[0056]
进一步,迭代最大次数t
max
=t1 t2 t3,其中t1<t2<t3,t1>1。
[0057]
本发明实施例提供基于状态位置的scma接收检测方法,与现有技术相比,其有益效果如下:
[0058]
本发明提出一种基于状态位置的scma接收端检测算法,状态是指用户节点发射码本中的不同码字,状态位置是指在状态位置检测矩阵或状态位置检测向量中,每个状态根据每次迭代后的条件概率大小,在状态位置检测矩阵或状态位置检测向量中的排序,即条件概率越大,状态位置在状态位置检测矩阵或状态位置检测向量中越靠前。现有scma接收检测技术主要通过在多次迭代中,进行所有用户与其资源块进行所有可能码字的反复信息
传递与概率计算,最终在收敛或达到迭代次数的条件下才能够将每个用户的发射码字检测出来,检测过程非常复杂,计算复杂度很高。而本发明中提供的基于状态位置的scma接收检测方法,根据状态位置的变化情况,在迭代检测的过程中可以不断减少不可靠码字、提前对可靠用户进行解码以及不断减少待解码用户数量,极大降低了检测过程的复杂度与计算复杂度。
附图说明
[0059]
图1为本发明实施例提供的基于状态位置的scma接收检测方法流程图。
具体实施方式
[0060]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0061]
参见图1,本发明实施例提供基于状态位置的scma接收检测方法,该方法包括:
[0062]
在scma系统的消息传递算法mpa中,获取t次迭代完成时每个用户节点j发送m个码字的条件概率,并按照降序排列构成状态位置检测向量,根据状态检测向量构建任一用户节点j在t次迭代完成时的状态位置检测矩阵;
[0063]
进行t1次mpa迭代运算后,在各用户状态位置检测矩阵中,去除状态位置均排在末尾且概率相等的状态对应的码字,该码字不作为发送码字参与后续迭代过程;
[0064]
进行t2次mpa迭代运算后,提前解码消息传递算法mpa因子图中的多个用户节点中的稳定节点,其中稳定节点是指,在状态位置检测矩阵中,状态位置均排在首位且元素概率相等的用户节点;
[0065]
进行t3次mpa迭代运算,通过带有惩罚机制的状态位置检测算法,对消息传递算法mpa因子图中的非稳定用户节点选择性解码。
[0066]
实施例:
[0067]
在传统mpa检测算法中,每个资源块上虽然复用的用户数量有限,为d
v
个用户,但每个用户的发射码本中均具有m个可能的发射码字,在每一次迭代更新过程中,计算复杂度会达到如果最大迭代次数t
max
、每用户发射码字数量m和每资源块上复用用户数量d
v
提升,计算复杂度会迅速增长。
[0068]
为了降低scma中接收机利用mpa算法的检测复杂度,本文提出一种基于状态位置的降低复杂度的mpa接收检测算法。该算法中状态位置具有下面的含义:在已经设计好的每个用户的码本中有m个发送码字,每个码字称作一个状态(状态代表码字),每一次信息传递迭代后,得到各用户中每个状态检测概率的排序位置,形成状态位置检测向量s
j
=[s
j1
,s
j2

s
jm
],j=1,

,j,各状态位置按降序排列,则用户节点j检测概率最大的状态位置在s
j
中为s
j1
所在的第1位,s
j1
的值表示最大检测概率对应的状态。检测概率最小的状态位置在s
j
中为s
jm
所在的第m位,即末位,s
jm
的值表示最小检测概率对应的状态。该检测算法分为三个阶段,每个阶段分别进行t1、t2和t3次信息传递迭代,t1 t2 t3=t
max
,t1<t2<t3,且t1>1:
[0069]
第一阶段:去除各用户发送可能性最低的码字,不再参与后续迭代检测。本阶段进
行t1次迭代,针对任一用户节点j,在每次迭代后,计算用户的码字状态位置,形成状态位置检测向量s
j
,检查每次迭代后,排在s
j
中末位的状态是否一致,如果一致,说明该状态对应的码字成为用户节点j发送码字的可能性最低,将不再参与后续检测迭代。
[0070]
该阶段从每用户发射码字的数量上降低了检测复杂度。需要进行说明的是,本轮迭代次数应设置为t1>1,如果t1=1,则仅经过一次迭代,可能会盲目剥夺了某个码字参与后续检测的机会,带来较大的误码。同时,t1也不宜过大,因为发送可能性低的码字经过几次迭代后,后续状态位置也不可能发生较大的改变,可以提早对这些码字进行去除,不再参与后续检测迭代过程。
[0071]
第二阶段:针对稳定用户进行提前解码。本阶段进行t2次信息传递迭代,针对任一用户节点j,计算在本阶段t2次迭代过程中,每一次迭代后,是否存在某个码字的检测概率均排在状态位置向量s
j
中的第1位,如果存在,将这样的用户称为稳定用户,并将该用户在t2次迭代后直接解码,后续迭代过程只需对其余非稳定用户进行检测。
[0072]
本阶段通过待解码用户数量的减少来降低检测复杂度。在第二阶段开展稳定用户的提前解码而没有放在第一阶段进行,是期望通过第一阶段一定次数迭代的不断收敛,再进行稳定用户的判定与提前解码可获得更高的准确性。
[0073]
第三阶段:针对非稳定用户,设计带有惩罚机制的状态位置检测过程。该阶段总的迭代次数为t3。在第二阶段未能被提前解码的用户称为非稳定用户,这些用户在前述的迭代过程中,各个状态的位置,尤其状态位置检测向量的第1位置是不断变化着的,这样的用户无法进行提前解码,否则将会带来较高的误码率。针对这种不稳定情况,首先为每个待检测的非稳定用户节点设定一个位置状态计数器,并给计数器赋初值,用户节点在每次迭代后进行检测,其状态位置每获得一次第1位,则进行奖励,计数器值减1;相反地,状态位置每获得一次末位,则进行惩罚,计数器值加1;其他状态位置时,计数器值不变。当用户节点的某个状态计数器值变为0时,直接对用户进行提前解码,确定的解码码字正是计数器值变为0的状态对应的码字;或者当迭代次数达到t3时,算法结束,用户节点根据最后一次迭代后各码字的位置状态进行解码。
[0074]
本阶段会将逐步稳定的用户节点进行提前解码,而不用使每个用户必须经历t3次迭代再进行解码,不断降低检测算法的复杂度。具体的算法流程如下:
[0075]
第一步:初始化,设定每个用户节点码本中各个码字的先验概率相同,即
[0076]
第二步:共t1次迭代,每次迭代过程分两个部分:
[0077]
(1)资源块节点向用户节点传递外部信息进行迭代更新,具体如下资源块节点k,k∈{1,2,

,k}向用户节点j,j∈{1,2,

,j}传递外部信息
[0078][0079]
其中,表示资源节点k向用户节点j传递的当用户节点j发送第m个状态(码字)时,其它k资源节点关联用户l(每资源块上共d
v

1个关联用户)发送不同码字的多种组
合的条件概率,表示关联用户发送码字组合的集合,该集合的数量为t与t

1表示迭代次数;y
k
表示第k个资源块节点上接收到的占用资源块节点k的所有用户发射信号的叠加;x
[k]
表示利用第k个资源块节点进行发送的用户发送符号集合;f(y
k
|x
[k]
)表示第k个资源块节点上接收信号的条件概率密度函数为:
[0080][0081]
x
k,l
表示第l个用户在第k个资源块上的发送码字,l∈ξ
k
表示用户l是与资源块k相关联的用户;ξ
k
\{j}表示除第j个用户节点以外与资源块节点k相关联的用户节点的集合;h
k,l
表示基站与第k个资源块上关联的用户l之间的信道状态信息。
[0082]
由式(3.2)可得,资源块节点k向用户节点j传递信息的条件概率密度值共有m个,如式(3.4)所示
[0083][0084]
其中,表示ξ
k
\{j}集合中的d
v

1个用户发送码字的组合空间,该空间中共有种组合。
[0085]
(2)用户节点向资源块节点传递外部信息迭代更新,具体如下:
[0086]
用户节点j,j∈{1,2,

,j}向资源块节点k,k∈{1,2,

,k}传递外部信息,其条件概率为:
[0087][0088]
其中,表示与用户节点j相关联的资源块节点的集合,表示除k资源块以外的其他与用户节点j相关联的资源块集合。
[0089]
对于任一用户节点j,均有m个分别是:
[0090]
[0091][0092]
首先,将本轮迭代完成时任一用户节点j获得的条件概率首先,将本轮迭代完成时任一用户节点j获得的条件概率按降序排列;然后,为用户节点j构建状态位置检测矩阵将该矩阵初始化为零矩阵,上标t1表示属于t1次迭代阶段。中向量中向量中存放第t次迭代后用户节点j所获条件概率降序排列对应的状态;例如:表示3号码字处在状态位置向量的第1位置,第t次迭代检测结果为3号码字作为用户节点j的发送码字概率最大,而6号码字处在状态位置向量的末位,第t次迭代检测结果为6号码字作为用户节点j的发送码字概率最小。
[0093]
经过本轮共t1次迭代后,任一用户节点j的状态位置矩阵可以填满,s
j
中的每一行存放的是每次迭代后,码字状态的位置信息。对的最后一列即用户节点j在t1次迭代过程中记录的所有状态位置末位上对应的状态,若中每一个元素均相等,记为则用户节点j码本中的第个码字不作为发送码字参加后续的迭代过程。类似地,所有其他用户节点也在本阶段的t1次迭代后去除了相应发送概率最低的码字信息,并令
[0094][0095]
其中,是检测出的状态末位无变化的用户节点集合。
[0096]
第三步:共t2次迭代,每次迭代过程与第二步相似,仍分为两个部分:资源块节点向用户节点传递外部信息进行迭代更新与用户节点向资源块节点传递外部信息进行迭代更新。
[0097]
构建用户节点j的状态位置矩阵构建用户节点j的状态位置矩阵并初始化为零矩阵,上标t2表示参数属于t2次迭代阶段中的参数。中向量中向量中存放第t次迭代后用户节点j所获条件概率降序排列对应的状态;
[0098]
经过本轮共t2次迭代后,任一用户节点j的状态位置矩阵可以填满,中的每一行存放的是每次迭代后,码字状态的位置信息。对的第1列即用户节点j在t2次迭代过程中记录的状态位置首位上对应的状态。若中每一个元素均相
等,记为用户节点j被称为稳定节点,说明这些节点在每一次迭代中均稳定地将码本中的第个码字作为发送码字的可能性最大,在t2次迭代完成后,对稳定节点进行提前解码可得
[0099][0100][0101]
其中,是稳定用户集合。
[0102]
第四步:共t3次迭代,每次迭代过程与第二步相似,仍分为两个部分:资源块节点向用户节点传递外部信息进行迭代更新与用户节点向资源块节点传递外部信息进行迭代更新。为每个用户设定一个状态位置计数器,形成状态位置计数器矩阵可表示为
[0103][0104]
其中,为非稳定用户集合。cl
j
=[cl
j1
,

,cl
jm
,

,cl
jm
]表示用户节点j为每一个状态设定的计数器,将cl
j
中各个计数器值初始化为cl
j
=[c,

,c,

,c],计数器值最先变为0的位置所对应的状态可判定为用户节点j的发射状态,用户节点j可以提前解码,不用等到t3次迭代全部完成。
[0105]
构建用户状态位置矩阵并初始化为零矩阵,上标t3表示属于t3次迭代阶段。中向量中向量中存放本轮t3次迭代中,第t次迭代后用户节点j所获条件概率降序排列后对应的状态。
[0106]
计数器在每一次迭代后会根据用户状态位置发生增减,其过程既有奖励也有惩罚,计数器变化的规则是:在每一次迭代后,例如,在第t次迭代后,用户节点j查看存放在向量中状态位置。状态位置向量中第一个元素是本次迭代后用户节点j发送可能性最大的码字所对应的状态值,作为奖励,将用户节点j的计数器向量cl
j
=[c,

,c,

,c]中第个计数器值减1;另一方面,状态位置向量中末位元素是本次迭代后用户节点j发送可能性最小的码字所对应的状态值,作为惩罚,将用户节点j的计数器向量cl
j
=[c,

,c,

,c]中第个计数器值加1;
[0107]
cl
j
=[c,

,c,

,c]中m个计数器的值首先降为0的元素,其位置所对应的状态代表的码字可判定为用户节点j的发射码字,用户节点j可以直接解码。
[0108]
第五步:当迭代次数达到最大迭代次数t3时,算法停止。若仍存在未解码的非稳定用户,以第t3次迭代,即最后一次迭代后,未解码用户计数器向量中用户状态计数器的值作为解码的最后判定结果。例如,用户节点还未进行解码,它的计数器向量为
该向量m个元素中值最小的元素所对应的位置,判定为用户节点的发送状态,该状态所代表的码字作为用户节点发送码字的最终检测结果。
[0109]
以上公开的仅为本发明的几个具体实施例,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明的精神和范围,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献