Commit Graph

20 Commits

Author SHA1 Message Date
Bill Somerville
2131414791 Add reference spectrum to equalization plots and more plotting enhancements
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
2017-02-23 16:21:26 +00:00
Bill Somerville
cecc098924 First attempt at a UI phase compensation tool for MSK144
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
2017-02-21 02:13:13 +00:00
Steven Franke
e45f7eaf67 After measuring phase response, write pcoeff file to the data directory.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7551 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-22 03:20:46 +00:00
Steven Franke
c3d83a207a First steps to enable user control of phase calibration.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7504 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-15 21:43:40 +00:00
Steven Franke
077ac1d77b Progress toward SWL capability. Not finished and not tested.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7434 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-31 02:05:51 +00:00
Steven Franke
02a4cb95a4 Add an option on advanced time to enable MSK144 Rx filter equalizer. Other changes necessary to accommodate coexistence of static (Rx Filter) and dynamic (QSO partner-dependent) phase corrections.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7421 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-22 17:21:23 +00:00
Joe Taylor
33af88a41b Complete the implementation of MSK144 contest mode. Needs testing!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7393 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-17 21:18:47 +00:00
Steven Franke
fde606a912 Fix typo in hspec. Minor tweaks to comments in msk40decodeframe.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7204 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-19 20:31:18 +00:00
Joe Taylor
49b7ac8937 Commit the intended version of hspec.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7203 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-19 20:06:09 +00:00
Joe Taylor
d99cf93f8c Don't call mskrtd if 1st or 2nd half of the 7168 samples are all zero.
Also more UserGuide edits...


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7202 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-19 20:03:05 +00:00
Joe Taylor
bda40d5c5d Send MyCall, HisCall, and state of Sh checkbox to mskrtd, to enable MSK144 Sh messages with the realtime decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7150 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-04 14:01:02 +00:00
Joe Taylor
7664a29fb6 Minor code cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7117 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-29 14:46:12 +00:00
Steven Franke
4b9b6d8596 Wire up Fast/Normal/Deep decoding options for MSK144.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7114 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-28 22:13:07 +00:00
Joe Taylor
57a5ad188d Send ndepth (value = 1, 2, or 3) to hspec(). MSK144 click-to-decode now calls
the old fast_decode(); probably it should call hspec() instead?


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7113 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-28 20:41:41 +00:00
Steven Franke
f210e47cd5 MSK144:
1. Clean up mskrtd to remove unused variables.
2. Re-instate Rx frequency spinbox in MSK144 mode to allow decoding of off-frequency signals with small FTol. Make changes needed to pass Rx Freq in to fortran routines. 
3. Enable realtime decoder for testing. Auto sequence does not yet work when realtime decoding is enabled. There are probably other bugs as well.




git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7109 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-25 00:16:29 +00:00
Steven Franke
be0c4f15c1 More work on real time decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7105 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-22 00:03:44 +00:00
Joe Taylor
3b97ae7417 Implement real-time decoding in MSK144 mode, for testing.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7097 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-20 16:25:25 +00:00
Joe Taylor
6040d761c4 Too much spectral smoothing? Omit call to smo121.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7096 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-18 15:34:15 +00:00
Joe Taylor
b15e3aed04 when TRperiod < 30 s, expand the Fast Graph scale so full width is 15 s.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7089 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-16 14:18:40 +00:00
Bill Somerville
1a23757b26 Reintegrate merge from wsjtx_exp branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6122 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-18 01:28:12 +00:00