Use a header format for polynomial coefficients that includes the
valid X range in scaled terms and a count of the number of
coefficients.
Use double precision consistently for polynomial coefficients. This
includes formatting with sufficient DPs when writing to files.
Many changes to the equalization plots, more to come.
Add error handling for reading coefficient, plot and filter
files. This includes being backward compatible for old format
refspec.dat files with no header.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7578 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Moving towards some useful generic plotting templates.
Phase plots are now fixed to +/- Pi range and the phase axis is now in
units of Pi.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7575 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This builds on the static phase compensation in the MSK144 decoder and
the phase analysis and polynomial fitting capabilities also in teh
MSK144 decoder, by allowing captured data to be selected for phase
equalization from the WSJT-X UI.
Reads captured phase compensation curve estimate files containing
fitted polynomial coefficients and measured phase data from MSK144
receptions. Intent is to select a compensation curve that is from a
known transmitter like an SDR which have good phase linearity. Phase
plots and compensation polynomials may be viewed and compared with the
current compensation polynomial. A suitable polynomial can be applied
to be use in all further decoding of MSK144 signals.
Plots of the currently selected polynomial and its modified higher
order terms polynomial which is actually used in equalization (this
plot may be dropped - it is just for kicks at the moment). When a
captured phase analysis file is loaded plots of the measured phase and
the proposed best fit polynomial are shown.
Basic maintenance is also included allowing clearing and loading
captured plots and an option to revert to a flat no equalization
curve.
More to come on this as amplitude equalization is also possible, this
will probably be similar, maybe even plotted on the same graph with
dual axes for phase and amplitude. Amplitude correction from a
measured reference spectrum could be viewed and selected for
equalization for all modes. TBC...
This change also introduces the QCustomPlot 3rd party
widget. Currently this is statically linked from a qcp library built
by the WSJT-X CMake script. This will probably be migrated to a shared
object (DLL) build as a CMake external project, once some CMake script
re-factoring has been completed, which is more in line with the
QCustomPlot author's intentions. This will allow efficient reuse in
other tools shipped with WSJT-X.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7570 ab8295b8-cf94-4d9e-aec4-7959e3be5d79