发明名称 一种基于SCMA系统的DMPA译码方法及译码器架构
摘要 本发明公开了一种基于SCMA系统的DMPA译码方法及译码器架构,方法包括初始化、资源节点更新、层节点更新、概率计算与符号判决4个步骤;架构包括用于初始化的初始化单元、用于资源节点更新的资源节点更新单元、用于层节点更新的层节点更新单元和用于概率计算与符号判决的概率计算单元。本发明的有益效果为:利用MPA解码原理在稀疏系统中低复杂度的性质提出DMPA算法,极大降低了SCMA系统的译码复杂度,并针对DMPA算法的硬件架构作出时序和资源复用上的系列优化,得到极为简单的低复杂度译码器架构,使得在处理速度允许的范围内,极大降低了硬件消耗,并提高了硬件使用效率。
申请公布号 CN106301683A 申请公布日期 2017.01.04
申请号 CN201610633758.8 申请日期 2016.08.04
申请人 东南大学 发明人 张川;杨超;尤肖虎
分类号 H04L1/00(2006.01)I 主分类号 H04L1/00(2006.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 王安琪
主权项 一种基于SCMA系统的DMPA译码方法,其特征在于,包括如下步骤:(1)初始化;设(K,N)SCMA系统,SCMA码维度为K,星座维度为N,则该系统的最大用户层数为<img file="FDA0001069145870000011.GIF" wi="90" he="78" />其中,(K,N)SCMA系统为(4,2),最大用户数为6;<maths num="0001"><math><![CDATA[<mrow><msub><mi>P</mi><mi>k</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mi>k</mi></msub><mo>|</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mn>2</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mn>3</mn></mrow></msub><mo>,</mo><msub><mi>N</mi><mrow><mn>0</mn><mo>,</mo><mi>k</mi></mrow></msub><mo>)</mo></mrow><mo>=</mo><msup><mi>e</mi><mrow><mo>-</mo><mo>|</mo><mo>|</mo><msub><mi>y</mi><mi>k</mi></msub><mo>-</mo><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mn>2</mn></mrow></msub><mo>+</mo><msub><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mn>3</mn></mrow></msub><mo>)</mo></mrow><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>/</mo><msub><mi>N</mi><mrow><mn>0</mn><mo>,</mo><mi>k</mi></mrow></msub></mrow></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001069145870000012.GIF" wi="1470" he="79" /></maths>这里y<sub>k</sub>代表接收信号的第k位比特,x<sub>k,1</sub>,x<sub>k,2</sub>,x<sub>k,3</sub>分别代表与第k个资源节点相连的3个用户层在此节点上相互重叠的3个比特,N<sub>0,k</sub>表示的即为第k个资源节点对应的环境中高斯噪声的功率密度;(2)资源节点更新;<maths num="0002"><math><![CDATA[<mrow><msub><mi>I</mi><mrow><msub><mi>R</mi><mi>k</mi></msub><mo>&RightArrow;</mo><msub><mi>L</mi><mn>1</mn></msub></mrow></msub><mrow><mo>(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><msub><mi>m</mi><mn>2</mn></msub><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><munderover><mo>&Sigma;</mo><mrow><msub><mi>m</mi><mn>3</mn></msub><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>P</mi><mi>k</mi></msub><msub><mi>I</mi><mrow><msub><mi>L</mi><mn>2</mn></msub><mo>&RightArrow;</mo><msub><mi>R</mi><mi>k</mi></msub></mrow></msub><mrow><mo>(</mo><msub><mi>m</mi><mn>2</mn></msub><mo>)</mo></mrow><msub><mi>I</mi><mrow><msub><mi>L</mi><mn>3</mn></msub><mo>&RightArrow;</mo><msub><mi>R</mi><mi>k</mi></msub></mrow></msub><mrow><mo>(</mo><msub><mi>m</mi><mn>3</mn></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001069145870000013.GIF" wi="1333" he="135" /></maths><maths num="0003"><math><![CDATA[<mrow><msub><mi>I</mi><mrow><msub><mi>R</mi><mi>k</mi></msub><mo>&RightArrow;</mo><msub><mi>L</mi><mn>2</mn></msub></mrow></msub><mrow><mo>(</mo><msub><mi>m</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><msub><mi>m</mi><mn>1</mn></msub><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><munderover><mo>&Sigma;</mo><mrow><msub><mi>m</mi><mn>3</mn></msub><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>P</mi><mi>k</mi></msub><msub><mi>I</mi><mrow><msub><mi>L</mi><mn>1</mn></msub><mo>&RightArrow;</mo><msub><mi>R</mi><mi>k</mi></msub></mrow></msub><mrow><mo>(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>)</mo></mrow><msub><mi>I</mi><mrow><msub><mi>L</mi><mn>3</mn></msub><mo>&RightArrow;</mo><msub><mi>R</mi><mi>k</mi></msub></mrow></msub><mrow><mo>(</mo><msub><mi>m</mi><mn>3</mn></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001069145870000014.GIF" wi="1334" he="134" /></maths><maths num="0004"><math><![CDATA[<mrow><msub><mi>I</mi><mrow><msub><mi>R</mi><mi>k</mi></msub><mo>&RightArrow;</mo><msub><mi>L</mi><mn>3</mn></msub></mrow></msub><mrow><mo>(</mo><msub><mi>m</mi><mn>3</mn></msub><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><msub><mi>m</mi><mn>1</mn></msub><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><munderover><mo>&Sigma;</mo><mrow><msub><mi>m</mi><mn>2</mn></msub><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>P</mi><mi>k</mi></msub><msub><mi>I</mi><mrow><msub><mi>L</mi><mn>1</mn></msub><mo>&RightArrow;</mo><msub><mi>R</mi><mi>k</mi></msub></mrow></msub><mrow><mo>(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>)</mo></mrow><msub><mi>I</mi><mrow><msub><mi>L</mi><mn>2</mn></msub><mo>&RightArrow;</mo><msub><mi>R</mi><mi>k</mi></msub></mrow></msub><mrow><mo>(</mo><msub><mi>m</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001069145870000015.GIF" wi="1334" he="135" /></maths>其中,R<sub>k</sub>代表的是第k个资源节点,m<sub>1</sub>,m<sub>2</sub>,m<sub>3</sub>=1,...,M代表与此资源节点相连的三个用户层各自不同的发射符号;<img file="FDA0001069145870000016.GIF" wi="389" he="63" />代表从与资源节点相连的那些用户层传递给该资源节点的置信值,<img file="FDA0001069145870000017.GIF" wi="387" he="71" />则代表从与用户层相连的那些资源节点传递给该用户层的置信值,是一种相反的传递方向;(3)层节点更新;<maths num="0005"><math><![CDATA[<mrow><msub><mi>I</mi><mrow><msub><mi>L</mi><mi>j</mi></msub><mo>&RightArrow;</mo><msub><mi>R</mi><mn>1</mn></msub></mrow></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><mi>n</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>e</mi><mrow><mo>(</mo><msub><mi>I</mi><mrow><msub><mi>R</mi><mn>2</mn></msub><mo>&RightArrow;</mo><msub><mi>L</mi><mi>j</mi></msub></mrow></msub><mo>(</mo><mi>m</mi><mo>)</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001069145870000018.GIF" wi="1262" he="71" /></maths><maths num="0006"><math><![CDATA[<mrow><msub><mi>I</mi><mrow><msub><mi>L</mi><mi>j</mi></msub><mo>&RightArrow;</mo><msub><mi>R</mi><mn>2</mn></msub></mrow></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><mi>n</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>e</mi><mrow><mo>(</mo><msub><mi>I</mi><mrow><msub><mi>R</mi><mn>1</mn></msub><mo>&RightArrow;</mo><msub><mi>L</mi><mi>j</mi></msub></mrow></msub><mo>(</mo><mi>m</mi><mo>)</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001069145870000019.GIF" wi="1261" he="71" /></maths>其中,m=1,...,M代表发送符号集中不同的符号;步骤(3)结束后,返回步骤(2),并由此构成一次迭代;迭代次数的设置与实际的信道环境相关,当迭代次数满足置信值的收敛条件后,由步骤(3)进入步骤(4);具体的收敛条件为:根据目标误码率水平,设定阈值a(通常设置为a≤10<sup>‑5</sup>);设第n‑1次的资源节点更新置信值和层节点更新置信值分别为<img file="FDA0001069145870000021.GIF" wi="178" he="63" />和<img file="FDA0001069145870000022.GIF" wi="203" he="64" />第n次分别为<img file="FDA0001069145870000023.GIF" wi="173" he="55" />和<img file="FDA0001069145870000024.GIF" wi="195" he="60" />若所有的置信值满足<img file="FDA0001069145870000025.GIF" wi="472" he="86" />和<img file="FDA0001069145870000026.GIF" wi="499" he="86" />则判定为收敛,迭代结束;此时的迭代次数为n,针对不同的信道环境n的数值不同,且信道环境恶劣时,n的数值往往较大;(4)概率计算与符号判决;<maths num="0007"><math><![CDATA[<mrow><msub><mi>Q</mi><msub><mi>L</mi><mi>j</mi></msub></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>I</mi><mrow><msub><mi>R</mi><mn>1</mn></msub><mo>&RightArrow;</mo><msub><mi>L</mi><mi>j</mi></msub></mrow></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>I</mi><mrow><msub><mi>R</mi><mn>2</mn></msub><mo>&RightArrow;</mo><msub><mi>L</mi><mi>j</mi></msub></mrow></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001069145870000027.GIF" wi="1214" he="78" /></maths>其中,L<sub>j</sub>代表第j个用户层;挑选出各用户层具有最大概率值的符号,即为最终估计出的原始发送符号。
地址 210096 江苏省南京市玄武区四牌楼2号