n1=1; n2=14; FFT_SIZE=256; %CP=16; conv_in=[]; %% Data - TopicsExpress



          

n1=1; n2=14; FFT_SIZE=256; %CP=16; conv_in=[]; %% Data Generator Data_gen = randint(1,11,255) Data_IN=dec2bin(Data_gen); s=0; %% BER PARAMETERS EbNo=0:1:15; BER = zeros(1,length(EbNo)); numPackets=15; frmLen = 1000; for idx = 1: length(EbNo) for packetidx = 1 : numPackets %% Convolution Encoder conv_in=[]; for index =1:11 conv_in=[conv_in double(Data_IN(index,:))-48]; end conv_in=[conv_in 0 0 0 0 0 0 0 0]; %%8 bits padding DIN=conv_in; trel = poly2trellis(7, [171 133]); % Define trellis. code = convenc(conv_in,trel); inter_out=code; %% BPSK Data Mapping mapper_out=mapping(inter_out,1,1); clear inter_out; D=mapper_out; %% CDMA MATLAB TRANSMITTER % encode bits and transmit % CDMA specific parameters C = [ -1 1 -1 1 ]; % code for the user which will be multiplied with %data stream of the user#1 i.e.mapper_out M = length(C); % length (number of bits) of code Y = size(mapper_out); 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 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; %G is the data to be transmitted after IFFT end %% Adding AWGN G = awgn(G./sqrt(16), EbNo(idx) , measured); G = awgn(G./sqrt(16), EbNo(idx) , measured); G = awgn(G./sqrt(16), EbNo(idx) , measured); %% CDMA MATLAB RECEIVER 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 RECON rx_data1=RECON; Demap_out=demapper(rx_data1,1,1); %%viterbi decoder vit_out=vitdec(Demap_out,trel,7,trunc,hard); DOUT=vit_out; [number,ratio] = biterr(DIN,vit_out); error(packetidx) = biterr(DIN,vit_out); end % End of for loop for numPackets BER21(idx) = sum(error)/(log2(4)*numPackets*frmLen); end h=gcf;clf(h); grid on; hold on; set(gca,yscale,log,xlim,[EbNo(1), EbNo(end)],ylim,[0 1]); xlabel(Eb/No (dB)); ylabel(BER); set(h,NumberTitle,off); set(h,Name,BER Results); set(h, renderer, zbuffer); title(CDMA alone BER PLOTS); semilogy(EbNo(1:end),BER21(1:end),b-*);
Posted on: Thu, 08 Jan 2015 07:29:49 +0000

Trending Topics



Recently Viewed Topics




© 2015