public Fleetsync2Decoder() : base(Source.SampleType.REAL)
        {
            mDecimationFilter = new DSP.Filter.FloatHalfBandFilter(DSP.Filter.FilterType.FIR_HALF_BAND_31T_ONE_EIGHTH_FCO, 1.0002);
            addRealSampleListener(mDecimationFilter);

            mBandPassFilter = new FloatFIRFilter(DSP.Filter.FilterTypeCoefficients.GetFilterCoefficients(DSP.Filter.FilterType.FIRBP_1200FSK_24000FS), 1.02);
            mDecimationFilter.setListener(mBandPassFilter);

            mFSKDecoder = new DSP.FSK.FSK2Decoder.FSK2Decoder(sDECIMATED_SAMPLE_RATE, sSYMBOL_RATE, DSP.FSK.FSK2Decoder.Output.INVERTED);
            mBandPassFilter.setListener(mFSKDecoder);

            mMessageFramer = new Message.MessageFramer(SyncPattern.FLEETSYNC2.getPattern(), sMESSAGE_LENGTH);
            mFSKDecoder.setListener(mMessageFramer);

            mMessageProcessor = new Fleetsync2MessageProcessor(aliasList);
            mMessageFramer.addMessageListener(mMessageProcessor);
            mMessageProcessor.addMessageListener(this);
        }
Beispiel #2
0
        public Fleetsync2Decoder(int sampleRate)
            : base(SampleType.REAL)
        {
            mDecimationFilter = new DSP.Filter.FloatHalfBandFilter(DSP.Filter.Filters.FIR_HALF_BAND_31T_ONE_EIGHTH_FCO, 1.0002);
            addRealSampleListener(mDecimationFilter);

            mBandPassFilter = new DSP.Filter.FloatFIRFilter(DSP.Filter.FilterCoefficientHelper.getCoefficients(DSP.Filter.Filters.FIRBP_1200FSK_24000FS), 1.02);
            mDecimationFilter.SetOutputListener(mBandPassFilter);

            //mFSKDecoder = new DSP.FSK.FSK2Decoder(sDECIMATED_SAMPLE_RATE, sSYMBOL_RATE, Output.INVERTED);
            mFSKDecoder = new DSP.FSK.FSK2Decoder(sampleRate, sSYMBOL_RATE, Output.INVERTED);
            mBandPassFilter.SetOutputListener(mFSKDecoder);

            mMessageFramer = new Bits.MessageFramer(Bits.SyncPatternHelper.getPattern(Bits.SyncPattern.FLEETSYNC2), sMESSAGE_LENGTH);
            mFSKDecoder.SetOutputListener(mMessageFramer);

            mMessageProcessor = new Fleetsync2.Fleetsync2MessageProcessor();
            mMessageFramer.addMessageListener(mMessageProcessor);
            mMessageProcessor.addMessageListener(this);
        }
        public Fleetsync2Decoder(int sampleRate)
            : base(SampleType.REAL)
        {
            mDecimationFilter = new DSP.Filter.FloatHalfBandFilter(DSP.Filter.Filters.FIR_HALF_BAND_31T_ONE_EIGHTH_FCO, 1.0002);
            addRealSampleListener(mDecimationFilter);

            mBandPassFilter = new DSP.Filter.FloatFIRFilter(DSP.Filter.FilterCoefficientHelper.getCoefficients(DSP.Filter.Filters.FIRBP_1200FSK_24000FS), 1.02);
            mDecimationFilter.SetOutputListener(mBandPassFilter);

            //mFSKDecoder = new DSP.FSK.FSK2Decoder(sDECIMATED_SAMPLE_RATE, sSYMBOL_RATE, Output.INVERTED);
            mFSKDecoder = new DSP.FSK.FSK2Decoder(sampleRate, sSYMBOL_RATE, Output.INVERTED);
            mBandPassFilter.SetOutputListener(mFSKDecoder);

            mMessageFramer = new Bits.MessageFramer(Bits.SyncPatternHelper.getPattern(Bits.SyncPattern.FLEETSYNC2), sMESSAGE_LENGTH);
            mFSKDecoder.SetOutputListener(mMessageFramer);

            mMessageProcessor = new Fleetsync2.Fleetsync2MessageProcessor();
            mMessageFramer.addMessageListener(mMessageProcessor);
            mMessageProcessor.addMessageListener(this);
        }