中繼選擇代碼_第1頁
中繼選擇代碼_第2頁
中繼選擇代碼_第3頁
中繼選擇代碼_第4頁
中繼選擇代碼_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

%%計算相應的信噪比值%信噪比取值的個數(shù)計算BER的估計值%由給定的信噪比計算加性白噪聲標準差%差錯計數(shù)器初始化%傳輸N個數(shù)據(jù)符號,統(tǒng)計差錯符號BPSK系統(tǒng)下的中繼選擇clearall%參數(shù)設置部分SNRindB1=0:2:20;Nsymbols=10000;%設置仿真系統(tǒng)數(shù)據(jù)符號的個數(shù)snr=10.A(SNRindB1/10);len_snr=length(SNRindB1);%對每個給定信噪比的通信系統(tǒng)forj=1:len_snrsigma=sqrt(1/(2*snr(j)));error_count=0;fork=1:Nsymbolsh1=sqrt(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調制ifabs(h1)>abs(h2)h_sr=h1;h_rd=g1;elseh_sr=h2;h_rd=g2;endn1=sigma*randn(1);y=h_sr*b+n1;ify/h_sr>0d_est=1;elsed_est=0;endc=d_est*2-1;n2=sigma*randn(1);r=h_rd*c+n2;ifr/h_rd>0d_es=1;elsed_es=0;endif(d_es?=d)號進行比較error_count=error_count+end%檢測器判決接收的數(shù)據(jù)%判決發(fā)送器發(fā)送的數(shù)據(jù)為1%判決發(fā)送器發(fā)送的數(shù)據(jù)為01;%檢測器判決結果與發(fā)送器發(fā)送的數(shù)據(jù)符%差錯計數(shù)器加1enderrors(j)=error_count;er_sim(j)=errors(j)/Nsymbols;enderrors(j)=error_count;er_sim(j)=errors(j)/Nsymbols;endforj=1:len_snrsigma=sqrt(1/(2*snr(j)));error_coun=0;fork=1:Nsymbols%計算誤符號率(即誤比特率BER)的估計值%由給定的信噪比計算加性白噪聲標準差%差錯計數(shù)器初始化%傳輸N個數(shù)據(jù)符號,統(tǒng)計差錯符號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)+sqrt(-1)*randn(1,1));d=round(rand(1));%信息源b=2*d-1; %Bpsk調制ifabs(g3)>abs(g4)h_sr=h3;h_rd=g3;elseh_sr=h4;h_rd=g4;endn3=sigma*randn(1);m=h_sr*b+n3;%檢測器判決接收的數(shù)據(jù)%%檢測器判決接收的數(shù)據(jù)%判決發(fā)送器發(fā)送的數(shù)據(jù)為1%判決發(fā)送器發(fā)送的數(shù)據(jù)為0d_e=1;elsed_e=0;endp=d_e*2-1;n4=sigma*randn(1);r_a=h_rd*p+n4;ifr_a/h_rd>0d_a=1;elsed_a=0;end%檢測器判決結果與發(fā)送器發(fā)送的數(shù)據(jù)符if%檢測器判決結果與發(fā)送器發(fā)送的數(shù)據(jù)符號進行比較error_coun=error_coun+1; %差錯計數(shù)器加1end%計算差錯符號個數(shù)%計算差錯符號個數(shù)%計算誤符號率(即誤比特率BER)的估計值error(j)=error_coun;er_si(j)=error(j)/Nsymbols;endforj=1:len_snr%由給定的信噪比計算加性白噪聲標準差%由給定的信噪比計算加性白噪聲標準差%差錯計數(shù)器初始化%傳輸N個數(shù)據(jù)符號,統(tǒng)計差錯符號h5=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1));error_cou=0;fork=1:Nsymbolsh6=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-1; %Bpsk調制ifmin(abs(h5),abs(g5))>min(abs(h6),abs(g6))h_sr=h5;h_rd=g5;elseh_sr=h6;h_rd=g2;endn5=sigma*randn(1);%檢測器判決接收的數(shù)據(jù)%檢測器判決接收的數(shù)據(jù)%判決發(fā)送器發(fā)送的數(shù)據(jù)為1%判決發(fā)送器發(fā)送的數(shù)據(jù)為0ifn/h_sr>0d_b=1;elsed_b=0;endq=d_b*2-1;n6=sigma*randn(1);r_b=h_rd*q+n6;ifr_b/h_rd>0d_b=1;elsed_b=0;%檢測器判決結果與發(fā)送器發(fā)送的數(shù)據(jù)符%檢測器判決結果與發(fā)送器發(fā)送的數(shù)據(jù)符if(d_b?=d)號進行比較error_cou=error_cou+1;%差錯計數(shù)器加1end%計算差錯符號個數(shù)%計算差錯符號個數(shù)%計算誤符號率(即誤比特率BER)的估計值erro(j)=error_cou;er_s(j)=erro(j)/Nsymbols;end%由給定的信噪比計算加性白噪聲標準差%%由給定的信噪比計算加性白噪聲標準差%差錯計數(shù)器初始化%傳輸N個數(shù)據(jù)符號,統(tǒng)計差錯符號h_sr=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1));sigma=sqrt(1/(2*snr(j)));er_acount=0;fork=1:Nsymbolsd=round(rand(1)); %信息源b=2*d-1; %Bpsk調制n7=sigma*randn(1);y_r=h_sr*b+n7;%檢測器判決接收的數(shù)據(jù)%%檢測器判決接收的數(shù)據(jù)%判決發(fā)送器發(fā)送的數(shù)據(jù)為1%判決發(fā)送器發(fā)送的數(shù)據(jù)為0d_d=1;elseendelseende=dd*2-1;n8=sigma*randn(1);h_rd=sqrt(1/2)*(randn(1,1)+sqrt(-1)*randn(1,1));r=h_rd*e+n8;ifr/h_rd>0d_c=1;elsed_c=0;endif(d_c?=d) %檢測器判決結果與發(fā)送器發(fā)送的數(shù)據(jù)符號進行比較er_acount=er_acount+1;%差錯計數(shù)器加1endender(j)=er_acount; %計算差錯符號個數(shù)err_sim(j)=er(j)/Nsymbols;%計算誤符號率(即誤比特率BER)的估計值endsemilogy(SNRindB1,er_sim,'-o',SNRindB1,er_si,'-*',SNRindB1,er_s,'-s',SNRindB1,err_sim,'-+');xlabel('SNRindB');ylabel('ber');legend('h1>h2BPSK','g1>g2BPSK','MIN(h1,g1)>MIN(h2,g2)BPSK','hBPSK');QPSK系統(tǒng)下的中繼選擇clearallSNRindB1=0:1:20;fori=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_pr(i)=pc;smld_symbol_err_prb(i)=pd;end;semilogy(SNRindB1,smld_bit_err_p,'-*',SNRindB1,smld_bit_err_prb,'-o',SNRindB1,smld_bit_err_pr,'-s',SNRindB1,smld_symbol_err_prb,'-+');xlabel('SNRindB');ylabel('ber');legend('h1>h2時的QPSK','g1>g2時的QPSK','MIN(h1,g1)>MIN(h2,g2)時的QPSK','h的QPSK');function[pc,pd,pb,ps]=cm_sm32(SNRindB)N=10000;E=1;SNR=10A(SNRindB/10);sgma=sqrt(E/SNR)/2;s00=[10];s01=[01];s11=[-10];s10=[0-1];fori=1:Ntemp=rand;if(temp<0.25)dsource1(i)=0;dsource2(i)=0;elseif(temp<0.5)dsource1(i)=0;dsource2(i)=1;elseif(temp<0.75)dsource1(i)=1;dsource2(i)=0;elsedsource1(i)=1;dsource2(i)=1;end;end;numofsymbolerror=0;numofbiterror=0;fori=1:Nn=sgma*randn(size(s00));h1=raylrnd(0.8);h2=raylrnd(0.8);g1=raylrnd(0.8);g2=raylrnd(0.8);ifh1>h2h_sr=h1;h_rd=g1;elseh_sr=h2;h_rd=g2;endif((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([c00c01c10c11]);if(c00==c_max)decis1=0;decis2=0;elseif(c01==c_max)decis1=0;decis2=1;elseif(c10==c_max)decis1=1;decis2=0;elsedecis1=1;decis2=1;end;n1=sgma*randn(size(s00));if((decis1==0)&(decis2==0))r_a=h_rd*s00+n1;elseif((decis1==0)&(decis2==1))r_a=h_rd*s01+n1;elseif((decis1==1)&(decis2==0))r_a=h_rd*s10+n1;elser_a=h_rd*s11+n1;end;c00=dot(r_a,s00);c01=dot(r_a,s01);c10=dot(r_a,s10);c11=dot(r_a,s11);c_max=max([c00c01c10c11]);if(c00==c_max)decis3=0;decis4=0;elseif(c01==c_max)decis3=0;decis4=1;elseif(c10==c_max)decis3=1;decis4=0;elsedecis3=1;decis4=1;end;symbolerror=0;if(decis3~=dsource1(i))numofbiterror=numofbiterror+1;symbolerror=1;end;if(decis4~=dsource2(i))numofbiterror=numofbiterror+1;symbolerror=1;end;if(symbolerror==1)numofsymbolerror=numofsymbolerror+1;end;end;ps=numofsymbolerror/N;fori=1:Ntemp=rand;if(temp<0.25)dsource5(i)=0;dsource6(i)=0;elseif(temp<0.5)dsource5(i)=0;dsource6(i)=1;elseif(temp<0.75)dsource5(i)=1;dsource6(i)=0;elsedsource5(i)=1;dsource6(i)=1;end;end;numofsymbolerro=0;numofbiterro=0;fori=1:Nn2=sgma*randn(size(s00));h1=raylrnd(0.8);h2=raylrnd(0.8);g1=raylrnd(0.8);g2=raylrnd(0.8);ifg1>g2h_sr=h1;h_rd=g1;elseh_sr=h2;h_rd=g2;endif((dsource5(i)==0)&(dsource6(i)==0))r_b=h_sr*s00+n2;elseif((dsource5(i)==0)&(dsource6(i)==1))r_b=h_sr*s01+n2;elseif((dsource5(i)==1)&(dsource6(i)==0))r_b=h_sr*s10+n2;elser_b=h_sr*s11+n2;end;c00=dot(r_b,s00);c01=dot(r_b,s01);c10=dot(r_b,s10);c11=dot(r_b,s11);c_max=max([c00c01c10c11]);if(c00==c_max)decis5=0;decis6=0;elseif(c01==c_max)decis5=0;decis6=1;elseif(c10==c_max)decis5=1;decis6=0;elsedecis5=1;decis6=1;end;n3=sgma*randn(size(s00));if((decis5==0)&(decis6==0))r_c=h_rd*s00+n3;elseif((decis5==0)&(decis6==1))r_c=h_rd*s01+n3;elseif((decis5==1)&(decis6==0))r_c=h_rd*s10+n3;elser_c=h_rd*s11+n3;end;c00=dot(r_c,s00);c01=dot(r_c,s01);c10=dot(r_c,s10);c11=dot(r_c,s11);c_max=max([c00c01c10c11]);if(c00==c_max)decis7=0;decis8=0;elseif(c01==c_max)decis7=0;decis8=1;elseif(c10==c_max)decis7=1;decis8=0;elsedecis7=1;decis8=1;end;symbolerro=0;if(decis7~=dsource5(i))numofbiterro=numofbiterro+1;symbolerro=1;end;if(decis8~=dsource6(i))numofbiterro=numofbiterro+1;symbolerro=1;end;if(symbolerro==1)numofsymbolerro=numofsymbolerro+1;end;end;pb=numofsymbolerro/N;fori=1:Ntemp=rand;if(temp<0.25)dsource9(i)=0;dsource10(i)=0;elseif(temp<0.5)dsource9(i)=0;dsource10(i)=1;elseif(temp<0.75)dsource9(i)=1;dsource10(i)=0;elsedsource9(i)=1;dsource10(i)=1;end;end;numofsymbolerr=0;numofbiterr=0;fori=1:Nn4=sgma*randn(size(s00));h1=raylrnd(0.8);h2=raylrnd(0.8);g1=raylrnd(0.8);g2=raylrnd(0.8);ifmin(h1,g1)>min(h2,g2)h_sr=h1;h_rd=g1;elseh_sr=h2;h_rd=g2;endif((dsource9(i)==0)&(dsource10(i)==0))r_d=h_sr*s00+n4;elseif((dsource9(i)==0)&(dsource10(i)==1))r_d=h_sr*s01+n4;elseif((dsource9(i)==1)&(dsource10(i)==0))r_d=h_sr*s10+n4;elser_d=h_sr*s11+n4;end;c00=dot(r_d,s00);c01=dot(r_d,s01);c10=dot(r_d,s10);c11=dot(r_d,s11);c_max=max([c00c01c10c11]);if(c00==c_max)decis9=0;decis10=0;elseif(c01==c_max)decis9=0;decis10=1;elseif(c10==c_max)decis9=1;decis10=0;elsedecis9=1;decis10=1;end;n5=sgma*randn(size(s00));if((decis9==0)&(decis10==0))r_d=h_rd*s00+n5;elseif((decis9==0)&(decis10==1))r_d=h_rd*s01+n5;elseif((decis9==1)&(decis10==0))r_d=h_rd*s10+n5;elser_d=h_rd*s11+n5;end;c00=dot(r_d,s00);c01=dot(r_d,s01);c10=dot(r_d,s10);c11=dot(r_d,s11);c_max=max([c00c01c10c11]);if(c00==c_max)decis11=0;decis12=0;elseif(c01==c_max)decis11=0;decis12=1;elseif(c10==c_max)decis11=1;decis12=0;elsedecis11=1;decis12=1;end;symbolerr=0;if(decis11~=dsource9(i))numofbiterr=numofbiterr+1;symbolerr=1;end;if(decis12~=dsource10(i))numofbiterr=numofbiterr+1;symbolerr=1;end;if(symbolerr==1)numofsymbolerr=numofsymbolerr+1;end;end;pc=numofsymbolerr/N;fori=1:Ntemp=rand;if(temp<0.25)dsource13(i)=0;dsource14(i)=0;elseif(temp<0.5)dsource13(i)=0;dsource14(i)=1;elseif(temp<0.75)dsource13(i)=1;dsource14(i)=0;elsedsource13(i)=1;dsource14(i)=1;end;end;numofsymboler=0;numofbiter=0;fori=1:Nn5=sgma*randn(size(s00));h1=raylrnd(0.8);g1=raylrnd(0.8);h_sr=h1;h_rd=g1;if((dsource13(i)==0)&(dsource14(i)==0))r_e=h_sr*s00+n5;elseif((dsource13(i)==0)&(dsource14(i)==1))r_e=h_sr*s01+n5;else

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論