Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- ##################################################
- # Gnuradio Python Flow Graph
- # Title: Top Block
- # Generated: Mon Mar 18 20:21:59 2013
- ##################################################
- from gnuradio import digital
- from gnuradio import eng_notation
- from gnuradio import gr
- from gnuradio.eng_option import eng_option
- from gnuradio.gr import firdes
- from gnuradio.wxgui import scopesink2
- from grc_gnuradio import blks2 as grc_blks2
- from grc_gnuradio import wxgui as grc_wxgui
- from optparse import OptionParser
- import numpy
- import wx
- class top_block(grc_wxgui.top_block_gui):
- def __init__(self):
- grc_wxgui.top_block_gui.__init__(self, title="Top Block")
- _icon_path = "/usr/share/icons/hicolor/32x32/apps/gnuradio-grc.png"
- self.SetIcon(wx.Icon(_icon_path, wx.BITMAP_TYPE_ANY))
- ##################################################
- # Variables
- ##################################################
- self.samp_rate = samp_rate = 32000
- ##################################################
- # Blocks
- ##################################################
- self.wxgui_scopesink2_0 = scopesink2.scope_sink_f(
- self.GetWin(),
- title="Scope Plot",
- sample_rate=samp_rate,
- v_scale=0,
- v_offset=0,
- t_scale=0,
- ac_couple=False,
- xy_mode=False,
- num_inputs=1,
- trig_mode=gr.gr_TRIG_MODE_AUTO,
- y_axis_label="Counts",
- )
- self.Add(self.wxgui_scopesink2_0.win)
- self.throttle = gr.throttle(gr.sizeof_char*1, samp_rate)
- self.random_source_x_0 = gr.vector_source_b(map(int, numpy.random.randint(0, 256, pow(10,5))), True)
- self.digital_dxpsk_mod_0 = digital.dbpsk_mod(
- samples_per_symbol=16,
- excess_bw=0.35,
- gray_coded=True,
- verbose=False,
- log=False)
- self.digital_dxpsk_demod_0 = digital.dbpsk_demod(
- samples_per_symbol=16,
- excess_bw=0.35,
- freq_bw=6.28/100.0,
- phase_bw=6.28/100.0,
- timing_bw=6.28/100.0,
- gray_coded=True,
- verbose=False,
- log=False
- )
- self.blks2_error_rate_0 = grc_blks2.error_rate(
- type='BER',
- win_size=100,
- bits_per_symbol=1,
- )
- ##################################################
- # Connections
- ##################################################
- self.connect((self.digital_dxpsk_demod_0, 0), (self.blks2_error_rate_0, 1))
- self.connect((self.blks2_error_rate_0, 0), (self.wxgui_scopesink2_0, 0))
- self.connect((self.random_source_x_0, 0), (self.throttle, 0))
- self.connect((self.throttle, 0), (self.digital_dxpsk_mod_0, 0))
- self.connect((self.throttle, 0), (self.blks2_error_rate_0, 0))
- self.connect((self.digital_dxpsk_mod_0, 0), (self.digital_dxpsk_demod_0, 0))
- def get_samp_rate(self):
- return self.samp_rate
- def set_samp_rate(self, samp_rate):
- self.samp_rate = samp_rate
- self.throttle.set_sample_rate(self.samp_rate)
- self.wxgui_scopesink2_0.set_sample_rate(self.samp_rate)
- if __name__ == '__main__':
- parser = OptionParser(option_class=eng_option, usage="%prog: [options]")
- (options, args) = parser.parse_args()
- tb = top_block()
- tb.Run(True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement