✅作者简介:热爱科研的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);
end
end
for 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;
end
F(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.
⛳️ 代码获取关注我
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料