Statistics
| Branch: | Tag: | Revision:

root / gnuradio-examples / python / ofdm / fftshift.py @ 253018c6

History | View | Annotate | Download (1.2 kB)

1 43819f0f jcorgan
#!/usr/bin/env python
2 43819f0f jcorgan
3 43819f0f jcorgan
from gnuradio import gr
4 43819f0f jcorgan
5 05005e3d eb
class my_top_block(gr.top_block):
6 43819f0f jcorgan
    def __init__(self):
7 05005e3d eb
        gr.top_block.__init__(self)
8 43819f0f jcorgan
9 43819f0f jcorgan
        length = 101
10 43819f0f jcorgan
11 43819f0f jcorgan
        data_r = range(length)
12 43819f0f jcorgan
        data_i = range(length,2*length)
13 43819f0f jcorgan
        src_r = gr.vector_source_s(data_r, False)
14 43819f0f jcorgan
        src_i = gr.vector_source_s(data_i, False)
15 43819f0f jcorgan
        s2f_r = gr.short_to_float()
16 43819f0f jcorgan
        s2f_i = gr.short_to_float()
17 43819f0f jcorgan
        f2c = gr.float_to_complex()
18 43819f0f jcorgan
        s2v = gr.stream_to_vector(gr.sizeof_gr_complex, length)
19 43819f0f jcorgan
20 43819f0f jcorgan
        shift = True
21 43819f0f jcorgan
        ifft = gr.fft_vcc(length, False, [], shift)
22 43819f0f jcorgan
        fft  = gr.fft_vcc(length, True, [], shift)
23 43819f0f jcorgan
        
24 43819f0f jcorgan
        v2s = gr.vector_to_stream(gr.sizeof_gr_complex, length)
25 43819f0f jcorgan
        snk_in = gr.file_sink(gr.sizeof_gr_complex, "fftshift.in")
26 43819f0f jcorgan
        snk_out = gr.file_sink(gr.sizeof_gr_complex, "fftshift.out")
27 43819f0f jcorgan
28 43819f0f jcorgan
        self.connect(src_r, s2f_r, (f2c,0))
29 43819f0f jcorgan
        self.connect(src_i, s2f_i, (f2c,1))
30 43819f0f jcorgan
        self.connect(f2c, snk_in)
31 43819f0f jcorgan
        self.connect(f2c, s2v, ifft, fft, v2s, snk_out)
32 43819f0f jcorgan
        
33 43819f0f jcorgan
34 43819f0f jcorgan
def main():
35 05005e3d eb
    tb = my_top_block()
36 05005e3d eb
    tb.start()
37 05005e3d eb
    tb.wait()
38 43819f0f jcorgan
39 43819f0f jcorgan
if __name__ == "__main__":
40 43819f0f jcorgan
    try:
41 43819f0f jcorgan
        main()
42 43819f0f jcorgan
    except KeyboardInterrupt:
43 43819f0f jcorgan
        pass
44 43819f0f jcorgan