?? mrrc_1xnr.m
字號:
% BPSK modulation, 1 X Nr antenna array% Maximal Ratio Receive Combining(MRRC)% MRRC_1XNr.mclear all;%% initialztionmaxEbNo=18;stepEbNo=3;Nr=2; % Modify here!M=2;% M-QAM,can't be modifieddata_length=100000;% there are data_length*Nt bits at allEbNo=(0:stepEbNo:maxEbNo);BER=zeros(size(EbNo));fr_length=data_length/(log2(M));h=waitbar(0,'Percentage Completed');set(h,'name','MRRC 1XNr...');step_wb=100/(maxEbNo/stepEbNo);wb=0;%% QAM modulationdata=randint(data_length,1);X=qammod(data,M); %M-QAMconstellation=qammod((0:M-1),M);%% channel H=(randn(fr_length,Nr)+j*randn(fr_length,Nr))/sqrt(2);Habs=sum(abs(H).^2,2);%% received signal per receiver antenna SNR=EbNo;r=[];for ii=1:length(SNR) for n=1:Nr r(:,n)=sum(H(:,n).*X,2) + sqrt(0.5/(10^(SNR(ii)/10)))*(randn(fr_length,1)+j*randn(fr_length,1)); end % MRRC z=r.*conj(H); Xe=sum(z,2); % estimation of X % Maximum Likelihood Decision for m=1:M d(:,m)=(sum(Habs,2)-1)*abs(constellation(m))^2 + abs(Xe-constellation(m)).^2; end [Xd,index]=min(d,[],2); Xd=constellation(index).'; % QAM demodulation Xd_bit=qamdemod(Xd,M); [errnum,BER(ii)]=biterr(data,Xd_bit); %update the waitbar str_bar=[num2str(wb) '% Completed']; waitbar(wb/100,h,str_bar); wb=wb+step_wb;endclose(h);semilogy(EbNo,BER,'r-o');%legend('1XNr MRRC');xlabel('EbNo');ylabel('Bit Error Rate');grid on;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -