Files
amodem/test_sigproc.py
Roman Zeyde cb28d33908 fix UTs
2014-07-22 14:20:02 +03:00

28 lines
669 B
Python

import sigproc
import itertools
import common
import numpy as np
import random
def test_qam():
q = sigproc.QAM(common.symbols)
r = random.Random(0)
m = q.bits_per_symbol
bits = [tuple(r.randint(0, 1) for j in range(m)) for i in range(1024)]
stream = itertools.chain(*bits)
S = q.encode(list(stream))
decoded = list(q.decode(list(S)))
assert decoded == bits
def test_drift():
fc = 10e3
df = 1.23
f = fc + df
x = np.cos(2 * np.pi * f / common.Fs * np.arange(common.Fs))
S = sigproc.extract_symbols(x, fc)
S = np.array(list(S))
df_ = sigproc.drift(S) / common.Tsym
assert abs(df - df_) < 1e-5, (df, df_)