1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 21:54:55 -04:00

Audio Input: handle real signals with new main spectrum feature

This commit is contained in:
f4exb
2023-07-10 12:23:53 +02:00
parent 249cb476c0
commit d1116b564a
6 changed files with 36 additions and 49 deletions
@@ -33,8 +33,7 @@ AudioInputWorker::AudioInputWorker(SampleSinkFifo* sampleFifo, AudioFifo *fifo,
m_log2Decim(0),
m_iqMapping(AudioInputSettings::IQMapping::L),
m_convertBuffer(m_convBufSamples),
m_sampleFifo(sampleFifo),
m_quNCOPhase(0)
m_sampleFifo(sampleFifo)
{
}
@@ -62,31 +61,10 @@ void AudioInputWorker::workIQ(unsigned int nbRead)
{
for (uint32_t i = 0; i < nbRead; i++)
{
qint16 r = m_buf[i*2 + (m_iqMapping == AudioInputSettings::IQMapping::R ? 1 : 0)]; // real sample
if (m_quNCOPhase == 0) // 0
{
m_buf[i*2] = r; // 1
m_buf[i*2+1] = 0; // 0
m_quNCOPhase = 1; // next phase
}
else if (m_quNCOPhase == 1) // -pi/2
{
m_buf[i*2] = 0; // 0
m_buf[i*2+1] = -r; // -1
m_quNCOPhase = 2; // next phase
}
else if (m_quNCOPhase == 2) // pi or -pi
{
m_buf[i*2] = -r; // -1
m_buf[i*2+1] = 0; // 0
m_quNCOPhase = 3; // next phase
}
else if (m_quNCOPhase == 3) // pi/2
{
m_buf[i*2] = 0; // 0
m_buf[i*2+1] = r; // 1
m_quNCOPhase = 0; // next phase
if (m_iqMapping == AudioInputSettings::IQMapping::L) {
m_buf[i*2+1] = m_buf[i*2];
} else {
m_buf[i*2] = m_buf[i*2+1];
}
}
}