Merging OFDM features branch r5661:5759 into trunk. OFDM works over the air with...
[debian/gnuradio] / gnuradio-core / src / python / gnuradio / blksimpl / ofdm_sync_fixed.py
1 #!/usr/bin/env python
2 #
3 # Copyright 2007 Free Software Foundation, Inc.
4
5 # This file is part of GNU Radio
6
7 # GNU Radio is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2, or (at your option)
10 # any later version.
11
12 # GNU Radio is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16
17 # You should have received a copy of the GNU General Public License
18 # along with GNU Radio; see the file COPYING.  If not, write to
19 # the Free Software Foundation, Inc., 51 Franklin Street,
20 # Boston, MA 02110-1301, USA.
21
22
23 import math
24 from gnuradio import gr
25
26 class ofdm_sync_fixed(gr.hier_block):
27     def __init__(self, fg, fft_length, cp_length, snr):
28         self.fg = fg
29
30         # Use a fixed trigger point instead of sync block
31         data = (fft_length+cp_len)*[0,]
32         data[(fft_length+cp_len)-1] = 1
33         peak_trigger = gr.vector_source_b(data, True)
34         
35         self.fg.connect(peak_trigger, (self.sampler,1))
36
37         if 1:
38             self.fg.connect(self.sampler, gr.file_sink(gr.sizeof_gr_complex*fft_length,
39                                                        "ofdm_sync_fixed-sampler_c.dat"))
40         
41         gr.hier_block.__init__(self, fg, (self.sampler,0), self.sampler)