www.gusucode.com > DS-cdma仿真matlab程序 > code8/cdma/final12.m

    %*********************************************************************
%        This program computes the average BER of a DS-SS/BPSK 
%			communication system in the presence of pulsed noise jamming
%			and AWGN
%        
%        AUTHOR: Wenbin Luo
%        DATE  : 04/28/01
%
%			final12.m
% 
%********************************************************************

%function Plot_Pe = final12()

clear all;
%close all;

format long;
%set up the threshold Vt 
Vt = 0;

Plot_Pe = [];

N = 16;
ro = 0.2; %1, 0.4, 0.2
x_num = 10000;
plot_EbNo = -20:2:10; 
for EbNo = -20:2:10,
   
%convert back from dB
Eb_No = EbNo; %dB
Eb_No = 10.^(Eb_No/10);
%assume No = 2;
No = 2;
Eb = No * Eb_No;
%calculate 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
c = bingen(N);
y = ds_mod(c(:),x);

%scale by appropriate power factor
y = sqrt(p)*y;

%add Pulsed Noise Jammer to signal
y = [awgn(y(1:ro*length(y)),1/ro); y((ro*length(y)+1):length(y))];

%DS-SS demodulate symbols with user code
x_de = ds_demod(c(:),y);

%decision
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

%---------------------------------------------
%return;
%---------------------------------------------

%display the calculated Pd and Pfa
Plot_Pe

%plot Pe versus Eb/No
%subplot(2,1,1)
semilogy(plot_EbNo,Plot_Pe,'m*-')
xlabel('10log_{10}[(P/J)(W/R)] (dB)')
ylabel('BER')
s=sprintf('BER versus 10log_{10}[(P/J)(W/R)] in pulsed noise jamming and AWGN');
title(s);