1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y5qal5hs
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
移动通信系统的性能在很大程度上决定于无线信道的特性。单发单收系统无线信道的特性已经研究得很透彻,针对其各通信标准所采用的载频、带宽、环境等都有权威机构给出实测的信道模型。对于多天线信道而言,许多单天线的概念都被继承了下来,如路径传播损耗、阴影衰落、多径衰落 损耗、长期衰落、短期衰落、相干时间、相干带宽、频率选择性衰落、平坦衰落等 , 所采用的信道模型也基本都是单天线情况下的一些拓展。本实验采用独立的慢衰落环境中的多输入多输出 MIMO 系统,假设发送端的天线数目为Mt,接收端端的天线数目为 Mr。
4.部分源码
SNR = [0:5:30];
Nuser = 5;
len_dat = 1000;
num_T = 2;
num_R = 2;
Totalerr= 1e5;
Error =[];
for ij=1:length(SNR)
Num_err = 0; %蒙特卡洛模拟次数
Numbers = 0; %误码率累加器
while Num_err<=Totalerr/10
fprintf('SNR = %f\n', SNR(ij));
Num_err
%QPSK发射信号
signal = randi([0,3],Nuser*num_T*len_dat,1);
signal_matrix = reshape(signal,num_T,Nuser,len_dat);
signal_matrix2 = zeros(num_T,Nuser,len_dat);
for k=1:len_dat
for k2=1:Nuser
signal_matrix2(:,k2,k) = pskmod(signal_matrix(:,k2,k),4);
end
end
%Rayleigh
H_ray = (randn(num_R,num_T,Nuser,len_dat) + sqrt(-1)*randn(num_R,num_T,Nuser,len_dat))/sqrt(2);
N_awg = (randn(num_R,Nuser,len_dat) + sqrt(-1)*randn(num_R,Nuser,len_dat))/sqrt(2);
%接收
Rec = zeros(num_R,Nuser,len_dat);
for k=1:len_dat
for k2=1:Nuser
Rec(:,k2,k)=H_ray(:,:,k2,k)*signal_matrix2(:,k2,k)/sqrt(Nuser*num_T);
end
end
R_noised = Rec + sqrt(1/(10^(SNR(ij)/10)))*N_awg; %高斯白噪声
x = [];
for t=1:len_dat
for k=1:Nuser
Rect = R_noised(:,k,t);
Ht_ray = H_ray(:,:,k,t);
Hmmsesic = inv(Ht_ray'*Ht_ray+(1/(10^(SNR(ij)/10)))*eye(num_T))*Ht_ray';
xbits = func_mmse_dmd(Rect,Hmmsesic,H_ray(:,:,k,t),Ht_ray,[1:num_T],num_T,Nuser,SNR(ij));
x(:,k,t) = xbits;
end
end
x1 = zeros(num_T,Nuser,len_dat);
for k=1:len_dat
for k2=1:Nuser
x1(:,k2,k) = pskdemod(x(:,k2,k),4);
end
end
Rec_bits = reshape(x1,Nuser*num_T*len_dat,1);
[errbit,temp_ber] = biterr(signal,Rec_bits,2);
Num_err = Num_err+errbit;
Numbers = Numbers+1;
end
Error(ij)=[Num_err/Numbers/length(signal)];
end
01_191m