资源描述
· 分集合并技术MATLAB仿真 - [毕设]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
clc
clear
c=sqrt(2)/2;
j=sqrt(-1);
Cons=[1,c+j*c, j, c-j*c,-1, -c-j*c, -j, -c+j*c];
Es=1;
SNRIndex=1;
for SNR=0:5:50
SNRValue(SNRIndex)=SNR;
SNR1=10^(SNR/10);
NoisePower=2*Es/(SNR1);
RealNoisePower=NoisePower/2;
Frame=5000;
TotalBit1=0;
ErrorNum1_M=0;
ErrorNum2_M=0;
ErrorNum3_M=0;
ErrorNum4_M=0;
ErrorNum5_M=0;
ErrorNum1_E=0;
ErrorNum2_E=0;
ErrorNum3_E=0;
ErrorNum4_E=0;
ErrorNum5_E=0;
ErrorNum1_S=0;
ErrorNum2_S=0;
ErrorNum3_S=0;
ErrorNum4_S=0;
ErrorNum5_S=0;
for loop=1:1:Frame
h1=(randn(1)+j*randn(1))*sqrt(1/2);
for i=1:1:2
h2(i,1)=(randn(1)+j*randn(1))*sqrt(1/2);
end
for i=1:1:4
h3(i,1)=(randn(1)+j*randn(1))*sqrt(1/2);
end
for i=1:1:6
h4(i,1)=(randn(1)+j*randn(1))*sqrt(1/2);
end
for i=1:1:8
h5(i,1)=(randn(1)+j*randn(1))*sqrt(1/2);
end
TotalBit1=TotalBit1+1;
for i=1:1:2
InStream(i)=(rand(1)>=0.5);
end
xx1=2*InStream(1)+InStream(2)+1;
x=Cons(xx1);
noise1=(randn(1)+j*randn(1))*sqrt(RealNoisePower);
for i=1:1:2
noise2(i,1)=(randn(1)+j*randn(1))*sqrt(RealNoisePower);
end
for i=1:1:4
noise3(i,1)=(randn(1)+j*randn(1))*sqrt(RealNoisePower);
end
for i=1:1:6
noise4(i,1)=(randn(1)+j*randn(1))*sqrt(RealNoisePower);
end
for i=1:1:8
noise5(i,1)=(randn(1)+j*randn(1))*sqrt(RealNoisePower);
end
r1=h1*x+noise1;
r2=h2*x+noise2;
r3=h3*x+noise3;
r4=h4*x+noise4;
r5=h5*x+noise5;
%%%%%%%%MRC%%%%%%%
s1_m=r2(1)*conj(h2(1))+r2(2)*conj(h2(2));
s2_m=r3(1)*conj(h3(1))+r3(2)*conj(h3(2))+r3(3)*conj(h3(3))+r3(4)*conj(h3(4));
s3_m=r4(1)*conj(h4(1))+r4(2)*conj(h4(2))+r4(3)*conj(h4(3))+r4(4)*conj(h4(4))+r4(5)*conj(h4(5))+r4(6)*conj(h4(6));
s4_m=r5(1)*conj(h5(1))+r5(2)*conj(h5(2))+r5(3)*conj(h5(3))+r5(4)*conj(h5(4))+r5(5)*conj(h5(5))+r5(6)*conj(h5(6))+r5(7)*conj(h5(7))+r5(8)*conj(h5(8));
for i=1:1:4
M1(i)=abs(r1-h1*Cons(i));
M2(i)=abs(s1_m-Cons(i));
M3(i)=abs(s2_m-Cons(i));
M4(i)=abs(s3_m-Cons(i));
M5(i)=abs(s4_m-Cons(i));
end
Minvalue_M=min(M1);
n1_m=find(M1==Minvalue_M);
l1_m=Cons(n1_m);
Minvalue_M=min(M2);
n2_m=find(M2==Minvalue_M);
l2_m=Cons(n2_m);
Minvalue_M=min(M3);
n3_m=find(M3==Minvalue_M);
l3_m=Cons(n3_m);
Minvalue_M=min(M4);
n4_m=find(M4==Minvalue_M);
l4_m=Cons(n4_m);
Minvalue_M=min(M5);
n5_m=find(M5==Minvalue_M);
l5_m=Cons(n5_m);
ErrorNum1_M=ErrorNum1_M+(l1_m~=x);
ErrorNum2_M=ErrorNum2_M+(l2_m~=x);
ErrorNum3_M=ErrorNum3_M+(l3_m~=x);
ErrorNum4_M=ErrorNum4_M+(l4_m~=x);
ErrorNum5_M=ErrorNum5_M+(l5_m~=x);
%%%%%EGC%%%%%
s1_e=r2(1)*conj(h2(1))/abs(h2(1))+r2(2)*conj(h2(2))/abs(h2(2));
s2_e=r3(1)*conj(h3(1))/abs(h3(1))+r3(2)*conj(h3(2))/abs(h3(2))+r3(3)*conj(h3(3))/abs(h3(3))+r3(4)*conj(h3(4))/abs(h3(4));
s3_e=r4(1)*conj(h4(1))/abs(h4(1))+r4(2)*conj(h4(2))/abs(h4(2))+r4(3)*conj(h4(3))/abs(h4(3))+r4(4)*conj(h4(4))/abs(h4(4))+r4(5)*conj(h4(5))/abs(h4(5))+r4(6)*conj(h4(6))/abs(h4(6));
s4_e=r5(1)*conj(h5(1))/abs(h5(1))+r5(2)*conj(h5(2))/abs(h5(2))+r5(3)*conj(h5(3))/abs(h5(3))+r5(4)*conj(h5(4))/abs(h5(4))+r5(5)*conj(h5(5))/abs(h5(5))+r5(6)*conj(h5(6))/abs(h5(6))+r5(7)*conj(h5(7))/abs(h5(7))+r5(8)*conj(h5(8))/abs(h5(8));
for i=1:1:4
E1(i)=abs(r1-h1*Cons(i));
E2(i)=abs(s1_e-Cons(i));
E3(i)=abs(s2_e-Cons(i));
E4(i)=abs(s3_e-Cons(i));
E5(i)=abs(s4_e-Cons(i));
end
Minvalue_E=min(E1);
n1_e=find(E1==Minvalue_E);
l1_e=Cons(n1_e);
Minvalue_E=min(E2);
n2_e=find(E2==Minvalue_E);
l2_e=Cons(n2_e);
Minvalue_E=min(E3);
n3_e=find(E3==Minvalue_E);
l3_e=Cons(n3_e);
Minvalue_E=min(E4);
n4_e=find(E4==Minvalue_E);
l4_e=Cons(n4_e);
Minvalue_E=min(E5);
n5_e=find(E5==Minvalue_E);
l5_e=Cons(n5_e);
ErrorNum1_E=ErrorNum1_E+(l1_e~=x);
ErrorNum2_E=ErrorNum2_E+(l2_e~=x);
ErrorNum3_E=ErrorNum3_E+(l3_e~=x);
ErrorNum4_E=ErrorNum4_E+(l4_e~=x);
ErrorNum5_E=ErrorNum5_E+(l5_e~=x);
%%%%%SC%%%%%
Maxvalue1=max(h2);
a=find(h2==Maxvalue1);
Maxvalue2=max(h3);
b=find(h3==Maxvalue2);
Maxvalue3=max(h4);
c=find(h4==Maxvalue3);
Maxvalue4=max(h5);
d=find(h5==Maxvalue4);
s1_s=r2(a);
s2_s=r3(b);
s3_s=r4(c);
s4_s=r5(d);
for i=1:1:4
S1(i)=abs(r1-h1*Cons(i));
S2(i)=abs(s1_s-h2(a)*Cons(i));
S3(i)=abs(s2_s-h3(b)*Cons(i));
S4(i)=abs(s3_s-h4(c)*Cons(i));
S5(i)=abs(s4_s-h5(d)*Cons(i));
end
Minvalue_S=min(S1);
n1_s=find(S1==Minvalue_S);
l1_s=Cons(n1_s);
Minvalue_S=min(S2);
n2_s=find(S2==Minvalue_S);
l2_s=Cons(n2_s);
Minvalue_S=min(S3);
n3_s=find(S2==Minvalue_S);
l3_s=Cons(n2_s);
Minvalue_S=min(S4);
n4_s=find(S4==Minvalue_S);
l4_s=Cons(n4_s);
Minvalue_S=min(S5);
n5_s=find(S5==Minvalue_S);
l5_s=Cons(n5_s);
ErrorNum1_S=ErrorNum1_S+(l1_s~=x);
ErrorNum2_S=ErrorNum2_S+(l2_s~=x);
ErrorNum3_S=ErrorNum3_S+(l3_s~=x);
ErrorNum4_S=ErrorNum4_S+(l4_s~=x);
ErrorNum5_S=ErrorNum5_S+(l5_s~=x);
end
BER1_M(SNRIndex)=ErrorNum1_M/TotalBit1;
BER2_M(SNRIndex)=ErrorNum2_M/TotalBit1;
BER3_M(SNRIndex)=ErrorNum3_M/TotalBit1;
BER4_M(SNRIndex)=ErrorNum4_M/TotalBit1;
BER5_M(SNRIndex)=ErrorNum5_M/TotalBit1;
BER1_E(SNRIndex)=ErrorNum1_E/TotalBit1;
BER2_E(SNRIndex)=ErrorNum2_E/TotalBit1;
BER3_E(SNRIndex)=ErrorNum3_E/TotalBit1;
BER4_E(SNRIndex)=ErrorNum4_E/TotalBit1;
BER5_E(SNRIndex)=ErrorNum5_E/TotalBit1;
BER1_S(SNRIndex)=ErrorNum1_S/TotalBit1;
BER2_S(SNRIndex)=ErrorNum2_S/TotalBit1;
BER3_S(SNRIndex)=ErrorNum3_S/TotalBit1;
BER4_S(SNRIndex)=ErrorNum4_S/TotalBit1;
BER5_S(SNRIndex)=ErrorNum5_S/TotalBit1;
SNRIndex=SNRIndex+1;
end
figure(1)
semilogy(SNRValue,BER1_M,'k-s',SNRValue,BER2_M,'r-d',SNRValue,BER3_M,'b-o',SNRValue,BER4_M,'c-*',SNRValue,BER5_M,'m-v')
title('最大比合并性能比较曲线')
xlabel('SNR')
ylabel('误符号率')
legend('Antenna1','Antenna2','Antenna4','Antenna6','Antenna8')
grid on
figure(2)
semilogy(SNRValue,BER1_E,'k-s',SNRValue,BER2_E,'r-d',SNRValue,BER3_E,'b-o',SNRValue,BER4_E,'c-*',SNRValue,BER5_E,'m-v')
title('等增益合并性能比较曲线')
xlabel('SNR')
ylabel('误符号率')
legend('Antenna1','Antenna2','Antenna4','Antenna6','Antenna8')
grid on
figure(3)
semilogy(SNRValue,BER1_S,'k-s',SNRValue,BER2_S,'r-d',SNRValue,BER3_S,'b-o',SNRValue,BER4_S,'c-*',SNRValue,BER5_S,'m-v')
title('选择合并性能比较曲线')
xlabel('SNR')
ylabel('误符号率')
legend('Antenna1','Antenna2','Antenna4','Antenna6','Antenna8')
grid on
figure(4)
semilogy(SNRValue,BER1_M,'k-s',SNRValue,BER2_S,'r-d',SNRValue,BER2_E,'b-o',SNRValue,BER2_M,'m-*')
title('三种合并技术性能比较曲线')
xlabel('SNR')
ylabel('误符号率')
legend('Antenna','SC','EGC','MRC')
grid on
开题报告的内容应包括
(1) 课题的研究意义、国内外现状分析。
(2) 课题研究目标、研究内容、拟解决的关键问题。
(3) 拟采取的研究方法、技术路线、试验方案及其可行性
研究。
(4) 课题的创新性。
(5)计划进度、预期进展和预期成果。
注:(1)开题报告由各院(系、所、中心)组织实施,专家组成员由副高以上人员组成,邀请导师和督导组相关专家参加,导师担任组长。
(2)专家组的作用是帮助导师和研究生执行选题论证,论证意见以“通过”、
“不通过”结论。通过者按计划开展论文工作,不通过者,在半年内需
重新开题。
选 题 报 告 主 要 内 容
指 导 教 师 意 见
指导教师签字:
年 月 日
专 家 组 论 证 意 见
专家组成员签字:
年 月 日
展开阅读全文