www.pudn.com > jaguar2s.zip > bitrev2.m
function y = bitrev2(x);
% do a radix-2 bit reversal
for i=0:1023
itmp=i;
k=512;
for j=10:-1:1
if (itmp >= k)
bitv(11-j) = 1;
itmp=itmp-k;
else
bitv(11-j) = 0;
end;
k=k/2;
end;
newbitv(1) = bitv(3);
newbitv(2) = bitv(4);
newbitv(3) = bitv(5);
newbitv(4) = bitv(6);
newbitv(5) = bitv(7);
newbitv(6) = bitv(8);
newbitv(7) = bitv(9);
newbitv(8) = bitv(10);
newbitv(9) = bitv(1);
newbitv(10) = bitv(2);
k=512;
newval=0;
for j=1:10
if (newbitv(j) == 1)
newval = newval + k;
end;
k=k/2;
end;
index(i+1) = newval+1;
end;
for i=1:1024
y(index(i)) = x(i);
end;