12 #ifndef INCLUDED_DIGITAL_PFB_CLOCK_SYNC_CCF_H
13 #define INCLUDED_DIGITAL_PFB_CLOCK_SYNC_CCF_H
148 typedef std::shared_ptr<pfb_clock_sync_ccf>
sptr;
161 static sptr make(
double sps,
163 const std::vector<float>&
taps,
164 unsigned int filter_size = 32,
165 float init_phase = 0,
166 float max_rate_deviation = 1.5,
176 virtual void update_gains() = 0;
181 virtual void update_taps(
const std::vector<float>&
taps) = 0;
186 virtual std::vector<std::vector<float>>
taps()
const = 0;
191 virtual std::vector<std::vector<float>> diff_taps()
const = 0;
196 virtual std::vector<float> channel_taps(
int channel)
const = 0;
201 virtual std::vector<float> diff_channel_taps(
int channel)
const = 0;
206 virtual std::string taps_as_string()
const = 0;
211 virtual std::string diff_taps_as_string()
const = 0;
230 virtual void set_loop_bandwidth(
float bw) = 0;
245 virtual void set_damping_factor(
float df) = 0;
257 virtual void set_alpha(
float alpha) = 0;
269 virtual void set_beta(
float beta) = 0;
274 virtual void set_max_rate_deviation(
float m) = 0;
283 virtual float loop_bandwidth()
const = 0;
288 virtual float damping_factor()
const = 0;
293 virtual float alpha()
const = 0;
298 virtual float beta()
const = 0;
303 virtual float clock_rate()
const = 0;
308 virtual float error()
const = 0;
313 virtual float rate()
const = 0;
318 virtual float phase()
const = 0;
std::shared_ptr< pfb_clock_sync_ccf > sptr
Definition: pfb_clock_sync_ccf.h:148
#define DIGITAL_API
Definition: gr-digital/include/gnuradio/digital/api.h:18
Timing synchronizer using polyphase filterbanks.
Definition: pfb_clock_sync_ccf.h:144
GNU Radio logging wrapper.
Definition: basic_block.h:29
static constexpr float taps[NSTEPS+1][NTAPS]
Definition: interpolator_taps.h:9
The abstract base class for all 'terminal' processing blocks.A signal processing flow is constructed ...
Definition: gnuradio-runtime/include/gnuradio/block.h:62