f7635b4a5e77d065c5801cd063032ef03365b428
[debian/gnuradio] / gr-qtgui / src / python / qt_digital.py
1 #!/usr/bin/env python
2
3 from gnuradio import gr, blks2
4 from gnuradio.qtgui import qtgui
5 import scipy
6
7 class my_top_block(gr.top_block):
8     def __init__(self):
9         gr.top_block.__init__(self)
10
11         sps = 2
12         excess_bw = 0.35
13         gray_code = True
14         
15         fftsize = 2048
16
17         data = scipy.random.randint(0, 255, 1000)
18         src = gr.vector_source_b(data, True)
19         mod = blks2.dqpsk_mod(sps, excess_bw, gray_code, False, False)
20
21         rrctaps = gr.firdes.root_raised_cosine(1, sps, 1, excess_bw, 21)
22         rx_rrc = gr.fir_filter_ccf(sps, rrctaps)
23         
24         thr = gr.throttle(gr.sizeof_gr_complex, 10*fftsize)
25         self.snk_tx = qtgui.sink_c(fftsize, gr.firdes.WIN_BLACKMAN_hARRIS, -1/2, 1/2)
26         self.snk_rx = qtgui.sink_c(fftsize, gr.firdes.WIN_BLACKMAN_hARRIS, -1/2, 1/2)
27
28         self.connect(src, mod, self.snk_tx)
29         self.connect(mod, rx_rrc, thr, self.snk_rx)
30         
31         self.snk_tx.initialize()
32         qapp = self.snk_tx.get_qapplication()
33         self.snk_rx.initialize(qapp)
34
35 if __name__ == "__main__":
36     tb = my_top_block();
37     tb.start()
38     tb.snk_tx.start_app();
39     #tb.wait();
40