Chuck,

Isn't this line

>   gr_complex filtered_IQ = afc.filter(gr_complex(I,Q));

supposed to be

>   gr_complex filtered_IQ = afc.filter(IQ);

instead?

Achilleas

Almost working:

  gr_complex input = agc.scale(in[k]);
  gr_sincosf(d_phase,&a_sin,&a_cos);

  gr_complex IQ = input * gr_complex(a_cos,-a_sin);

  out[k] = IQ.real();
  gr_complex filtered_IQ = afc.filter(gr_complex(I,Q));
  float x = phase_detector(filtered_IQ,0);
  static const float alpha = 0.001;
  static const float beta = alpha * alpha / 4;
  d_freq = d_freq + beta * x;
  d_phase = mod_2pi(d_phase + d_freq + alpha * x);


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to