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 |