mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-11-03 21:20:31 -05:00 
			
		
		
		
	Tried to fix NFM squelch again
This commit is contained in:
		
							parent
							
								
									f97671ae93
								
							
						
					
					
						commit
						c4ad938083
					
				@ -22,6 +22,7 @@ public:
 | 
			
		||||
	Real getValue();
 | 
			
		||||
	Real getDelayedValue();
 | 
			
		||||
	virtual void feed(Complex& ci) = 0;
 | 
			
		||||
	virtual Real returnedDelayedValue() const = 0;
 | 
			
		||||
	void openedSquelch();
 | 
			
		||||
	void closedSquelch();
 | 
			
		||||
 | 
			
		||||
@ -41,6 +42,7 @@ public:
 | 
			
		||||
	MagSquaredAGC(int historySize, Real R);
 | 
			
		||||
	virtual ~MagSquaredAGC();
 | 
			
		||||
	virtual void feed(Complex& ci);
 | 
			
		||||
	virtual Real returnedDelayedValue() const { return m_u0; }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class MagAGC : public AGC
 | 
			
		||||
@ -50,6 +52,7 @@ public:
 | 
			
		||||
	MagAGC(int historySize, Real R);
 | 
			
		||||
	virtual ~MagAGC();
 | 
			
		||||
	virtual void feed(Complex& ci);
 | 
			
		||||
	virtual Real returnedDelayedValue() const { return m_u0; }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class AlphaAGC : public AGC
 | 
			
		||||
@ -61,6 +64,7 @@ public:
 | 
			
		||||
	virtual ~AlphaAGC();
 | 
			
		||||
    void resize(int historySize, Real R, Real alpha);
 | 
			
		||||
	virtual void feed(Complex& ci);
 | 
			
		||||
	virtual Real returnedDelayedValue() const { return 1; }
 | 
			
		||||
	void openedSquelch();
 | 
			
		||||
	void closedSquelch();
 | 
			
		||||
private:
 | 
			
		||||
 | 
			
		||||
@ -26,7 +26,7 @@
 | 
			
		||||
#include "dsp/pidcontroller.h"
 | 
			
		||||
#include "dsp/dspengine.h"
 | 
			
		||||
 | 
			
		||||
static const Real afSqTones[2] = {1200.0, 8000.0}; // {1200.0, 8000.0};
 | 
			
		||||
static const Real afSqTones[2] = {1200.0, 6000.0}; // {1200.0, 8000.0};
 | 
			
		||||
 | 
			
		||||
MESSAGE_CLASS_DEFINITION(NFMDemod::MsgConfigureNFMDemod, Message)
 | 
			
		||||
 | 
			
		||||
@ -218,7 +218,7 @@ void NFMDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
 | 
			
		||||
					{
 | 
			
		||||
						demod = m_bandpass.filter(demod);
 | 
			
		||||
						demod *= m_running.m_volume;
 | 
			
		||||
						sample = demod * ((1<<19)/301) * m_AGC.getDelayedValue(); // denominator = bandpass filter number of taps
 | 
			
		||||
						sample = demod * ((1<<18)/301) * m_AGC.getDelayedValue(); // denominator = bandpass filter number of taps
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					m_AGC.openedSquelch();
 | 
			
		||||
 | 
			
		||||
@ -48,7 +48,7 @@ Real AGC::getDelayedValue()
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		return 1;
 | 
			
		||||
		return returnedDelayedValue();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user