23 #ifndef INCLUDED_DIGITAL_MPSK_RECEIVER_CC_H
24 #define INCLUDED_DIGITAL_MPSK_RECEIVER_CC_H
42 float fmin,
float fmax,
98 float theta()
const {
return d_theta; }
101 float mu()
const {
return d_mu; }
104 float omega()
const {
return d_omega; }
116 void set_modulation_order(
unsigned int M);
127 d_min_omega = omega*(1.0 - d_omega_rel);
128 d_max_omega = omega*(1.0 + d_omega_rel);
129 d_omega_mid = 0.5*(d_min_omega+d_max_omega);
139 void set_gain_omega_rel(
float omega_rel);
162 float fmin,
float fmax,
163 float mu,
float gain_mu,
164 float omega,
float gain_omega,
float omega_rel);
166 void make_constellation();
189 float phase_error_detector_generic(
gr_complex sample)
const;
203 float phase_error_detector_bpsk(
gr_complex sample)
const;
215 float phase_error_detector_qpsk(
gr_complex sample)
const;
230 unsigned int decision_generic(
gr_complex sample)
const;
245 unsigned int decision_bpsk(
gr_complex sample)
const;
259 unsigned int decision_qpsk(
gr_complex sample)
const;
279 std::vector<gr_complex> d_constellation;
280 unsigned int d_current_const_point;
283 float d_mu, d_gain_mu;
284 float d_omega, d_gain_omega, d_omega_rel, d_max_omega, d_min_omega, d_omega_mid;
304 static const unsigned int DLLEN = 8;
310 unsigned int d_dl_idx;
315 float fmin,
float fmax,
316 float mu,
float gain_mu,
317 float omega,
float gain_omega,
float omega_rel);