mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-02-03 09:44:01 -05:00
DSD demod: rescale demod gain and volume
This commit is contained in:
parent
65ec5015df
commit
6e2e8dc2b5
@ -57,7 +57,7 @@ DSDDemod::DSDDemod(DeviceSourceAPI *deviceAPI) :
|
||||
m_config.m_inputFrequencyOffset = 0;
|
||||
m_config.m_rfBandwidth = 10000.0;
|
||||
m_config.m_fmDeviation = 5000.0;
|
||||
m_config.m_demodGain = 100;
|
||||
m_config.m_demodGain = 1.0;
|
||||
m_config.m_squelchGate = 5; // 10s of ms at 48000 Hz sample rate. Corresponds to 2400 for AGC attack
|
||||
m_config.m_squelch = -30.0;
|
||||
m_config.m_volume = 1.0;
|
||||
@ -107,8 +107,8 @@ DSDDemod::~DSDDemod()
|
||||
void DSDDemod::configure(MessageQueue* messageQueue,
|
||||
Real rfBandwidth,
|
||||
Real fmDeviation,
|
||||
int demodGain,
|
||||
int volume,
|
||||
Real demodGain,
|
||||
Real volume,
|
||||
int baudRate,
|
||||
int squelchGate,
|
||||
Real squelch,
|
||||
@ -182,7 +182,7 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
|
||||
|
||||
m_magsqCount++;
|
||||
|
||||
Real demod = 32768.0f * m_phaseDiscri.phaseDiscriminator(ci) * ((float) m_running.m_demodGain / 100.0f);
|
||||
Real demod = 32768.0f * m_phaseDiscri.phaseDiscriminator(ci) * m_running.m_demodGain;
|
||||
m_sampleCount++;
|
||||
|
||||
// AF processing
|
||||
@ -414,8 +414,8 @@ bool DSDDemod::handleMessage(const Message& cmd)
|
||||
|
||||
qDebug() << "DSDDemod::handleMessage: MsgConfigureDSDDemod: m_rfBandwidth: " << m_config.m_rfBandwidth
|
||||
<< " m_fmDeviation: " << m_config.m_fmDeviation
|
||||
<< " m_demodGain: " << m_config.m_demodGain / 100.0
|
||||
<< " m_volume: " << m_config.m_volume / 10.0
|
||||
<< " m_demodGain: " << m_config.m_demodGain
|
||||
<< " m_volume: " << m_config.m_volume
|
||||
<< " m_baudRate: " << m_config.m_baudRate
|
||||
<< " m_squelchGate" << m_config.m_squelchGate
|
||||
<< " m_squelch: " << m_config.m_squelch
|
||||
@ -483,7 +483,7 @@ void DSDDemod::apply(bool force)
|
||||
|
||||
if ((m_config.m_volume != m_running.m_volume) || force)
|
||||
{
|
||||
m_dsdDecoder.setAudioGain(m_config.m_volume / 10.0f);
|
||||
m_dsdDecoder.setAudioGain(m_config.m_volume);
|
||||
}
|
||||
|
||||
if ((m_config.m_baudRate != m_running.m_baudRate) || force)
|
||||
|
@ -69,10 +69,10 @@ public:
|
||||
void setScopeSink(BasebandSampleSink* sampleSink) { m_scope = sampleSink; }
|
||||
|
||||
void configure(MessageQueue* messageQueue,
|
||||
Real rfBandwidth,
|
||||
Real fmDeviation,
|
||||
int demodGain,
|
||||
int volume,
|
||||
Real rfBandwidth,
|
||||
Real fmDeviation,
|
||||
Real demodGain,
|
||||
Real volume,
|
||||
int baudRate,
|
||||
int squelchGate,
|
||||
Real squelch,
|
||||
@ -141,8 +141,8 @@ private:
|
||||
public:
|
||||
Real getRFBandwidth() const { return m_rfBandwidth; }
|
||||
Real getFMDeviation() const { return m_fmDeviation; }
|
||||
int getDemodGain() const { return m_demodGain; }
|
||||
int getVolume() const { return m_volume; }
|
||||
Real getDemodGain() const { return m_demodGain; }
|
||||
Real getVolume() const { return m_volume; }
|
||||
int getBaudRate() const { return m_baudRate; }
|
||||
int getSquelchGate() const { return m_squelchGate; }
|
||||
Real getSquelch() const { return m_squelch; }
|
||||
@ -159,8 +159,8 @@ private:
|
||||
|
||||
static MsgConfigureDSDDemod* create(Real rfBandwidth,
|
||||
Real fmDeviation,
|
||||
int demodGain,
|
||||
int volume,
|
||||
Real demodGain,
|
||||
Real volume,
|
||||
int baudRate,
|
||||
int squelchGate,
|
||||
Real squelch,
|
||||
@ -200,7 +200,7 @@ private:
|
||||
Real m_rfBandwidth;
|
||||
Real m_fmDeviation;
|
||||
Real m_demodGain;
|
||||
int m_volume;
|
||||
Real m_volume;
|
||||
int m_baudRate;
|
||||
int m_squelchGate;
|
||||
Real m_squelch;
|
||||
@ -216,10 +216,10 @@ private:
|
||||
quint16 m_udpPort;
|
||||
bool m_force;
|
||||
|
||||
MsgConfigureDSDDemod(int rfBandwidth,
|
||||
int fmDeviation,
|
||||
int demodGain,
|
||||
int volume,
|
||||
MsgConfigureDSDDemod(Real rfBandwidth,
|
||||
Real fmDeviation,
|
||||
Real demodGain,
|
||||
Real volume,
|
||||
int baudRate,
|
||||
int squelchGate,
|
||||
Real squelch,
|
||||
@ -266,8 +266,8 @@ private:
|
||||
qint64 m_inputFrequencyOffset;
|
||||
Real m_rfBandwidth;
|
||||
Real m_fmDeviation;
|
||||
int m_demodGain;
|
||||
int m_volume;
|
||||
Real m_demodGain;
|
||||
Real m_volume;
|
||||
int m_baudRate;
|
||||
int m_squelchGate;
|
||||
Real m_squelch;
|
||||
@ -288,8 +288,8 @@ private:
|
||||
m_inputFrequencyOffset(0),
|
||||
m_rfBandwidth(10000.0),
|
||||
m_fmDeviation(5000.0),
|
||||
m_demodGain(-1),
|
||||
m_volume(-1),
|
||||
m_demodGain(1.0),
|
||||
m_volume(1.0),
|
||||
m_baudRate(4800),
|
||||
m_squelchGate(1),
|
||||
m_squelch(0),
|
||||
|
@ -409,8 +409,8 @@ void DSDDemodGUI::applySettings(bool force)
|
||||
m_dsdDemod->configure(m_dsdDemod->getInputMessageQueue(),
|
||||
ui->rfBW->value() * 100.0,
|
||||
ui->fmDeviation->value() * 100.0,
|
||||
ui->demodGain->value(),
|
||||
ui->volume->value(),
|
||||
ui->demodGain->value() / 100.0,
|
||||
ui->volume->value() / 10.0,
|
||||
DSDDemodBaudRates::getRate(ui->baudRate->currentIndex()),
|
||||
ui->squelchGate->value(), // in 10ths of ms
|
||||
ui->squelch->value(),
|
||||
|
@ -33,10 +33,10 @@ void DSDDemodSettings::resetToDefaults()
|
||||
m_inputSampleRate = 96000;
|
||||
m_inputFrequencyOffset = 0;
|
||||
m_rfBandwidth = 10000.0;
|
||||
m_fmDeviation = 5000.0;
|
||||
m_demodGain = 1.0;
|
||||
m_volume = 1.0;
|
||||
m_baudRate = 4800;
|
||||
m_fmDeviation = 5000.0;
|
||||
m_squelchGate = 5; // 10s of ms at 48000 Hz sample rate. Corresponds to 2400 for AGC attack
|
||||
m_squelch = -30.0;
|
||||
m_audioMute = false;
|
||||
|
@ -26,10 +26,10 @@ struct DSDDemodSettings
|
||||
int m_inputSampleRate;
|
||||
qint64 m_inputFrequencyOffset;
|
||||
Real m_rfBandwidth;
|
||||
Real m_fmDeviation;
|
||||
Real m_demodGain;
|
||||
Real m_volume;
|
||||
int m_baudRate;
|
||||
Real m_fmDeviation;
|
||||
int m_squelchGate;
|
||||
Real m_squelch;
|
||||
bool m_audioMute;
|
||||
|
Loading…
Reference in New Issue
Block a user