clear all;
close all;
clc;
tic
Nt=4; %发射天线数
Nr=4; %接收天线数
L=10000; %仿真次数 共L组
EbNo=0:2:20; %信噪比dB 区间
M=4; %映射星座点个数
x=round(rand(Nt,L)*(M-1)); %均匀分布(并行数据) 4*10000 一次取一列4*1发送
s=qammod(x,M);% 4QAM调制
s=s/sqrt(2); %信号功率归一化
%%%%%
for index=1:length(EbNo);
x1=[];
x2=[];
x3=[];
x4=[];
x5=[];
for index1=1:L
h=randn(Nr,Nt)+1i*randn(Nr,Nt); % 瑞利衰落信道4*4
h=h./sqrt(2); %信道系数归一化
sigma=sqrt(1/(10.^(EbNo(index)/10))); %每根接收天线的噪声标准差
n=sigma/sqrt(2)*(randn(Nr,1)+1i*randn(Nr,1)); %Nr个接收天线的高斯白噪声4*1
%每根接收天线的噪声功率都是sigma^2
%%%%%ZF和MMSE滤波矩阵%%%%%
w_zf=inv(h'*h)*h'; %%%%%%%%%%%%%%%%ZF%%%%%%%%%%%%%%%%%%
w_mmse=h'*inv(h*h'+sigma.^2*diag(ones(1,Nt)));%%%MMSE%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
y=h*s(:,index1)+n; %信号经过信道 一列4*1
yy=y;
%%%信号检测%%%
y1=w_zf*yy; %4*1
y2=w_mmse*yy; %4*1
y3=osic_zf(yy,h); %4*1 OSIC
y4=osic_mmse(yy,h,sigma); %4*1 MMSE
y5=ML_algorithm(yy,h,M);
%%%%%%%%%%%%%
temp1=qamdemod(y1,M);
temp2=qamdemod(y2,M);
temp3=y3; %4*1
temp4=y4; %4*1
temp5=qamdemod(y5,M); %4*1
x1=[x1;temp1']; %10000*4
xx1=x1';
x2=[x2;temp2'];
xx2=x2';
x3=[x3;temp3'];
xx3=x3';
x4=[x4;temp4'];
xx4=x4';
x5=[x5;temp5'];
xx5=x5';
end
%求误码率
[~,ber1(index)]=biterr(x,xx1,log2(M));
[~,ber2(index)]=biterr(x,xx2,log2(M));
[~,ber3(index)]=biterr(x,xx3,log2(M));
[~,ber4(index)]=biterr(x,xx4,log2(M));
[~,ber5(index)]=biterr(x,xx5,log2(M));
end
semilogy(EbNo,ber1,'*-k',EbNo,ber2,'o-r',EbNo,ber3,'d-b',EbNo,ber4,'+-m',EbNo,ber5,'x-g');
legend('ZF','MMSE','OSICZF','OSICMMSE','ML');
xlabel('SNR(dB)');
ylabel('BER');
grid on;
toc
周楷雯
- 粉丝: 97
- 资源: 1万+
最新资源
- 基于Beego开发的问答系统详细文档+优秀项目+全部资料.zip
- 基于beego框架的接口在线文档管理系统详细文档+优秀项目+全部资料.zip
- 基于beego框架的cms系统详细文档+优秀项目+全部资料.zip
- 基于GF(Go Frame)的后台管理系统详细文档+优秀项目+全部资料.zip
- 基于Gin + Ant Design Pro的前后端分离管理系统的前后端模块详细文档+优秀项目+全部资料.zip
- 基于Excel VBA和Go语言的自动化考试系统详细文档+优秀项目+全部资料.zip
- 基于gin+websocket+mongodb实现 IM 即时聊天系统,基于WS连接的即时聊天,支持单聊,在线回复以及历史记录查询详细文档+优秀项目+全部资料.zip
- 基于Gin + Vue + Element UI & Arco Design & Ant Design 的前后端分离权限管理系统脚手架(包含了
- 基于gin+vue+element搭建的商城管理系统详细文档+优秀项目+全部资料.zip
- 基于Go + Vue开发的管理系统脚手架, 前后端分离, 仅包含项目开发的必需部分, 基于角色的访问控制(RBAC), 分包合理, 精简易于扩展。 后端Go包含
- 基于go micro + gin + kafka + etcd的分布式消息即时通信微服务系统详细文档+优秀项目+全部资料.zip
- 基于Go + Golang + Uniapp + Vue + ElementUi + Goframe框架的新零售社交电商系统(除了go商城系统外,还有java商
- 基于Go 标准库构建的博客系统、此项目非常适合作为 Go 新手的第一个上手项目详细文档+优秀项目+全部资料.zip
- 基于go,gin,JWT,权限管理系统详细文档+优秀项目+全部资料.zip
- 基于Go Web开发实战,基于Go语言,Beego框架开发的B2C模式的电商系统详细文档+优秀项目+全部资料.zip
- 基于go、gorm、gin、mysql及layui构建的人力资源管理系统。提供员工管理、考试管理、薪资考勤管理、权限管理及分公司分库数据隔离等功能详细文档+优秀项目+全部资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈