From ea0640c844845a8c9247fc4d79d84487f4a9072c Mon Sep 17 00:00:00 2001 From: Edouard Griffiths Date: Thu, 10 Dec 2015 14:15:44 +0100 Subject: [PATCH] Corrected RDS demod clock phase calculation --- plugins/channel/bfm/rdsdemod.cpp | 6 +++--- plugins/channel/bfm/rdsdemod.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/channel/bfm/rdsdemod.cpp b/plugins/channel/bfm/rdsdemod.cpp index 217e7bcc6..1f8190c97 100644 --- a/plugins/channel/bfm/rdsdemod.cpp +++ b/plugins/channel/bfm/rdsdemod.cpp @@ -43,12 +43,12 @@ RDSDemod::~RDSDemod() { } -void RDSDemod::process(Real rdsSample, Real pilotSample) +void RDSDemod::process(Real rdsSample, Real pilotPhaseSample) { m_rdsBB = filter_lp_2400_iq(rdsSample, 0); // working on real part only - // 1187.5 Hz clock - m_rdsClockPhase = (pilotSample / 48.0) + m_rdsClockOffset; + // 1187.5 Hz clock from 19 kHz pilot + m_rdsClockPhase = (pilotPhaseSample / 16.0) + m_rdsClockOffset; m_rdsClockLO = (fmod(m_rdsClockPhase, 2 * M_PI) < M_PI ? 1 : -1); // Clock phase recovery diff --git a/plugins/channel/bfm/rdsdemod.h b/plugins/channel/bfm/rdsdemod.h index a654d3b96..6f470209e 100644 --- a/plugins/channel/bfm/rdsdemod.h +++ b/plugins/channel/bfm/rdsdemod.h @@ -27,7 +27,7 @@ public: RDSDemod(); ~RDSDemod(); - void process(Real rdsSample, Real pilotSample); + void process(Real rdsSample, Real pilotPhaseSample); protected: Real filter_lp_2400_iq(Real in, int iqIndex);