Refactoring to use COMPLEX and REAL sample terms throughout

This commit is contained in:
dennis.sheirer
2014-10-31 13:58:20 +00:00
parent 34268f32b3
commit d34abdd2fa
50 changed files with 530 additions and 239 deletions

View File

@@ -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 );
}
/**

View File

@@ -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
}

View File

@@ -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 )
{

View File

@@ -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 )
{

View File

@@ -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
}

View File

@@ -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:

View File

@@ -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 )
{

View File

@@ -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
}

View File

@@ -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 )
{