一种低复杂度的稀疏码多址接入检测方法与流程

文档序号:11877765阅读:310来源:国知局
一种低复杂度的稀疏码多址接入检测方法与流程

本发明属于无线通信系统的信号检测领域,涉及一种计算复杂度低且BER性能损失不大的稀疏码多址接入(SCMA)通信系统多用户检测方法,具体为一种基于高斯近似以及均值与方差反馈原理的多用户检测方法,用于解决5G移动通信备选多址接入技术的多用户检测问题。



背景技术:

多址接入是无线通信物理层的核心技术之一,它使基站能区分并同时服务多个终端用户。随着物联网的飞速发展,为了满足5G通信所需要的海量的用户连接,以及低时延和低功耗的技术要求,在申请号为201380059380.X的发明专利“用户稀疏码多址接入的系统和方法”中提出了一种SCMA(Sparse code multiple access,稀疏码多址接入)技术。SCMA编码器在预定义的码本集合中为每个用户选择一个码本,之后根据每个用户所选择的码本将数据比特直接映射为相应的码字,最后将多个用户的码字进行非正交叠加。由于码本的稀疏性,每个用户只被少量的其他用户所干扰。之后,在接收端运用消息传递算法(Message passing algorithm,MPA)对接收信号进行检测。如图1为该方法的SCMA因子图,图中用户节点数J=6,资源节点数K=4,资源节点度数dr=3,用户节点度数dv=2。背景技术所采用的多用户检测算法是一种基于并行策略的消息传递算法,该检测算法的误比特率(Bit error rate,BER)性能可以接近最优。这种检测方法在每次迭代过程中,首先同时更新所有的资源节点,接着同时更新所有的用户节点。

在发明专利“用户稀疏码多址接入的系统和方法”中提出了一种基于并行策略的MPA检测方法,具体包括以下步骤:

步骤1、初始化:迭代开始时,用户没有先验信息,因此用户节点uj到资源节点rk的消息为:uj为第j个用户节点,rk为第k个资源节点,M为码本的码字数目,为迭代开始时用户节点uj到资源节点rk的消息;

步骤2、设定最大迭代次数为tmax

步骤3、在第t次迭代过程中,资源节点和用户节点的消息并行更新,即首先更新所有的资源节点rk到用户节点uj的消息:

<mrow> <msubsup> <mi>I</mi> <mrow> <msub> <mi>r</mi> <mi>k</mi> </msub> <mo>&RightArrow;</mo> <msub> <mi>u</mi> <mi>j</mi> </msub> </mrow> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mi>&Sigma;</mi> <mrow> <mo>~</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> </mrow> </munder> <mo>{</mo> <mfrac> <mn>1</mn> <mrow> <msqrt> <mrow> <mn>2</mn> <mi>&pi;</mi> </mrow> </msqrt> <mi>&sigma;</mi> </mrow> </mfrac> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mrow> </mfrac> <mo>|</mo> <mo>|</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>-</mo> <munder> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>&Element;</mo> <msub> <mi>&xi;</mi> <mi>k</mi> </msub> </mrow> </munder> <msub> <mi>h</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>x</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>&times;</mo> <munder> <mi>&Pi;</mi> <mrow> <mi>l</mi> <mo>&Element;</mo> <msub> <mi>&xi;</mi> <mi>k</mi> </msub> <mo>\</mo> <mi>j</mi> </mrow> </munder> <msubsup> <mi>I</mi> <mrow> <msub> <mi>u</mi> <mi>l</mi> </msub> <mo>&RightArrow;</mo> <msub> <mi>r</mi> <mi>k</mi> </msub> </mrow> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>(</mo> <msub> <mi>x</mi> <mi>l</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <mo>}</mo> <mo>,</mo> <mo>&ForAll;</mo> <mi>j</mi> <mo>,</mo> <mo>&ForAll;</mo> <mi>k</mi> <mo>;</mo> </mrow>

为第t(t=1,2,...,tmax)次迭代过程中计算得到的资源节点rk到用户节点uj的消息,xj=(x1,j,...,xK,j)Τ为第j个用户的SCMA码字,xl=(x1,l,...,xK,l)Τ为第l个用户的SCMA码字,yk为接收信号y中第k个资源处接收到的信号,为连接到资源节点rk的用户节点集(F为SCMA编码器的稀疏扩频指示矩阵);xk,j表示第j个用户的码字的第k个资源,hk,j为hj=(h1,j,h2,j,...,hK,j)Τ中的第k个元素,hj为第j个用户的信道向量;然后更新所有的用户节点uj到资源节点rk的消息:一次迭代完成;为连接到用户节点uj的资源节点集;

步骤4、判断t>tmax是否成立,若成立,执行步骤5;若不成立,则令t=t+1,返回步骤3,进行下一次迭代;

步骤5、经过tmax次迭代后退出循环,计算码字消息:

步骤6、计算得到数据比特的软信息,bj为第j个用户的数据比特;

<mrow> <msub> <mi>LLR</mi> <mi>j</mi> </msub> <mo>=</mo> <mi>log</mi> <mfrac> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>b</mi> <mi>j</mi> </msub> <mo>=</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>b</mi> <mi>j</mi> </msub> <mo>=</mo> <mn>0</mn> <mo>)</mo> </mrow> </mrow> </mfrac> <mi>log</mi> <mo>&lsqb;</mo> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>b</mi> <mi>j</mi> </msub> <mo>=</mo> <mn>1</mn> </mrow> </munder> <mi>Q</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <mo>-</mo> <mi>log</mi> <mo>&lsqb;</mo> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>b</mi> <mi>j</mi> </msub> <mo>=</mo> <mn>0</mn> </mrow> </munder> <mi>Q</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <mo>;</mo> </mrow>

步骤7、数据比特的判决:

上述基于并行策略的MPA检测方法中,计算复杂度主要来源于资源节点的消息更新过程且计算复杂度C在乘法器上可以具体表示为因此,可看出背景技术的计算复杂度受M与dr影响明显,即很显然,此方法的计算复杂度会随着dr的增加呈指数形式的增大。因此,在实际工程应用中,随着码本中码字个数的增多以及用户数目的增加,通信系统的硬件计算复杂度越来越高,因而对硬件的要求也越来越高。综上所述,背景技术所提出的并行MPA检测方法虽然能有效提高正确译码的概率,但由于其计算复杂度很高,不能满足5G技术对高速、高效、低时延的需求,不能很好的用于实际的通信系统中。



技术实现要素:

本发明针对背景技术存在的缺陷,提出了一种基于高斯近似以及均值与方差反馈原理的SCMA通信系统多用户检测方法。

本发明针对SCMA因子图中的每一资源节点到用户节点的消息更新,利用其相邻边信道系数模值的大小进行分类,即选择该边及其临边中模值较大的边为一类,参与消息更新;其余模值较小的边为一类,利用高斯近似原理可近似为噪声。这样的分类,原始的稀疏因子图将变为动态且更为稀疏的因子图。同时,为了弥补未参与消息更新过程的边带来的消息损失,每次迭代过程都将利用到上次迭代过程近似噪声的均值与方差来进行信息反馈。因此,本发明通过高斯近似与反馈方法后,SCMA因子图资源节点的有效度数d得到了合理的降低,使得本发明在BER性能损失不大的情况下,极大程度地降低了计算复杂度。简而言之,本发明的核心在于通过减少有效的dr(即从原本参与更新的dr条边变成d条边)来降低多用户检测方法的复杂度。

因而本发明一种低复杂度的稀疏码多址接入检测方法,该方法首先获得接收信号,该接收信号包括:所有用户节点的时频数据称为有效信号和噪声信号,同时初始化用户节点到资源节点的消息;再采用消息传递算法迭代更新各用户节点的消息,获得最终各用户节点的消息;其特征在于采用所述消息传递算法利用接收信号迭代更新第j个用户节点的消息之前,对获得的接收信号进行预处理,该预处理方法包括:

步骤1:利用接收到的接收信号计算出各用户节点对应信道系数的模;

步骤2:从除去第j个用户节点的其它所有用户节点中选出对应信道系数的模最大的d-1个用户节点,d的大小根据实际情况决定;

步骤3:将步骤2获得的d-1个用户节点和第j个用户节点对应的时频数据归纳为当前接收信号的有效信号,其余用户节点对应的时频数据归纳为当前接收信号的噪声信号。

进一步的,所述预处理方法为:

S1:初始化用户节点uj到资源节点rk的消息为:其中uj为第j个用户节点,rk为第k个资源节点,M为码本的码字数目,为迭代开始时用户节点uj到资源节点rk的消息;

S2:第k个时频数据的接收信号为其中hk,j为第k个时频数据上第j个用户的信道系数,xk,j表示第j个用户的码字的第k个时频数据,nk为高斯噪声;对第k个资源节点的每一条正在更新的边而言,按照信道系数模值的大小不同将该边与其邻边中模值最大的d-1条边分为一类,记为Ψk,j;其余dr-d条边为一类记为图中为实线,ek,j为正在更新的资源节点边;为连接到资源节点rk的用户节点集,为不参与资源节点边更新的用户节点集;根据此种分类,第k个时频数据的接收信号可表示为其中

进一步的,所述消息传递算法具体步骤为:

S1:由高斯近似原理可知,zk,j为模值较小的边与原有噪声通过高斯近似成为了新的高斯噪声其中为近似高斯噪声zk,j的均值,为近似高斯噪声zk,j的方差;然后进行资源节点的更新:在第t次迭代过程中,利用第t-1次迭代时的高斯近似噪声的均值与方差的反馈对资源节点进行消息更新,得到更新所有的资源节点rk到用户节点uj的消息的公式为:

其中,第t-1次迭代的近似噪声的均值为:

χj为第j个用户的码本中的码字集合;近似噪声的方差为:

<mrow> <msup> <mrow> <mo>(</mo> <msubsup> <mi>&sigma;</mi> <msub> <mi>z</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msup> <mo>=</mo> <munder> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>&Element;</mo> <msub> <mover> <mi>&Phi;</mi> <mo>&OverBar;</mo> </mover> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mrow> </munder> <msup> <mrow> <mo>|</mo> <msub> <mi>h</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mi>V</mi> <mi>a</mi> <mi>r</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mo>=</mo> <munder> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>&Element;</mo> <msub> <mover> <mi>&Phi;</mi> <mo>&OverBar;</mo> </mover> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mrow> </munder> <msup> <mrow> <mo>|</mo> <msub> <mi>h</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>&times;</mo> <mo>{</mo> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>&Element;</mo> <msub> <mi>&chi;</mi> <mi>j</mi> </msub> </mrow> </munder> <mo>&lsqb;</mo> <msubsup> <mi>I</mi> <mrow> <msub> <mi>u</mi> <mi>j</mi> </msub> <mo>&RightArrow;</mo> <msub> <mi>r</mi> <mi>k</mi> </msub> </mrow> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>&rsqb;</mo> <mo>-</mo> <msup> <mrow> <mo>{</mo> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>&Element;</mo> <msub> <mi>&chi;</mi> <mi>j</mi> </msub> </mrow> </munder> <mo>&lsqb;</mo> <msubsup> <mi>I</mi> <mrow> <msub> <mi>u</mi> <mi>j</mi> </msub> <mo>&RightArrow;</mo> <msub> <mi>r</mi> <mi>k</mi> </msub> </mrow> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <msubsup> <mi>x</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>&rsqb;</mo> <mo>}</mo> </mrow> <mn>2</mn> </msup> <mo>}</mo> <mo>+</mo> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mrow>

其中,σ2为原有高斯噪声的方差;然后更新所有的用户节点uj到资源节点rk的消息:一次迭代完成;

S2:判断t>tmax是否成立,tmax表示预先设定的总更新次数,若成立,执行步骤5;若不成立,则令t=t+1,返回步骤3,进行下一次迭代;

S3:经过tmax次迭代后退出循环,计算码字消息:

S4:计算得到数据比特的软信息,bj为第j个用户的数据比特;

<mrow> <msub> <mi>LLR</mi> <mi>j</mi> </msub> <mo>=</mo> <mi>log</mi> <mfrac> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>b</mi> <mi>j</mi> </msub> <mo>=</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>b</mi> <mi>j</mi> </msub> <mo>=</mo> <mn>0</mn> <mo>)</mo> </mrow> </mrow> </mfrac> <mi>log</mi> <mo>&lsqb;</mo> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>b</mi> <mi>j</mi> </msub> <mo>=</mo> <mn>1</mn> </mrow> </munder> <mi>Q</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <mo>-</mo> <mi>log</mi> <mo>&lsqb;</mo> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>b</mi> <mi>j</mi> </msub> <mo>=</mo> <mn>0</mn> </mrow> </munder> <mi>Q</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <mo>;</mo> </mrow>

S5:数据比特的判决:

本发明有益的效果为:本发明的计算复杂度C与背景技术一样,主要来源于资源节点的消息更新过程但本发明的计算复杂度可近似表示为C≈tmaxKMd,即计算复杂度从背景技术的下降到本发明的O(Md)。因此,对资源节点有效度数的降低,即从dr减小为d,可以使得本发明的计算复杂度得到了极大地降低。同时,为了弥补未参与消息更新过程的边带来的消息损失,每次迭代过程都将利用到上次迭代过程反馈而来的近似噪声的均值与方差。因而本发明在BER性能损失不大的情况下,计算复杂度相比于背景技术的计算复杂度呈指数形式的下降。这证明本发明将在计算复杂度与BER性能上达到了更好的平衡。

附图说明

图1为背景技术中SCMA系统的因子图;

图2为本发明中基于高斯近似以及均值方差反馈后的原理图;

图3为本发明方法与背景技术方法的计算复杂度对比图;

图4为本发明方法与背景技术方法的BER性能对比图。

具体实施方式

下面结合附图和实施例,详述本发明的技术方案。

根据传输条件及检测过程的程序,初始化设置以下参数:

用户节点的个数J=96,码本的码字个数M=4,资源节点个数K=48,系统过载率λ=200%,资源节点度数dr=6,用户节点度数dv=6,信道模型为平坦瑞利衰落信道;用户信息比特经过SCMA编码器映射为相应的码字x。所有用户码字叠加后经过平坦瑞利衰落信道进行传输后,接收端的接收信号xj=(x1,j,x2,j,...,xK,j)Τ是用户j的SCMA码字,hj=(h1,j,h2,j,...,hK,j)Τ为用户j的信道向量,n~CN(0,σ2I)为高斯噪声;接收信号y的第k个资源处接收到的信号yk表示为:其中k=1,2,...,48。

图2为本发明基于高斯近似以及均值与方差反馈的原理图,与背景技术方法因子图的区别在于:根据信道系数模的大小对资源节点边进行分类,当前正在更新的资源节点边与其邻边中模值较大的边(记为Ψk,j;图中为实线)参与消息的更新,其余边(记为图中为虚线)不参与消息更新过程并利用高斯近似的原理可看作服从高斯分布的噪声。为了弥补未参与消息更新的边所带来的消息损失,每次迭代过程都将利用到上次迭代过程近似噪声的均值与方差来进行信息反馈,这样可以减少系统BER性能的损失。

接收机处基于高斯近似以及反馈原理的SCMA通信系统多用户检测方法,包括以下步骤:

步骤1.迭代检测开始,没有先验的用户消息,因此每个用户在相应的码本中获取任一码字的概率是相同的,则用户节点的信息为

步骤2.设定最大迭代循环次数tmax=8;

步骤3.依照不同信道系数模值的大小将资源节点边分成两类,当前正在更新的资源节点边与其邻边中模值较大的边一类记为Ψk,j,总共d条边,参与消息更新过程;其余的边为一类记为不参与消息更新过程并通过高斯近似的原理近似成为噪声。参照图2,在确定参与更新的资源节点边后,利用前一次迭代得到的近似噪声的均值与方差,更新所有的资源节点和用户节点;然后判断是否更新完节点,若更新完,执行步骤4,否则,继续更新剩余节点;

步骤4.判断t>8是否成立,若成立,执行步骤5;若不成立,则令t=t+1,返回步骤3,进行下一次迭代;

步骤5.根据迭代输出的资源节点计算码字消息:

步骤6.根据步骤5得到的码字消息,计算原始数据比特的似然值:

步骤7.最后判决原始信息比特,若LLRj>0,判决数据比特若LLRj≤0,判决数据比特

利用Matlab仿真软件对背景技术和本发明实施例的SCMA通信系统多用户检测方法在平坦瑞利衰落信道中的计算复杂度和BER误码性能进行仿真对比分析,仿真结果如图3和图4所示。图3展示了本发明与背景技术的计算复杂度之比。计算复杂度之比是所提出的低复杂度检测算法与背景技术的MPA检测算法的计算复杂度的比值。很显然,有效的资源节点度数d越小,计算复杂度降低的比率就会越大。以d=3时为例,本发明的计算复杂度相比于背景技术的计算复杂度,将在乘法器上节约99.15%,加法器上节约99.12%以及在指数器上节约98.44%。图4则展示了本发明与背景技术在BER性能上的比较。从图4中可以看出,当在本发明中有效的资源节点度数d=3,4或5时,相比于背景技术,本发明的BER性能与之只有0.15~0.39dB的差距。当有效的资源节点度数d增加时,本发明的BER性能将更加接近背景技术的BER性能。也就是说,本发明所提出的低复杂度检测算法是一个BER性能接近于最优的检测算法。同样,我们以d=3时为例,BER性能的损失并不显著,只有0.39dB,但计算复杂度的降低却十分显著。因此,本发明在计算复杂度与BER性能上可以达到了更好的平衡。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1