MS THESIS

This is code for parallel interference cancelltion in ds cdma using matrix algebraic approach.
Please check the code and let me know if iam doin any mistake . Also I need to apply slow and fast rayleigh fading in this model.

The rcd signal is R = SAB + N
where R,S,A,B are matrices
The matlab code is given below :
close all
clear all;
clc;
warning off all

K = 27; %No. of users
Navg = 1e3; %No. of repititions
snr = 5:1:25; %SNR RANGE

Sv = (10.^(-snr/10)); %Noise variance in different SNR
A = eye(K); %input power
%Get signature sequences
load GS31;
S = GS31(1:K,;
S= S';
Lc = length(S(:,1));
Sn= S./sqrt(Lc); %Normalize energy of signature waveforms
R = Sn'*Sn; % Calculate correlation matrix

corr=(R-eye(size(R)));

h = waitbar(0,'WAIT...');
for t = 1:Navg
waitbar(t/Navg);
for j = 1:length(snr)
noise =(Sv(j))^.5*randn(Lc,1);
b=2*(randint(K,1)-0.5);
BT=Sn*A*b;
r=awgn(BT,snr(j));
% r=BT+noise;
y = Sn'*r;

ysdec = inv(R)*Sn'*r;

YMF = sign(y);
YDEC= sign(ysdec);
novector(1:K) = Sv(j);
sigma2= diag(novector);

t1=R+sigma2;
ysmmse = (inv ( t1 ))* y;
YMMSE= sign(ysmmse);

%%CPIC

yinit=zeros(K,1);
ypic1= (Sn'*r) + yinit ;
YPIC1 = sign(ypic1);

yinit2=ypic1;
ypic2=(Sn'*r) - ( corr*A*yinit2 );
YPIC2 = sign(ypic2);

yinit3=ypic2;
ypic3=(Sn'*r) - ( corr*A*yinit3 );
YPIC3 = sign(ypic3);


yinit4= ypic3;
ypic4=(Sn'*r) - ( corr*A*yinit4 );
YPIC4 = sign(ypic4);

yinit5= ypic4;
ypic5=(Sn'*r) - ( corr*A*yinit5 );
YPIC5 = sign(ypic5);


yinit6=ypic5;
ypic6=(Sn'*r) - ( corr*A*yinit6 );
YPIC6 = sign(ypic6);



yinit7=ypic6;
ypic7=(Sn'*r) - ( corr*A*yinit7 );
YPIC7 = sign(ypic7);


yinit8=ypic7;
ypic8=(Sn'*r) - ( corr*A*yinit8 );
YPIC8 = sign(ypic8);



ERMF(j)= length(find (YMF ~= b))/K;
ERDEC(j)= length(find (YDEC ~= b))/K;
ERMMSE(j)= length(find (YMMSE ~= b))/K;
ERPIC1(j)= length(find (YPIC1 ~= b))/K;
ERPIC2(j)= length(find (YPIC2 ~= b))/K;
ERPIC3(j)= length(find (YPIC3 ~= b))/K;
ERPIC4(j)= length(find (YPIC4 ~= b))/K;
ERPIC5(j)= length(find (YPIC5 ~= b))/K;
ERPIC6(j)= length(find (YPIC6 ~= b))/K;
ERPIC7(j)= length(find (YPIC7 ~= b))/K;
ERPIC8(j)= length(find (YPIC8 ~= b))/K;
end
EERMF(t,=ERMF;
EERDEC(t,=ERDEC;
EERMMSE(t,=ERMMSE;
EERPIC1(t,=ERPIC1;
EERPIC2(t,=ERPIC2;
EERPIC3(t,=ERPIC3;
EERPIC4(t,=ERPIC4;
EERPIC5(t,=ERPIC5;
EERPIC6(t,=ERPIC6;
EERPIC7(t,=ERPIC7;
EERPIC8(t,=ERPIC8;
end


BERMF = smooth(mean(EERMF,1));
BERDEC = smooth(mean(EERDEC,1));
BERMMSE = smooth(mean(EERMMSE,1));
BERPIC1 = smooth(mean(EERPIC1,1));
BERPIC2 = smooth(mean(EERPIC2,1));
BERPIC3 = smooth(mean(EERPIC3,1));
BERPIC4 = smooth(mean(EERPIC4,1));
BERPIC5 = smooth(mean(EERPIC5,1));
BERPIC6 = smooth(mean(EERPIC6,1));
BERPIC7 = smooth(mean(EERPIC7,1));
BERPIC8 = smooth(mean(EERPIC8,1));

semilogy(snr,BERMF,'k*-',snr,BERPIC1,'m^-',snr,BERPIC2,'rs-',snr,BERPIC3,'yo-',snr,BERPIC4,'k<-',snr,BERPIC5,'c^-',snr,BERPIC6,'y^-',snr,BERPIC7,'r>-',snr,BERPIC8,'bs-',snr,BERDEC,'g*-',snr,BERMMSE,'go-');
grid on
xlabel('SNR')
ylabel('Average BER')
legend('MF','Stage1','Stage2','Stage3','Stage4','Stage5','Stage6','Stage7','Stage8','DECOR','MMSE')
title('BER vs SNR--Conventional PIC-25 Users -AWGN Channel')
close(h)

Added after 1 minutes:

Dear all,

The : ) got replaced by a smiley.

I need urgent help regarding fading
thanks in advance
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories