Version 1.6.0 includes a new qdsync object to greatly simplify the frame synchronization process in liquid, allowing for both detection and channel impairment correction with a simplified interface. Additionally, code coverage has been increased to 85% across the entire project, with numerous bug fixes, stability improvements, and massive testing enhancements. From an "architectural" standpoint, objects have been migrated to use standard methods for consistency.
- build
- increased code coverage to 85% globally across entire project. This
is the single largest effort included in this version and touches
most modules in some way, most particularly the framing objects - cleaning build to remove compiler warnings (e.g. unused variables)
- stripped version number off archive
- increased code coverage to 85% globally across entire project. This
- dotprod
- added support for AVX512-F (thanks, @vankxr!)
- framing
- added numerous tests to increase coverage to 84%
- framesync64: using new qdsync object for simplified operation
- qdsync: new frame detector and synchronizer to much more easily
support frame processing. The object not only detects the frame, but
also provides an initial carrier frequency, phase, and timign offset,
and also corrects for these impairments, passing the results to the
user in a clean callback function.
- modem
- cpfskmod: increasing phase stability for long runs
- multichannel
- added numerous tests to increase coverage to 88%
- optim
- added numerous tests to increase coverage to 92%
- sequence
- msequence: extended support for state variables up to m=31, reversed
order for generator polynomial and internal state definition to be
more consistent with literature and readily-available genpolys
- msequence: extended support for state variables up to m=31, reversed