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.
The CQPSK decoder is starting to take shape, but needs more tweaking and testing. It's not keeping a good lock on strong P25 signals. I have to add some more features to the intrumentation package to allow me to visualize the internals of the CQPSK decoder so that I can get a better sense of what needs fine tuning.
The CQPSK decoder may work for anyone that wants to sync the repo and run the build script.
Converted to use float primitives and to keep samples in buffer format until the sample rate is decimated to 48kHz.
Added new non-recursive, CIC decimation filter -- untested
Updated sound card/mixer input source management. Now testing for mono/stereo support for each card and limiting channel choices accordingly. Separated the mixersource into a ComplexMixer and and SimplexMixerSource. The ComplexMixer is used for sound card based tuners like the funcube. The SimplexMixerSource is used for demodulated sound card inputs.
Interfaces for sample handling - standardized on using 'Complex' to indicate I/Q samples and 'Simplex' to indicate demodulated float samples. The processing chain now accepts either a decimated (48k) list of complex samples from a tuner channel source, or a 48k simplex buffer (array of demodulated float samples).
Resolved issue with HackRF tuner not applying tuner configuration information.