clc; clear all; % AWGN noise deviation load H; [m,n]=size(H); r=1-m/n; sgm= sigma(r); sgm=sgm(1:13); uu=length(sgm); biterr=[]; ber=[]; for j=1:uu %for different sigma values(i.e SNR values) of AWGN error=0; disp(j); for i=1:1000 %for 1000 blocks of data transmitted to get an average number of errors disp(i); x=zeros(1,n); %as symmetric channel all zero codeword would do y=x; z = -2*y+1; % BPSK modulation z=z + sgm(j)*randn(1,n); % AWGN transmission f1=1./(1+exp(2*z/sgm(j)^2)); % likelihoods f1 = (f1(:))'; % make it a row vector f0=1-f1; [z_hat, success, k] = ldpc_decode(z,f0,f1,H); error=error+size(find(z_hat),1); end disp(error); biterr=[biterr,error]; ber=[ber, error/n/1000]; end save errH biterr; save berH ber;