哪位高手能帮忙解释一下这个关于通信的Matlab程序?谢啦!
%space time coding pp.35. Fig.1.24 |||| Fig.1.23
clear;
clc;
SNR1=20;
SNR=10^(SNR1/10);
X20=zeros(1,5);
Q201=zeros(1,5);
Q202=zeros(1,5);
Q203=zeros(1,5);
F=0;
ar=pi/36;
for k=1:1:5
m=k;
X20(k)=m;
F=0;
for x=0:0.000001:ar/2-0.000001
y=x+0.0000005;
F=F+ cos(2*pi*m*sin(y))/ar*0.000001;
end
Q201(k)=2*F;
F=0;
for x=0:0.000001:ar/2-0.000001
y=x+0.0000005;
F=F+ cos(2*pi*2*m*sin(y))/ar*0.000001;
end
Q202(k)=2*F;
F=0;
for x=0:0.000001:ar/2-0.000001
y=x+0.0000005
F=F+ cos(2*pi*3*m*sin(y))/ar*0.000001;
end
Q203(k)=2*F;
end
Capacity=zeros(5,10000);
I=eye(4);
R=zeros(4,4);
T=zeros(4,4);
for k=1:1:5
R=[1 Q201(k) Q202(k) Q203(k);Q201(k) 1 Q201(k) Q202(k); Q202(k) Q201(k) 1 Q201(k);Q203(k) Q202(k) Q201(k) 1];
T=I;
for i=1:1:10000
j=sqrt(-1);
for m=1:1:4
for n=1:1:4
h(m,n)=(randn(1)+j*randn(1))*sqrt(1/2);
end
end
H=[h(1,1) h(1,2) h(1,3) h(1,4);h(2,1) h(2,2) h(2,3) h(2,4);h(3,1) h(3,2) h(3,3) h(3,4);h(4,1) h(4,2) h(4,3) h(4,4)];
Capacity(k,i)=abs(log2(det(I+SNR/4*R'*H*T*H')));
end
end
for k=1:1:10000
j=sqrt(-1);
for m=1:1:4
for n=1:1:4
h(m,n)=(randn(1)+j*randn(1))*sqrt(1/2);
end
end
H=h;
% Capacity(k,i)=abs(log2(det(I+SNR/6*R'*H*T*H')));
Capacity_r(k)=abs(log2(det(I+SNR/4*H*H')));
end
Capacity1=zeros(1,10000);
Capacity2=zeros(1,10000);
Capacity3=zeros(1,10000);
Capacity4=zeros(1,10000);
Capacity5=zeros(1,10000);
CapaDelta=zeros(1,100);
CapaDelta1=zeros(1,100);
CapaDelta2=zeros(1,100);
CapaDelta3=zeros(1,100);
CapaDelta4=zeros(1,100);
CapaDelta5=zeros(1,100);
P=zeros(1,100);
P1=zeros(1,100);
P2=zeros(1,100);
P3=zeros(1,100);
P4=zeros(1,100);
P5=zeros(1,100);
for k=1:1:10000
Capacity1(k)=Capacity(1,k);
end
for k=1:1:10000
Capacity2(k)=Capacity(2,k);
end
for k=1:1:10000
Capacity5(k)=Capacity(5,k);
end
for k=1:1:10000
Capacity3(k)=Capacity(3,k);
end
for k=1:1:10000
Capacity4(k)=Capacity(4,k);
end
cmin=min(Capacity_r);
cmax=max(Capacity_r);
cmin1=min(Capacity1);
cmax1=max(Capacity1);
cmin2=min(Capacity2);
cmax2=max(Capacity2);
cmin3=min(Capacity3);
cmax3=max(Capacity3);
cmin4=min(Capacity4);
cmax4=max(Capacity4);
cmin5=min(Capacity5);
cmax5=max(Capacity5);
for i=1:1:100
CapaDelta(i)=cmin+i*(cmax-cmin)/100;
end
for i=1:1:100
CapaDelta1(i)=cmin1+i*(cmax1-cmin1)/100;
end
for i=1:1:100
CapaDelta2(i)=cmin2+i*(cmax2-cmin2)/100;
end
for i=1:1:100
CapaDelta3(i)=cmin3+i*(cmax3-cmin3)/100;
end
for i=1:1:100
CapaDelta4(i)=cmin4+i*(cmax4-cmin4)/100;
end
for i=1:1:100
CapaDelta5(i)=cmin5+i*(cmax5-cmin5)/100;
end
for i=1:1:10000
for j=1:1:100
if Capacity_r(i)>CapaDelta(j)
P(j)=P(j)+1;
end
end
end
for i=1:1:10000
for j=1:1:100
if Capacity1(i)>CapaDelta1(j)
P1(j)=P1(j)+1;
end
end
end
for i=1:1:10000
for j=1:1:100
if Capacity2(i)>CapaDelta2(j)
P2(j)=P2(j)+1;
end
end
end
for i=1:1:10000
for j=1:1:100
if Capacity3(i)>CapaDelta3(j)
P3(j)=P3(j)+1;
end
end
end
for i=1:1:10000
for j=1:1:100
if Capacity4(i)>CapaDelta4(j)
P4(j)=P4(j)+1;
end
end
end
for i=1:1:10000
for j=1:1:100
if Capacity5(i)>CapaDelta5(j)
P5(j)=P5(j)+1;
end
end
end
P=P/10000;
P1=P1/10000;
P2=P2/10000;
P3=P3/10000;
P4=P4/10000;
P5=P5/10000;
plot(CapaDelta,P,'m', CapaDelta1,P1,'r',CapaDelta2,P2,'k',CapaDelta3,P3,'b',CapaDelta4,P4,'y',CapaDelta5,P5,'g');
grid on;
小弟我实在没多少分了,所以只能给这么多,谢谢!
相关推荐
跳频通信MATLAB程序
跳频通信抗干扰的MATLAB程序实现
MATLAB实现TCP/IP的持续通信
MATLAB实现TCP/IP的持续通信0. 基本情况介绍1. 服务器端代码2. 客户机端代码3. 接收信息函数4. 代码汇总下载5. 使用方法介绍6. 多多点赞交流 0. 基本情况介绍 以前的博文都是实现的TCP/IP的基本功能,比如: MATLAB实现TCP/IP的简单通信 只是实现了简单的单次通信,不能持续。 又如:MATLAB实现简单的聊天软件 虽然是持续通信,但是其实是利用了GUI的特性,有多线程的思想在里面。 本博文中我们完全使用代码来实现TCP/IP的持续通信,看一下效果: 任意的对话,例如:
Matlab与单片机的串口通信-matlab…
Matlab提供了对串口进行打开、 关闭、 以及串口参数设置等操作的一系列函数。利用这些函数可以选择串口号、 设置串口通信参数( 波特率、 数据位、 停止位、 校验位等)、进行中断控制、流控制。从建立串口通信到结束串口通信的完整流程包括以下几个步骤: 1、创建串口对象,实现该功能的函数为: obj= serial(port,'PropertyName',PropertyValue,
基于Matlab的MIMO通信系统仿真
1. MIMO基本原理 MIMO技术指在发射端和接收端分别使用多个发射天线和接收天线,使信号通过发射端与接收端的多个天线传送和接收,从而改善通信质量。它能充分利用空间资源,通过多个天线实现多发多收,在不增加频谱资源和天线发射功率的情况下,可以成倍的提高系统信道容量,显示出明显的优势、被视为下一代移动通信的核心技术。 2. 空时分组码 2.1 Alamouti 2发1收空时编码 (1...
光孤子通信matlab仿真程序
这是光孤子通信的仿真程序,包括了一阶孤子、二阶孤子、高阶孤子的在不同情形下的仿真,如高阶色散、非线性效应、初始啁啾等,以及孤子间的相互作用及其抑制等。


其他开发语言
