import numpy as np def project_bit(bit): n = len(bit) q_min = 0.01 q_max = 0.5 reverse_bit = np.flip(bit) dec = np.uint64(0) for i in range(n): dec += np.uint64(2)**i * reverse_bit[i] q = q_min + ((q_max - q_min) / (2**n - 1)) * dec return q def bit_to_grey(bit): grey = [bit[0]] for i in range(1, len(bit)): grey.append(bit[i-1] ^ bit[i]) return np.array(grey) def grey_to_bit(grey): bit = [grey[0]] for i in range(1, len(grey)): bit.append(bit[i-1] ^ grey[i]) return np.array(bit)