Imported Upstream version 3.0
[debian/gnuradio] / gnuradio-examples / python / usrp / dsb_tx.py
1 #!/usr/bin/env python
2
3 from gnuradio import gr, eng_notation
4 from gnuradio import usrp
5 from gnuradio import audio
6 from gnuradio.eng_option import eng_option
7 from optparse import OptionParser
8
9
10 def build_graph (cordic_freq):
11
12     audio_rate = 32000
13     sw_interp = 4
14     usrp_interp = 1000
15     audio_file = "/home/eb/demo/testing-audio.dat"
16     
17     fg = gr.flow_graph ()
18
19     src = gr.file_source (gr.sizeof_float, audio_file, True)
20     gain = gr.multiply_const_ff (10000)
21
22     interp = gr.interp_fir_filter_fff (sw_interp, (1, 1, 1, 1))
23
24     f2c = gr.float_to_complex ()
25     
26     u = usrp.sink_c (0, usrp_interp)
27     u.set_tx_freq (0, cordic_freq)
28
29     fg.connect (src, gain)
30     fg.connect (gain, interp)
31     fg.connect (interp, (f2c, 0))
32     fg.connect (interp, (f2c, 1))
33     fg.connect (f2c, u)
34
35     return fg
36
37 def main ():
38     parser = OptionParser (option_class=eng_option)
39     parser.add_option ("-c", "--cordic-freq", type="eng_float", default=10e6,
40                        help="set Tx cordic frequency to FREQ", metavar="FREQ")
41     (options, args) = parser.parse_args ()
42
43     print "cordic_freq = %s" % (eng_notation.num_to_str (options.cordic_freq))
44     fg = build_graph (options.cordic_freq)
45     
46     fg.start ()
47     raw_input ('Press Enter to quit: ')
48     fg.stop ()
49
50 if __name__ == '__main__':
51     main ()