AM, NFM, SSB demods: make audio FIFO length 1s for any audio sample rate

This commit is contained in:
f4exb 2018-03-30 08:55:49 +02:00
parent 10fe136b5e
commit 8735ca97ca
3 changed files with 4 additions and 0 deletions

View File

@ -230,6 +230,7 @@ void AMDemod::applyAudioSampleRate(int sampleRate)
m_interpolatorDistanceRemain = 0; m_interpolatorDistanceRemain = 0;
m_interpolatorDistance = (Real) m_inputSampleRate / (Real) sampleRate; m_interpolatorDistance = (Real) m_inputSampleRate / (Real) sampleRate;
m_bandpass.create(301, sampleRate, 300.0, m_settings.m_rfBandwidth / 2.0f); m_bandpass.create(301, sampleRate, 300.0, m_settings.m_rfBandwidth / 2.0f);
m_audioFifo.setSize(sampleRate);
m_settingsMutex.unlock(); m_settingsMutex.unlock();
m_audioSampleRate = sampleRate; m_audioSampleRate = sampleRate;

View File

@ -406,6 +406,7 @@ void NFMDemod::applyAudioSampleRate(int sampleRate)
m_interpolatorDistance = (Real) m_inputSampleRate / (Real) sampleRate; m_interpolatorDistance = (Real) m_inputSampleRate / (Real) sampleRate;
m_lowpass.create(301, sampleRate, 250.0); m_lowpass.create(301, sampleRate, 250.0);
m_bandpass.create(301, sampleRate, 300.0, m_settings.m_afBandwidth); m_bandpass.create(301, sampleRate, 300.0, m_settings.m_afBandwidth);
m_audioFifo.setSize(sampleRate);
m_settingsMutex.unlock(); m_settingsMutex.unlock();
m_audioSampleRate = sampleRate; m_audioSampleRate = sampleRate;

View File

@ -411,6 +411,8 @@ void SSBDemod::applyAudioSampleRate(int sampleRate)
m_agcThresholdGate = agcThresholdGate; m_agcThresholdGate = agcThresholdGate;
} }
m_audioFifo.setSize(sampleRate);
m_settingsMutex.unlock(); m_settingsMutex.unlock();
m_audioSampleRate = sampleRate; m_audioSampleRate = sampleRate;