diff options
author | Thomas Habets <thomas@habets.se> | 2020-01-02 23:17:12 +0000 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2020-01-06 15:38:02 -0800 |
commit | fdb80ea8d32497a358b8787f47f1c70bcf18bb21 (patch) | |
tree | 91ae8c9f12a588bb7c03bed4b96fedfbca242ce0 | |
parent | 414a49fc3a6c6442bf5f5152b71a4f8e6447f5b9 (diff) |
gr-digital/costas_loop: |z|*|z| -> z*conj(z)
-rw-r--r-- | gr-digital/lib/costas_loop_cc_impl.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gr-digital/lib/costas_loop_cc_impl.cc b/gr-digital/lib/costas_loop_cc_impl.cc index 0ab9e0d3d1..124a7e3d2f 100644 --- a/gr-digital/lib/costas_loop_cc_impl.cc +++ b/gr-digital/lib/costas_loop_cc_impl.cc @@ -123,7 +123,7 @@ float costas_loop_cc_impl::phase_detector_2(gr_complex sample) const float costas_loop_cc_impl::phase_detector_snr_8(gr_complex sample) const { const float K = (sqrtf(2.0) - 1); - const float snr = abs(sample) * abs(sample) / d_noise; + const float snr = (sample * std::conj(sample)).real() / d_noise; if (fabsf(sample.real()) >= fabsf(sample.imag())) { return ((blocks::tanhf_lut(snr * sample.real()) * sample.imag()) - (blocks::tanhf_lut(snr * sample.imag()) * sample.real() * K)); @@ -135,14 +135,14 @@ float costas_loop_cc_impl::phase_detector_snr_8(gr_complex sample) const float costas_loop_cc_impl::phase_detector_snr_4(gr_complex sample) const { - const float snr = abs(sample) * abs(sample) / d_noise; + const float snr = (sample * std::conj(sample)).real() / d_noise; return ((blocks::tanhf_lut(snr * sample.real()) * sample.imag()) - (blocks::tanhf_lut(snr * sample.imag()) * sample.real())); } float costas_loop_cc_impl::phase_detector_snr_2(gr_complex sample) const { - const float snr = abs(sample) * abs(sample) / d_noise; + const float snr = (sample * std::conj(sample)).real() / d_noise; return blocks::tanhf_lut(snr * sample.real()) * sample.imag(); } |