12 #ifndef INCLUDED_DIGITAL_PFB_CLOCK_SYNC_CCF_H
13 #define INCLUDED_DIGITAL_PFB_CLOCK_SYNC_CCF_H
149 typedef std::shared_ptr<pfb_clock_sync_ccf>
sptr;
162 static sptr make(
double sps,
164 const std::vector<float>&
taps,
165 unsigned int filter_size = 32,
166 float init_phase = 0,
167 float max_rate_deviation = 1.5,
177 virtual void update_gains() = 0;
182 virtual void update_taps(
const std::vector<float>&
taps) = 0;
187 virtual std::vector<std::vector<float>>
taps()
const = 0;
192 virtual std::vector<std::vector<float>> diff_taps()
const = 0;
197 virtual std::vector<float> channel_taps(
int channel)
const = 0;
202 virtual std::vector<float> diff_channel_taps(
int channel)
const = 0;
207 virtual std::string taps_as_string()
const = 0;
212 virtual std::string diff_taps_as_string()
const = 0;
231 virtual void set_loop_bandwidth(
float bw) = 0;
246 virtual void set_damping_factor(
float df) = 0;
258 virtual void set_alpha(
float alpha) = 0;
270 virtual void set_beta(
float beta) = 0;
275 virtual void set_max_rate_deviation(
float m) = 0;
284 virtual float loop_bandwidth()
const = 0;
289 virtual float damping_factor()
const = 0;
294 virtual float alpha()
const = 0;
299 virtual float beta()
const = 0;
304 virtual float clock_rate()
const = 0;
309 virtual float error()
const = 0;
314 virtual float rate()
const = 0;
319 virtual float phase()
const = 0;