✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
稀疏码多址接入(SCMA)作为一个前景广阔的5 G无线空口技术,能够满足海量连接的需求.针对现有SCMA 通信系统都是基于并行策略的消息传递算法(MPA)进行多用户检测,存在信息收敛速度不理想的问题,该文提出一种串行策略的多用户检测算法.
⛄ 部分代码
function [Le]=MPA(Signal,cons,nv,H,u)%输入参数%Signal:接收信号%cons:SCMA星座图%nv:噪声功率%H:信道系数%u:待解码用户%输出参数%Le:每比特对数似然比N_iter=2;F=zeros(6,4);p=zeros(6,4);Lext=zeros(1,12);F112=ones(1,4);F122=ones(1,4);F132=ones(1,4);F212=ones(1,4);F222=ones(1,4);F232=ones(1,4);F312=ones(1,4);F322=ones(1,4);F332=ones(1,4);F412=ones(1,4);F422=ones(1,4);F432=ones(1,4);P=sinfoalt(Lext);for k=1:6 for j=1:4 p(k,j)=P(floor((j-1)/2)+1,k*2-1)*P(rem((j-1),2)+1,k*2); endendfor k=1:N_iter F111=zeros(1,4); F121=zeros(1,4); F131=zeros(1,4); F211=zeros(1,4); F221=zeros(1,4); F231=zeros(1,4); F311=zeros(1,4); F321=zeros(1,4); F331=zeros(1,4); F411=zeros(1,4); F421=zeros(1,4); F431=zeros(1,4); for j=1:4 for m=1:4 for n=1:4 F111(j)=F111(j)+F122(m)*F132(n)*p(2,m)*p(3,n)*p(1,j)*exp(-abs(Signal(u,1)-H(u)*cons(j,1,1)-H(u)*cons(m,1,2)-H(u)*cons(n,1,3))^2/nv); F121(j)=F121(j)+F112(m)*F132(n)*p(1,m)*p(3,n)*p(2,j)*exp(-abs(Signal(u,1)-H(u)*cons(m,1,1)-H(u)*cons(j,1,2)-H(u)*cons(n,1,3))^2/nv); F131(j)=F131(j)+F122(m)*F112(n)*p(2,m)*p(1,n)*p(3,j)*exp(-abs(Signal(u,1)-H(u)*cons(n,1,1)-H(u)*cons(m,1,2)-H(u)*cons(j,1,3))^2/nv); F211(j)=F211(j)+F222(m)*F232(n)*p(4,m)*p(5,n)*p(1,j)*exp(-abs(Signal(u,2)-H(u)*cons(j,2,1)-H(u)*cons(m,1,2)-H(u)*cons(n,1,3))^2/nv); F221(j)=F221(j)+F212(m)*F232(n)*p(1,m)*p(5,n)*p(4,j)*exp(-abs(Signal(u,2)-H(u)*cons(m,2,1)-H(u)*cons(j,1,2)-H(u)*cons(n,1,3))^2/nv); F231(j)=F231(j)+F222(m)*F212(n)*p(4,m)*p(1,n)*p(5,j)*exp(-abs(Signal(u,2)-H(u)*cons(n,2,1)-H(u)*cons(m,1,2)-H(u)*cons(j,1,3))^2/nv); F311(j)=F311(j)+F322(m)*F332(n)*p(4,m)*p(6,n)*p(2,j)*exp(-abs(Signal(u,3)-H(u)*cons(j,2,1)-H(u)*cons(m,2,2)-H(u)*cons(n,1,3))^2/nv); F321(j)=F321(j)+F312(m)*F332(n)*p(2,m)*p(6,n)*p(4,j)*exp(-abs(Signal(u,3)-H(u)*cons(m,2,1)-H(u)*cons(j,2,2)-H(u)*cons(n,1,3))^2/nv); F331(j)=F331(j)+F322(m)*F312(n)*p(4,m)*p(2,n)*p(6,j)*exp(-abs(Signal(u,3)-H(u)*cons(n,2,1)-H(u)*cons(m,2,2)-H(u)*cons(j,1,3))^2/nv); F411(j)=F411(j)+F422(m)*F432(n)*p(5,m)*p(6,n)*p(3,j)*exp(-abs(Signal(u,4)-H(u)*cons(j,2,1)-H(u)*cons(m,2,2)-H(u)*cons(n,2,3))^2/nv); F421(j)=F421(j)+F412(m)*F432(n)*p(3,m)*p(6,n)*p(5,j)*exp(-abs(Signal(u,4)-H(u)*cons(m,2,1)-H(u)*cons(j,2,2)-H(u)*cons(n,2,3))^2/nv); F431(j)=F431(j)+F422(m)*F412(n)*p(5,m)*p(3,n)*p(6,j)*exp(-abs(Signal(u,4)-H(u)*cons(n,2,1)-H(u)*cons(m,2,2)-H(u)*cons(j,2,3))^2/nv); end end end F111=F111/sum(F111); F121=F121/sum(F121); F131=F131/sum(F131); F211=F211/sum(F211); F221=F221/sum(F221); F231=F231/sum(F231); F311=F311/sum(F311); F321=F321/sum(F321); F331=F331/sum(F331); F411=F411/sum(F411); F421=F421/sum(F421); F431=F431/sum(F431); F112=F211; F212=F111; F122=F311; F312=F121; F132=F411; F412=F131; F222=F321; F322=F221; F232=F421; F422=F231; F332=F431; F432=F331;endF(1,:)=F111.*F112;F(2,:)=F121.*F122;F(3,:)=F131.*F132;F(4,:)=F221.*F222;F(5,:)=F231.*F232;F(6,:)=F331.*F332;F(1,:)=F(1,:)/sum(F(1,:));F(2,:)=F(2,:)/sum(F(2,:));F(3,:)=F(3,:)/sum(F(3,:));F(4,:)=F(4,:)/sum(F(4,:));F(5,:)=F(5,:)/sum(F(5,:));F(6,:)=F(6,:)/sum(F(6,:));j=u;Le(2*1-1)=log((F(j,1)+F(j,2))/(F(j,3)+F(j,4)));Le(2*1)=log((F(j,1)+F(j,3))/(F(j,2)+F(j,4))); end
⛄ 运行结果
⛄ 参考文献
[1] 杜洋, 董彬虹, 王显俊,等. 基于串行策略的SCMA多用户检测算法[J]. 电子与信息学报, 2016, 38(8):6.
[2] 王显俊, 杜洋, 成聪,等. 基于EXIT图的SCMA通信系统多用户检测算法收敛性分析简[J]. 信号处理, 2016(12).
[3] 耿志明丁云霞蔡凯马瑞芳. CDMA移动通信中基于自适应干扰消除的多用户检测[J]. 重庆工学院学报, 2007, 021(003):P.106-108,116.