Commit Graph

295 Commits

Author SHA1 Message Date
Joe Taylor 0cc67bbc59 Separate accumulations of odd/even sequences in s1a. Still need to fix navg ==> navg(0:1). 2021-01-19 15:30:17 -05:00
Joe Taylor 39024253d2 Fix the oddball values of DT and f0 sometimes being displayed. 2021-01-19 14:11:21 -05:00
Joe Taylor d815eb7592 Replace the 'nsmo' smoothing: it is indeed useful, sometimes. (Can we have it both ways?) 2021-01-19 09:24:30 -05:00
Joe Taylor baa029f4ba Add some descriptive documentation to the q65.f90 module. 2021-01-18 10:18:38 -05:00
Joe Taylor 2aee8d9d62 Resize s1a when required. 2021-01-17 14:31:56 -05:00
Joe Taylor a53b3dc697 Computing 2d ccf over all freqs takes too long and too much memory. There's a better way! Remove the 'nsmo' smoothing: it's not helpful. 2021-01-16 14:18:15 -05:00
Joe Taylor 20aa3a8e23 Fix ia2 definition. 2021-01-16 12:24:42 -05:00
Joe Taylor 397c31a62d Extend red/orange sync curves to full width. Display navg on status bar. 2021-01-16 12:21:13 -05:00
Joe Taylor b343deb8cd Correct a problem with reporting DT and f0 for Q65 'q3' decodes. 2021-01-16 10:21:34 -05:00
Joe Taylor ada5a60124 All types of Q65 message averaging are now implemented and functional. 2021-01-15 12:40:38 -05:00
Joe Taylor 70a3481a4f Improved organization for obtaining 'q3n' decodes. 2021-01-14 15:39:48 -05:00
Joe Taylor cbb939453f Code cleanup. 2021-01-14 15:19:33 -05:00
Joe Taylor 921831119c Message averaging now working for 'q3n' decodes. 2021-01-14 14:56:37 -05:00
Joe Taylor fca6d482f7 Radionalize the reporting of idec values. 2021-01-14 13:13:40 -05:00
Joe Taylor 0abdff0216 Clean up the usage of q65_dec_q3, q65_ccf_85, and q65_ccf_22. 2021-01-14 10:58:11 -05:00
Joe Taylor e0d6e362e8 Make separate sync subroutines q65_ccf_85() (all 85 symbols) and q65_ccf_22() (sync symbols only). 2021-01-14 10:43:50 -05:00
Joe Taylor 32a9f0bc31 Move more variables into public q65 module space. 2021-01-14 10:25:35 -05:00
Joe Taylor f0808942e5 Move q65_dec0 into q65 module. 2021-01-13 14:50:07 -05:00
Joe Taylor bfca40aa1c Rename q65_sync to q65_dec0. 2021-01-13 14:34:20 -05:00
Joe Taylor 0922a6ca6e Fix several undefined variables. 2021-01-13 14:23:50 -05:00
Joe Taylor 80a7b8c8af More into q65 module. 2021-01-13 11:44:29 -05:00
Joe Taylor f05654e19d More into q65 module. 2021-01-13 11:38:49 -05:00
Joe Taylor a5a1eed681 More into q65 module. 2021-01-13 11:29:33 -05:00
Joe Taylor 18100fd259 More into q65 module. 2021-01-13 11:21:59 -05:00
Joe Taylor df8ad7a8d9 More into q65 module. 2021-01-13 11:07:20 -05:00
Joe Taylor 201004a47d Move more into q65 module. 2021-01-13 10:55:01 -05:00
Joe Taylor dc4c3e87eb Move more things into q65 module. 2021-01-13 10:44:19 -05:00
Joe Taylor 71385aa20a Move some variables into the q65 module. 2021-01-13 10:23:38 -05:00
Joe Taylor daed54db2d Remove unused routines q65_avg() and q65_avg2(). 2021-01-13 09:52:00 -05:00
Joe Taylor 304ca4a55d Move some routines into the module q65.f90. 2021-01-13 09:46:14 -05:00
Joe Taylor 98a52accbb More refactoring of Q65 decoder. 2021-01-12 15:42:24 -05:00
Joe Taylor c9ce452500 Code cleanup. 2021-01-12 14:42:00 -05:00
Joe Taylor 60a053aa94 Working toward some new, separate, Q65 subroutines. 2021-01-12 14:34:41 -05:00
Joe Taylor a75037d053 Accumulate the symbol spectra s1() in array s1a(). 2021-01-12 13:41:39 -05:00
Joe Taylor 63beab393b Compute s1() in a separate subroutine, q65_symspec.f90. 2021-01-12 11:39:26 -05:00
Joe Taylor ef478717ea Don't forget to do something about nsmo = ??. 2021-01-12 08:18:17 -05:00
Joe Taylor cc2ca0f7e7 Fix an "off by one" times mode_q65 error, and some code cleanup. 2021-01-11 15:09:47 -05:00
Joe Taylor fe1aefe93a More code cleanup for module q65.f90. 2021-01-10 16:30:07 -05:00
Joe Taylor e8ba69099a Re-organize module q65.f90. Can still be improved! 2021-01-09 19:58:34 -05:00
Joe Taylor 146ca19b97 Add some additional calls to timer(). 2021-01-09 11:02:54 -05:00
Joe Taylor 57b6b2dca1 Set the "b90" search range once (in q65_decocd.f90) and share valies through q65.mod. 2021-01-08 09:42:07 -05:00
Joe Taylor f003ae653c Silence compiler warning. 2021-01-07 12:00:11 -05:00
Joe Taylor 5b0975bf45 Correct several flaws in message averaging. Still may want to handle MAXAVE better? 2021-01-07 11:13:43 -05:00
Joe Taylor aee0a1e851 Silence a compiler warning. 2021-01-06 10:58:25 -05:00
Bill Somerville c7f2be4ba7
Initialize a variable 2021-01-06 15:49:51 +00:00
Bill Somerville c407bc00f9
Revert "Mostly(?) temporary diagnostic tests."
This reverts commit fb6fcdf35e.
2021-01-06 15:48:21 +00:00
Bill Somerville 9b35eeaead
Revert "Add s1 to the diagnostic output."
This reverts commit 5fe0bd3508.
2021-01-06 15:48:07 +00:00
Joe Taylor 5fe0bd3508 Add s1 to the diagnostic output. 2021-01-06 10:30:05 -05:00
Joe Taylor fb6fcdf35e Mostly(?) temporary diagnostic tests. 2021-01-06 10:24:08 -05:00
Joe Taylor 47c8286db8 Disallow Q65 decodes with sum(dat4)=0: all 78 bita are zero. 2021-01-05 19:45:00 -05:00
Joe Taylor 4fb90e336e Better orange sync curve. Clear message averaging after a successful decode. 2021-01-05 11:30:22 -05:00
Joe Taylor f82356e199 q65sim: nonzero step size ==> Doppler tracking; otherwise, linear drift. 2021-01-05 10:42:19 -05:00
Joe Taylor ea271152b8 Implement "orange sync curve", useful for multi-signal situation. 2021-01-04 14:38:02 -05:00
Joe Taylor 662a43d3dd Corrections to the frequency-drift feature in q65sim. 2021-01-04 09:07:03 -05:00
Joe Taylor 6074e4e3af Options for introducing frequency drift and frequency steps (e.g. 10 Hz) in Q65 simulator. 2021-01-03 11:19:39 -05:00
Joe Taylor a02cbabb99 Fix an off-by-1 bug introduced in the previous commit. 2021-01-03 11:18:14 -05:00
Joe Taylor 04b22ce250 Preparing to add solution for frequendy drift to q65_sync.f90. 2021-01-02 14:21:14 -05:00
Joe Taylor bc58604d42 Allow optional frequency drift of simulated Q65 signals. 2021-01-02 13:09:47 -05:00
Joe Taylor e5a8e80c49 Minor tweaks to Q^% decoding scheme. 2021-01-01 15:28:41 -05:00
Joe Taylor 6b351165f2 Re-introduce Q65 timer calls. Extend red sync baseline to minimum +/- 100 Hz. 2021-01-01 10:47:22 -05:00
Joe Taylor 8a4b5b6a40 Various tweaks to the Q65 decoder; new numbering of the end-of-line decoding flags. 2020-12-31 15:52:06 -05:00
Joe Taylor bcbca02c08 Enforce Q65 ClrAvg action when requested. Tweak somne logic. 2020-12-30 16:12:02 -05:00
Joe Taylor e07ba410c2 Fix a problem with access to apsym0() array. 2020-12-30 15:40:06 -05:00
Joe Taylor 5d7b5f83e2 Fix several more flaws in the way Q65 decodes are presented. 2020-12-30 15:05:02 -05:00
Joe Taylor 77a0e01b05 Allow for all AP types when averaging Q65, and for navg > 9. 2020-12-30 12:10:03 -05:00
Joe Taylor 91687c573b Fix the reporting of SNR for Q65 average decodes. 2020-12-30 11:02:49 -05:00
Joe Taylor d81c01d23d Remove unneeded arguments from calls to q65_avg and q65_avg2. 2020-12-30 09:07:41 -05:00
Joe Taylor 057967a761 For Q65 nsg averaging, wrap nsave when it reaches MAXAVE. 2020-12-30 08:44:56 -05:00
Joe Taylor b6d2002985 Q65 decoder mostly working now with all (A B C D) decoding types. 2020-12-29 16:41:48 -05:00
Joe Taylor 520a0c7cc0 Work in progress for Q65 decoder. 2020-12-28 18:53:13 -05:00
Joe Taylor 62074ab58f Much reworking of Q65 decoder. Have temporarily enabled all types of decoding passes. 2020-12-28 15:27:10 -05:00
Joe Taylor 30ab29d9e3 Work in progress, with lots of diagnostics. Do not use on the air! 2020-12-27 15:27:26 -05:00
Joe Taylor d5957f51f9 Insert some (commented out) diagnostics. 2020-12-24 13:07:29 -05:00
Joe Taylor 36a089de21 Remove the sync-test option from q65sim.f90. 2020-12-21 13:42:03 -05:00
Joe Taylor 545079e951 Reorder the ibw loop in q65_loops.f90. 2020-12-20 21:43:30 -05:00
Joe Taylor 1f33c857ac Measure fSpread from ccf1, then use resulting width to set effective ibwmin. 2020-12-19 13:25:51 -05:00
Joe Taylor 841bbac56e Increase the Q65 list decodes to include reports -50 to +49 dB. 2020-12-15 11:03:06 -05:00
Joe Taylor 3160e63dc7 Several minor tweaks to Q65 decoding. 2020-12-15 09:32:24 -05:00
Joe Taylor a47f5e5103 Correct what appears to be an error in q65_intrinsics_fastfading: max hidx=63, not 64? 2020-12-06 08:09:28 -05:00
Joe Taylor 3dd34e13ba dd "MyCall DxCall DxGrid" to list. Set PLOG_MIN=-240. No list decoding if DxCall is not defined. 2020-12-04 15:29:46 -05:00
Nico Palermo/IV3NWV 70e0a84fe8 corrected a compile error. q65_llh declared as an external variable in q65.h and placed in q65.c 2020-12-01 04:13:30 +01:00
Nico Palermo/IV3NWV 68d964b5c7 merged Joe's changes in decode_fullaplist 2020-12-01 03:41:23 +01:00
Nico Palermo/IV3NWV baf427c358 Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280 2020-12-01 03:26:37 +01:00
Nico Palermo/IV3NWV 5a3dd69331 decode_fullaplist updated. the decoding threshold is now adjusted in function of the number of codewords passed 2020-12-01 03:26:00 +01:00
Joe Taylor a03758e490 Add a file that was missing. 2020-11-30 17:44:33 -05:00
Joe Taylor adc4c3d78a More Q65 cleanup. Single-digit at end of line. 2020-11-30 14:13:37 -05:00
Joe Taylor de6f5e4975 Q65 code cleanup. Use 3-digit format for the end-of-line flag. 2020-11-30 13:14:18 -05:00
Joe Taylor 9ff6f5b4d3 Temporary save, much work in progress. 2020-11-30 09:52:47 -05:00
Joe Taylor 64516e6abb Still testing various parts of the Q65 decoding chain. 2020-11-29 10:00:33 -05:00
Joe Taylor cbfb6dd250 Implement full-message sync possibility when QSOprogress > 0. 2020-11-23 14:30:36 -05:00
Joe Taylor d76e56fa31 Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280
Include code to try sync with full message info.
2020-11-23 08:47:37 -05:00
Nico Palermo/IV3NWV 6fa9f76a75 Interface to q65_intrinsics_fastfading changed to support B90Ts instead of B90 and then supporting correctly modes with any T/R interval 2020-11-23 06:03:59 +01:00
Joe Taylor 9c51e93f06 Implement Nico's "deep likelihood" to replace iaptype=4 and 75-bit APmask. 2020-11-22 13:58:29 -05:00
Nico Palermo/IV3NWV de468e071a Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280 2020-11-21 18:18:45 +01:00
Joe Taylor b2833fd6f0 Fix the use of ndepth for setting jitter-loop limits. 2020-11-21 11:34:17 -05:00
Nico Palermo/IV3NWV 4bd7fcb4a1 added likelihood check for better false rejection - added function q65_decode_fullaplist for full-ap decoding of a list of codewords 2020-11-21 17:00:15 +01:00
Joe Taylor d9cb870540 Adjust Q65 jitter-loop ranges according to ndepth. 2020-11-20 17:07:11 -05:00
Joe Taylor 7ff3d598c8 Use g15 = 32403 rather than 32373 for the "RR73" message fragment in Q65. 2020-11-20 15:40:25 -05:00
Joe Taylor 09815826e2 For Q65 with QSOprogress=3, reduce npasses to 2 (iaptype=3, 4 only); reduce APmast from 78 to 75 bits. 2020-11-20 15:16:23 -05:00
Joe Taylor 3662a76de7 More Q65 test program tweaks. 2020-11-19 15:41:15 -05:00
Joe Taylor 13d0b20661 Change the unmasked bits for iaptype 4, 5, 6. Tweak the SNR limits in test_q65. 2020-11-19 15:25:28 -05:00
Joe Taylor 0755e52993 Another reformatting of output to fort.53. 2020-11-16 13:49:31 -05:00
Joe Taylor 24ed64e5cc Add UTC and reformat diagnostic output to fort.53. 2020-11-15 12:21:08 -05:00
Joe Taylor dc3d567ce8 Correct the diagnostic output to fort.53. 2020-11-13 13:45:14 -05:00
Joe Taylor 91862e61e6 Display Q65 values of DT and f0 from the actual decode, not just values from sync_q65. 2020-11-13 13:40:16 -05:00
Joe Taylor 5fe6a539b6 Fix an error in defining dat4(13) in Q65 mode. Not backward compatible! Also fix AP and message averaging for Q65. 2020-11-11 15:06:24 -05:00
Joe Taylor 3068f0c61f Use genwave() to create Q65 audio signal. Send "include averaging" flag to Q65 decoder. 2020-11-11 11:14:02 -05:00
Joe Taylor 56a3201d14 Reactivate Q65 message averaging, and fix the reporting of those decodes. 2020-11-10 10:14:41 -05:00
Joe Taylor 6d8958bce6 Code cleanup. 2020-11-03 15:49:11 -05:00
Joe Taylor 2c51c97b14 Increase the Q65 minimum snr1 from 2.5 to 2.8. 2020-11-03 10:36:19 -05:00
Joe Taylor fa92799bda OPtimize the 2020-11-02 15:59:10 -05:00
Joe Taylor 1768971931 Add timer calls for two of Nico's routines. 2020-10-31 11:33:01 -04:00
Joe Taylor b3f0aec407 Q65: compute snr from esnodb, using actual symbol rate. 2020-10-30 14:52:58 -04:00
Joe Taylor 306c0c8633 Limit the Q65 DT search rnge to +/- 1 s for TR=15, 30 s. 2020-10-30 12:02:15 -04:00
Joe Taylor f974751e42 Q65 AP decoding is now (sort of?) working. Problem with i3 field, and maybe other problems... 2020-10-30 11:07:44 -04:00
Joe Taylor 7786101dcf Add a missing file. 2020-10-28 13:38:06 -04:00
Joe Taylor b6071d29da Code cleanup. 2020-10-28 12:04:10 -04:00
Joe Taylor 347fb06382 Separate calls to q65_intrinsics_ff() and q65_dec(). 2020-10-28 09:28:50 -04:00
Joe Taylor 494a8fc9a7 More cleanup: Q65 SNRs, reported irc values. 2020-10-27 16:08:50 -04:00
Joe Taylor bbad483aaf Code cleanup in q65sim.f90. 2020-10-27 15:52:57 -04:00
Joe Taylor c6424100a2 Code cleanup. 2020-10-27 15:52:26 -04:00
Joe Taylor 9643e8a753 Code cleanup. 2020-10-27 15:51:32 -04:00
Joe Taylor a41325d596 Use fast fading model in q65_ftn_test. 2020-10-27 15:45:34 -04:00
Joe Taylor 5d904927a0 Decode Q65 using the Lorentzian fast fading model. 2020-10-27 13:56:25 -04:00
Joe Taylor 4d739a31ca Minor cleanup of Q65 decoder sequence. Much more needed! 2020-10-27 13:22:02 -04:00
Joe Taylor 2dad27f1ad First decodes of Q65 from within wsjtx. 2020-10-27 13:08:07 -04:00
Joe Taylor 5a2f9e4f3f Updte q65sim to use the new Q65 code. 2020-10-27 12:04:15 -04:00
Joe Taylor ccdaf49e3a Must initialize Q65 codec is decode is called before encode. 2020-10-27 12:02:49 -04:00
Joe Taylor a473cee2ea Move q65sim.f90 to the q65 directory. 2020-10-26 19:42:03 -04:00
Joe Taylor 0d8734de47 Update some path names for QRA64/Q65 files. 2020-10-26 19:25:16 -04:00
Joe Taylor cc5e0c7f2c Add a Fortran program to test calls to Nico's Q65 codec. 2020-10-26 16:54:05 -04:00
Joe Taylor 11ec2eebf0 Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280 2020-10-25 21:31:34 -04:00
Joe Taylor 5d352d3068 Declare _q65_mask() as static when first declared, in q65.h. Add qracodes.o to Makefile.Win. 2020-10-25 21:29:44 -04:00
Nico Palermo/IV3NWV 676d3578f1 removed unused qra65 files 2020-10-26 02:20:44 +01:00
Nico Palermo/IV3NWV 1f06fd65fc Initial q65 distrib 2020-10-26 01:10:53 +01:00
Joe Taylor 7a22e6a2e1 Change the Q65 value of nsps from 7680 to 7200. 2020-10-25 14:10:38 -04:00
Joe Taylor 9b452e8f99 Change mode name QRA65 to Q65 everywhere, supposedly. 2020-10-25 13:58:18 -04:00
Joe Taylor ad70cdeb8a More work on sync tests, etc., of QRA6[45]. 2020-10-13 13:49:09 -04:00
Joe Taylor c3d8e4dd73 Working on QRA65, including simulator and test program. 2020-09-26 16:49:06 -04:00
Joe Taylor 6ebc700288 Mostly(?) changed QRA66 to QRA65 on the Fortran side. 2020-09-25 12:21:57 -04:00
Joe Taylor 2057600f43 First functioning QRA65 encode and decode. 2020-09-25 10:55:21 -04:00
Joe Taylor de0476bf3c More changes to allow longer sequences in QRA66 mode. 2020-08-08 16:53:28 -04:00
Joe Taylor e4fad77fa5 QRA66 now works with qra66sim and jt9 and TR periods 15 30 60 120 300 s. 2020-08-08 13:57:24 -04:00
Joe Taylor bf38f4416c Modifications to give QRA64 use of longer TR periods and tone-spacing submodes. Noy yet finished, or tested! 2020-08-08 09:14:12 -04:00
Joe Taylor 7256d70016 QRA66: change NSPS from 1920 to 1800. TxT=85*1800/12000=12.75 s. 2020-08-05 11:06:18 -04:00
Joe Taylor 2e893e8994 Add Tx freq as command-line argument for qra66sim. 2020-08-04 13:12:51 -04:00
Joe Taylor 45dac5bd18 Change random number generation in qra66sim so results are exactly repeateble. 2020-08-02 09:42:22 -04:00
Joe Taylor f45c617422 First working QRA66 decoder. 2020-08-01 09:24:59 -04:00
Joe Taylor 77b7e71424 Enable mode QRA66B in qra66sim. 2020-07-31 11:16:03 -04:00
Joe Taylor 09686b9958 Add a simulator for experimental mode QRA66. 2020-07-31 10:59:05 -04:00