#!/usr/bin/env python from gnuradio import eng_notation from gnuradio import gr from gnuradio import usrp2 from gnuradio.eng_option import eng_option from gnuradio.gr import firdes from optparse import OptionParser class top_block(gr.top_block): def __init__(self): gr.top_block.__init__(self, "Send and Receive") self.samp_rate = samp_rate = 1e6 self.gr_complex_to_mag_0 = gr.complex_to_mag(1) self.gr_file_sink_2 = gr.file_sink(gr.sizeof_float*1, "rx2_signal") self.gr_float_to_complex_0 = gr.float_to_complex(1) self.gr_sig_source_x_0 = gr.sig_source_f(samp_rate, gr.GR_SIN_WAVE, 1000, 0.1, 0) self.usrp2_sink_xxxx_0 = usrp2.sink_32fc() self.usrp2_sink_xxxx_0.set_interp(100) self.usrp2_sink_xxxx_0.set_center_freq(900e6) self.usrp2_sink_xxxx_0.set_gain(0) self.usrp2_source_32fc = usrp2.source_32fc() self.usrp2_source_32fc.set_decim(100) self.usrp2_source_32fc.set_center_freq(900e6) self.usrp2_source_32fc.set_gain(30) self.connect((self.gr_complex_to_mag_0, 0), (self.gr_file_sink_2, 0)) self.connect((self.usrp2_source_32fc, 0), (self.gr_complex_to_mag_0, 0)) self.connect((self.gr_sig_source_x_0, 0), (self.gr_float_to_complex_0, 0)) self.connect((self.gr_float_to_complex_0, 0), (self.usrp2_sink_xxxx_0, 0)) def set_samp_rate(self, samp_rate): self.samp_rate = samp_rate self.gr_sig_source_x_0.set_sampling_freq(self.samp_rate) if __name__ == '__main__': parser = OptionParser(option_class=eng_option, usage="%prog: [options]") (options, args) = parser.parse_args() tb = top_block() tb.start() raw_input('Press Enter to quit: ') tb.stop()