mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-10-02 09:46:38 -04:00
ATV Demodulator: added FM deviation for FM1 and FM2 modes
This commit is contained in:
parent
016f7c1e37
commit
87c63b41bb
@ -327,6 +327,11 @@ void ATVDemod::demod(Complex& c)
|
|||||||
|
|
||||||
m_fltBufferI[0]=fltNormI;
|
m_fltBufferI[0]=fltNormI;
|
||||||
m_fltBufferQ[0]=fltNormQ;
|
m_fltBufferQ[0]=fltNormQ;
|
||||||
|
|
||||||
|
if (m_objRFRunning.m_fmDeviation != 1.0f)
|
||||||
|
{
|
||||||
|
fltVal = ((fltVal - 0.5f) / m_objRFRunning.m_fmDeviation) + 0.5f;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (m_objRFRunning.m_enmModulation == ATV_AM)
|
else if (m_objRFRunning.m_enmModulation == ATV_AM)
|
||||||
{
|
{
|
||||||
@ -392,8 +397,8 @@ void ATVDemod::demod(Complex& c)
|
|||||||
else if (m_objRFRunning.m_enmModulation == ATV_FM3)
|
else if (m_objRFRunning.m_enmModulation == ATV_FM3)
|
||||||
{
|
{
|
||||||
float rawDeviation;
|
float rawDeviation;
|
||||||
fltVal = (m_objPhaseDiscri.phaseDiscriminatorDelta(c, magSq, rawDeviation)/ m_objRFRunning.m_fmDeviation) + 0.5f;
|
fltVal = m_objPhaseDiscri.phaseDiscriminatorDelta(c, magSq, rawDeviation) + 0.5f;
|
||||||
fltVal = fltVal < 0.0f ? 0.0f : fltVal > 1.0f ? 1.0f : fltVal;
|
//fltVal = fltVal < 0.0f ? 0.0f : fltVal > 1.0f ? 1.0f : fltVal;
|
||||||
m_objMagSqAverage.feed(magSq);
|
m_objMagSqAverage.feed(magSq);
|
||||||
fltNorm = sqrt(magSq);
|
fltNorm = sqrt(magSq);
|
||||||
}
|
}
|
||||||
@ -782,10 +787,10 @@ void ATVDemod::applySettings()
|
|||||||
m_bfoFilter.setFrequencies(m_objRFConfig.m_fltBFOFrequency, m_objConfigPrivate.m_intTVSampleRate);
|
m_bfoFilter.setFrequencies(m_objRFConfig.m_fltBFOFrequency, m_objConfigPrivate.m_intTVSampleRate);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (m_objRFConfig.m_fmDeviation != m_objRFRunning.m_fmDeviation)
|
if (m_objRFConfig.m_fmDeviation != m_objRFRunning.m_fmDeviation)
|
||||||
// {
|
{
|
||||||
// m_objPhaseDiscri.setFMScaling(m_objRFConfig.m_fmDeviation);
|
m_objPhaseDiscri.setFMScaling(1.0f / m_objRFConfig.m_fmDeviation);
|
||||||
// }
|
}
|
||||||
|
|
||||||
m_objRunning = m_objConfig;
|
m_objRunning = m_objConfig;
|
||||||
m_objRFRunning = m_objRFConfig;
|
m_objRFRunning = m_objRFConfig;
|
||||||
|
Loading…
Reference in New Issue
Block a user