clear all
close all
clc
SNR_db =[0:2:20];
SNR =10.^(SNR_db/10);
color = ['k';'r';'b';'k';'b';'r'];
y=1e2;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%等收发天线组合,不同信噪比
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%发送天线数目等于接收天线数目dt=dr
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dt=[3 4 5 6]; %发射天线数
dr=[3 4 5 6]; %接受天线数
for(i=1:length(dt))
t=dt(i);
r=dr(i);
for(k=1:length(SNR))
for(x=1:y)
[Cf(x),Cg(x),U(x)]=xindaorongliang(SNR(k),t,r);
end
Cwf(k)=sum(Cf)/y; %注水算法信道容量
Cdg(k)=sum(Cg)/y; %等功率算法信道容量
u(k)=sum(U)/y; %返回不同信噪比时的注水线u
Cwd1(k)=Cwf(k)-Cdg(k);%注水-等功率增益差
Cwd2(k)=Cdg(k)/Cwf(k);%等功率/注水增益
end
f1=figure(1);
hold on
grid on
plot(SNR_db,Cwf,color(i)) %注水曲线
plot(SNR_db,Cdg,'-*','color',color(i)) %等功率曲线
legend('注水3*3','等功率3*3','注水4*4','等功率4*4','注水5*5','等功率5*5','注水6*6','等功率6*6','Location','northwest')
xlabel('SNR in dB');
ylabel('信道容量 bits/s/Hz');
f2=figure(2)
hold on
grid on
plot(SNR_db,Cwd1,color(i)) %注水-等功率增益差曲线
legend('注水-等功率3*3','注水-等功率4*4','注水-等功率5*5','注水-等功率6*6','Location','northeast') %注水-等功率增益差曲线
xlabel('SNR in dB');
ylabel('信道容量增益 bits/s/Hz');
f3=figure(3)
hold on
grid on
plot(SNR_db,Cwd2,color(i)) %注水-等功率增益比曲线
legend('等功率/注水3*3','等功率/注水4*4','等功率/注水5*5','等功率/注水6*6','Location','northwest') %注水-等功率增益比曲线
xlabel('SNR in dB');
ylabel('信道容量增益');
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%发射天线数和接收天线数不等
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dtt=[3 4 4 5]; %发射天线数
drr=[4 4 5 4]; %接受天线数
for(a=1:length(dtt))
tt=dtt(a);
rr=drr(a);
for(b=1:length(SNR))
for(x=1:y)
[Cff(x),Cgg(x),UU(x)]=xindaorongliang(SNR(b),tt,rr);
end
Cwff(b)=sum(Cff)/y; %注水算法信道容量
Cdgg(b)=sum(Cgg)/y; %等功率算法信道容量
uu(b)=sum(UU)/y; %返回不同信噪比时的注水线u
Cwdd1(b)=Cwff(b)-Cdgg(b);%注水-等功率增益差
Cwdd2(b)=Cdgg(b)/Cwff(b);%等功率/注水增益
end
f4=figure(4);
hold on
grid on
plot(SNR_db,Cwff,color(a)) %注水曲线
plot(SNR_db,Cdgg,'-*','color',color(a)) %等功率曲线
legend('注水3*4','等功率3*4','注水4*4','等功率4*4','注水4*5','等功率4*5','注水5*4','等功率5*4','Location','northwest')
xlabel('SNR in dB');
ylabel('信道容量 bits/s/Hz');
f5=figure(5)
hold on
grid on
plot(SNR_db,Cwdd1,color(a)) %注水-等功率增益差曲线
legend('注水-等功率3*4','注水-等功率4*4','注水-等功率4*5','注水-等功率5*4','Location','northeast') %注水-等功率增益差曲线
xlabel('SNR in dB');
ylabel('信道容量增益 bits/s/Hz');
f6=figure(6)
hold on
grid on
plot(SNR_db,Cwdd2,color(a)) %注水-等功率增益比曲线
legend('等功率/注水3*4','等功率/注水4*4','等功率/注水4*5','等功率/注水5*4','Location','northwest') %注水-等功率增益比曲线
xlabel('SNR in dB');
ylabel('信道容量增益');
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%等信噪比,不同天线组合
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nt=[3 4 5 6 7 8 10 11 12]; %发射天线数目
nr=[3 4 5 6 7 8 10 11 12]; %接收天线数目
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%SNR=10dB,发射天线Nt=5时
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for(n=1:length(nr))
w=nr(n);
for(x=1:y)
[Cf1(x),Cg1(x),U1(x)]=xindaorongliang(10,5,w);
end
Cwf1(n)=sum(Cf1)/y; %注水算法信道容量
Cdg1(n)=sum(Cg1)/y; %等功率算法信道容量
Cwd3(n)=Cwf1(n)-Cdg1(n);%注水-等功率增益
Cwd4(n)=Cdg1(n)/Cwf1(n);%等功率/注水增益
u1(n)=sum(U1)/y;
end
f7=figure(7);
hold on
grid on
plot(nr,Cwf1,color(1))
plot(nr,Cdg1,'-*','color',color(2))
legend('Nt=5,注水','Nt=5,等功率','Location','northwest')
xlabel('SNR=10,Nt=5时,接收天线数目');
ylabel('信道容量 bits/s/Hz');
f8=figure(8)
hold on
grid on
plot(nr,Cwd3,color(1))
legend('Nt=5,注水-等功率','Nt=5,注水-等功率','Location','northwest')
xlabel('SNR=10,Nt=5时,接收天线数目');
ylabel('信道容量增益 bits/s/Hz');
f9=figure(9)
hold on
grid on
plot(nr,Cwd4,color(1))
xlabel('SNR=10,Nt=5时,接收天线数目');
ylabel('信道容量增益');
legend('Nt=5,等功率/注水','Nt=5,等功率/注水','Location','northwest')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%SNR=10dB,接收天线Nr=5时
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for(m=1:length(nt))
q=nt(m);
for(x=1:y)
[Cf2(x),Cg2(x),U2(x)]=xindaorongliang(10,q,5);
end
Cwf2(m)=sum(Cf2)/y; %注水算法信道容量
Cdg2(m)=sum(Cg2)/y; %等功率算法信道容量
Cwd5(m)=Cwf2(m)-Cdg2(m);%注水-等功率增益
Cwd6(m)=Cdg2(m)/Cwf2(m);%等功率/注水增益
u2(m)=sum(U2)/y;
end
f10=figure(10);
hold on
grid on
plot(nt,Cwf2,color(3))
plot(nt,Cdg2,'-*','color',color(4))
legend('Nr=5,注水','Nr=5,等功率','Location','northwest')
xlabel('SNR=10,Nr=5时,发送天线数目');
ylabel('信道容量 bits/s/Hz');
f11=figure(11)
hold on
grid on
plot(nt,Cwd5,color(3))
legend('Nr=5,注水-等功率','Nr=5,注水-等功率','Location','northwest')
xlabel('SNR=10,Nr=5时,发送天线数目');
ylabel('信道容量增益 bits/s/Hz');
f12=figure(12)
hold on
grid on
plot(nt,Cwd6,color(3))
xlabel('SNR=10,Nr=5时,发送天线数目');
ylabel('信道容量增益');
legend('Nr=5,等功率/注水','Nr=5,等功率/注水','Location','northwest')
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
MIMO.zip (10个子文件)
MIMO
mimo yuan.m 6KB
buwuanquanxindao.m 2KB
xindaorongliang1.m 229B
mimoxinzaobi.m 2KB
mimotianxianguding.m 4KB
mimo.m 6KB
xindaorongliang.m 784B
xindaorongliang2.m 137B
xindaorongliangbuwanquan.m 812B
sanzhongxitong.m 2KB
共 10 条
- 1
资源评论
- zhaojingjing52113142013-04-08我觉得这个比较简单,要是有更好的解释就更好了,我期望得到多用户的仿真,这个只是单用户的仿真。
- youzhaxiaobaicai52016-06-17还是不错的,虽然不是很完美,不过还是有助于学习无线通信信道仿真的。
- yan542013-07-28谢谢分享,天线数目跟信道容量关系,不是自己的目标程序,但还是有助于学习信道仿真
- 年轻的菜鸟2014-07-21还是不错的,虽然不是很完美,不过还是有助于学习无线通信信道仿真的。
- tierie2015-06-13很好用,很全面
fanliuxiao
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功