ATV Demod: fixed interpolator rf bandwidth whe in SSB modes. Set interpolator taps per phase to 24

This commit is contained in:
f4exb 2017-03-20 05:06:33 +01:00
parent 94d7170890
commit 3721b445b1
3 changed files with 26 additions and 5 deletions

View File

@ -650,8 +650,9 @@ void ATVDemod::applySettings()
return; return;
} }
if((m_objRFConfig.m_intFrequencyOffset != m_objRFRunning.m_intFrequencyOffset) || if((m_objRFConfig.m_intFrequencyOffset != m_objRFRunning.m_intFrequencyOffset)
(m_objConfig.m_intSampleRate != m_objRunning.m_intSampleRate)) || (m_objRFConfig.m_enmModulation != m_objRFRunning.m_enmModulation)
|| (m_objConfig.m_intSampleRate != m_objRunning.m_intSampleRate))
{ {
m_nco.setFreq(-m_objRFConfig.m_intFrequencyOffset, m_objConfig.m_intSampleRate); m_nco.setFreq(-m_objRFConfig.m_intFrequencyOffset, m_objConfig.m_intSampleRate);
} }
@ -674,7 +675,10 @@ void ATVDemod::applySettings()
} }
m_interpolatorDistanceRemain = 0; m_interpolatorDistanceRemain = 0;
m_interpolator.create(16, m_objConfigPrivate.m_intTVSampleRate, m_objRFConfig.m_fltRFBandwidth / 2.2, 3.0); m_interpolator.create(24,
m_objConfigPrivate.m_intTVSampleRate,
m_objRFConfig.m_fltRFBandwidth / getRFBandwidthDivisor(m_objRFConfig.m_enmModulation),
3.0);
m_objSettingsMutex.unlock(); m_objSettingsMutex.unlock();
} }
@ -758,3 +762,20 @@ bool ATVDemod::getBFOLocked()
return false; return false;
} }
} }
float ATVDemod::getRFBandwidthDivisor(ATVModulation modulation)
{
switch(modulation)
{
case ATV_USB:
case ATV_LSB:
return 1.05f;
break;
case ATV_FM1:
case ATV_FM2:
case ATV_AM:
default:
return 2.2f;
}
}

View File

@ -334,7 +334,7 @@ private:
void applySettings(); void applySettings();
void demod(Complex& c); void demod(Complex& c);
static float getRFBandwidthDivisor(ATVModulation modulation);
}; };
#endif // INCLUDE_ATVDEMOD_H #endif // INCLUDE_ATVDEMOD_H

View File

@ -26,7 +26,7 @@
const PluginDescriptor ATVDemodPlugin::m_ptrPluginDescriptor = const PluginDescriptor ATVDemodPlugin::m_ptrPluginDescriptor =
{ {
QString("ATV Demodulator"), QString("ATV Demodulator"),
QString("3.3.1"), QString("3.3.2"),
QString("(c) F4HKW for F4EXB / SDRAngel"), QString("(c) F4HKW for F4EXB / SDRAngel"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,