www.gusucode.com > ldpc译码算法,码长960,码率0.5,完全模拟fpga硬件实现语言,量化处理源码程序 > check_update.m

    function[lcr,ssign]=check_update(sign,lcr,r)
ssign=0;
for i=1:40
    sign1=0;
   for j=0:r-1
       addr(j+1)=j*40+i;
       lv(j+1)=lcr(addr(j+1));

       sign1=xor(sign1,sign(addr(j+1)));
   end
   ssign=ssign+sign1;

   if(r==6)
       lv(7)=1000;
   end
   [min1,pos,min2,signn]=find_min(lv,r);
   min11=floor(min1/8);
   min111=floor(min1/16);
   min1=min1-min11-min111;
   min22=floor(min2/8);
   min222=floor(min2/16);
   min2=min2-min22-min222;
    for i=1:r
        if(i==pos)
            lcr(addr(i))=min2*(1-2*(xor(signn,(lv(i)<0))));
 
        else   lcr(addr(i))=min1*(1-2*(xor(signn,(lv(i)<0))));

        end
    end
   
end