内容发布更新时间 : 2024/11/15 13:28:23星期一 下面是文章的全部内容请认真阅读。
x_de(find(x_de < 0)) = -1; x_de(find(x_de >=0)) = 1;
Pe = length(find(x - x_de))/x_num; Plot_Pe = [Plot_Pe Pe]; end %end for EbNo
%display the calculated Pd and Pfa Plot_Pe
%plot Pe versus Eb/No %subplot(2,1,1)
semilogy(plot_EbNo,Plot_Pe,'bs-') xlabel('Eb/No (dB)') ylabel('BER')
title('BER versus Eb/No using DS-CDMA: a random asynchronism between users'); grid on;
%************************************************************************ % This program computes the average BER versus Eb/No of K users % %
transmitting BPSK symbols at an equal power level using a
slow FH-MA scheme assumming a random asynchronism between users
%
% AUTHOR: Wenbin Luo % DATE : 04/29/01 %
% %
%************************************************************************ clear all; %close all;
format long;
%set up the threshold Vt Vt = 0;
Plot_Pe = []; K = 32; N = 32; x_num = 10000;
%generates a random asynchronism between users asyn = rand(1,K)*6; %asyn = floor(asyn); asyn = floor(asyn) + 1;
plot_EbNo = -20:3:50; for EbNo = -20:3:50,
%convert back from dB Eb_No = EbNo; ? Eb_No = 10.^(Eb_No/10); %assume No = 2; No = 2;
Eb = No * Eb_No; êlculate power p Tc = 1; Ts = N * Tc; p = Eb / Ts;
%generate BPSK symbols randomly with value +1 or -1 x = bingen(x_num);
%DS-SS modulate symbols with user code UserCode = fh(N,K); c = UserCode(1,:); y = ds_mod(c(:),x);
-d other users' signal as interference for t = 2:1:K,
tmp_x = bingen(x_num); tmp = UserCode(t,:); tmp_y = ds_mod(tmp(:),tmp_x);
tmpY_len = length(tmp_y);
tmp_y = [tmp_y((asyn(t)+1):tmpY_len); tmp_y(1:asyn(t))];
y = y + tmp_y; end % t
%scale by appropriate power factor y = sqrt(p)*y;
-d AWGN to signal y = awgn_complex(y,1);
%DS-SS demodulate symbols with user code x_de = real(ds_demod(conj(c(:)),y));
Tcision
x_de(find(x_de < 0)) = -1; x_de(find(x_de >=0)) = 1;
Pe = length(find(x - x_de))/x_num; Plot_Pe = [Plot_Pe Pe]; end %end for EbNo
%display the calculated Pd and Pfa Plot_Pe
%plot Pe versus Eb/No %subplot(2,1,1)
semilogy(plot_EbNo,Plot_Pe,'bs-') xlabel('Eb/No (dB)') ylabel('BER')
title('BER versus Eb/No using slow FH-MA: a random asynchronism between users'); grid on;