基于SCMA和卷积编码的联合检测译码算法

2021-03-02 05:36赵宏伟刘春阳
系统工程与电子技术 2021年3期
关键词:译码测控编码器

赵宏伟,刘春阳,许 利,罗 霞

(1.西北工业大学电子信息学院,陕西 西安 710072;2.北京遥测技术研究所,北京 100076)

0 引 言

测控是保障卫星通信系统正常运行的重要环节[1]。近几年卫星星座及卫星数量不断增多,特别是低轨星座数目的爆发式增多,对卫星测控系统提出了更高的要求。地基测控系统需要建设分布范围广、数量多的地面测控站,而天基测控具有高覆盖率和多目标服务的能力,因而利用近地轨道卫星或者地球同步轨道卫星对低轨卫星星座进行测控,是当前卫星中继测控研究领域的重要内容。目前,卫星系统的测控和通信方式主要是采用码分多址接入(code division multiple access,CDMA)技术,比如现隶属美国军方的Iridium、Globalstar、Aries等小卫星系统,以及美国的跟踪与数据中继卫星系统(tracking and data relay satellite system,TDRSS)等都采用了CDMA技术[2]。随着大量LEO卫星星座的组网运行,同时接入系统进行通信的卫星数量将大大增加,CDMA系统的多址干扰会严重影响系统容量。因此,急需研究新的多址接入技术来提升大过载卫星通信、测控服务的能力。

稀疏码分多址接入(sparse code multiple access,SCMA)[3-4]是华为公司提出的一种码字域非正交多址技术,已经作为一种空口技术在5G移动通信中得到了广泛的应用。SCMA技术作为一种新型的非正交多址技术,因其能够提供超过传统信道容量极限的接入能力而受到国内外学者的广泛关注。SCMA技术具有高速率、低延迟和最大频谱效率等特点,适用于大规模卫星系统的通信[5-6]。SCMA技术是基于低密度扩频多址接入(low-density-signature multiple access,LDS-MA)技术扩展而来,在发射过程中将传统数字调制与低密度扩频技术相结合,将多用户信息通过映射矩阵映射到少量传输信道中,在空间传输过程中进行叠加。在接收端,接收到同一信道中的多用户信息后,进行多用户检测,恢复出不同用户的发送信息,从而得到高于传统方式的用户承载力,提升当前卫星测控系统的容量。在接收端采用SCMA译码常用算法消息传递算法(massage passing algorithm,MPA)[7-8]能够在保证算法复杂度较低的前提下实现有效译码。因此,考虑在卫星测控中应用SCMA技术以提高用户承载能力,并且采用MPA及其改进算法进行多用户检测。

针对MPA实现复杂度较高的问题,文献[9]采用局部边缘的方法,提出了一种部分边缘化MPA(partial margina-lization MPA,PM-MPA)。PM-MPA在每次迭代中只选取部分节点进行译码判决,虽然降低了算法复杂度,但由于选择的随机性导致系统误码率较高。当MPA在执行节点消息的迭代更新过程时,需要遍历所有的叠加码字星座点(superposed constellation point,SCP),而文献[10]提出的基于球形译码的MPA(sphere decoding MPA,SD-MPA)在译码消息传递的过程中,将接收到的叠加码字星座点与理论星座点位置进行计算比较,只保留球形半径内的星座点,减少搜索点数,提高迭代速度。通过使用球形译码的方法,能够有效减少搜索星座点数,带来算法复杂度的降低,但很难动态确定有效球形半径,同时每次信息更新后,各个用户的收敛程度也会有所差别,以致最终译码性能不稳定。文献[11]提出采用子图的迭代方式来降低复杂度,称为动态子图MPA(dynamic subgraph MPA,DS-MPA)。DS-MPA将原因子图进行分割,每次迭代时只迭代部分因子图,而且同时实现不同用户迭代次数的合理调整,将计算资源合理分配,从而降低算法的整体复杂度。但同样虽然该算法复杂度进行了有效降低,但译码性能仍然很难满足当前卫星测控高可靠性的要求。

信道编码可以保障数字通信系统的可靠性传输。在卫星测控系统中,由于信道衰落、噪声、干扰的存在,会导致接收端出现译码错误的情况,因此使用信道纠错编码技术是卫星测控系统中的一个重要环节[11]。信道卷积编码技术是一种性能较好的纠错编码技术,其在卫星导航与通信中有着广泛应用。卷积码的移位编码器由m级移位寄存器和u个模2加法器组成。该编码器同时允许u位比特输入,v位比特输出,编码器的输出比特不仅取决于正在输入的u比特信息,还取决于这之前的m比特信息[12]。拥有这样编码器结构的卷积码称为(v,u,m)卷积码。关于卷积码常用的3种译码算法分别是:序列译码、门限译码和概率译码。其中,概率译码采用最大似然译码的原则,将接收序列与所有可能码序列进行对比,选择似然概率最大的一个码序列,作为译码结果输出,维特比译码是概率译码中最为常用的一种方法[13-14]。

基于此,本文将卷积编码引入SCMA系统,并采用子图的迭代方式,提出基于似然信息交换的SCMA和卷积编码的联合检测译码(joint detection and decoding,JDD)方案。该方案利用SCMA超过传统信道容量极限的特性,可有效提高当前天基卫星测控系统的用户容量,满足当前低轨卫星测控海量用户的需求。另外利用发送信息之间的相关性,进行对数域的似然信息交换,在保证算法复杂度较低的前提下,提高了译码算法的可靠性,可有效提高系统误比特性能。

1 SCMA系统模型

1.1 发送端模型

SCMA编码原理[15-16]如图1所示,这里以6个用户在4个信道上传输为例来说明,系统信道过载率为150%,即可将原测控系统用户容量提高一半。每个用户采用4点星座图进行调制,不同用户有不同码本,每个码本是一个4×4的复数矩阵,其中矩阵的行表示信道,矩阵的列表示码字。每个用户每次传输2比特信息,包含4种可能的值,分别对应4个码字,用户发送的二进制比特为00~11时分别对应用户码本的第1~4列。

图1 发送端模型Fig.1 Sender model

图1所示6个用户传输信息为11、10、10、00、01、11,对应各用户各自码本的第4、3、3、1、2、4列码字,4个信道上的星座点分别进行相加,形成叠加码字星座点。对于码本的每一列而言,其具有稀疏性,包含零项和非零项,零项表示用户在该信道上不传输信息,非零项表示用户在该信道上传输信息[17]。为了表示方便,采用F矩阵来表示这样一种结构,图1对应的F矩阵为

(1)

式中,F4×6表示6个用户在4个信道上传输时的映射矩阵;Fn,k表示矩阵F中的第n行第k列的元素;sn,k表示用户k在信道n上传输的星座点数值。如由Fn,1可知,用户1实际上只在信道1和信道2上传输信号;由F1,k可知,只有用户1、用户3和用户5在信道1上传输信号。经过高斯信道传输后信道n上的接收信号可以表示为

(2)

式中,J表示用户数;hn,k表示信道n上用户k的信道系数;mk表示用户k选择的码字;Cn,k(mk)表示用户k采用码字mk时,该码字第n个值,即用户k在信道n上实际传输的信息值;nn表示信道n上的噪声信息。对于图1中的信道1,从矩阵F可知,信道1上实际叠加的有效用户数为3,信号经过信道1传输时,当k=2,4,6时,Cn,k(mk)=0,信道1对应的接收信号可表示为

y1=h1,1C1,1(m1)+h1,3C1,3(m3)+h1,5C1,5(m5)+n1

(3)

1.2 接收端模型

在接收端,主要目的是从N个信道上恢复J个用户的M种符号数据。本文采用MPA进行译码,首先假设每个用户发送的符号概率相等,然后通过迭代的方式在功能节点(function node,FN)和变量节点(variable node,VN)之间不断更新对用户发送符号的估计,等到估计的用户发送符号概率值收敛到固定值时,或者达到了最大迭代次数时,停止FN和VN之间的信息传递,译码输出VN上用户发送符号的估计[16]。

用Ifn→vk(mn k)表示功能节点fn向变量节点vk传递的消息,mn k表示消息的状态,共M种,即mn k∈{1,2,…,M},消息的传递可分别表示为:Ifn→vk(1),Ifn→vk(2),…,Ifn→vk(M)。用Ivk→fn(mn k)表示vk向fn传递的消息。MPA在功能节点和变量节点上的迭代过程通常分成两个步骤,循环迭代这两个步骤直至收敛或达到最大迭代次数,两个步骤可以简单表示如下。

步骤 1FN上的消息更新为

(4)

(5)

式中,ξn表示与fn相连的VN集合;k∈ξn/{k}表示除去用户vk之外的与fn相连的VN集合。f(yn|x[n])为接收信号的概率密度函数值,定义为

(6)

步骤 2VN上的消息更新为

(7)

式中,ξk表示与vj相连的FN集合;Kk为调节因子,使得公式成立:

(8)

上述两步骤中有较多指数与乘法运算,可将其转换到对数域中进行计算以降低运算复杂度[15]。

在经过有限次迭代以后,VN接收到来自FN的消息即为用户发送的信号的估计,并将其作为检测结果送入判决模块,其表达式为

(9)

式中,tmax为最大迭代次数;矩阵Q是一个包含J行,M列的矩阵,存储J个用户所发送的M个信息的概率估计大小。

2 卷积编码

2.1 编码器结构

本文使用(2,1,2)卷积编码器,该编码器结构简单,适用于大规模卫星通信系统。发送端将每个用户的输入比特流信息经过卷积编码模块,把1比特信息送入码率为1/2的卷积码编码器中扩展成2个编码比特。卷积编码生成结构如图2所示。

图2 卷积编码器Fig.2 Convolutional coder

生成矩阵表达形式如下:

(10)

式中,U是信源发送信息;G是生成矩阵。g1=(1,0,1),g2=(1,1,1)对应于编码器抽头。

为了方便译码过程,人们通常使用状态图的表示方法在某时刻。将编码器结构中的移位寄存器中存储的m比特信息组合起来,成为这个时刻的状态。本文使用卷积码编码器结构简单,移位寄存器长度为2,所以共有4种状态。当比特信息不断输入编码器时,移位寄存器里的数据不断更新,即编码器状态不断变化。编码器状态转移如图3所示。

图3 状态转移图Fig.3 Diagram of state-transition

可以看到,某一特定状态的下一状态只有两种可能。当前后两状态确定时,编码器输入也随之确定,图3中实线表示编码器输入为1,虚线表示编码器输入为0。状态转移线上标明的是当前时刻卷积编码器的输出。

2.2 维特比译码算法

与卷积编码相对应的解码算法维特比算法,是卷积码在加性高斯白噪声环境下的最优译码算法,在移动通信和卫星测控中被广泛应用。在通信系统信道编码与解码的过程中,假设原始要发送信息为X,经信道编码后变为Y,然后经过有噪信道传输以后,接收端接收到的信息为Z。维特比译码就是,根据接收到的信息Z,在译码网格中找到一条与Z似然概率最大,也就是拟合度最高的路径作为纠错结果,然后根据该路径进行译码得到发送信息X的过程。

译码算法的具体实现是,当接收到一组比特信息时,在译码网格的每个状态节点上,计算出接收信号的码序列与篱笆图上的各条分支路径之间的距离,与前一个时刻路径量度值相加,得到累计度量,然后比较所有以这个状态为目的地的累计度量值,只保留一条具有最小距离的路径作为幸存路径,而将其他路径放弃不用。下一时刻各路径往后延伸一段,重复使用上述方法,保留上一时刻幸存路径,继续延伸路径相加比较,循环此步骤直至输出译码结果。整个译码过程可以用图4的框图来概括。

图4 维特比译码Fig.4 Viterbi decoding

3 联合检测和译码算法

3.1 系统总体结构

图5即为基于卷积编码的SCMA系统的整体框图。首先,用户比特流经过卷积编码,然后根据码本将二进制比特信息映射到星座图上,在使SCMA系统误码性能最优的目标驱动下,在本节中,对于码本,采用基于子集分割的TCM码本[18-19];第2步,进行SCMA映射,将多用户信息映射到对应传输信道中,仍然采用常用SCMA(6,4)模型,即6个用户同时在4个信道中传输信息,每个用户占据2个信道,每个信道中承载3个用户;第3步,进行信息的物理发射,在发射过程中引入高斯白噪声;第4步,接收端将接收到的信息进行SCMA多用户译码,运用子图动态调整用户的整体更新次数,并利用发送信息之间的相关性进行似然信息交换经维特比译码得到译码结果;最后,将发送信息与译码结果进行对比得到整体误比特性能。与单SCMA系统模型相比较,可以看出,联合卷积编码的SCMA系统是将SCMA译码得到的似然信息利用维特比译码算法进行纠错,SCMA系统的其他模块以及参数设置保持不变。

图5 联合卷积编码的SCMA系统Fig.5 SCMA system with joint convolution coding

3.2 JDD算法

在MPA中,每次消息迭代以后,不同用户的信息估计概率收敛性不同。采用DS-MPA可以动态生成原因子图的子图,该算法通过子图更新信息,不必更新所有用户信息。

经过有限次迭代以后,VN接收到来自FN的消息即为用户发送的信号的估计,表达形式为式(9),并将其作为检测结果。然后计算并输出待译码字的对数似然比(log-likelihood ratio,LLR),定义为

(11)

表示当某个比特为0时所有对应的码字概率比上该比特为1时所有对应的码字概率。

然后可以简单地将输出码字LLRx进行硬判决后,将比特作为判决单位,汉明距离作为路径度量值,送入维特比译码模块进行纠错[20-21]。

为进一步提高译码性能,可采用软判决方式。软判决不再利用LLR得到的比特信息,而是直接利用发送信号的估计概率值Qj(mn k),将其转化为符号之间的距离,然后送入维特比译码模块。使用消息传递算法中的直接输出量,将译码器处理的最小信息单元从比特变为符号,能有效提高解码误比特率(bit error rate,BER)[22-23]。

对式(9)取对数,然后取反得

(12)

式中,Dj(mn k)可作为当前时刻路径量度值。

由图3卷积编码器的状态图可以得到用户j当前时刻的路径度量矩阵为

(13)

式中,Dj(m)是mn k取m∈{1,2,…,M}时的距离值;Inf表示状态转移图中没有这条路径。

然后将该路径度量矩阵送入维特比软判决模块,找到一条满足最大似然函数的路径,得到最终译码结果。

4 性能仿真分析

为了验证联合卷积编码的SCMA系统的误比特性能、收敛性等,对JDD算法进行了仿真分析。SCMA链路仿真信道采用了高斯信道。其中各仿真参数值为接入用户数J=6,信道数K=4,码本大小M=4,过载因子为150%,卷积编码采用(2,1,2)编码器[24]。

4.1 BER性能比较

主要针对联合卷积编码后的JDD算法进行仿真,重点考察联合卷积编码后SCMA系统性能提升情况。MPA中最大迭代次数设置为6次,性能仿真结果如图6所示。为了便于比较,图6中同时给出了原始SCMA系统的MPA下的曲线。

图6 不同算法下的BERFig.6 BER of different algorithms

从图6中可以看到,在高斯信道信噪比(signal to noise ratio,SNR)为6 dB的条件下,联合卷积编码的SCMA系统,采用JDD方案后,系统BER从10-2左右改善到10-5以上。同时,采用软判决的JDD方案性能要优于采用硬判决的JDD方案。例如在BER为10-5时,两算法有2 dB的性能差异。

4.2 迭代次数对系统性能影响

针对联合卷积编码的SCMA系统的最大迭代次数T分别采用1,2,4,6时,对系统的BER性能进行仿真(见图7),其中算法判决方式为硬判决。

图7 不同迭代次数下的BERFig.7 BER under different iteration times

从图7中可以看出,在相同信道环境下,随着算法最大迭代次数的增多,JDD方案的误比特性能会有所提升。例如当BER为10-3时,最大迭代次数为2次时相比4次时性能损失约1.3 dB。这是因为随着迭代次数的增多,算法会逐渐收敛,输出判决会更加准确,算法的误比特性能也就更好。

4.3 收敛速度分析

针对联合卷积编码的SCMA系统的误比特性能随迭代次数的变化进行仿真,体现的是算法的收敛速度,在工程实现中收敛速度越快,则算法整体延时越小[25]。图8给出了当系统SNR为3 dB、5 dB和7 dB时,采用JDD方案的误比特性能随迭代次数的变化曲线。从图8可以得出以下结论:① JDD硬判决算法在消息的迭代过程中存在着收敛点。当SNR取7 dB时,在高斯信道环境下,当迭代次数为4时算法开始收敛。② 当算法还未收敛时,当最大迭代次数增多时,系统误比特性能有所提升,但当算法趋于收敛时,JDD硬判决算法的误比特性能不再随着迭代次数的增加而改善这也说明了消息传递算法具有收敛性。

图8 收敛性能对比Fig.8 Comparison of convergence porformance

4.4 不同算法性能分析

图9给出了原始MPA、SD-MPA、DS-MPA以及PM-MPA联合卷积编码之后的误比特性能比较,其中SD-MPA-JDD在球半径Δ=2δ时[26]的性能跟原始MPA相差2 dB;在球半径Δ=δ时,算法性能太差,不予考虑。PM-MPA-JDD与DS-MPA-JDD可以在降低复杂度的同时,达到与原MPA相近的误比特性能。

图9 不同算法BER对比Fig.9 Comparison BER for different algorithms

原始MPA是改进算法的基础,这里以原始算法为例,进行算法复杂度的说明。设信道数目为K,每个信道上承载的用户数为dr,每个用户码本大小为M,最大迭代次数为T。在一次迭代中,需计算K个信道中dr个用户对M个码字的估计概率值。那么,MPA迭代过程的计算复杂度可以表示为TKMdr。因此,乘法加法运算次数可以表示为

MUL=TKdrMd(dr-1)

(14)

ADD=TKdrM(Mdr-1-1)

(15)

同理,PM-MPA乘法加法计算量为

MUL=[mKdr+(T-m)du(J-Rs/du)]·
(Mdr-M)

(16)

ADD=[mKdr+(T-m)du(J-Rs/du)]·Mdr(dr-M)

(17)

式中,m是因子图缩减前的迭代次数;Rs是因子图缩减后仍然参与迭代的用户数;du是每个用户占据的信道数。

DS-MPA计算量为

MUL=(dr-1)Mdr[Kdr+(T-1)K(dr-u)]

(18)

ADD=[Kdr+(T-1)K(dr-μ)]·
(Mdr-M)+MKdr

(19)

CMP=(T-1)Kdr

(20)

图10对各种算法的复杂度进行了比较。原始MPA的计算量是最多的。PM-MPA-JDD在整体迭代次数为2,参与整体迭代用户数为4时,算法计算量减少了接近20%;DS-MPA-JDD在半径Δ=2δ时减少了大约25%。

图10 复杂度对比Fig.10 Complexity comparison

综上所示,DS-MPA-JDD是考虑系统误比特性能与算法复杂度之后,性价比较高的检测方案。因此,DS-MPA-JDD是完全可以应用于SCMA解码中。DS-MPA-JDD可作为本文提出的联合卷积编码的SCMA系统的最终解码方案。

5 结 论

低轨卫星作为目前航天领域和通信领域的研究热点,因其覆盖范围广且成本低廉,所以不论是国外还是国内都在进行各种研究。与此同时,为保障卫星正常运行,卫星测控系统也必须同时发展。本文针对卫星测控系统中用户数量增多且BER的问题,提出一种基于SCMA和卷积编码的联合检测和译码方案,该方案有效提升卫星测控系统中系统容量,能满足当前大规模卫星测控的需求,且在译码过程中进行似然信息的交换,有效降低了系统BER。理论分析和仿真验证了检测算法的误比特性能、收敛速度以及算法复杂度,并与传统算法进行了比较。该算法在保证算法复杂度较低的前提下,有效提高了误比特性能,具有简单、易于工程实现等优点。

猜你喜欢
译码测控编码器
基于校正搜索宽度的极化码译码算法研究
基于LabWindows/CVI与TekVISA的Tek示波器远程测控软件设计
基于FPGA的同步机轴角编码器
基于双增量码道的绝对式编码器设计
基于现代测控技术及其应用分析
向着新航程进发——远望7号测控船首航记录
从霍尔的编码译码理论看弹幕的译码
JESD204B接口协议中的8B10B编码器设计
LDPC 码改进高速译码算法
基于USB2.0协议的通用测控通信接口设计