中继选择代码

上传人:汽*** 文档编号:510767084 上传时间:2022-11-30 格式:DOCX 页数:9 大小:18.21KB
返回 下载 相关 举报
中继选择代码_第1页
第1页 / 共9页
中继选择代码_第2页
第2页 / 共9页
中继选择代码_第3页
第3页 / 共9页
中继选择代码_第4页
第4页 / 共9页
中继选择代码_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《中继选择代码》由会员分享,可在线阅读,更多相关《中继选择代码(9页珍藏版)》请在金锄头文库上搜索。

1、BPSK 系统下的中继选择 clear all %参数设置部分 SNRindB1=0:2:20; Nsymbols = 10000; %设置仿真系统数据符号的个数 snr = 10.人(SNRindBl/10); len_snr = length(SNRindB1); %对每个给定信噪比的通信系统 for j=1:len_snrsigma = sqrt(1/(2*snr(j); error_count = 0;for k=1:Nsymbols%计算相应的信噪比值%信噪比取值的个数计算BER的估计值%由给定的信噪比计算加性白噪声标准差%差错计数器初始化%传输N个数据符号,统计差错符号h1=sqr

2、t(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1); h2=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1);g1=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1);g2=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1); d = round(rand(1);%信息源b=2*d-1;%Bpsk 调制if abs(h1)abs(h2) h_sr=h1;h_rd=g1;else h_sr=h2;h_rd=g2; end n1=sigma*randn(1); y=h_sr*

3、b+n1;if y/h_sr0 d_est = 1;else d_est = 0;endc=d_est*2-1; n2=sigma*randn(1); r=h_rd*c+n2;if r/h_rd0 d_es=1;else d_es=0; end if (d_es=d)号进行比较error_count = error_count + 1;%检测器判决接收的数据%判决发送器发送的数据为1%判决发送器发送的数据为0%检测器判决结果与发送器发送的数据符%差错计数器加1endenderrors(j)=error_count;%计算差错符号个数er_sim(j)=errors/Nsymbols; %计算误

4、符号率(即误比特率BER )的估计值endfor j=1:len_snr sigma = sqrt(1/(2*snr(j); error_coun = 0;for k=1:Nsymbols%由给定的信噪比计算加性白噪声标准差%差错计数器初始化%传输N个数据符号,统计差错符号h3=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1);h4=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1);g3=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1);g4=sqrt(1/2)*(randn(1,1)+sqr

5、t(-1)*randn(1,1);d = round(rand(1);% 信息源b=2*d-l;%Bpsk 调制if abs(g3)abs(g4)h_sr=h3;h_rd=g3;else h_sr=h4;h_rd=g4; end n3=sigma*randn(l); m=h_sr*b+n3;if m/h_sr0 d_e = 1;else d_e = 0;end%检测器判决接收的数据%判决发送器发送的数据为1%判决发送器发送的数据为0p=d_e*2-l; n4=sigma*randn(l); r_a=h_rd*p+n4;if r_a/h_rd0d_a=l;else d_a=0;endif (d_

6、a=d)%检测器判决结果与发送器发送的数据符号进行比较error_coun = error_coun + 1;% 差错计数器加 1endend error(j)=error_coun; er_si(j)=error(j)/Nsymbols;end%计算差错符号个数%计算误符号率(即误比特率BER )的估计值for j=1:len_snr sigma = sqrt(1/(2*snr(j); error_cou = 0;for k=1:Nsymbols%由给定的信噪比计算加性白噪声标准差%差错计数器初始化%传输N个数据符号,统计差错符号h5=sqrt(1/2)*(randn(1,1)+sqrt(-

7、1)*randn(1,1);h6=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1);g5=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1); g6=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1);d = round(rand(1);%信息源b=2*d-l;%Bpsk 调制if min(abs(h5),abs(g5)min(abs(h6),abs(g6) h_sr=h5;h_rd=g5;else h_sr=h6;h_rd=g2;endn5=sigma*randn(l);n=h_sr*b+n5;

8、if n/h_sr0d_b = l;else d_b = 0;end%检测器判决接收的数据%判决发送器发送的数据为1%判决发送器发送的数据为0q=d_b*2-1;n6=sigma*randn(1);r_b=h_rd*q+n6;if r_b/h_rd0d_b=1;else d_b=0;endif (d_b=d)%检测器判决结果与发送器发送的数据符号进行比较error_cou = error_cou + 1; %差错计数器加1endenderro(j)=error_cou;%计算差错符号个数er_s(j)=erro(j)/Nsymbols; %计算误符号率(即误比特率BER)的估计值 endfor

9、 j=1:len_snrsigma = sqrt(1/(2*snr(j);%由给定的信噪比计算加性白噪声标准差er_acount = 0;%差错计数器初始化for k=1:Nsymbols%传输N个数据符号,统计差错符号h_sr=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1);d = round(rand(1);%信息源b=2*d-1;%Bpsk 调制n7=sigma*randn(1);y_r=h_sr*b+n7;if y_r/h_sr0d_d = 1;else d_d = 0;end%检测器判决接收的数据%判决发送器发送的数据为1%判决发送器发送的数据为0

10、e=d_d*2-1;n8=sigma*randn(1);h_rd=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1); r=h_rd*e+n8;if r/h_rd0d_c=1;else d_c=0; end if (d_c=d)%检测器判决结果与发送器发送的数据符号进行比较er_acount = er_acount + 1; %差错计数器加1 endender(j)=er_acount;%计算差错符号个数err_sim(j)=er/Nsymbols; %计算误符号率(即误比特率BER )的估计值 end semilogy(SNRindB1,er_sim,-o,S

11、NRindB1,er_si,-*,SNRindB1,er_s,-s,SNRindB1,err_sim,- +);xlabel(SNR in dB);ylabel(ber);legend(h1h2 BPSK,g1g2 BPSK,MIN(h1,g1)MIN(h2,g2)BPSK,h BPSK);QPSK 系统下的中继选择clear allSNRindB1=0:1:20;for i=1:length(SNRindB1)pc,pd,pb,ps=cm_sm32(SNRindB1(i);smld_bit_err_prb(i)=pb; smld_bit_err_p(i)=ps; smld_bit_err_p

12、r(i)=pc; smld_symbol_err_prb(i)=pd;end;semilogy(SNRindB1,smld_bit_err_p,-*,SNRindB1,smld_bit_err_prb,-o,SNRindB1,smld_bi t_err_pr,-s,SNRindB1,smld_symbol_err_prb,-+);xlabel(SNR in dB);ylabel(ber);legend(hlh2时的QPSK,glg2时的 QPSK,MIN(hl,gl)MIN(h2,g2)时 的QPSK,h 的 QPSK);functionpc,pd,pb,ps=cm_sm32(SNRindB)

13、 N=10000;E=1;SNR=10人(SNRindB/10);sgma=sqrt(E/SNR)/2;s00=1 0;s01=0 1;s11=-1 0;s10=0 -1;for i=1:Ntemp=rand;if (temp0.25)dsource1(i)=0;dsource2(i)=0;elseif (temp0.5)dsource1(i)=0; dsource2(i)=1;elseif (temph2 h_sr=h1;h_rd=g1;else h_sr=h2;h_rd=g2;end if(dsource1(i)=0)&(dsource2(i)=0) r=h_sr*s00+n;elseif(dsource1(i)=0)&(dsource2(i)=1) r=h_sr*s01+n;elseif(dsource1(i)=1)&(dsource2(i)=0) r=h_sr*s10+n;elser=h_sr*s11+n;end;c00=dot(r,s00);c01=dot(r,s01);c10=dot(r,s10);c11=dot(r,s11); c_max=max(c00 c01 c10 c11);if (c00=c_max) decis1=0;decis2=0;elseif(c01=c_max) d

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号