From 485558d0d73ed6119eb18f5ab0a23ec01ad19c75 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Wed, 25 Jun 2014 20:59:19 +0300 Subject: [PATCH] Fix QAM encoding ant test --- sigproc.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/sigproc.py b/sigproc.py index 36fa249..d290c72 100644 --- a/sigproc.py +++ b/sigproc.py @@ -49,7 +49,8 @@ class QAM(object): def encode(self, bits): trailing_bits = len(bits) % self.bits_per_symbol - bits = bits + [0] * (self.bits_per_symbol - trailing_bits) + if trailing_bits: + bits = bits + [0] * (self.bits_per_symbol - trailing_bits) for i in range(0, len(bits), self.bits_per_symbol): s = self._enc[ tuple(bits[i:i+self.bits_per_symbol]) ] yield s @@ -62,8 +63,12 @@ class QAM(object): modulator = QAM(bits_per_symbol=4, radii=[0.6, 1.0]) +class Resampler(object): + def __init__(self, factor, ) + def test(): - q = QAM(bits_per_symbol=2) - bits = [1,1, 0,1, 0,0, 1,0] - S = qpsk.encode(bits) - assert list(qpsk.decode(list(S))) == bits + q = QAM(bits_per_symbol=8, radii=[0.25, 0.5, 0.75, 1.0]) + bits = [(1,1,0,1,0,0,1,0)] + S = q.encode(bits) + res = list(q.decode(list(S))) + assert res == bits, (res)