Commit Graph

2911 Commits

Author SHA1 Message Date
Joe Taylor
ebd41fabcc Don't use CWD writes such as 'fort.33' in production versions! 2021-02-03 15:20:37 -05:00
Joe Taylor
9ca57f9a5c Protect against a possible bounds error. 2021-02-02 11:39:29 -05:00
Joe Taylor
14d18306e6 Use single_decode and lagain as intended in Q65. 2021-02-02 09:58:04 -05:00
Joe Taylor
5850317de0 Speed improvements for Q65 multi-decode. 2021-02-02 09:27:40 -05:00
Joe Taylor
7d069c5617 Don't get too close to the Wide Graps frequency limits. 2021-02-01 15:52:25 -05:00
Joe Taylor
34cb4c502d Eliminate some redundant candidates. 2021-02-01 14:23:49 -05:00
Joe Taylor
72a4158898 First working multi-decode procedure for Q65. 2021-02-01 13:28:59 -05:00
Joe Taylor
86ada8c9d4 Working toward multi-decode capability. 2021-02-01 10:54:04 -05:00
Joe Taylor
6519c07a71 Working toward a good multi-decode solution ... 2021-01-31 15:10:50 -05:00
Joe Taylor
f7cde117fe Extens orange sync surve to the full displayed frequency range. 2021-01-31 13:41:32 -05:00
Joe Taylor
cae3095174 Allocate and use 2d CCF only within q65_ccf_85(). 2021-01-31 11:39:04 -05:00
Joe Taylor
ec6fe749f9 Update the Q65 test program. 2021-01-31 09:06:20 -05:00
Joe Taylor
b8ea4c1c2c Zero the red curve in we're not trying for q3 decodes. 2021-01-30 15:23:30 -05:00
Joe Taylor
9e822d1806 Clean up possible cases where rms evaluates to 0.0. 2021-01-30 15:10:05 -05:00
Joe Taylor
2f5c368aad Remove a diagnostic write. 2021-01-30 14:59:55 -05:00
Joe Taylor
14c4164651 Remove the if(snr1.lt.2.8) test, for now. 2021-01-30 14:52:53 -05:00
Joe Taylor
7bd1249452 Code cleanup involving ccf1, ccf2, and plotting thereof. 2021-01-30 14:12:02 -05:00
Joe Taylor
1e7c53e0e4 Fix several comments. 2021-01-30 11:49:08 -05:00
Joe Taylor
791b39fce5 Estimate rms of ccf2 without using the 2-dimensional ccf(). 2021-01-30 11:36:43 -05:00
Joe Taylor
316f41996e Correct a flaw in setting ipk. Better loop ordering in ccf_22. 2021-01-30 10:59:46 -05:00
Joe Taylor
330ff03079 Move writing the red/orange sync curves into a subroutine. 2021-01-29 14:43:06 -05:00
Joe Taylor
f056fc99ec Write parameters for successful decodes to file q65_decodes.dat. 2021-01-28 13:01:52 -05:00
Joe Taylor
48713f0f38 Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280 2021-01-28 07:43:14 -05:00
Joe Taylor
4e27b009f0 Code cleanup, looking toward possible implementation of -120F and -300F submodes. 2021-01-27 13:19:39 -05:00
Joe Taylor
29a2737cf7 Clean up spec64, now that QRA64 mode is gone. 2021-01-27 11:12:57 -05:00
Bill Somerville
332ecfebf8
Leave global FFTW3 clean up to main programs 2021-01-26 21:35:13 +00:00
Bill Somerville
bd02e367f2
Leave global FFTW3 clean up to main programs 2021-01-26 21:34:10 +00:00
Steven Franke
2335575436
FST4/W: Disable envelope shaping at start and end of transmission when environment variable FST4_NOSHAPING=1. Works for fst4sim too. 2021-01-25 15:52:07 +00:00
Joe Taylor
fb13265f37 Make ibwb larger by 1. 2021-01-23 14:14:17 -05:00
Joe Taylor
1489513803 Decodes without "newdat" should not add s1 into s1a again. 2021-01-23 10:58:28 -05:00
Bill Somerville
899a7fd895
Merge branch 'develop' into feat-fst280 2021-01-22 22:27:34 +00:00
Joe Taylor
b64520591f Don't smooth at all if nsmo = 1: i.e., set it to nsmo=0. 2021-01-22 15:16:21 -05:00
Joe Taylor
8a436b63dd Separate message averaging for Odd and Even sequences. 2021-01-19 16:06:10 -05:00
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
Steven Franke
86b0affc56 FST4/W: Disable envelope shaping at start and end of transmission when environment variable FST4_NOSHAPING=1. Works for fst4sim too. 2021-01-18 13:47:54 -06:00
Joe Taylor
baa029f4ba Add some descriptive documentation to the q65.f90 module. 2021-01-18 10:18:38 -05:00
Joe Taylor
6d220d46d2 Do not attempt decoding after TRp is increased and Decode button clicked. 2021-01-18 09:25:58 -05:00
Joe Taylor
a9bce0dbd3 Don't allow a decode attempt with previous data if TRperiod has increased. 2021-01-17 19:50:58 -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
Bill Somerville
455ec12e44
Merge branch 'develop' into feat-fst280 2021-01-15 22:14:36 +00:00
Bill Somerville
63851911b5
Merge branch 'release-2.3.0' into develop 2021-01-15 21:54:14 +00:00
Joe Taylor
1f9eeb52cc Add user option for Auto_Clear_Avg after a decode. 2021-01-15 14:12:52 -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
b64c1faba4 Prepare for doing AP=012 decodes from s1a. 2021-01-14 15:52:51 -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
02d410d4f7 Send both idec and navg to the q65 callback routine. 2021-01-14 13:23:09 -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
121fd2c3dd Fix a logical test on idec. 2021-01-13 15:29:57 -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
d25e188dca Code cleanup. 2021-01-12 11:28:46 -05:00
Joe Taylor
ef478717ea Don't forget to do something about nsmo = ??. 2021-01-12 08:18:17 -05:00
Bill Somerville
b741eb761e
Implement the promised wsprd default data directory if accessible 2021-01-12 01:04:15 +00: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
c3010f1d14 Revert "Revert "Improve the trace behavior of timer().""
This reverts commit 7f4876cee0.
2021-01-09 18:41:41 -05:00
Joe Taylor
7f4876cee0 Revert "Improve the trace behavior of timer()."
This reverts commit d60a97634b.
2021-01-09 16:35:04 -05:00
Joe Taylor
d60a97634b Improve the trace behavior of timer(). 2021-01-09 15:03:41 -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
3b54196206 Remove two disused lines of code. 2021-01-07 13:37:12 -05:00
k9an
b21477b3ba Fix a compiler warning. 2021-01-07 11:38:59 -06:00
Joe Taylor
f003ae653c Silence compiler warning. 2021-01-07 12:00:11 -05:00
Steven Franke
353edc4718 Fix one more compiler warning. 2021-01-07 10:18:38 -06: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
Steven Franke
b9d33bc998 Address compiler warnings in fst4/w code. 2021-01-07 10:05:53 -06:00
Joe Taylor
2194f3096a Don't count lines with blank message in "ndecoded". 2021-01-06 21:44:49 -05:00
Joe Taylor
bc8d134135 Silence several compiler warnings. 2021-01-06 12:44:49 -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
b8bd745816 Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280 2021-01-05 09:53:54 -05:00
Joe Taylor
ea271152b8 Implement "orange sync curve", useful for multi-signal situation. 2021-01-04 14:38:02 -05:00
Bill Somerville
f2e9c1d91d
Merge branch 'develop' into feat-fst280 2021-01-04 15:53:21 +00:00
Bill Somerville
94977df845
Merge branch 'release-2.3.0' into develop 2021-01-04 15:38:06 +00:00
Bill Somerville
607a346cf1
Add new function needed for FST4W decoder updates 2021-01-04 15:35:32 +00:00
Steven Franke
0013b15120
Remove some debug code. 2021-01-04 15:00:05 +00:00
Steven Franke
46222c61ed
Add rudimentary sanity checks to the values parsed from FST4W_ALSO_FST4. 2021-01-04 15:00:05 +00:00
Steven Franke
41f587c240
Fix a conflict between noise baseline percentile level and noise blanker percentage. Both were using the npct variable. Add an option for an FST4 pass when in FST4W mode. 2021-01-04 15:00:05 +00:00
Steven Franke
0fef0cc6e6
Minor formatting change in fst4_decodes.dat. 2021-01-04 15:00:04 +00:00
Steven Franke
a38b48d13d
Minor format change for nutc in fst4_decodes.dat. 2021-01-04 15:00:04 +00:00
Steven Franke
a657ce29a7
FT8: Make nagain work. 2021-01-04 15:00:04 +00:00
Steven Franke
41297e8761
FT8: Commit the rest of the fix for the nagain crash. 2021-01-04 15:00:04 +00:00
Steven Franke
b51bda4806
FT8: Fix jt9 crash when nagain is invoked. 2021-01-04 15:00:04 +00:00
Steven Franke
4081be94e1
Avoid a possible of bounds error. Compute some more decode diagnostic data. 2021-01-04 15:00:03 +00:00
Steven Franke
fb7b751e6d
Remove hmod from command line parameters for fst4sim. 2021-01-04 15:00:03 +00:00
Steven Franke
701d517e6e
For fst4sim, use Lorentzian fading spectrum when fspread is negative. 2021-01-04 15:00:03 +00:00
Steven Franke
b087328fc1
Don't waste time on excess BP iterations when doing K=50. Decode a little deeper. 2021-01-04 15:00:03 +00:00
Steven Franke
8079d35561
Append decoder data to file fst4_decodes.dat instead of overwriting. 2021-01-04 15:00:02 +00:00
Steven Franke
89cbd177df
If file decdata is present in the data directory, then write detailed decoder data to file fst4_decodes.dat in the same directory. 2021-01-04 15:00:02 +00:00
Steven Franke
812bd29e54
FST4W: Use K=66 for first OSD decode attempt and for updating fst4w_calls.txt. Use K=50 for 2nd attempt. 2021-01-04 15:00:02 +00:00
Steven Franke
fc3e24f696
More work on K=50 decoding. 2021-01-04 15:00:01 +00:00
Steven Franke
65ff3ce05e
Remove some debug prints. 2021-01-04 15:00:01 +00:00
Steven Franke
11b7aa9429
Implements decoding of FST4W messages as (240,50) crc-less codewords.
By cascading the full 24-bit crc generator matrix with the (240,74) LDPC code generator, create a (240,50) generator that is used to decode with approximately 1 dB better sensitivity than the (240,64) with 14-bit CRC approach that is normally used. This approach treats the CRC bits as additional parity bits and provides no means for identifying incorrect codewords. All codewords on the list generated by the OSD algorithm have CRCs that match the CRC of the message payload. Codewords are validated by unpacking the message and comparing the unpacked message with the list of stored callsign/grid pairs stored in the fst4w_calls.txt file.
2021-01-04 14:59:56 +00: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
412422db17 Add 'q' to the Q65 end-of-line flags; label right text window for "Average decodes". 2020-12-30 10:42:27 -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
48297e068b More work in ptogress ... 2020-12-27 14:14:10 -05:00
Joe Taylor
d246a23948 Work in progress on message averaging: save current status. 2020-12-27 11:35:55 -05:00