Commit Graph

1967 Commits

Author SHA1 Message Date
Joe Taylor
5c7e1ba35d Complete the code cleanup in ft4sim. 2019-02-27 09:38:59 -05:00
Joe Taylor
1c617e2367 Minor code cleanup to ft4sim.f90 and ft4sim_mult.f90. 2019-02-27 09:34:40 -05:00
Bill Somerville
278c544a6a Merge branch 'develop' into feat-ft2 2019-02-26 11:52:14 +00:00
Steve Franke
fdca7c2dcb Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-02-25 15:03:55 -06:00
Steve Franke
3759198982 Remove ramp-up and ramp-down symbols. Instead, shape the first 1/8th of first and last real symbols. 2019-02-25 15:03:43 -06:00
Joe Taylor
fdfb655b06 Option to select "Low sidelobes" or "Most sensitive" for waterfall spectra. 2019-02-25 15:04:05 -05:00
Steve Franke
ec2d5b6233 Fix the sign of one of the Nuttal window coefficients. Change BT to 2.0. 2019-02-25 12:57:34 -06:00
Steve Franke
17ac99344c For now, change to BT=1.5 for FT8. This commit enables the waterfall analysis window. This decreases sidelobes significantly in exchange for increased noise bandwidth. Sensitivity to weak tones will be degraded somewhat. 2019-02-23 14:18:22 -06:00
Steve Franke
5d914a1eb1 Make ft8sim_gfsk work with recent changes to gen_ft8wave.f90. 2019-02-22 15:16:29 -06:00
Joe Taylor
25bfa3798a Transmit FT8 using a gaussian-filtered waveform. 2019-02-22 13:39:39 -05:00
Steve Franke
d9c99601ae Fix bugs in gen_ft8wave.f90. 2019-02-21 15:56:21 -06:00
Steve Franke
9425bd4d37 Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-02-21 15:48:08 -06:00
Steve Franke
1acb5d5d99 Add routines needed to test FT8 with GFSK pulses. 2019-02-21 15:48:02 -06:00
Joe Taylor
d5a1671210 FT4 decoding interval is now 288 ms. Saving of FT4 files is somewhat rationalized. 2019-02-21 10:08:18 -05:00
Joe Taylor
a98e1d7f37 Minor code cleanup. 2019-02-15 09:55:27 -05:00
Joe Taylor
41c22b0153 Call fftwf_cleanup() from four2a to free all remaining fftw memory. 2019-02-15 09:38:28 -05:00
Joe Taylor
3c77b720f8 Account for buffer start time in ft4d. 2019-02-15 09:06:41 -05:00
Joe Taylor
e5ea814bb9 Destroy FFTW plans when ft4d is finished. 2019-02-15 08:59:41 -05:00
Steve Franke
6c8a204d7e Make sure that message77 is initialized. 2019-02-14 18:54:14 -06:00
Steve Franke
473c7058ff Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-02-14 17:37:48 -06:00
Steve Franke
6ad6d44ffa When doing block detection of symbols, fill in incomplete blocks using
data from shorter block sizes.
2019-02-14 17:34:46 -06:00
Joe Taylor
e4ba9f25fd Process one more 3456-sample chunk in ft4d. 2019-02-14 15:21:01 -05:00
Joe Taylor
55e0e32e59 Fix ft4d so that it reads and processed full 15-second files. 2019-02-14 15:10:41 -05:00
Joe Taylor
9a6c82d09b Tweaks to make valgrind somewhat happier. 2019-02-14 14:56:02 -05:00
Joe Taylor
073a22125a Minor cleanup: debugging a problem with FT4 decoding. 2019-02-14 14:09:22 -05:00
Joe Taylor
c2cb55a68a Reduce FT4 chunk size fro 500 to 288 ms; suppress duplicate decodes from close to chunk ends. 2019-02-13 14:42:57 -05:00
Bill Somerville
7d66f442d6 Fix up some compiler errors when using gfortran v9 2019-02-10 20:43:51 +00:00
Steve Franke
186482811a Use 91 bits for RR73 messages. 2019-02-09 16:08:39 -06:00
Steve Franke
b415faae20 Remove char(0) from mycall and hiscall. 2019-02-08 16:44:18 -06:00
Steve Franke
0f03d02e74 Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-02-08 15:17:52 -06:00
Steve Franke
33498cc10f Disable AP if ncontest=5 or 6 (Fox and Hound). 2019-02-08 15:17:46 -06:00
Steven Franke
7d70c5e9e1 Still trying to make data_dir work under all conditions. This makes it work with ft4d. 2019-02-08 11:24:22 -06:00
Steve Franke
e3830dcb27 Remove temporary indent file. 2019-02-07 18:52:51 -06:00
Steve Franke
cbfcb76193 AP decoding basically works. Make data_dir setting work on the Mac. 2019-02-07 18:48:38 -06:00
Steve Franke
ecbeda5297 Disable sync2 calculation for now. 2019-02-07 10:16:28 -06:00
Steve Franke
60cb4a33aa Re-enable second sync pass. 2019-02-05 19:53:53 -06:00
Steve Franke
71cb6d9f50 Use 4 different Costas arrays to prevent false syncs as received frames move
through the analysis window.

Add a random 77-bit vector to each message so that tone transitions occur
even if the message contains a long string of 0 or 1 (like a CQ).

Add alternative sync calculation as an option (sync2), for testing.

Add basic framework for AP decoding.
2019-02-05 19:18:50 -06:00
Steve Franke
91e3dbdf20 New scheme for finding candidates. Speed up sync. Improved SNR calibration. 2019-02-02 16:29:17 -06:00
Steve Franke
40fd3f6551 Make writing to data_dir work on the Mac. 2019-02-02 11:04:11 -06:00
Joe Taylor
22209030e2 Move files all_ft4.txt and clockit.out to the data_dir directory. 2019-02-01 11:56:08 -05:00
Joe Taylor
98d665c678 Add subroutine clockit() and use it for profiling ft4_decode(). 2019-02-01 10:47:47 -05:00
Joe Taylor
9c2700128c Generation of FT4 Tx waveform from itone() moved to a separate subroutine. 2019-01-31 16:07:07 -05:00
Joe Taylor
b32799d2b8 Add xdt to lines printed by ft4sim_mult. 2019-01-31 14:06:05 -05:00
Joe Taylor
04f085bb24 Proper handling of multiple decodes from one call to ft4_decode. 2019-01-31 13:55:21 -05:00
Joe Taylor
a80b955fe7 Decode FT4 over the full frequency range displayed in waterfall. 2019-01-31 12:10:58 -05:00
Joe Taylor
0dd4577143 Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-01-31 11:38:55 -05:00
Joe Taylor
7ae1210266 Fix several flaws in the waveforms generated by ft4sim_mult. 2019-01-31 11:37:54 -05:00
Steve Franke
fdb84c0e63 Fix an off-by-one error. 2019-01-30 19:19:38 -06:00
Joe Taylor
9f909b6b1b Oops, I left garbage in the file. 2019-01-30 15:49:52 -05:00
Joe Taylor
1261434e84 Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-01-30 15:37:38 -05:00
Joe Taylor
189f538dc0 Add ft4sim_mult, which is basically functional. 2019-01-30 15:33:47 -05:00
Steve Franke
66bb999126 Improve ft4_downsample filter. Improve getcandidates4. 2019-01-30 12:47:01 -06:00
Joe Taylor
3f7fb38e81 More code cleanup -- just comments and formatting. 2019-01-30 12:22:41 -05:00
Joe Taylor
2888c05eff Code cleanup. 2019-01-30 11:20:29 -05:00
Steve Franke
e57df307dd Fix a comment. 2019-01-29 15:42:30 -06:00
Joe Taylor
7e3b153d8b Correct the estimate of SNR for FT4 signals. 2019-01-29 13:56:04 -05:00
Joe Taylor
0a6d67c1d6 Make the simulated data files slightly longer so that WSJT-X can decode them. 2019-01-29 13:55:04 -05:00
Joe Taylor
e98231d4c1 Correct the call to genft4(); fix the displayed time for data from disk. 2019-01-29 10:39:34 -05:00
Steve Franke
d3b1f7e560 Prevent some out-of-bounds problems. 2019-01-27 19:28:41 -06:00
Steve Franke
57cf69e6ad First cut at identifying multiple candidates for decoding. Needs work. 2019-01-27 19:19:47 -06:00
Steve Franke
613bfaf3ee Change ft4 to use (174,91) code and 512 Sa/symbol. 2019-01-26 23:03:54 -06:00
Steve Franke
d9f4a27a3e Create ft4_decode.f90. Change stand-alone decoder ft4d.f90 to use ft4_decode.f90. 2019-01-26 11:42:07 -06:00
Steve Franke
c52f755afc Make Watterson simulator causal. 2019-01-25 16:26:13 -06:00
Steve Franke
9fa08d3838 Un-hardwire sync. 2019-01-25 16:06:45 -06:00
Steve Franke
8baf48701e Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-01-25 16:01:42 -06:00
Steve Franke
66e3f11fba Add ft4 files in lib/ft4. 2019-01-25 16:01:34 -06:00
Joe Taylor
5efa28164c Remove a redundant file reference in CMakeLists.txt. Fix call to unpck77 in genft2.f90 2019-01-25 14:46:17 -05:00
Steve Franke
3bdbf19d1d Make ft4sim and ft4d work. 2019-01-22 11:01:28 -06:00
Steve Franke
b4639b77d0 Fix CMakeLists.txt so that ft2_decode still builds. Fix a bug in ft4d - sync now seems to work. 2019-01-21 19:52:13 -06:00
Steve Franke
7b7857cd77 Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-01-21 19:33:51 -06:00
Steve Franke
f2dc394c84 Add ft4 files; ft4sim works, ft4d is work in progress. 2019-01-21 19:31:54 -06:00
Joe Taylor
486440beb4 Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-01-18 16:23:19 -05:00
Joe Taylor
568fc0810e Tx now works, more or less, in FT2 mode. Needs testing! 2019-01-18 16:22:25 -05:00
Joe Taylor
2033a2b33d Add a missing file; tweak the FT2 decoder. 2019-01-18 12:33:45 -05:00
Joe Taylor
5f03d97a9e Implement basic Rx capability for FT2 in WSJT-X. 2019-01-18 11:51:15 -05:00
Joe Taylor
c81af0bbe5 Updates to code for stand-alone ft2[.exe]. 2019-01-18 08:57:46 -05:00
Joe Taylor
c6bc3c64bb Add parameters for FT8 and Ft2 to wavhdr.f90. 2019-01-18 07:45:59 -05:00
Steve Franke
f447fe49e1 Fix some indexing problems. Create subroutine ft2_gfsk_iwave.f90 for use with ft2.exe. Needs testing. 2019-01-17 15:25:06 -06:00
Steve Franke
7701516b43 ft2sim now creates a GFSK waveform with BT=1.0. It also adds raised cosine ramp up and down at the beginning and end of the transmission. 2019-01-17 14:01:40 -06:00
Joe Taylor
9b483d5ee1 Fix ft2 build to accommodate having merged changes from the hotfix branch. 2019-01-16 16:25:31 -05:00
Bill Somerville
074914d607 Fix merge issues 2019-01-16 20:55:01 +00:00
Bill Somerville
aee9c09851 Merge branch 'develop' into feat-ft2 2019-01-16 20:44:44 +00:00
Joe Taylor
0a648a109f Correct broken S/N for tx_once transmissions. 2019-01-16 15:00:12 -05:00
Joe Taylor
3023f7e5c6 Minor tweaks in formatting, etc. 2019-01-16 13:58:56 -05:00
Joe Taylor
dc5d9f1617 Add a comment. 2019-01-16 13:20:13 -05:00
Joe Taylor
12463451e2 Allow upper or lower case for "A" and "L" commands. 2019-01-16 13:16:10 -05:00
Joe Taylor
f194621695 Many improvements to ft2, including:
- SNR displayed on decode line
 - Separate transmit() subroutine
 - Output sent to all_ft2.txt
 - Display Rx level (hit L to toggle On/Off)
 - Auto-sequencing  (hit A to toggle On/Off)
2019-01-16 13:10:36 -05:00
Joe Taylor
60fb12dcd4 Add several more messages for testing. 2019-01-15 20:19:18 -05:00
Joe Taylor
4a4a83f021 Correct the logic for PTT control through a Windows COM port. 2019-01-15 19:21:58 -05:00
Joe Taylor
bbbe83ffe5 Progress: ft2.exe is now basically functional in audio-loopback tests. 2019-01-15 15:05:04 -05:00
Joe Taylor
8a6cee7e26 Add files for command-line program ft2[.exe]. 2019-01-14 16:39:50 -05:00
Steve Franke
348e7c8ad5 In principle, ft2d can now decode multiple signals. Not yet tested. 2019-01-13 15:44:16 -06:00
Steve Franke
1fb89929a9 Make ft2d slightly more robust. Still very rough. 2019-01-13 10:58:35 -06:00
Steve Franke
8f1baae048 If delay=0.0 make Watterson use only a single component to simulate flat fading. 2019-01-13 09:25:30 -06:00
Steve Franke
cf1fe6c3d6 More work on FT2. New frame format is 16sync + 128codeword. Data chunk is assumed to be 2.5s long. A rudimentary sync routine is implemented which finds the single strongest signal. 2019-01-12 13:28:10 -06:00
Steve Franke
f63f0301eb Tweak some decoder parameters for better performance. 2019-01-10 10:35:09 -06:00
Steve Franke
e0658f183f Add simulator (ft2sim.f90) and decoder (ft2d.f90) for experimental medium-fast mode. 2019-01-10 10:20:31 -06:00
Joe Taylor
95599a7153 Add a standalone FT8 decoder, for testing. 2019-01-09 12:45:20 -05:00
Joe Taylor
5adc211d1a Correct a minor bug in qra64.c. 2019-01-08 13:47:53 -05:00
Steve Franke
c4d078f55f Remove unnecessary character string space-padding. 2019-01-03 14:02:17 -06:00
Steve Franke
db5c9e1fe9 Make wspr OSD decoding work with type 2 messages (extended callsign + power in dBm). 2018-12-24 12:52:41 -06:00
Steve Franke
1a8ddad307 In ft8apset, mycall and dxcall must be at least 3 characters long, otherwise they are treated as non-existent. 2018-12-24 11:19:07 -06:00
Steve Franke
b44d7b472d Fix a typo. 2018-12-24 10:49:40 -06:00
Steve Franke
318ce0020e Try harder to ensure that we don't waste time trying to do ap decoding that would involve nonstandard calls. Current code does not support ap decoding with non-standard calls. 2018-12-24 10:45:02 -06:00
Bill Somerville
de9990bb60 Fix a mangled edit and an incorrect exit condition 2018-12-24 03:52:06 +00:00
Bill Somerville
8f9fdd29a8 Remove some unnecessary space padding and some compiler warnings 2018-12-24 02:23:56 +00:00
Bill Somerville
e4700b449e Make checks for /P and /R exact and only for trailing suffixes 2018-12-24 02:22:39 +00:00
Steve Franke
b8287eb584 Bring encode77.f90 up to date. 2018-12-23 15:34:00 -06:00
Steve Franke
86bc2cf1fb Merge branch 'hash-collision-handling' into hotfix-2.0.1-rc1 2018-12-23 14:05:37 -06:00
Steve Franke
081a302aca wsprd: further refinement of OSD decode quality check. 2018-12-21 19:24:16 -06:00
Steve Franke
ddd9e8c3fb wsprd: more rigorous quality checking of OSD-produced decodes. For now, discard all OSD decodes that map to an extended callsign. 2018-12-21 16:56:38 -06:00
Steve Franke
adb7a935b2 Put mycall13 into the 22-bit hash table only so that 22-bit hashes of mycall are recognized. 2018-12-21 13:20:14 -06:00
Steve Franke
4e2d61204f cosmetic: remove comment-out statement. 2018-12-21 10:59:30 -06:00
Steve Franke
5034e21291 Remove some diagnostic writes. 2018-12-21 09:51:39 -06:00
Joe Taylor
a3f5c1a100 Do a "close(10)" only if we're in Fox mode. 2018-12-21 10:08:15 -05:00
Steve Franke
e87cf8dcc5 Guard against bounds errors in hash arrays. Try to keep cruft out of those arrays. 2018-12-20 20:41:44 -06:00
Steve Franke
0e7c679ae5 Don't initialize hash arrays twice. 2018-12-20 15:47:22 -06:00
Steve Franke
7a40bf2e4b Use separate hash tables for 10, 12, and 22 bit hashes. Make unpacking i3=4 messages depend on whether unpack is being done on a received message, or a to-be-transmitted message. Give mycall13 priority over hash table entries in certain contexts. 2018-12-20 15:08:29 -06:00
Joe Taylor
6374ee9557 Merge branch 'hotfix-2.0.1-rc1' of bitbucket.org:k1jt/wsjtx into hotfix-2.0.1-rc1 2018-12-19 12:18:49 -05:00
Joe Taylor
e2a73751b1 Don't execute Fox-related statements when not in Fox Mode. Protect against a bounds error. 2018-12-19 12:17:52 -05:00
Steve Franke
307948a25d Remove an unused array. 2018-12-16 11:55:36 -06:00
Steve Franke
dfceef3662 Fix up ft8sim so that it prints a warning when SNR is set too high so that data will be clipped. 2018-12-07 11:10:25 -06:00
Steve Franke
337bae6d0d Housekeeping. Remove unused code and unused variables. Silence some compiler warnings. 2018-12-05 16:06:33 -06:00
Steve Franke
fb39de196e Merge branch 'hotfix-2.0.0-rc6' of bitbucket.org:k1jt/wsjtx into hotfix-2.0.0-rc6 2018-12-05 10:19:26 -06:00
Joe Taylor
d8f7354c0e Make fmtmsg aware of both message sizes, 22 and 37 chars. 2018-12-05 08:19:59 -05:00
Steve Franke
a5e82ac94c Delete an unused routine. Fix a typo in a comment. 2018-12-04 20:01:55 -06:00
Joe Taylor
57594803b9 Merge branch 'hotfix-2.0.0-rc6' of bitbucket.org:k1jt/wsjtx into hotfix-2.0.0-rc6 2018-12-03 13:12:45 -05:00
Steve Franke
6fc27d550d Fix an egregious bug and another not-so-egregious bug. The egregious bug prevented decodes of most signals with negative DT. 2018-12-03 07:18:52 -06:00
Steve Franke
42d68ff84e Add frequency drift (Hz/min) option to jt65sim. 2018-12-01 09:17:58 -06:00
Steve Franke
df37d9b1f7 Remove cqhund stuff and some other unused code. 2018-11-30 13:46:54 -06:00
Joe Taylor
9b2771e97a Revert "Fix a typo."
This reverts commit 2c9ce10020.
2018-11-30 14:34:17 -05:00
Joe Taylor
9785fb9a90 Revert "Don't allow divide-by-0 for pathological JT4 signal."
This reverts commit 038405bc1e.
2018-11-30 14:34:14 -05:00
Joe Taylor
56a52fa7a4 Revert "Protect against negative ccfred() value in sync4."
This reverts commit 72d3e6f6b0.
2018-11-30 14:33:49 -05:00
Steve Franke
2b0f7a74e7 Remove a diagnostic write statement. 2018-11-29 11:18:48 -06:00
Steve Franke
9cebf3a540 Discourage jt65sim from crashing when 11025 sample rate is selected. 2018-11-29 10:34:27 -06:00
Steve Franke
5741407070 Enable jt65sim to simulate the shorthand messages RO,RRR, and 73 2018-11-28 16:04:01 -06:00
Joe Taylor
461b87f047 Minor improvement in code that checks for bad FT8 messages. 2018-11-27 15:34:01 -05:00
Joe Taylor
9e74125799 Don't allow an illegal message to crash routine genft8(). 2018-11-27 15:26:24 -05:00
Joe Taylor
588d429c24 Merge branch 'hotfix-2.0.0-rc5' of bitbucket.org:k1jt/wsjtx into hotfix-2.0.0-rc5 2018-11-26 08:54:18 -05:00
Steve Franke
e434bc5b55 Remove obsolete routines related to msk144. 2018-11-23 15:10:44 -06:00
Joe Taylor
eb0930294d Add suggested message type i3.n3 = 0.6. 2018-11-21 10:17:16 -05:00
Joe Taylor
43a5d7b519 Starting branch hotfix-2.0.0-rc5. 2018-11-14 10:44:36 -05:00
Joe Taylor
72d3e6f6b0 Protect against negative ccfred() value in sync4. 2018-11-12 12:28:17 -05:00
Joe Taylor
038405bc1e Don't allow divide-by-0 for pathological JT4 signal. 2018-11-12 11:44:55 -05:00
Bill Somerville
30d587ffc7 Fix a couple of WSPR memory leaks and remove some compiler warnings 2018-11-12 13:58:35 +00:00
Steve Franke
ab34db7556 Get rid of unused variable ldecode77. 2018-11-05 14:40:55 -06:00
Joe Taylor
0235cf69ff Remove all vestiges of old (isync=1) FT8 mode. Many changes here! 2018-11-05 11:59:48 -05:00
Joe Taylor
1589e4f126 Don't append end-of-line AP info is ncontest is nonzero. 2018-11-02 15:12:06 -04:00
Steve Franke
2b48cc4487 Update wsprd README and delete an obsolete program. 2018-10-31 21:02:46 -05:00
Steve Franke
fe44bc6201 Reject standard messages with CQ and a Roger or CQ and a report. 2018-10-27 20:58:49 -05:00