function Ds = scrambler(D) Ds = zeros(length(D), 1); x = zeros(17, 1); last_count = 0; invert = 0; for i = 1:length(D) % Note 2: invertor if invert == 1 D(i) = ~D(i); invert = 0; end Ds(i) = bitxor(D(i), bitxor(x(14), x(17))); % Note 2: detector if Ds(i) == 1 last_count = last_count + 1; else last_count = 0; end if (last_count >= 64) invert = 1; end x = rshift(x); x(1) = Ds(i); end