1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161

## Major improvements for v1.3.0 ##
* New MIT/X11 license (https://opensource.org/licenses/MIT)
* agc (automatic gain control)
 major code scrub, improved reliability, simplified interface
 blocklevel operation
* buffer
 new cbuffer objects for dynamicsized circular buffering
* channel
 new module to define certain channel emulation objects
 new functionality includes carrier frequency/phase offsets,
(timevarying) multipath, shadowing, and additive noise
* dotprod
 adding method to compute x^T * x of a vector (sum of squares)
* equalization
 improved interface for LMS and RLS equalizers
 simplified methods to support blind operation
* fec (forward error correctino)
 interleaver and packetizer moved from the framing to the fec module
 packetizer now includes data whitening
* fft (fast Fourier transform)
 general speed improvements for onedimensional FFTs
 completely reimplemented spgram (spectral periodogram) objects to
include both complex and realvalues amples with simpler interface
 reimplemented asgram (ASCII spectral periodogram) objects
* filter
 additional prototype create methods, block execution
 added new fftfilt family of objects to realize linear filter
with fast Fourier transforms
 interp family renamed to firinterp, new iirinterp family
 decim family renamed to firdecim, new iirdecim family
 add linear interpolation for arbitrary resamp output
 new multistage halfband resampler family
 symsync: improved stability, added rate adjustment to help pull in
sample rate offsets
 added autotests for validating performance of both the
resamp and msresamp objects
* framing
 added `framedatastats` object for counting statistics across different
framing objects (e.g. number of total bytes received)
 adding generic callback function definition for all framing
structures
 qpacketmodem: new object to easily combine modulating and encoding;
buffer of data in, modulated and encoded samples out
 qpilotgen/qpilotsync: new objects to add and synchronize pilot symbols
to modulated symbols to recover carrier frequency/phase, and gain
 framing objects: frame64, flexframe now use qpacketmodem, qpilotgen, and
qpilotsync objects for unified interface and vastly improved performance
 flexframe: vastly simplified interface
 qdetector: new family for predemodulator synchronizion and detection
 moved interleaver and packetizer objects to `fec` module
 symstream: new family for generating random stream of modulated samples
 msource: new family for generating multiple signals for a single source,
including tones, noise, modulated symbols
 symtrack: new family for tracking a stream of symbols and recovering
signal level, timing, carrier frequency/phase without pilots
* math
 new windowing methods (e.g. 7term Blackmanharris window)
* matrix
 adding smatrix family of objects (sparse matrices)
 improving linear solver methods (roughly doubled speed)
* modem
 reorganizing internal linear modem code (no interface change)
 freqmod/freqdem: new interface, blocklevel execution for analog FM
 cpfskmod/cpfskdem: new family for generic nonlinear continuousphase
frequencyshift modulation (e.g. minimumshift keying)
 fskmod/fskdem: new family for noncoherent frequencyshift keying
modulation, often with many samples per symbol (e.g. 256FSK)
* multicarrier
 adding OFDM framing option for window tapering
 simplfying OFDM framing for generating preamble symbols (all
generated OFDM symbols are the same length)
 adding runtime option for debugging ofdmframesync
 adding method for initializing subcarriers with frequency range
* nco (numericallycontrolled oscillator)
 general performance improvements, adding blocklevel execution
* optim
 gradsearch (gradient search) uses internal linesearch for
significant speed increase and better reliability
 gradsearch interface greatly simplified
* utility
 build no longer autogenerates tables at compile time (helps with cross
compilation)
* vector
 new module to simplify basic vector operations
* miscellany
 documentation moved from core repository to website
 global header file (`liquid.h`) include more structured source
 consistent naming of reset() methods for most objects
## Major improvements for v1.2.0 ##
* dotprod
 leveraging SIMD extensions for vector operations (SSE2, SSE3)
* fft
 completely restructured internal transform strategy including
CooleyTukey mixedradix algorithm, Rader algorithm for FFTs of
prime length, and specific codelets for smallsize transforms.
* math
 new modular arithmetic methods (prime factor, totient, etc.)
* modem
 new API creates linear modem objects with one argument, e.g.
LIQUID_MODEM_QAM16
 new type definitions for analog modems
## Major improvements for v1.1.0 ##
* build
 simplifying build environment by explicitly defining object
dependencies (no longer autogenerated; much faster now)
* documentation
 new tutorials (ofdmflexframe)
 sections on new objects/methods (msresamp, gmsk filter design,
softdecision demodulation)
 adding useful figures (polyfitlagrange, symsync)
 adding BER performance plots for new FEC schemes
 adding BER performance plots for sqam32 and sqam128
* agc
 fixing scaling issues
 improving computation speed
 simplifying interface with a single, unified design model
* equalization
 adding support for decisiondirected equalizers
* fec
 adding soft decoding (when available) for forward errorcorrection
schemes; generally improves performance by about 2 dB Eb/N0
 adding halfrate Golay(24,12) code
 adding SECDED codes: (22,16), (39,32), (72,64)
* filter
 firdes: adding Nyquist prototyping design method
 firdes: adding new GMSK receive filter design method
 interp: porting to efficient polyphase filterbank implementation,
adding prototype create() method
 adding multistage resampler for efficient decimation and
interpolation
* framing
 adding ofdmflexframe family of objects capable of defining which
subcarriers are nulls/pilots/data, and easily loading data into
frames. Very similar to 'flexframe' in usage.
 supporting soft packet decoding (interleaving, etc.)
 adding gmskframe generator and synchronizer object; simple,
reliable
* matrix
 adding Cholesky factorization A = R^T * R (for positive definite
matrices)
 adding conjugate gradient solver (for positive definite matrices)
* modem
 adding simple on/off keying (OOK) type
 adding 256APSK type (6,18,32,36,46,54,64)
 adding 'square' (cross) 32, 128QAM types
 adding 'optimal' 64, 128, and 256QAM constellations
 improved speed of most schemes' modulate/demodulate
implementations
 adding softdecision (loglikelihood ratio) demodulation
 adding GMSK modulation/demodulation with improved filter design
* multicarrier
 ofdmframe: improving synchronization and reliability in
interference environments, enabling squelch, improving
equalization
* optim
 simplified interface to gradient search
