MATLAB CDMA Simulation Code

Check out the .m file.

 

   % CDMA Simulation for N Transmitter/Receiver Pairs

   % data bit stream for each sender
   D = [ 1 -1  1 -1  1  1 -1 -1 ; 
        -1 -1  1  1  1 -1 -1  1 ;
         1  1 -1 -1 -1  1  1 -1 ;
         1  1  1  1 -1 -1 -1 -1 ];

   % unique code for each sender (determined using the Walsh Set)
   C = [ -1 -1 -1 -1 ;
         -1  1 -1  1 ;
         -1 -1  1  1 ;
         -1  1  1 -1 ];

   % parameters
   M = length(C); % length (number of bits) of code
   Y = size(D); 
   N = Y(1); % number of unique senders / bit streams
   I = Y(2); % number of bits per stream
   T = []; % sum of all transmitted and encoded data on channel
   RECON = []; % vector of reconstructed bits at receiver

   % show data bits and codes
   'Vector of data bits to be transmitted:', D
   'Vector of codes used for transmission:', C

   % encode bits and transmit
   G = zeros(I,M);
   for n = 1:N
       Z = zeros(I,M);
       for i = 1:I
           for m = 1:M
               Z(i,m) = [D(n,i)*C(n,m)]; 
           end
       end
       G = G + Z;
   end

   % show channel traffic
   for i = 1:I
       T = [ T G(i,:) ];
   end
   'Resulting traffic on the channel:', T

   % decode and reconstruct
   for n = 1:N
       TOT = zeros(1,I);
       R = zeros(I,M);
       for i = 1:I
           for m = 1:M
               R(i,m) = G(i,m) * C (n,m);
               TOT(i) = TOT(i) + R (i,m);
           end
       end
       RECON = [RECON ; TOT / M];
   end
   'Reconstructed data at the receiver:'
   RECON