mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-07-30 12:42:25 -04:00
RDS demod: bugfix and errors debug prompt
This commit is contained in:
parent
ea0640c844
commit
dbd1db1f28
@ -15,6 +15,7 @@
|
|||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||||
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include <QDebug>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -78,6 +79,8 @@ void RDSDemod::process(Real rdsSample, Real pilotPhaseSample)
|
|||||||
|
|
||||||
m_rdsClockLO_1 = m_rdsClockLO;
|
m_rdsClockLO_1 = m_rdsClockLO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_numSamples++;
|
||||||
}
|
}
|
||||||
|
|
||||||
Real RDSDemod::filter_lp_2400_iq(Real input, int iqIndex)
|
Real RDSDemod::filter_lp_2400_iq(Real input, int iqIndex)
|
||||||
@ -102,23 +105,24 @@ int RDSDemod::sign(Real a)
|
|||||||
|
|
||||||
void RDSDemod::biphase(Real acc)
|
void RDSDemod::biphase(Real acc)
|
||||||
{
|
{
|
||||||
static int reading_frame = 0;
|
|
||||||
|
|
||||||
if (sign(acc) != sign(m_acc_1)) // two successive of different sign: error detected
|
if (sign(acc) != sign(m_acc_1)) // two successive of different sign: error detected
|
||||||
{
|
{
|
||||||
m_totErrors[m_counter % 2]++;
|
m_totErrors[m_counter % 2]++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_counter % 2 == reading_frame) // two successive of the same sing: OK
|
if (m_counter % 2 == m_readingFrame) // two successive of the same sign: OK
|
||||||
{
|
{
|
||||||
print_delta(sign(acc + m_acc_1));
|
print_delta(sign(acc + m_acc_1));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_counter == 0)
|
if (m_counter == 0)
|
||||||
{
|
{
|
||||||
if (m_totErrors[1 - reading_frame] < m_totErrors[reading_frame])
|
if (m_totErrors[1 - m_readingFrame] < m_totErrors[m_readingFrame])
|
||||||
{
|
{
|
||||||
reading_frame = 1 - reading_frame;
|
m_readingFrame = 1 - m_readingFrame;
|
||||||
|
|
||||||
|
double qua = (1.0 * abs(m_totErrors[0] - m_totErrors[1]) / (m_totErrors[0] + m_totErrors[1])) * 100;
|
||||||
|
qDebug("RDSDemod::biphase: frame: %d errs: %3d %3d qual: %3.0f%%\n", m_readingFrame, m_totErrors[0], m_totErrors[1], qua);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_totErrors[0] = 0;
|
m_totErrors[0] = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user