Adding real cic decimator for testing in LTR FSK demodulator

This commit is contained in:
Denny Sheirer
2015-09-18 18:24:58 +00:00
parent ba41022853
commit f070510acc
5 changed files with 464 additions and 26 deletions

View File

@@ -1,11 +1,17 @@
package instrument.tap.stream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sample.Listener;
import sample.real.RealBuffer;
public class FloatBufferTap extends FloatTap implements Listener<RealBuffer>
{
private Listener<RealBuffer> mListener;
private final static Logger mLog =
LoggerFactory.getLogger( FloatBufferTap.class );
private Listener<RealBuffer> mRealBufferListener;
public FloatBufferTap( String name, int delay, float sampleRateRatio )
{
@@ -15,24 +21,26 @@ public class FloatBufferTap extends FloatTap implements Listener<RealBuffer>
@Override
public void receive( RealBuffer buffer )
{
if( mListener != null )
mLog.debug("Got a buffer!");
if( mRealBufferListener != null )
{
mListener.receive( buffer );
mRealBufferListener.receive( buffer );
}
for( float sample: buffer.getSamples() )
{
receive( sample );
mLog.debug("Sending a sample to the tap");
super.receive( sample );
}
}
public void setListener( Listener<RealBuffer> listener )
{
mListener = listener;
mRealBufferListener = listener;
}
public void removeListener( Listener<RealBuffer> listener )
{
mListener = null;
mRealBufferListener = null;
}
}

View File

@@ -23,7 +23,7 @@ import sample.real.RealSampleListener;
public class FloatTap extends StreamTap implements RealSampleListener
{
private RealSampleListener mListener;
private RealSampleListener mFloatTapListener;
public FloatTap( String name,
int delay,
@@ -35,9 +35,9 @@ public class FloatTap extends StreamTap implements RealSampleListener
@Override
public void receive( float sample )
{
if( mListener != null )
if( mFloatTapListener != null )
{
mListener.receive( sample );
mFloatTapListener.receive( sample );
}
for( TapListener listener: mListeners )
@@ -48,11 +48,11 @@ public class FloatTap extends StreamTap implements RealSampleListener
public void setListener( RealSampleListener listener )
{
mListener = listener;
mFloatTapListener = listener;
}
public void removeListener( RealSampleListener listener )
{
mListener = null;
mFloatTapListener = null;
}
}