Commit Graph

1979 Commits

Author SHA1 Message Date
Joe Taylor 43c38de884 Minor tweaks for FT4 debugging and possible tuning. 2019-03-26 14:00:32 -04:00
Steve Franke 0fef707118 Widen candidate frequency offset window to f0=[10,4990] Hz. 2019-03-21 13:27:10 -05:00
Joe Taylor 0ea485b305 Bring allsim up to date with changes elsewhere. 2019-03-13 11:35:47 -04:00
Joe Taylor e150d003d6 Fix an inforrect constant in ft4_rx() that skipped over first 0.208 s of Rx data. 2019-03-13 10:31:23 -04:00
Steve Franke 7a0823301a Remove some temporary code. 2019-03-09 10:03:01 -06:00
Steve Franke 8ddf3f8acc Change default to DT=0.14 s for simulated wav files. 2019-03-09 09:13:26 -06:00
Steve Franke 1b591e2c8c Make ft4d work with cqstr. 2019-03-04 17:26:24 -06:00
Steve Franke d7012267c0 CQ message type strings are now passed from mainwindow.cpp to ft4_decode.f90, to enable AP decoding of special CQ messages. 2019-03-04 17:10:57 -06:00
Steve Franke 4769bf45d2 Make FT4 AP decoding work in RTTY RU and Field Day activities.
Move Nuttal window to standalone subroutine nuttal_window.f90 and
use Nuttal window in ft4/getcandidates4.f90.
2019-03-03 13:02:22 -06:00
K9AN 3176c1d3ef wsprd Makefile now builds wsprsim too. 2019-03-01 17:48:57 -06:00
K9AN 4d5fa21821 More tweaks to wsprd Makefile. 2019-03-01 17:07:11 -06:00
K9AN 9ff9dc5c42 Make wsprd Makefile work on Linux with gcc/gfortran. 2019-03-01 14:36:26 -06:00
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