实验四瑞利衰落信道下MRC的性能实验目的1.熟悉瑞利衰落信道下MRC性能测试的整个设计流程,加深对MRC算法加权系数与各自信道匹配的理解,学习理解多接收天线MRC算法与误码率及系统性能之间的关联。2.熟悉Matlab应用软件中用到的相关函数。二、 实验内容1、以QPSK调制、MRC算法的传输系统%MRC_scheme.m%接收分集-MRCclear, clfL_frame =130;N_packet= 4000;b=2;%设置为1/2/3/4对应于BPSK/QPSK/16-QAM/64-QAMSNRdBs= 0:2:20;sq2= sqrt(2);for iter=1:3if iter--1NT= 1;NR=1;% SISOgs="-kx;elseif iter=-2NT= 1;NR=2;%1X2gs=LAelseNT= 1;NR=4;%1X4gs="-ro';endsq_NT= sqrt(NT);for i_SNR=1:length(SNRdBs)SNRdB=SNRdBs(i SNR);sigma= sqrt(0.5/(10^(SNRdB/10);fori_packet=1:N_packet1/3
1 / 3 实验四 瑞利衰落信道下 MRC 的性能 一、 实验目的 1.熟悉瑞利衰落信道下 MRC 性能测试的整个设计流程,加深对 MRC 算法加权系数与各自 信道匹配的理解,学习理解多接收天线 MRC 算法与误码率及系统性能之间的关联。 2.熟悉 Matlab 应用软件中用到的相关函数。 二、 实验内容 1、以 QPSK 调制、MRC 算法的传输系统 % MRC_scheme.m %接收分集-MRC clear, clf L_frame = 130; N_packet= 4000; b=2; %设置为 1/2/3/4 对应于 BPSK/QPSK/16-QAM/64-QAM SNRdBs= 0:2:20; sq2= sqrt(2); for iter=1:3 if iter==1 NT= 1; NR= 1; % SISO gs= '-kx'; elseif iter==2 NT= 1; NR= 2; % 1X2 gs= '-^'; else NT= 1; NR= 4; % 1X4 gs= '-ro'; end sq_NT= sqrt(NT); for i_SNR=1:length(SNRdBs) SNRdB=SNRdBs(i_SNR); sigma= sqrt(0.5/(10^(SNRdB/10))); for i_packet=1:N_packet
symbol_data= randi([0 1],L_frame*b,NT);%[temp,sym_tab,P]=modulator(symbol_data.,b);N_bits=length(symbol_data);sym_table= exp(li*pi/4*[-3 31-1]);sym_tab= sym_table([0 1 32]+1);inp=reshape(symbol_data,b,N_bits/b),temp=sym_tab([21]*inp+1);P= 4;X=temp.,Hr=(randn(Lframe,NR)+li*randn(L_frame,NR))/sq2H= reshape(Hr,L_frame,NR);Habs=sum(abs(H).±2,2);Z=0,for i=1:NRR(;i)=sum(H(:,i).*X,2)/sq_NT+sigma*(randn(L_frame,1)+li*randn(L_frame,1)Z= Z+R(,i).*conj(H(:,i);endfor m=1:Pdl(;,m)=abs(sum(Z,2)-sym tab(m)).^2+(-1+sum(Habs,2))*abs(sym tab(m))^2end[y1,i1]=min(d1,[,2);Xd= sym_tab(il);temp1=X>0,temp2=Xd>0;noeb_p(i_packet)= sum(sum(temp1~=temp2);endBER(iter,i_SNR)=sum(noeb_p)/(N_packet*L_frame*b);endsemilogy(SNRdBs, BER(iter,;),gs), hold onaxis([SNRdBs([1 end]) 0.5*10^(-4) 1e0])endtitle(BER perfoemancde of MRC Scheme)2/3
2 / 3 symbol_data= randi([0 1],L_frame*b,NT); %[temp,sym_tab,P]= modulator(symbol_data.',b); N_bits=length(symbol_data); sym_table= exp(1i*pi/4*[-3 3 1 -1]); sym_tab= sym_table([0 1 3 2]+1); inp= reshape(symbol_data,b,N_bits/b); temp= sym_tab([2 1]*inp+1); P= 4; X= temp.'; Hr= (randn(L_frame,NR)+1i*randn(L_frame,NR))/sq2; H= reshape(Hr,L_frame,NR); Habs=sum(abs(H).^2,2); Z=0; for i=1:NR R(:,i)= sum(H(:,i).*X,2)/sq_NT+sigma*(randn(L_frame,1)+1i*randn(L_frame,1)); Z= Z+R(:,i).*conj(H(:,i)); end for m=1:P d1(:,m)= abs(sum(Z,2)-sym_tab(m)).^2+(-1+sum(Habs,2))*abs(sym_tab(m))^2; end [y1,i1]= min(d1,[],2); Xd= sym_tab(i1).'; temp1= X>0; temp2= Xd>0; noeb_p(i_packet)= sum(sum(temp1~=temp2)); end BER(iter,i_SNR)= sum(noeb_p)/(N_packet*L_frame*b); end semilogy(SNRdBs, BER(iter,:),gs), hold on axis([SNRdBs([1 end]) 0.5*10^(-4) 1e0]) end title('BER perfoemancde of MRC Scheme')
xlabel('SNR[dB]), ylabel(BER)grid on, set(gca,'fontsize',9)legend('SISO,MRC(Tx:1,Rx:2),MRC(Tx:1,Rx:4))2、运行结果DROO国口W#EFAAA.IO-A.B-RBL.(TetRxa(HMRO(TCIRA)3ESNR(E)图1不同SNR条件下SISO、TXIRX2,TXIRX4的BER数据曲线E图2不同SNR条件下SISO、TXIRX2,TXIRX4的BER数据3 /3
3 / 3 xlabel('SNR[dB]'), ylabel('BER') grid on, set(gca,'fontsize',9) legend('SISO','MRC(Tx:1,Rx:2)','MRC(Tx:1,Rx:4)') 2、运行结果 图 1 不同 SNR 条件下 SISO、TX1RX2,TX1RX4 的 BER数据曲线 图 2 不同 SNR 条件下 SISO、TX1RX2,TX1RX4 的 BER 数据