mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 16:47:31 -05:00
Refactoring to use COMPLEX and REAL sample terms throughout
This commit is contained in:
@@ -24,8 +24,8 @@ import message.Message;
|
||||
import sample.Broadcaster;
|
||||
import sample.Listener;
|
||||
import sample.complex.ComplexSample;
|
||||
import sample.simplex.SimplexSampleBroadcaster;
|
||||
import sample.simplex.SimplexSampleListener;
|
||||
import sample.real.RealSampleBroadcaster;
|
||||
import sample.real.RealSampleListener;
|
||||
import source.Source.SampleType;
|
||||
import eventlog.MessageEventLogger;
|
||||
|
||||
@@ -33,7 +33,7 @@ public abstract class Decoder implements Listener<Message>
|
||||
{
|
||||
private MessageEventLogger mEventLogger;
|
||||
private Broadcaster<Message> mMessageBroadcaster = new Broadcaster<Message>();
|
||||
private SimplexSampleBroadcaster mSimplexBroadcaster = new SimplexSampleBroadcaster();
|
||||
private RealSampleBroadcaster mRealBroadcaster = new RealSampleBroadcaster();
|
||||
private Broadcaster<ComplexSample> mComplexBroadcaster =
|
||||
new Broadcaster<ComplexSample>();
|
||||
|
||||
@@ -43,11 +43,11 @@ public abstract class Decoder implements Listener<Message>
|
||||
/**
|
||||
* Abstract decoder class.
|
||||
*
|
||||
* @param sampleType - complex (I/Q) or simplex (demodulated) sample type.
|
||||
* @param sampleType - complex (I/Q) or real (demodulated) sample type.
|
||||
* Each decoder instance will be configured to receive either complex or
|
||||
* simplex samples. When configured to receive complex samples, the
|
||||
* real samples. When configured to receive complex samples, the
|
||||
* decoder will implement a demodulator component and feed the output from
|
||||
* that demodulator back onto itself via the simplex sample interface, so
|
||||
* that demodulator back onto itself via the real sample interface, so
|
||||
* that any added auxiliary decoders will then receive the demodulated
|
||||
* output stream.
|
||||
*/
|
||||
@@ -57,12 +57,12 @@ public abstract class Decoder implements Listener<Message>
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a simplex (ie demodulated) sample listener interface for
|
||||
* connecting this decoder to a simplex sample stream provider
|
||||
* Returns a real (ie demodulated) sample listener interface for
|
||||
* connecting this decoder to a real sample stream provider
|
||||
*/
|
||||
public SimplexSampleListener getSimplexReceiver()
|
||||
public RealSampleListener getRealReceiver()
|
||||
{
|
||||
return mSimplexBroadcaster;
|
||||
return mRealBroadcaster;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -93,7 +93,7 @@ public abstract class Decoder implements Listener<Message>
|
||||
|
||||
mMessageBroadcaster.clear();
|
||||
mComplexBroadcaster.clear();
|
||||
mSimplexBroadcaster.clear();
|
||||
mRealBroadcaster.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -111,7 +111,7 @@ public abstract class Decoder implements Listener<Message>
|
||||
public void addAuxiliaryDecoder( Decoder decoder )
|
||||
{
|
||||
mAuxiliaryDecoders.add( decoder );
|
||||
mSimplexBroadcaster.addListener( decoder.getSimplexReceiver() );
|
||||
mRealBroadcaster.addListener( decoder.getRealReceiver() );
|
||||
decoder.addMessageListener( this );
|
||||
}
|
||||
|
||||
@@ -179,24 +179,24 @@ public abstract class Decoder implements Listener<Message>
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a simplex sample listener to receive unfiltered demodulated samples
|
||||
* Adds a real sample listener to receive unfiltered demodulated samples
|
||||
*/
|
||||
public abstract void addUnfilteredSimplexSampleListener( SimplexSampleListener listener );
|
||||
public abstract void addUnfilteredRealSampleListener( RealSampleListener listener );
|
||||
|
||||
/**
|
||||
* Adds a simplex sample listener to receive demodulated samples
|
||||
* Adds a real sample listener to receive demodulated samples
|
||||
*/
|
||||
public void addSimplexSampleListener( SimplexSampleListener listener )
|
||||
public void addRealSampleListener( RealSampleListener listener )
|
||||
{
|
||||
mSimplexBroadcaster.addListener( listener );
|
||||
mRealBroadcaster.addListener( listener );
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the simplex sample listener from receiving demodulated samples
|
||||
* Remove the real sample listener from receiving demodulated samples
|
||||
*/
|
||||
public void removeSimplexListener( SimplexSampleListener listener )
|
||||
public void removeRealListener( RealSampleListener listener )
|
||||
{
|
||||
mSimplexBroadcaster.removeListener( listener );
|
||||
mRealBroadcaster.removeListener( listener );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -26,7 +26,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import sample.Listener;
|
||||
import sample.simplex.SimplexSampleListener;
|
||||
import sample.real.RealSampleListener;
|
||||
import source.Source.SampleType;
|
||||
import alias.AliasList;
|
||||
import bits.MessageFramer;
|
||||
@@ -72,11 +72,11 @@ public class Fleetsync2Decoder extends Decoder implements Instrumentable
|
||||
|
||||
public Fleetsync2Decoder( AliasList aliasList )
|
||||
{
|
||||
super( SampleType.FLOAT );
|
||||
super( SampleType.REAL );
|
||||
|
||||
mDecimationFilter = new FloatHalfBandFilter(
|
||||
Filters.FIR_HALF_BAND_31T_ONE_EIGHTH_FCO, 1.0002 );
|
||||
addSimplexSampleListener( mDecimationFilter );
|
||||
addRealSampleListener( mDecimationFilter );
|
||||
|
||||
mBandPassFilter = new FloatFIRFilter(
|
||||
Filters.FIRBP_1200FSK_24000FS.getCoefficients(), 1.02 );
|
||||
@@ -116,9 +116,9 @@ public class Fleetsync2Decoder extends Decoder implements Instrumentable
|
||||
* Returns a float listener interface for connecting this decoder to a
|
||||
* float stream provider
|
||||
*/
|
||||
public SimplexSampleListener getSimplexReceiver()
|
||||
public RealSampleListener getRealReceiver()
|
||||
{
|
||||
return (SimplexSampleListener)mDecimationFilter;
|
||||
return (RealSampleListener)mDecimationFilter;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -148,7 +148,7 @@ public class Fleetsync2Decoder extends Decoder implements Instrumentable
|
||||
{
|
||||
case INSTRUMENT_INPUT:
|
||||
FloatTap inputTap = (FloatTap)tap;
|
||||
addSimplexSampleListener( inputTap );
|
||||
addRealSampleListener( inputTap );
|
||||
break;
|
||||
case INSTRUMENT_BANDPASS_FILTER_TO_FSK2_DEMOD:
|
||||
FloatTap bpTap = (FloatTap)tap;
|
||||
@@ -172,7 +172,7 @@ public class Fleetsync2Decoder extends Decoder implements Instrumentable
|
||||
{
|
||||
case INSTRUMENT_INPUT:
|
||||
FloatTap inputTap = (FloatTap)tap;
|
||||
removeSimplexListener( inputTap );
|
||||
removeRealListener( inputTap );
|
||||
break;
|
||||
case INSTRUMENT_BANDPASS_FILTER_TO_FSK2_DEMOD:
|
||||
mBandPassFilter.setListener( mFSKDecoder );
|
||||
@@ -184,7 +184,7 @@ public class Fleetsync2Decoder extends Decoder implements Instrumentable
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addUnfilteredSimplexSampleListener( SimplexSampleListener listener )
|
||||
public void addUnfilteredRealSampleListener( RealSampleListener listener )
|
||||
{
|
||||
//Not implemented
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import message.MessageDirection;
|
||||
import sample.simplex.SimplexSampleListener;
|
||||
import sample.real.RealSampleListener;
|
||||
import source.Source.SampleType;
|
||||
import alias.AliasList;
|
||||
import bits.MessageFramer;
|
||||
@@ -81,7 +81,7 @@ public class LTRNetDecoder extends Decoder implements Instrumentable
|
||||
mDCRemovalFilter = new DCRemovalFilter2( sDC_REMOVAL_RATIO );
|
||||
mDemodulator.addListener( mDCRemovalFilter );
|
||||
|
||||
mDCRemovalFilter.setListener( this.getSimplexReceiver() );
|
||||
mDCRemovalFilter.setListener( this.getRealReceiver() );
|
||||
}
|
||||
|
||||
mLTRFSKDecoder = new LTRFSKDecoder();
|
||||
@@ -96,7 +96,7 @@ public class LTRNetDecoder extends Decoder implements Instrumentable
|
||||
}
|
||||
else
|
||||
{
|
||||
this.addSimplexSampleListener( mLTRFSKDecoder );
|
||||
this.addRealSampleListener( mLTRFSKDecoder );
|
||||
}
|
||||
|
||||
if( direction == MessageDirection.OSW )
|
||||
@@ -151,7 +151,7 @@ public class LTRNetDecoder extends Decoder implements Instrumentable
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addUnfilteredSimplexSampleListener( SimplexSampleListener listener )
|
||||
public void addUnfilteredRealSampleListener( RealSampleListener listener )
|
||||
{
|
||||
if( mDemodulator != null )
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
package decode.ltrstandard;
|
||||
|
||||
import message.MessageDirection;
|
||||
import sample.simplex.SimplexSampleListener;
|
||||
import sample.real.RealSampleListener;
|
||||
import source.Source.SampleType;
|
||||
import alias.AliasList;
|
||||
import bits.MessageFramer;
|
||||
@@ -73,7 +73,7 @@ public class LTRStandardDecoder extends Decoder
|
||||
mDCRemovalFilter = new DCRemovalFilter2( sDC_REMOVAL_RATIO );
|
||||
mDemodulator.addListener( mDCRemovalFilter );
|
||||
|
||||
mDCRemovalFilter.setListener( this.getSimplexReceiver() );
|
||||
mDCRemovalFilter.setListener( this.getRealReceiver() );
|
||||
}
|
||||
|
||||
mLTRFSKDecoder = new LTRFSKDecoder();
|
||||
@@ -88,7 +88,7 @@ public class LTRStandardDecoder extends Decoder
|
||||
}
|
||||
else
|
||||
{
|
||||
this.addSimplexSampleListener( mLTRFSKDecoder );
|
||||
this.addRealSampleListener( mLTRFSKDecoder );
|
||||
}
|
||||
|
||||
if( direction == MessageDirection.OSW )
|
||||
@@ -118,7 +118,7 @@ public class LTRStandardDecoder extends Decoder
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addUnfilteredSimplexSampleListener( SimplexSampleListener listener )
|
||||
public void addUnfilteredRealSampleListener( RealSampleListener listener )
|
||||
{
|
||||
if( mDemodulator != null )
|
||||
{
|
||||
|
||||
@@ -25,7 +25,7 @@ import instrument.tap.stream.FloatTap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import sample.simplex.SimplexSampleListener;
|
||||
import sample.real.RealSampleListener;
|
||||
import source.Source.SampleType;
|
||||
import alias.AliasList;
|
||||
import bits.MessageFramer;
|
||||
@@ -74,12 +74,12 @@ public class MDCDecoder extends Decoder implements Instrumentable
|
||||
|
||||
public MDCDecoder( AliasList aliasList )
|
||||
{
|
||||
super( SampleType.FLOAT );
|
||||
super( SampleType.REAL );
|
||||
|
||||
/* Decimation filter: 48000 / 2 = 24000 */
|
||||
mDecimationFilter = new FloatHalfBandFilter(
|
||||
Filters.FIR_HALF_BAND_31T_ONE_EIGHTH_FCO, 1.0002 );
|
||||
addSimplexSampleListener( mDecimationFilter );
|
||||
addRealSampleListener( mDecimationFilter );
|
||||
|
||||
/* Bandpass filter - predefined */
|
||||
mBandPassFilter = new FloatFIRFilter(
|
||||
@@ -154,7 +154,7 @@ public class MDCDecoder extends Decoder implements Instrumentable
|
||||
switch( tap.getName() )
|
||||
{
|
||||
case INSTRUMENT_INPUT:
|
||||
addSimplexSampleListener( (FloatTap)tap );
|
||||
addRealSampleListener( (FloatTap)tap );
|
||||
break;
|
||||
case INSTRUMENT_BANDPASS_FILTER_TO_FSK2_DEMOD:
|
||||
/* wire the tap between the bandpass filter and the demod */
|
||||
@@ -186,7 +186,7 @@ public class MDCDecoder extends Decoder implements Instrumentable
|
||||
switch( tap.getName() )
|
||||
{
|
||||
case INSTRUMENT_INPUT:
|
||||
removeSimplexListener( (FloatTap)tap );
|
||||
removeRealListener( (FloatTap)tap );
|
||||
break;
|
||||
case INSTRUMENT_BANDPASS_FILTER_TO_FSK2_DEMOD:
|
||||
mBandPassFilter.setListener( mFSKDecoder );
|
||||
@@ -202,7 +202,7 @@ public class MDCDecoder extends Decoder implements Instrumentable
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addUnfilteredSimplexSampleListener( SimplexSampleListener listener )
|
||||
public void addUnfilteredRealSampleListener( RealSampleListener listener )
|
||||
{
|
||||
//Not implemented
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import sample.Broadcaster;
|
||||
import sample.simplex.SimplexSampleListener;
|
||||
import sample.real.RealSampleListener;
|
||||
import source.Source.SampleType;
|
||||
import alias.AliasList;
|
||||
import bits.MessageFramer;
|
||||
@@ -106,7 +106,7 @@ public class MPT1327Decoder extends Decoder implements Instrumentable
|
||||
if( mNBFMDemodulator != null )
|
||||
{
|
||||
mNBFMDemodulator.addListener( mDCRemovalFilter );
|
||||
mDCRemovalFilter.setListener( this.getSimplexReceiver() );
|
||||
mDCRemovalFilter.setListener( this.getRealReceiver() );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ public class MPT1327Decoder extends Decoder implements Instrumentable
|
||||
/* Decimation filter - 48000 / 2 = 24000 output */
|
||||
mDecimationFilter = new FloatHalfBandFilter(
|
||||
Filters.FIR_HALF_BAND_31T_ONE_EIGHTH_FCO, 1.0002 );
|
||||
addSimplexSampleListener( mDecimationFilter );
|
||||
addRealSampleListener( mDecimationFilter );
|
||||
|
||||
/* Low pass filter: 2kHz to pass the 1200 & 1800 Hz FSK */
|
||||
mLowPassFilter = new FloatFIRFilter(
|
||||
@@ -169,7 +169,7 @@ public class MPT1327Decoder extends Decoder implements Instrumentable
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addUnfilteredSimplexSampleListener( SimplexSampleListener listener )
|
||||
public void addUnfilteredRealSampleListener( RealSampleListener listener )
|
||||
{
|
||||
if( mNBFMDemodulator != null )
|
||||
{
|
||||
@@ -256,7 +256,7 @@ public class MPT1327Decoder extends Decoder implements Instrumentable
|
||||
}
|
||||
else
|
||||
{
|
||||
addSimplexSampleListener( inputTap );
|
||||
addRealSampleListener( inputTap );
|
||||
}
|
||||
break;
|
||||
case INSTRUMENT_HB1_FILTER_TO_LOW_PASS:
|
||||
@@ -292,7 +292,7 @@ public class MPT1327Decoder extends Decoder implements Instrumentable
|
||||
}
|
||||
else
|
||||
{
|
||||
removeSimplexListener( inputTap );
|
||||
removeRealListener( inputTap );
|
||||
}
|
||||
break;
|
||||
case INSTRUMENT_HB1_FILTER_TO_LOW_PASS:
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
******************************************************************************/
|
||||
package decode.nbfm;
|
||||
|
||||
import sample.simplex.SimplexSampleListener;
|
||||
import sample.real.RealSampleListener;
|
||||
import source.Source.SampleType;
|
||||
import decode.Decoder;
|
||||
import decode.DecoderType;
|
||||
@@ -66,7 +66,7 @@ public class NBFMConventionalDecoder extends Decoder
|
||||
* Route the demodulated, filtered samples back to this class to send
|
||||
* to all registered listeners
|
||||
*/
|
||||
mDCRemovalFilter.setListener( this.getSimplexReceiver() );
|
||||
mDCRemovalFilter.setListener( this.getRealReceiver() );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ public class NBFMConventionalDecoder extends Decoder
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addUnfilteredSimplexSampleListener( SimplexSampleListener listener )
|
||||
public void addUnfilteredRealSampleListener( RealSampleListener listener )
|
||||
{
|
||||
if( mDemodulator != null )
|
||||
{
|
||||
|
||||
@@ -24,7 +24,7 @@ import instrument.tap.stream.FloatTap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import sample.simplex.SimplexSampleListener;
|
||||
import sample.real.RealSampleListener;
|
||||
import source.Source.SampleType;
|
||||
import alias.AliasList;
|
||||
import decode.Decoder;
|
||||
@@ -83,12 +83,12 @@ public class P25Decoder extends Decoder implements Instrumentable
|
||||
* Route the demodulated, filtered samples back to this class to send
|
||||
* to all registered listeners
|
||||
*/
|
||||
mDCRemovalFilter.setListener( this.getSimplexReceiver() );
|
||||
mDCRemovalFilter.setListener( this.getRealReceiver() );
|
||||
|
||||
}
|
||||
|
||||
mC4FMDecoder = new C4FMDecoder();
|
||||
addSimplexSampleListener( mC4FMDecoder );
|
||||
addRealSampleListener( mC4FMDecoder );
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -120,8 +120,8 @@ public class P25Decoder extends Decoder implements Instrumentable
|
||||
{
|
||||
case TAP_DEMOD_TO_DECODER:
|
||||
FloatTap demodTap = (FloatTap)tap;
|
||||
removeSimplexListener( mC4FMDecoder );
|
||||
addSimplexSampleListener( demodTap );
|
||||
removeRealListener( mC4FMDecoder );
|
||||
addRealSampleListener( demodTap );
|
||||
demodTap.setListener( mC4FMDecoder );
|
||||
break;
|
||||
}
|
||||
@@ -136,15 +136,15 @@ public class P25Decoder extends Decoder implements Instrumentable
|
||||
{
|
||||
case TAP_DEMOD_TO_DECODER:
|
||||
FloatTap demodTap = (FloatTap)tap;
|
||||
removeSimplexListener( demodTap );
|
||||
removeRealListener( demodTap );
|
||||
demodTap.removeListener( mC4FMDecoder );
|
||||
addSimplexSampleListener( mC4FMDecoder );
|
||||
addRealSampleListener( mC4FMDecoder );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addUnfilteredSimplexSampleListener( SimplexSampleListener listener )
|
||||
public void addUnfilteredRealSampleListener( RealSampleListener listener )
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ import instrument.tap.Tap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import sample.simplex.SimplexSampleListener;
|
||||
import sample.real.RealSampleListener;
|
||||
import source.Source.SampleType;
|
||||
import alias.AliasList;
|
||||
import bits.MessageFramer;
|
||||
@@ -78,7 +78,7 @@ public class PassportDecoder extends Decoder implements Instrumentable
|
||||
*/
|
||||
mDCRemovalFilter = new DCRemovalFilter2( sDC_REMOVAL_RATIO );
|
||||
mNBFMDemodulator.addListener( mDCRemovalFilter );
|
||||
mDCRemovalFilter.setListener( this.getSimplexReceiver() );
|
||||
mDCRemovalFilter.setListener( this.getRealReceiver() );
|
||||
}
|
||||
|
||||
mPassportFSKDecoder =
|
||||
@@ -94,7 +94,7 @@ public class PassportDecoder extends Decoder implements Instrumentable
|
||||
}
|
||||
else
|
||||
{
|
||||
addSimplexSampleListener( mPassportFSKDecoder );
|
||||
addRealSampleListener( mPassportFSKDecoder );
|
||||
}
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ public class PassportDecoder extends Decoder implements Instrumentable
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addUnfilteredSimplexSampleListener( SimplexSampleListener listener )
|
||||
public void addUnfilteredRealSampleListener( RealSampleListener listener )
|
||||
{
|
||||
if( mNBFMDemodulator != null )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user