def __init__(self, itemsize, addr, port, server=True): #init hier block gr.hier_block2.__init__( self, 'tcp_source', gr.io_signature(0, 0, 0), gr.io_signature(1, 1, itemsize), ) fd = _get_sock_fd(addr, port, server) self.connect(gr.file_descriptor_source(itemsize, fd), self)
def __init__(self, frame, panel, vbox, argv): stdgui2.std_top_block.__init__(self, frame, panel, vbox, argv) self.frame = frame self.panel = panel parser = OptionParser(option_class=eng_option) parser.add_option("-d", "--decim", type="int", default=16, help="set fgpa decimation rate to DECIM [default=%default]") parser.add_option("-f", "--freq", type="eng_float", default=None, help="set frequency to FREQ", metavar="FREQ") parser.add_option("-W", "--waterfall", action="store_true", default=False, help="Enable waterfall display") parser.add_option("-S", "--oscilloscope", action="store_true", default=False, help="Enable oscilloscope display") (options, args) = parser.parse_args() if len(args) != 0: parser.print_help() sys.exit(1) self.options = options self.options.gain = 1.0 self.show_debug_info = True input_rate = 100e6 / options.decim self.src = gr.file_descriptor_source(gr.sizeof_short, 0, False); self.s2c = gr.interleaved_short_to_complex() if options.waterfall: self.scope = \ waterfallsink2.waterfall_sink_c (panel, fft_size=1024, sample_rate=input_rate) elif options.oscilloscope: self.scope = scopesink2.scope_sink_c(panel, sample_rate=input_rate) else: self.scope = fftsink2.fft_sink_c (panel, fft_size=1024, y_divs=12, sample_rate=input_rate,ref_level=110,fft_rate=20) self.connect(self.src, self.s2c, self.scope) self._build_gui(vbox) self._setup_events() # set initial values if options.freq is None: # if no freq was specified, use the mid-point options.freq = 0.0 if self.show_debug_info: self.myform['decim'].set_value(self.options.decim)
def __init__(self, options): gr.flow_graph.__init__(self) # bandwidth = 12.5e3 # symbol_rate = 4800 # output_sample_rate = options.samples_per_symbol * symbol_rate # lcm = gru.lcm(options.sample_rate, output_sample_rate) # intrp = int(lcm // options.sample_rate) # decim = int(lcm // output_sample_rate) if options.input_file == '-': src = gr.file_descriptor_source(gr.sizeof_gr_complex, 0) else: src = gr.file_source(gr.sizeof_gr_complex, options.input_file) # ddc_coeffs = \ # gr.firdes.low_pass (1.0, # options.sample_rate, # bandwidth/2, # bandwidth/2, # gr.firdes.WIN_HANN) # ddc = gr.freq_xlating_fir_filter_ccf (1,ddc_coeffs,-options.frequency,options.sample_rate) # resampler = blks.rational_resampler_ccc(self, intrp, decim) qdemod = gr.quadrature_demod_cf(1.0) if options.output_file == '-': sink = gr.file_descriptor_sink(gr.sizeof_float, 1) else: sink = gr.file_sink(gr.sizeof_float, options.output_file) # if options.invert: # inverter = gr.multiply_const_ff(-1.0) # self.connect(src,qdemod,inverter,sink) # else: self.connect(src,qdemod,sink)
def __init__(self, frame, panel, vbox, argv): stdgui2.std_top_block.__init__(self, frame, panel, vbox, argv) self.frame = frame self.panel = panel parser = OptionParser(option_class=eng_option) parser.add_option( "-d", "--decim", type="int", default=16, help="set fgpa decimation rate to DECIM [default=%default]") parser.add_option("-f", "--freq", type="eng_float", default=None, help="set frequency to FREQ", metavar="FREQ") parser.add_option("-W", "--waterfall", action="store_true", default=False, help="Enable waterfall display") parser.add_option("-S", "--oscilloscope", action="store_true", default=False, help="Enable oscilloscope display") (options, args) = parser.parse_args() if len(args) != 0: parser.print_help() sys.exit(1) self.options = options self.options.gain = 1.0 self.show_debug_info = True input_rate = 100e6 / options.decim self.src = gr.file_descriptor_source(gr.sizeof_short, 0, False) self.s2c = gr.interleaved_short_to_complex() if options.waterfall: self.scope = \ waterfallsink2.waterfall_sink_c (panel, fft_size=1024, sample_rate=input_rate) elif options.oscilloscope: self.scope = scopesink2.scope_sink_c(panel, sample_rate=input_rate) else: self.scope = fftsink2.fft_sink_c(panel, fft_size=1024, y_divs=12, sample_rate=input_rate, ref_level=110, fft_rate=20) self.connect(self.src, self.s2c, self.scope) self._build_gui(vbox) self._setup_events() # set initial values if options.freq is None: # if no freq was specified, use the mid-point options.freq = 0.0 if self.show_debug_info: self.myform['decim'].set_value(self.options.decim)