⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 berperformancecomparisonsforlinearmudswithincreasingsnr.m

📁 随着信噪比的增加
💻 M
字号:
m = 3; 
N = 2^m-1; %system processing gain 
maxbits = 20000; %maxbits 
maxusers = 10; % max number of users 
S_tot = signature_matrix(m,maxusers);%generate signature matrix. 
%S(:,k)=sk normalized to unit energy 
noisevar = 1; % noise variance 
maxSNR = 14; %SNR in dB for each user 
 
for s=1:1:maxSNR %number of users 
    A = eye(maxusers)*sqrt(10^(s/10)); % Amplitude of each User 
    S = S_tot(:,1:maxusers); % Signature Matrix 
    totalbits = maxbits;  
     
    for num_bits = 1:totalbits 
        b(:,num_bits) = sign(normrnd(zeros(maxusers,1),1)); %generate random bit values for each user 
        b_frame = b(:,num_bits); %bits of users in num_bits'th frame duration 
        n = normrnd(0,sqrt(noisevar),N,1); %Assume zero mean AWGN 
        y_noisefree = S*A*b_frame; %generate received vector (after demodulation) 
        y = awgn(y_noisefree,s,'measured') ; %add noise to received signal 
        b_MMSE(:,num_bits) = MUD_MMSE(y,S,A,noisevar); %Multiuser Minimum 
Mean Square Error Detection 
        b_MF(:,num_bits) = MUD_MF(y,S); %Single User Matched Filter Detection 
        b_Dec(:,num_bits) = MUD_Dec(y,S); %Multiuser Decorrelator 
        b_OD(:,num_bits) = MUD_OD(y,S,A); %Optimum Detector 
    end 
    e_MF = b-b_MF; % calculating error for MF 
    e_Dec = b-b_Dec; % calculating error for Dec 
    e_MMSE = b-b_MMSE; % calculating error for MMSE 
    e_OD = b-b_OD;% calculating error for OD 
     
     
    Pe_MF(s) = length(find(e_MF))/(maxusers*totalbits); % calculating the Probability of 
error for MF 
    Pe_Dec(s) = length(find(e_Dec))/(maxusers*totalbits); % calculating the Probability of 
error for Dec 
    Pe_MMSE(s) = length(find(e_MMSE))/(maxusers*totalbits);% calculating the 
Probability of error for MMSE 
    Pe_OD(s) = length(find(e_OD))/(maxusers*totalbits);% calculating the Probability of 
error for OD 
     
    s % for keeping of the increasing SNR loop 
    clear b b_MF b_MMSE b_Dec b_OD y_noisefree A S 
end 
s=1:maxSNR; 
semilogy(s,Pe_MF,s,Pe_MMSE,s,Pe_Dec,s,Pe_OD) 
legend('MF','MMSE','Dec','OD'); 
title('Comparison of Bit Error Probabilities'); 
xlabel(['increasing SNR, SNR in dB for N = ',num2str(N)]); 
ylabel('Bit error Probability, P_b'); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -