All - Do I understand correctly that gr.pll_carriertracking_cc() is supposed to downconvert to DC? I don't see it doing that, and can't see in the work functions where that magic would be accomplished.
Just want to make sure I'm building the most efficient graph possible. I tried both in an existing AM detector with a 7.5KHz IF and both work just the same with an external mixer. ---------------------------------------------------------------- refout: int gr_pll_refout_cc::work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) { const gr_complex *iptr = (gr_complex *) input_items[0]; gr_complex *optr = (gr_complex *) output_items[0]; float error; float t_imag, t_real; int size = noutput_items; while (size-- > 0) { error = phase_detector(*iptr++,d_phase); d_freq = d_freq + d_beta * error; d_phase = mod_2pi(d_phase + d_freq + d_alpha * error); if (d_freq > d_max_freq) d_freq = d_max_freq; else if (d_freq < d_min_freq) d_freq = d_min_freq; gr_sincosf(d_phase,&t_imag,&t_real); *optr++ = gr_complex(t_real,t_imag); } return noutput_items; } ----------------------------------------------------------------- carriertracking: int gr_pll_carriertracking_cc::work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) { const gr_complex *iptr = (gr_complex *) input_items[0]; gr_complex *optr = (gr_complex *) output_items[0]; float error; float t_imag, t_real; for (int i = 0; i < noutput_items; i++){ error = phase_detector(iptr[i],d_phase); d_freq = d_freq + d_beta * error; d_phase = mod_2pi(d_phase + d_freq + d_alpha * error); if (d_freq > d_max_freq) d_freq = d_max_freq; else if (d_freq < d_min_freq) d_freq = d_min_freq; gr_sincosf(d_phase,&t_imag,&t_real); optr[i] = gr_complex(t_real,t_imag); d_locksig = d_locksig * (1.0 - d_alpha) + d_alpha*(iptr[i].real() * t_real + iptr[i].imag() * t_imag); if ((d_squelch_enable) && !lock_detector()) optr[i] = 0; } return noutput_items; } _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio