summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Habets <thomas@habets.se>2020-01-02 23:17:12 +0000
committerMartin Braun <martin.braun@ettus.com>2020-01-06 15:38:02 -0800
commitfdb80ea8d32497a358b8787f47f1c70bcf18bb21 (patch)
tree91ae8c9f12a588bb7c03bed4b96fedfbca242ce0
parent414a49fc3a6c6442bf5f5152b71a4f8e6447f5b9 (diff)
gr-digital/costas_loop: |z|*|z| -> z*conj(z)
-rw-r--r--gr-digital/lib/costas_loop_cc_impl.cc6
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();
}