目录
[4.1 MIMO系统](#4.1 MIMO系统)
[4.2 SCMA稀疏码多址接入原理](#4.2 SCMA稀疏码多址接入原理)
[4.3 MPA消息传递算法](#4.3 MPA消息传递算法)
1.算法运行效果图预览
(完整程序运行后无水印)


2.算法运行软件版本
matlab2022a/matlab2024b
3.部分核心程序
(完整版代码包含详细中文注释和操作步骤视频)
................................................................
r = de2bi(X, log2(M), 'left-msb');% 将X中的元素转换为二进制,存储在r中,
data = zeros(log2(M)*N, numTx*V);
for kk = 1:numTx*V% 遍历每个用户
% 对r进行下采样操作,将结果重塑为列向量,存储在data的对应列中
data(:,kk) = reshape(downsample(r, numTx*V, kk-1).',[],1);
end
% 将对数似然比LLR转换为二进制数据,小于等于0的为0,大于0的为1
datadec = reshape((LLR <= 0), [log2(M) N*numTx*V]).';
datar = zeros(log2(M)*N, numTx*V);
for kk = 1:numTx*V% 遍历每个用户
datar(:,kk) = reshape(downsample(datadec, numTx*V, kk-1).',[], 1);
end
err = sum(xor(data, datar));
Nerr(:,u) = Nerr(:,u) + err.';
Nbits(:,u) = Nbits(:,u) + log2(M)*N;
x = mean(BER);
figure;
semilogy(SNR,x);
title('误码率');
xlabel('SNR');
ylabel('BER');
grid on
if Niter==1
save R01.mat SNR x
end
if Niter==2
save R02.mat SNR x
end
if Niter==5
save R05.mat SNR x
end
if Niter==10
save R010.mat SNR x
end
01_216m
4.算法理论概述
在现代无线通信系统不断演进的过程中,对频谱效率和连接密度的要求日益增长,传统的正交多址接入技术在满足这些需求时逐渐显露出局限性。非正交多址接入(NOMA)技术应运而生,其中稀疏码多址接入(SCMA)凭借其独特的优势成为研究热点。同时,在多输入多输出(MIMO)系统中引入SCMA技术,结合消息传递算法(MPA),能够进一步提升系统性能。
4.1 MIMO系统
MIMO技术通过在发射端和接收端使用多个天线,能够显著提高通信系统的容量和可靠性。在 MIMO系统中,发射机将多个独立的信息流通过不同的天线同时发送,接收机利用多个天线接收信号,并通过信号处理技术分离和解码这些信息流。

其中,n是加性高斯白噪声向量,其元素服从均值为 0、方差为σ2的高斯分布。MIMO技术利用多天线提供的空间自由度,在不增加带宽和发射功率的情况下,实现更高的数据传输速率和更好的通信质量。通过空时编码、空间复用和分集技术,MIMO系统能够有效对抗信道衰落,提高频谱效率和系统容量。
4.2 SCMA稀疏码多址接入原理
SCMA是一种基于多维码本的非正交多址技术,它在码域和功率域实现多用户信号的非正交传输。在SCMA系统中,每个用户被分配一个特定的多维码本,码本中的码字是稀疏向量。假设系统中有K个正交资源(如子载波),J个用户,每个用户的码本包含M个码字。用户的信息比特首先映射到码本中的码字,然后这些码字在多个正交资源上进行传输。码本设计是SCMA的关键环节,直接影响系统性能。理想的码本应具有良好的稀疏性和低相关性,以降低多用户检测的复杂度并提高系统容量。常用的码本设计方法基于格点星座(Lattice Constellations)理论。
4.3 MPA消息传递算法
MPA是一种基于因子图(Factor Graph)的迭代算法,用于解决复杂的概率推理问题。在 SCMA系统中,MPA被广泛应用于多用户检测,通过迭代更新消息来估计用户的发送信号。因子图是一种二分图,用于表示变量之间的函数关系。在SCMA系统的因子图中,有两种节点:变量节点(Variable Node)和因子节点(Factor Node)。变量节点对应于用户的发送信号,因子节点对应于正交资源上的接收信号以及码本的约束关系。
5.算法完整程序工程
OOOOO
OOO
O