From c001650bbf10363fea6450e193bc58509557871a Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Sat, 5 Jul 2014 11:23:33 +0300 Subject: [PATCH] fix FreqLoop itertools usage --- loop.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/loop.py b/loop.py index 1d11728..a086ec2 100644 --- a/loop.py +++ b/loop.py @@ -21,13 +21,20 @@ class Filter(object): return y class FreqLoop(object): - def __init__(self, x, freqs): - self.sampler = sampling.Sampler(x, sampling.Interpolator()) + def __init__(self, x, freqs, prefix=None): + interp = sampling.Interpolator() + if prefix is None: + prefix = [] + else: + prefix = [prefix] * interp.width + + src = itertools.chain(prefix, x) + self.sampler = sampling.Sampler(src, interp) self.gens = [] - gens = itertools.tee(self.sampler, len(freqs)) - for freq, gen in zip(freqs, gens): - self.gens.append( recv.extract_symbols(self.sampler, freq) ) + samplers = itertools.tee(self.sampler, len(freqs)) + for freq, generator in zip(freqs, samplers): + self.gens.append( recv.extract_symbols(generator, freq) ) Kp, Ki = 0.2, 0.01 b = np.array([1, -1])*Kp + np.array([0.5, 0.5])*Ki