y = sqrt(p)*y;
-d AWGN to signal y = awgn(y,1);
%DS-SS demodulate symbols with user code x_de = ds_demod(c(:),y);
Tcision
x_de(find(x_de < 0)) = -1; x_de(find(x_de >=0)) = 1;
Tcode error-correcting code x_de(find(x_de < 0)) = 0;
x_de = decode(x_de,enc_N,enc_K,'bch'); x_de = x_de';
x_de(find(x_de == 0)) = -1;
%------------------------------------- Pe = length(find(x_org - 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
semilogy(plot_EbNo,Plot_Pe,'bo-') xlabel('Eb/No (dB)') ylabel('BER')
s=sprintf('BER versus Eb/No with binary BCH code in the AWGN channel'); title(s);
%********************************************************************** % This program computes the average BER of a DS-SS/BPSK %
communication system with binary BCH code in the AWGN channel
%
% AUTHOR: Wenbin Luo % DATE : 04/28/01 % % %
%**********************************************************************
%function Plot_Pe = final11_extra() clear all;
%close all;
format long;
%set up the threshold Vt Vt = 0;
Plot_Pe = []; N = 16; x_num = 2500; plot_EbNo = -20:2:10; for EbNo = -20:2:10,
%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); x_org = x;
-ds error-correcting code
enc_N = 15; enc_K = 5; %7/4 or 15/5 x(find(x < 0)) = 0;
x = encode(x,enc_N,enc_K,'bch'); x = x';
x(find(x == 0)) = -1;
%DS-SS modulate symbols with user code c = bingen(N); y = ds_mod(c(:),x);
%scale by appropriate power factor y = sqrt(p)*y;
-d AWGN to signal y = awgn(y,1);
%DS-SS demodulate symbols with user code x_de = ds_demod(c(:),y);
Tcision
x_de(find(x_de < 0)) = -1;
x_de(find(x_de >=0)) = 1;
Tcode error-correcting code x_de(find(x_de < 0)) = 0;
x_de = decode(x_de,enc_N,enc_K,'bch'); x_de = x_de';
x_de(find(x_de == 0)) = -1;
%------------------------------------- Pe = length(find(x_org - 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
semilogy(plot_EbNo,Plot_Pe,'bo-') xlabel('Eb/No (dB)') ylabel('BER')
s=sprintf('BER versus Eb/No with binary BCH code in the AWGN channel');