% 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