23 #ifndef INCLUDED_DIGITAL_MPSK_RECEIVER_CC_H
24 #define INCLUDED_DIGITAL_MPSK_RECEIVER_CC_H
42 float fmin,
float fmax,
95 float theta()
const {
return d_theta; }
98 float mu()
const {
return d_mu; }
101 float omega()
const {
return d_omega; }
113 void set_modulation_order(
unsigned int M);
124 d_min_omega = omega*(1.0 - d_omega_rel);
125 d_max_omega = omega*(1.0 + d_omega_rel);
126 d_omega_mid = 0.5*(d_min_omega+d_max_omega);
136 void set_gain_omega_rel(
float omega_rel);
159 float fmin,
float fmax,
160 float mu,
float gain_mu,
161 float omega,
float gain_omega,
float omega_rel);
163 void make_constellation();
186 float phase_error_detector_generic(
gr_complex sample)
const;
200 float phase_error_detector_bpsk(
gr_complex sample)
const;
212 float phase_error_detector_qpsk(
gr_complex sample)
const;
227 unsigned int decision_generic(
gr_complex sample)
const;
242 unsigned int decision_bpsk(
gr_complex sample)
const;
256 unsigned int decision_qpsk(
gr_complex sample)
const;
276 std::vector<gr_complex> d_constellation;
277 unsigned int d_current_const_point;
280 float d_mu, d_gain_mu;
281 float d_omega, d_gain_omega, d_omega_rel, d_max_omega, d_min_omega, d_omega_mid;
301 static const unsigned int DLLEN = 8;
307 unsigned int d_dl_idx;
312 float fmin,
float fmax,
313 float mu,
float gain_mu,
314 float omega,
float gain_omega,
float omega_rel);