GNU Radio's BLOCKSTREAM Package
nco_cc_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2017 <+YOU OR YOUR COMPANY+>.
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_BLOCKSAT_NCO_CC_IMPL_H
22 #define INCLUDED_BLOCKSAT_NCO_CC_IMPL_H
23 
24 #include <blocksat/nco_cc.h>
25 
26 namespace gr {
27  namespace blocksat {
28 
29  class nco_cc_impl : public nco_cc
30  {
31  private:
32  float d_phase_inc;
33  float d_phase_accum;
34  float d_last_phase_inc;
35  float d_target_phase_inc;
36  float d_missing_phase_inc_adj;
37  float d_samp_rate;
38  float d_freq;
39  int d_n_steps;
40  int d_i_step;
41  float d_step;
42  int d_state;
43 
44  public:
45  nco_cc_impl(float samp_rate, float freq, int n_steps);
46  ~nco_cc_impl();
47 
48  // Setters ready for parameter adjustment in runtime:
49  float phase_inc() const { return d_phase_inc; }
50  void set_freq(float new_freq);
51 
52  // Where all the action really happens
53  int work(int noutput_items,
54  gr_vector_const_void_star &input_items,
55  gr_vector_void_star &output_items);
56  };
57 
58  } // namespace blocksat
59 } // namespace gr
60 
61 #endif /* INCLUDED_BLOCKSAT_NCO_CC_IMPL_H */
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
float phase_inc() const
Definition: nco_cc_impl.h:49
&lt;+description of block+&gt;
Definition: nco_cc.h:36
Definition: nco_cc_impl.h:29
nco_cc_impl(float samp_rate, float freq, int n_steps)
void set_freq(float new_freq)