mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-31 13:00:26 -04: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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user