P25 - updated automatic and direct frequency control to cleanup the code and allow P25 to better track frequency and PPM changes in the tuner and provide a cleaner implementation of the AFC component in the processing chain of all of the other decoders.

Changed C4FM symbol filter to reset frequency tracking values when the tuner's frequency or PPM values change.

Moved all frequency control pieces into the source.tuner.frequency package.
This commit is contained in:
dennis.sheirer
2015-05-04 00:55:04 +00:00
parent d2020cdba0
commit bc5080aa4a
44 changed files with 533 additions and 337 deletions

View File

@@ -45,6 +45,9 @@ import source.wave.WaveSource.PositionListener;
import controller.ResourceManager;
import decode.Decoder;
import decode.DecoderType;
import decode.config.DecodeConfigLTRNet;
import decode.config.DecodeConfigMPT1327;
import decode.config.DecodeConfigPassport;
import decode.fleetsync2.Fleetsync2Decoder;
import decode.lj1200.LJ1200Decoder;
import decode.ltrnet.LTRNetDecoder;
@@ -185,16 +188,19 @@ public class AudioSourceFrame extends JInternalFrame implements PositionListener
decoder = new LJ1200Decoder( null );
break;
case LTR_NET:
decoder = new LTRNetDecoder( mSource.getSampleType(), null, MessageDirection.OSW );
decoder = new LTRNetDecoder( new DecodeConfigLTRNet(),
mSource.getSampleType(), null, MessageDirection.OSW );
break;
case MDC1200:
decoder = new MDCDecoder( null );
break;
case MPT1327:
decoder = new MPT1327Decoder( mSource.getSampleType(), null, Sync.NORMAL );
decoder = new MPT1327Decoder( new DecodeConfigMPT1327(),
mSource.getSampleType(), null, Sync.NORMAL );
break;
case PASSPORT:
decoder = new PassportDecoder( mSource.getSampleType(), null );
decoder = new PassportDecoder( new DecodeConfigPassport(),
mSource.getSampleType(), null );
break;
case P25_PHASE1:
ResourceManager rm = new ResourceManager();