WP4000 - ch tool upgrade
ch is a C channel simulation tool. To simulate multipath channel is requires Doppler spreading samples. It currently uses float files of these samples generated by Octave "off line" at build time.
Add on the fly generation of Doppler samples
Use doppler_spread Octave code in freedv_low study, as this fixes some bugs
in current codec2/octave version.
Port Octave doppler_spread function to C. Will require run time generation of filter coeffs (see misc/rect_ft), or a fixed lowFs and fixed filter coeffs. Fixed lowFs might be OK for C.
Place C code in codec2_ch.[ch]. Part of move to a channel simulation library.
Write ctest that compares Octave and C version, e.g. same power spectrum for same input parameters. We wouldn't expect the time domain samples to be identical. Test doppler spectra for MPG, MPP, MPD.
Refactor ch to use on the fly Doppler sample generation.
Check that it can generate samples on the fly (in real time) with modest use of CPU on a typical laptop (few % of CPU).
Modify ctests to remove off line doppler spread sample generation