function ber_22=vblastML(snr2,Nr)
Nt=2;
Nr=Nr;
%p=p;
no_bit_sym=1;
bits=10000;
%iter=0;
toterr=0;
% while toterr<soglia
% iter=iter+1;
for i=1:bits
a=rand;
if(a<0.25)
trans1(i)=(1+j)/2;
elseif(a<0.5)
trans1(i)=(1-j)/2;
elseif(a<0.75)
trans1(i)=(-1+j)/2;
else
trans1(i)=(-1-j)/2;
end
b=rand;
if(b<0.25)
trans2(i)=(1+j)/2;
elseif(b<0.5)
trans2(i)=(1-j)/2;
elseif(b<0.75)
trans2(i)=(-1+j)/2;
else
trans2(i)=-(1-j)/2;
end
% a=16*rand;
% if(a<1)
% trans1(i)=3+j*3;
% elseif(a<2)
% trans1(i)=3+j;
% elseif(a<3)
% trans1(i)=3-j;
% elseif(a<4)
% trans1(i)=3-j*3;
% elseif(a<5)
% trans1(i)=1+j*3;
% elseif(a<6)
% trans1(i)=1+j;
% elseif(a<7)
% trans1(i)=1-j;
% elseif(a<8)
% trans1(i)=1-j*3;
% elseif(a<9)
% trans1(i)=-1+j*3;
% elseif(a<10)
% trans1(i)=-1+j;
% elseif(a<11)
% trans1(i)=-1-j;
% elseif(a<12)
% trans1(i)=-1-j*3;
% elseif(a<13)
% trans1(i)=-3+j*3;
% elseif(a<14)
% trans1(i)=-3+j;
% elseif(a<15)
% trans1(i)=-3-j;
% else
% trans1(i)=-3-j*3;
% end
%
% b=16*rand;
% if(b<1)
% trans2(i)=3+j*3;
% elseif(b<2)
% trans2(i)=3+j;
% elseif(b<3)
% trans2(i)=3-j;
% elseif(b<4)
% trans2(i)=3-j*3;
% elseif(b<5)
% trans2(i)=1+j*3;
% elseif(b<6)
% trans2(i)=1+j;
% elseif(b<7)
% trans2(i)=1-j;
% elseif(b<8)
% trans2(i)=1-j*3;
% elseif(b<9)
% trans2(i)=-1+j*3;
% elseif(b<10)
% trans2(i)=-1+j;
% elseif(b<11)
% trans2(i)=-1-j;
% elseif(b<12)
% trans2(i)=-1-j*3;
% elseif(b<13)
% trans2(i)=-3+j*3;
% elseif(b<14)
% trans2(i)=-3+j;
% elseif(b<15)
% trans2(i)=-3-j;
% else
% trans2(i)=-3-j*3;
% end
data1=trans1(i);
data2=trans2(i);
%Channel
H=rey(Nr,Nt);
%AWGN
sig=sqrt(0.5/(10^(snr2/10)));
n=sig*(randn(Nr,1)+j*randn(Nr,1));
X=[data1;data2];
R=H*X+n;
%Combiner
s1=norm(R-H*[(1+j)/2;(1+j)/2],'fro')^2;
s2=norm(R-H*[(1+j)/2;(1-j)/2],'fro')^2;
s3=norm(R-H*[(1+j)/2;(-1+j)/2],'fro')^2;
s4=norm(R-H*[(1+j)/2;(-1-j)/2],'fro')^2;
s5=norm(R-H*[(1-j)/2;(1+j)/2],'fro')^2;
s6=norm(R-H*[(1-j)/2;(1-j)/2],'fro')^2;
s7=norm(R-H*[(1-j)/2;(-1+j)/2],'fro')^2;
s8=norm(R-H*[(1-j)/2;(-1-j)/2],'fro')^2;
s9=norm(R-H*[(-1+j)/2;(1+j)/2],'fro')^2;
s10=norm(R-H*[(-1+j)/2;(1-j)/2],'fro')^2;
s11=norm(R-H*[(-1+j)/2;(-1+j)/2],'fro')^2;
s12=norm(R-H*[(-1+j)/2;(-1-j)/2],'fro')^2;
s13=norm(R-H*[(-1-j)/2;(1+j)/2],'fro')^2;
s14=norm(R-H*[(-1-j)/2;(1-j)/2],'fro')^2;
s15=norm(R-H*[(-1-j)/2;(-1+j)/2],'fro')^2;
s16=norm(R-H*[(-1-j)/2;(-1-j)/2],'fro')^2;
S=[s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16];
SS=[(1+j)/2,(1+j)/2,(1+j)/2,(1+j)/2,(1-j)/2,(1-j)/2,(1-j)/2,(1-j)/2,(-1+j)/2,(-1+j)/2,(-1+j)/2,(-1+j)/2,(-1-j)/2,(-1-j)/2,(-1-j)/2,(-1-j)/2;...
(1+j)/2,(1-j)/2,(-1+j)/2,(-1-j)/2,(1+j)/2,(1-j)/2,(-1+j)/2,(-1-j)/2,(1+j)/2,(1-j)/2,(-1+j)/2,(-1-j)/2,(1+j)/2,(1-j)/2,(-1+j)/2,(-1-j)/2];
[v,p]=min(S);
Decoded1=SS(1,p);
Decoded2=SS(2,p);
%Decoding
% Decoded1=0;
% Decoded2=0;
% switch (D)
% case(s1)
% Decoded1=(1+j)/2;
% Decoded2=(1+j)/2;
% case(s2)
% Decoded1=(1+j)/2;
% Decoded2=(1-j)/2;
% case(s3)
% Decoded1=(1+j)/2;
% Decoded2=(-1+j)/2;
% case(s4)
% Decoded1=(1+j)/2;
% Decoded2=(-1-j)/2;
% case(s5)
% Decoded1=(1-j)/2;
% Decoded2=(1+j)/2;
% case(s6)
% Decoded1=(1-j)/2;
% Decoded2=(1-j)/2;
% case(s7)
% Decoded1=(1-j)/2;
% Decoded2=(-1+j)/2;
% case(s8)
% Decoded1=(1-j)/2;
% Decoded2=(-1-j)/2;
% case(s9)
% Decoded1=(-1+j)/2;
% Decoded2=(1+j)/2;
% case(s10)
% Decoded1=(-1+j)/2;
% Decoded2=(1-j)/2;
% case(s11)
% Decoded1=(-1+j)/2;
% Decoded2=(-1+j)/2;
% case(s12)
% Decoded1=(-1+j)/2;
% Decoded2=(-1-j)/2;
% case(s13)
% Decoded1=(-1-j)/2;
% Decoded2=(1+j)/2;
% case(14)
% Decoded1=(-1-j)/2;
% Decoded2=(1-j)/2;
% case(s15)
% Decoded1=(-1-j)/2;
% Decoded2=(-1+j)/2;
% case(s16)
% Decoded1=(-1-j)/2;
% Decoded2=(-1-j)/2;
% end
% if(real(s0)>0&imag(s0)>0)
% Decoded1=(1+j)/2;
% elseif(real(s0)>0&imag(s0)<0)
% Decoded1=(1-j)/2;
% elseif(real(s0)<0&imag(s0)>0)
% Decoded1=(-1+j)/2;
% elseif(real(s0)<0&imag(s0)<0)
% Decoded1=(-1-j)/2;
% end
%
% if(real(s1)>0&imag(s1)>0)
% Decoded2=(1+j)/2;
% elseif(real(s1)>0&imag(s1)<0)
% Decoded2=(1-j)/2;
% elseif(real(s1)<0&imag(s1)>0)
% Decoded2=(-1+j)/2;
% elseif(real(s1)<0&imag(s1)<0)
% Decoded2=(-1-j)/2;
% end
% Decoded1=0;
% Decoded2=0;
% if(real(s0)>2&imag(s0)>2)
% Decoded1=(3+j*3);
% elseif(real(s0)>2&imag(s0)>0)
% Decoded1=(3+j);
% elseif(real(s0)>2&imag(s0)>-2)
% Decoded1=(3-j);
% elseif(real(s0)>2)
% Decoded1=(3-j*3);
% elseif(real(s0)>0&imag(s0)>2)
% Decoded1=(1+j*3);
% elseif(real(s0)>0&imag(s0)>0)
% Decoded1=(1+j);
% elseif(real(s0)>0&imag(s0)>-2)
% Decoded1=(1-j);
% elseif(real(s0)>0)
% Decoded1=(1-j*3);
% elseif(real(s0)>-2&imag(s0)>2)
% Decoded1=(-1+j*3);
% elseif(real(s0)>-2&imag(s0)>0)
% Decoded1=(-1+j);
% elseif(real(s0)>-2&imag(s0)>-2)
% Decoded1=(-1-j);
% elseif(real(s0)>-2)
% Decoded1=(-1-j*3);
% elseif(imag(s0)>2)
% Decoded1=(-3+j*3);
% elseif(imag(s0)>0)
% Decoded1=(-3+j);
% elseif(imag(s0)>-2)
% Decoded1=(-3-j);
% else
% Decoded1=(-3-j*3);
% end
%
% if(real(s0)>2&imag(s0)>2)
% Decoded2=(3+j*3);
% elseif(real(s0)>2&imag(s0)>0)
% Decoded2=(3+j);
% elseif(real(s0)>2&imag(s0)>-2)
% Decoded2=(3-j);
% elseif(real(s0)>2)
% Decoded2=(3-j*3);
% elseif(real(s0)>0&imag(s0)>2)
% Decoded2=(1+j*3);
% elseif(real(s0)>0&imag(s0)>0)
% Decoded2=(1+j);
% elseif(real(s0)>0&imag(s0)>-2)
% Decoded2=(1-j);
% elseif(real(s0)>0)
% Decoded2=(1-j*3);
% elseif(real(s0)>-2&imag(s0)>2)
% Decoded2=(-1+j*3);
% elseif(real(s0)>-2&imag(s0)>0)
% Decoded2=(-1+j);
% elseif(real(s0)>-2&imag(s0)>-2)
% Decoded2=(-1-j);
% elseif(real(s0)>-2)
% Decoded2=(-1-j*3);
% elseif(imag(s0)>2)
% Decoded2=(-3+j*3);
% elseif(imag(s0)>0)
% Decoded2=(-3+j);
%
fpga和matlab
- 粉丝: 18w+
- 资源: 2643
最新资源
- 电池超级电容混合储能系统能量管理超级电容matlab simulink储能模型仿真,能量管理蓄电池充放电模型 相关参考
- Java毕设项目:基于spring+mybatis+maven+mysql实现的生活缴费管理系统【含源码+数据库+任务书+毕业论文】
- COMSOL气体放电仿真模型(流注放电),正极性棒-板电极模型,模拟空气中流注发展过程,等离子体粒子化学反应模型,变压器励磁模型 Matlab simulink
- 上市公司内部薪酬差距数据(2000-2023年).zip
- 半桥LLC谐振变器仿真模型,采用变频控制电压闭环控制,完美跟踪给定电压,可实现软开关
- Java毕设项目:基于spring+mybatis+maven+mysql实现的网络安全宣传网站分前后台【含源码+数据库+毕业论文】
- 电力系统无穷大功率电源三相短路
- 【ansys斜拉桥模型】-apdl命令流 桥梁类型:双塔双索面斜拉桥 斜拉桥体系:半漂浮体系 主梁类型:钢-混组合梁 模型类别:杆系模型 模拟单元:beam189、link10、mass21、com
- Java毕设项目:基于spring+mybatis+maven+mysql实现的高校工会提案管理信息系统【含源码+数据库+毕业论文】
- 永磁同步电机,转速环ADRC控制仿真 自抗扰控制仿真 pmsm+adrc
- Java毕设项目:基于spring+mybatis+maven+mysql实现的大学生创新创业平台项目管理系统【含源码+数据库+毕业论文】
- chipgenius-v4.21.0701最新版的U盘精灵
- 基于springboot的公交线路查询系统设计与实现(代码+数据库+LW)
- Java毕设项目:基于spring+mybatis+maven+mysql实现的在线课程管理系统分前后台【含源码+数据库+毕业论文】
- 中国省级产业结构高级化及合理化数据测算(2000-2023年).xlsx
- 中国省级产业结构高级化及合理化数据测算(2000-2023年)线性插值.dta
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈