def __init__(self, options): gr.top_block.__init__(self) self._fft_length = 64 self._cp_length = 16 self._symbol_length = self._fft_length + self._cp_length N_sym = 25 ofdm_preamble = [list(fft_preamble)] # print len(fft_preamble) gap = [list(gap_sample)] win = [] inchr = ( chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) ) inchr = ( inchr + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) ) inchr = inchr + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) + chr(0x00) a = map(ord, chr(0)) self.source = gr.file_source(gr.sizeof_gr_complex * self._symbol_length, options.from_file) self.vector_source = gr.vector_source_b(a, False, 1) self.preamble = gr_ieee802_11.ofdm_preamble_insert(self._symbol_length, N_sym, ofdm_preamble) self.zerogap = gr_ieee802_11.ofdm_zerogap_insert(self._symbol_length, N_sym, gap) self.sink = gr.file_sink(gr.sizeof_gr_complex * self._symbol_length, options.to_file) self.connect(self.source, (self.preamble, 0)) self.connect(self.vector_source, (self.preamble, 1)) self.connect((self.preamble, 1), (self.zerogap, 1)) self.connect(self.preamble, self.zerogap, self.sink) # self.connect(self.ifft, gr.file_sink(gr.sizeof_gr_complex * self._fft_length, "ofdm_ifft_test.dat")) self.connect( self.preamble, gr.file_sink(gr.sizeof_gr_complex * self._symbol_length, "ofdm_preamble_test_3.6.4.dat") )
def insert_preamble(length, N_sym): ftw_preamble= [list(fft_preamble)] preamble = gr_ieee802_11.ofdm_preamble_insert(length, N_sym, ftw_preamble) return preamble