def test_001(self): src_data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) expected_data = (5, 10) src = gr.vector_source_b(src_data); op = blocks_swig.keep_one_in_n(gr.sizeof_char, 5) dst = gr.vector_sink_b() self.tb.connect(src, op, dst) self.tb.run() self.assertEqual(dst.data(), expected_data)
def test_001(self): src_data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) expected_data = (5, 10) src = gr.vector_source_b(src_data) op = blocks_swig.keep_one_in_n(gr.sizeof_char, 5) dst = gr.vector_sink_b() self.tb.connect(src, op, dst) self.tb.run() self.assertEqual(dst.data(), expected_data)
def __init__(self, item_size, sample_rate, vec_rate, vec_len): """ Create the block chain. Args: item_size: the number of bytes per sample sample_rate: the rate of incoming samples vec_rate: the rate of outgoing vectors (same units as sample_rate) vec_len: the length of the outgoing vectors in items """ self._vec_rate = vec_rate self._vec_len = vec_len self._sample_rate = sample_rate gr.hier_block2.__init__(self, "stream_to_vector_decimator", gr.io_signature(1, 1, item_size), # Input signature gr.io_signature(1, 1, item_size*vec_len)) # Output signature s2v = blocks.stream_to_vector(item_size, vec_len) self.one_in_n = blocks.keep_one_in_n(item_size*vec_len, 1) self._update_decimator() self.connect(self, s2v, self.one_in_n, self)