Module rpps.coding.types.conv
Classes
class conv (num: int, den: int, generator, constraint: int)-
Expand source code
class conv(_code): def __init__(self, num: int, den: int, generator, constraint: int): super().__init__(num, den) self.generator = generator self.register = np.zeros((constraint), dtype=bool) def encode(self, bits): blocks = block(bits, self.num) encoded = np.empty((len(blocks), self.den), dtype=int) for i, blk in enumerate(blocks): self.register[0] = blk[0] for j, g in enumerate(self.generator): encoded[i, j] = np.bitwise_xor.reduce(self.register[g]) self.register = np.roll(self.register, 1) self.register[0] = 0 # input(f"encode {blk}: {encoded[i].astype(int)} // {self.register.astype(int)}") encoded = unblock(encoded).astype(bool) return encodedAncestors
- rpps.coding.types._code._code
Methods
def encode(self, bits)-
Expand source code
def encode(self, bits): blocks = block(bits, self.num) encoded = np.empty((len(blocks), self.den), dtype=int) for i, blk in enumerate(blocks): self.register[0] = blk[0] for j, g in enumerate(self.generator): encoded[i, j] = np.bitwise_xor.reduce(self.register[g]) self.register = np.roll(self.register, 1) self.register[0] = 0 # input(f"encode {blk}: {encoded[i].astype(int)} // {self.register.astype(int)}") encoded = unblock(encoded).astype(bool) return encodedEncode bits