GNU Radio's PAINT Package
paint_bc_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2015 Ron Economos.
4  *
5  * This is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3, or (at your option)
8  * any later version.
9  *
10  * This software is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this software; see the file COPYING. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 #ifndef INCLUDED_PAINT_PAINT_BC_IMPL_H
22 #define INCLUDED_PAINT_PAINT_BC_IMPL_H
23 
24 #include <paint/paint_bc.h>
25 #include <gnuradio/fft/fft.h>
26 
27 namespace gr {
28  namespace paint {
29 
30  class paint_bc_impl : public paint_bc
31  {
32  private:
33  int image_width;
34  int line_repeat;
35  int pixel_repeat;
36  int left_nulls;
37  int right_nulls;
38  int random_source;
39  int equalization_enable;
40  gr_complex m_point[1];
41  fft::fft_complex *ofdm_fft;
42  int ofdm_fft_size;
43  float normalization;
44  float magnitude_line[4096];
45  float angle_line[4096];
46  float angle_cos[4096];
47  float angle_sin[4096];
48  gr_complex inverse_sinc[4096];
49 
50  public:
51  paint_bc_impl(int width, int repeats, int equalization, int randomsrc, int inputs);
53 
54  // Where all the action really happens
55  void forecast (int noutput_items, gr_vector_int &ninput_items_required);
56 
57  int general_work(int noutput_items,
58  gr_vector_int &ninput_items,
59  gr_vector_const_void_star &input_items,
60  gr_vector_void_star &output_items);
61  };
62 
63  } // namespace paint
64 } // namespace gr
65 
66 #endif /* INCLUDED_PAINT_PAINT_BC_IMPL_H */
67 
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
<+description of block+>
Definition: paint_bc.h:37
Definition: paint_bc.h:29
paint_bc_impl(int width, int repeats, int equalization, int randomsrc, int inputs)
Definition: paint_bc_impl.h:30