*
* GNU Radio is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
+ * the Free Software Foundation; either version 3, or (at your option)
* any later version.
*
* GNU Radio is distributed in the hope that it will be useful,
*
* You should have received a copy of the GNU General Public License
* along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
#include <gr_io_signature.h>
#include <gr_sincos.h>
#include <math.h>
+#include <gr_math.h>
#define M_TWOPI (2*M_PI)
gr_pll_carriertracking_cc::phase_detector(gr_complex sample,float ref_phase)
{
float sample_phase;
- sample_phase = atan2(sample.imag(),sample.real());
+ // sample_phase = atan2(sample.imag(),sample.real());
+ sample_phase = gr_fast_atan2f(sample.imag(),sample.real());
return mod_2pi(sample_phase-ref_phase);
}
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);
+ optr[i] = iptr[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())