debug wierd constellation results due to bad indexing

This commit is contained in:
Roman Zeyde
2014-07-12 08:27:26 +03:00
parent 7f1941c6b4
commit 39199d8e04
4 changed files with 10 additions and 13 deletions

View File

@@ -7,7 +7,7 @@ log = logging.getLogger(__name__)
Fs = 32e3
Ts = 1.0 / Fs
frequencies = (np.arange(10) + 1) * 1e3
frequencies = (1 + np.arange(1)) * 1e3
carrier_index = 0
Fc = frequencies[carrier_index]
Tc = 1.0 / Fc

View File

@@ -22,14 +22,8 @@ class Filter(object):
class FreqLoop(object):
def __init__(self, x, freqs, prefix=0.0):
def __init__(self, src, freqs):
interp = sampling.Interpolator()
if prefix is None:
prefix = []
else:
prefix = [prefix] * (interp.width - 1)
src = itertools.chain(prefix, x)
self.sampler = sampling.Sampler(src, interp)
self.gens = []

View File

@@ -1,4 +1,5 @@
import numpy as np
import itertools
import logging
log = logging.getLogger(__name__)
@@ -32,12 +33,14 @@ class Interpolator(object):
class Sampler(object):
def __init__(self, src, interp=None):
self.src = iter(src)
self.freq = 1.0
self.interp = interp if (interp is not None) else Interpolator()
coeffs, begin = self.interp.get(0)
self.offset = -begin # should fill samples buffer
self.buff = np.zeros(len(coeffs))
# TODO: explain indices arithmetic
padding = [0.0] * (self.interp.width - 1)
self.src = itertools.chain(padding, src)
self.offset = self.interp.width + 1
self.buff = np.zeros(self.interp.coeff_len)
self.index = 0
def __iter__(self):

View File

@@ -2,7 +2,7 @@
set -u
set -e
dd if=/dev/urandom of=data.send bs=1024 count=16
dd if=/dev/urandom of=data.send bs=128 count=1 status=none
./send.py tx.int16
killall arecord aplay || true