SSB demod: relaxed decimator filter constraints as the actual filtering is done by the FFT filter

This commit is contained in:
f4exb 2018-01-09 19:56:15 +01:00
parent 4444084b7a
commit 8488a77e2c
3 changed files with 5 additions and 3 deletions

View File

@ -103,7 +103,7 @@ HackRF is better used with a sampling rate of 4.8 MS/s and above. The 2.4 and 3.
<h2>LimeSDR</h2>
<p><b>&#9888; The plugins should work normally when running as single instances. Support of many Rx and/or Tx instances running concurrently is considered experimental.</b></p>
<p><b>&#9888; The plugins should work normally when running as single instances. Support of many Rx and/or Tx instances running concurrently is considered experimental. At least you should always have one of the streams running.</b></p>
<p>&#9888; It seems LimeSDR mini has trouble working with host sample rates lower than 2.5 MS/s particularly in Tx mode.</p>

2
debian/changelog vendored
View File

@ -2,6 +2,8 @@ sdrangel (3.10.1-1) unstable; urgency=medium
* LimeSDR: fixed segfault when stopping one device in multiple stream confguration
* PlutoSDR: fixed segfault when stopping one device in multiple stream confguration
* Channel plugins: apply initial channel settings at construction and start
* SSB demod: refactored decimator filtering
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 07 Jan 2018 23:14:18 +0100

View File

@ -350,7 +350,7 @@ void SSBDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffse
if ((m_inputSampleRate != inputSampleRate) || force)
{
m_settingsMutex.lock();
m_interpolator.create(16, inputSampleRate, m_Bandwidth * 1.3f);
m_interpolator.create(16, inputSampleRate, m_Bandwidth * 1.5f, 2.0f);
m_interpolatorDistanceRemain = 0;
m_interpolatorDistance = (Real) inputSampleRate / (Real) m_settings.m_audioSampleRate;
m_settingsMutex.unlock();
@ -407,7 +407,7 @@ void SSBDemod::applySettings(const SSBDemodSettings& settings, bool force)
m_LowCutoff = lowCutoff;
m_settingsMutex.lock();
m_interpolator.create(16, m_inputSampleRate, m_Bandwidth * 1.3f);
m_interpolator.create(16, m_inputSampleRate, m_Bandwidth * 1.5f, 2.0f);
m_interpolatorDistanceRemain = 0;
m_interpolatorDistance = (Real) m_inputSampleRate / (Real) m_settings.m_audioSampleRate;
SSBFilter->create_filter(m_LowCutoff / (float) m_audioSampleRate, m_Bandwidth / (float) m_audioSampleRate);