public LJ1200Decoder(AliasList aliasList) { mDecimationFilter = new HalfBandFilter_RB_RB( Filters.FIR_HALF_BAND_31T_ONE_EIGHTH_FCO.getCoefficients(), 1.0f, true); mBandPassFilter = new RealFIRFilter_RB_RB(Filters.FIRBP_1200FSK_24000FS.getCoefficients(), 1.02f); mDecimationFilter.setListener(mBandPassFilter); mFSKDecoder = new FSK2Decoder(DECIMATED_SAMPLE_RATE, SYMBOL_RATE, Output.INVERTED); mBandPassFilter.setListener(mFSKDecoder); mFSKDecoder.setListener(mFSKDecoderBroadcaster); mTowerMessageFramer = new MessageFramer(SyncPattern.LJ1200.getPattern(), MESSAGE_LENGTH); mTransponderMessageFramer = new MessageFramer(SyncPattern.LJ1200_TRANSPONDER.getPattern(), MESSAGE_LENGTH); mFSKDecoderBroadcaster.addListener(mTowerMessageFramer); mFSKDecoderBroadcaster.addListener(mTransponderMessageFramer); mMessageProcessor = new LJ1200MessageProcessor(aliasList); mTowerMessageFramer.addMessageListener(mMessageProcessor); mTransponderMessageFramer.addMessageListener(mMessageProcessor); mMessageProcessor.setMessageListener(this); }
public void dispose() { super.dispose(); mDecimationFilter.dispose(); mBandPassFilter.dispose(); mFSKDecoder.dispose(); mTowerMessageFramer.dispose(); mMessageProcessor.dispose(); }
/** * Passport Decoder. Decodes unfiltered (e.g. demodulated but with no DC or audio filtering) * samples and produces Passport messages. */ public PassportDecoder(DecodeConfiguration config, AliasList aliasList) { mPassportFSKDecoder = new LTRFSKDecoder(); mPassportMessageFramer = new MessageFramer(SyncPattern.PASSPORT.getPattern(), PASSPORT_MESSAGE_LENGTH); mPassportFSKDecoder.addListener(mPassportMessageFramer); mPassportMessageProcessor = new PassportMessageProcessor(aliasList); mPassportMessageFramer.addMessageListener(mPassportMessageProcessor); mPassportMessageProcessor.setMessageListener(this); }
@Override public void reset() { mPassportMessageFramer.reset(); }