diff options
author | Josh Blum | 2013-01-20 15:06:56 -0800 |
---|---|---|
committer | Josh Blum | 2013-01-20 15:06:56 -0800 |
commit | ffe6314f2cbefca8650aca2aeebc92a3b5a987bd (patch) | |
tree | 64a68173ca0974a1a9518cb20a0b90e8f65fe07f /benchmark/tb_many_rate_changes.py | |
parent | 5affe12349739559c8ce58e62df843f9dce49b64 (diff) | |
download | sandhi-ffe6314f2cbefca8650aca2aeebc92a3b5a987bd.tar.gz sandhi-ffe6314f2cbefca8650aca2aeebc92a3b5a987bd.tar.bz2 sandhi-ffe6314f2cbefca8650aca2aeebc92a3b5a987bd.zip |
benchmark: added benchmark for rate changing
Diffstat (limited to 'benchmark/tb_many_rate_changes.py')
-rw-r--r-- | benchmark/tb_many_rate_changes.py | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/benchmark/tb_many_rate_changes.py b/benchmark/tb_many_rate_changes.py new file mode 100644 index 0000000..f1e2072 --- /dev/null +++ b/benchmark/tb_many_rate_changes.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +################################################## +# Gnuradio Python Flow Graph +# Title: Many Rate Changing +# Generated: Sun Jan 20 15:53:13 2013 +################################################## + +from gnuradio import blocks +from gnuradio import eng_notation +from gnuradio import gr +from gnuradio.eng_option import eng_option +from gnuradio.gr import firdes +from optparse import OptionParser +import numpy + +class many_rate_changing(gr.top_block): + + def __init__(self, num=1e7): + gr.top_block.__init__(self, "Many Rate Changing") + + ################################################## + # Parameters + ################################################## + self.num = num + + ################################################## + # Variables + ################################################## + self.samp_rate = samp_rate = 32000 + + ################################################## + # Blocks + ################################################## + self.random_source_x_0 = gr.vector_source_b(map(int, numpy.random.randint(0, 256, 1000)), True) + self.gr_unpacked_to_packed_xx_0 = gr.unpacked_to_packed_bb(2, gr.GR_LSB_FIRST) + self.gr_packed_to_unpacked_xx_0 = gr.packed_to_unpacked_bb(2, gr.GR_MSB_FIRST) + self.gr_null_sink_0_2 = gr.null_sink(gr.sizeof_char*1) + self.gr_head_0 = gr.head(gr.sizeof_char*1, int(num)) + self.blocks_keep_m_in_n_0 = blocks.keep_m_in_n(gr.sizeof_float, 3, 20, 0) + self.blocks_float_to_char_0 = blocks.float_to_char(1, 1) + self.blocks_char_to_float_0 = blocks.char_to_float(1, 1) + + ################################################## + # Connections + ################################################## + self.connect((self.blocks_char_to_float_0, 0), (self.blocks_keep_m_in_n_0, 0)) + self.connect((self.blocks_keep_m_in_n_0, 0), (self.blocks_float_to_char_0, 0)) + self.connect((self.blocks_float_to_char_0, 0), (self.gr_packed_to_unpacked_xx_0, 0)) + self.connect((self.gr_unpacked_to_packed_xx_0, 0), (self.blocks_char_to_float_0, 0)) + self.connect((self.random_source_x_0, 0), (self.gr_unpacked_to_packed_xx_0, 0)) + self.connect((self.gr_packed_to_unpacked_xx_0, 0), (self.gr_head_0, 0)) + self.connect((self.gr_head_0, 0), (self.gr_null_sink_0_2, 0)) + + + def get_num(self): + return self.num + + def set_num(self, num): + self.num = num + + def get_samp_rate(self): + return self.samp_rate + + def set_samp_rate(self, samp_rate): + self.samp_rate = samp_rate + +if __name__ == '__main__': + parser = OptionParser(option_class=eng_option, usage="%prog: [options]") + parser.add_option("", "--num", dest="num", type="eng_float", default=eng_notation.num_to_str(1e7), + help="Set num [default=%default]") + (options, args) = parser.parse_args() + tb = many_rate_changing(num=options.num) + tb.run() + |