dsp: remove buffering from MODEM.decode()

This commit is contained in:
Roman Zeyde
2015-02-19 14:57:39 +02:00
parent 52ee71fad1
commit cac280cf3f

View File

@@ -72,8 +72,6 @@ def linear_regression(x, y):
class MODEM(object): class MODEM(object):
buf_size = 16
def __init__(self, symbols): def __init__(self, symbols):
self.encode_map = {} self.encode_map = {}
symbols = np.array(list(symbols)) symbols = np.array(list(symbols))
@@ -101,14 +99,13 @@ class MODEM(object):
''' Maximum-likelihood decoding, using naive nearest-neighbour. ''' ''' Maximum-likelihood decoding, using naive nearest-neighbour. '''
symbols_vec = self.symbols symbols_vec = self.symbols
_dec = self.decode_list _dec = self.decode_list
for syms in common.iterate(symbols, self.buf_size, truncate=False): for received in symbols:
for received in syms: error = np.abs(symbols_vec - received)
error = np.abs(symbols_vec - received) index = np.argmin(error)
index = np.argmin(error) decoded, bits = _dec[index]
decoded, bits = _dec[index] if error_handler:
if error_handler: error_handler(received=received, decoded=decoded)
error_handler(received=received, decoded=decoded) yield bits
yield bits
def prbs(reg, poly, bits): def prbs(reg, poly, bits):