GNU Radio's CESSB Package
clipper_cc_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2016 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_CESSB_CLIPPER_CC_IMPL_H
22 #define INCLUDED_CESSB_CLIPPER_CC_IMPL_H
23 
24 #include <cessb/clipper_cc.h>
25 
26 #define CHUNK_SIZE 1024
27 
28 namespace gr {
29  namespace cessb {
30 
31  class clipper_cc_impl : public clipper_cc
32  {
33  private:
34  float d_magnitude[CHUNK_SIZE];
35  float d_phase[CHUNK_SIZE];
36  float d_clipped[CHUNK_SIZE];
37  float d_cliplevel[CHUNK_SIZE];
38  float d_phase_cos[CHUNK_SIZE];
39  float d_phase_sin[CHUNK_SIZE];
40  float d_clip;
41 
42  public:
43  clipper_cc_impl(float clip);
45 
46  // Where all the action really happens
47  int work(int noutput_items,
48  gr_vector_const_void_star &input_items,
49  gr_vector_void_star &output_items);
50  };
51 
52  } // namespace cessb
53 } // namespace gr
54 
55 #endif /* INCLUDED_CESSB_CLIPPER_CC_IMPL_H */
56 
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
Definition: clipper_cc_impl.h:31
#define CHUNK_SIZE
Definition: clipper_cc_impl.h:26
<+description of block+>
Definition: clipper_cc.h:36