www.pudn.com > jaguar2s.zip > bitrev.m


function y = bitrev(x); 
 
% do a radix-2 bit reversal 
 
for i=0:255 
   itmp=i; 
   k=128; 
   for j=8:-1:1 
      if (itmp >= k) 
         bitv(9-j) = 1; 
         itmp=itmp-k; 
      else 
         bitv(9-j) = 0; 
      end; 
      k=k/2; 
   end; 
   newbitv(1) = bitv(8); 
   newbitv(2) = bitv(7); 
   newbitv(3) = bitv(6); 
   newbitv(4) = bitv(5); 
   newbitv(5) = bitv(4); 
   newbitv(6) = bitv(3); 
   newbitv(7) = bitv(2); 
   newbitv(8) = bitv(1); 
   k=128; 
   newval=0; 
   for j=1:8 
       if (newbitv(j) == 1) 
          newval = newval + k; 
       end; 
       k=k/2; 
   end; 
   index(i+1) = newval+1; 
end; 
 
for i=1:256 
    y(index(i)) = x(i); 
end;