1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-09-28 15:56:33 -04:00

WFM mod: Fixed interpolator sample rates calculation. Fixed FM deviation

This commit is contained in:
f4exb 2017-01-05 10:13:08 +01:00
parent e99a5c5f6d
commit 5e324e816a
2 changed files with 5 additions and 6 deletions

View File

@ -114,7 +114,6 @@ private:
Interpolator m_interpolator; //!< Interpolator between sample rate sent from DSP engine and requested RF bandwidth (rational)
Real m_interpolatorDistance;
Real m_interpolatorDistanceRemain;
Lowpass<Real> m_lowpass;
fftfilt* m_rfFilter;
Real m_squelchLevel;

View File

@ -136,7 +136,7 @@ void WFMMod::pull(Sample& sample)
pullAF(ri);
}
m_modPhasor += (m_running.m_fmDeviation / (float) m_running.m_outputSampleRate) * ri.real() * M_PI;
m_modPhasor += (m_running.m_fmDeviation / (float) m_running.m_outputSampleRate) * ri.real() * M_PI * 2.0f;
ci.real(cos(m_modPhasor) * 29204.0f); // -1 dB
ci.imag(sin(m_modPhasor) * 29204.0f);
@ -389,10 +389,10 @@ void WFMMod::apply()
(m_config.m_afBandwidth != m_running.m_afBandwidth))
{
m_settingsMutex.lock();
m_interpolatorDistanceRemain = 0;
m_interpolatorConsumed = false;
m_interpolatorDistance = (Real) m_config.m_audioSampleRate / (Real) m_config.m_outputSampleRate;
m_interpolator.create(48, m_config.m_audioSampleRate, m_config.m_afBandwidth, 3.0);
m_interpolatorDistanceRemain = 0;
m_interpolatorConsumed = false;
m_interpolatorDistance = (Real) m_config.m_audioSampleRate / (Real) m_config.m_outputSampleRate;
m_interpolator.create(48, m_config.m_audioSampleRate, m_config.m_rfBandwidth / 2.2, 3.0);
m_settingsMutex.unlock();
}