Commit Graph

204 Commits

Author SHA1 Message Date
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
1acb5d5d99 Add routines needed to test FT8 with GFSK pulses. 2019-02-21 15:48:02 -06:00
Bill Somerville
7d66f442d6 Fix up some compiler errors when using gfortran v9 2019-02-10 20:43:51 +00:00
Steve Franke
c52f755afc Make Watterson simulator causal. 2019-01-25 16:26:13 -06:00
Bill Somerville
aee9c09851 Merge branch 'develop' into feat-ft2 2019-01-16 20:44:44 +00: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
c4d078f55f Remove unnecessary character string space-padding. 2019-01-03 14:02:17 -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
Steve Franke
5034e21291 Remove some diagnostic writes. 2018-12-21 09:51:39 -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
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
a5e82ac94c Delete an unused routine. Fix a typo in a comment. 2018-12-04 20:01:55 -06: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
df37d9b1f7 Remove cqhund stuff and some other unused code. 2018-11-30 13:46:54 -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
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
Steve Franke
2b48cc4487 Update wsprd README and delete an obsolete program. 2018-10-31 21:02:46 -05:00
Steve Franke
87b97039b6 Remove a small bias in Watterson channel simulator channel amplitude. 2018-10-25 16:39:17 -05:00
Steve Franke
17ed242878 Minor tweak - make program name the same as file name. 2018-10-19 19:45:38 -05:00
Steve Franke
d0f0d420a9 Convert ft8sim.f90 to use 77bit messages. Remove ft8sim2.f90. 2018-10-19 16:52:00 -05:00
Steve Franke
fffa692ac5 Convert ft8code to 77bit messages. 2018-10-19 16:36:32 -05:00
Steve Franke
59278b9b6b Tweak ndeep determination. 2018-10-10 16:06:53 -05:00
Steve Franke
4b54873c81 Implement AP for all contest modes and also for Hound mode. AP is always active for Hounds. AP is automatically disabled if MyCall or DxCall are extended callsigns. 2018-10-04 17:48:55 -05:00
Steve Franke
0b3b050221 First cut at AP decoding for all values of ncontest. 2018-10-04 17:48:23 -05:00
Steve Franke
876f69b1d7 Remove some debug print statements. 2018-10-04 17:47:52 -05:00
Steve Franke
b993935494 Reconfigure foxgen.f90 for 77bit messages. Fox now transmits only 77bit messages. 2018-10-04 17:47:36 -05:00
Steve Franke
b5cc35e430 Cleaned up and simplified AP decoding. Enabled AP decoding for ncontest=0 and ncontest=4 (RU) so far. Missing MyCall or DxCall or nonstandard calls will disable AP passes that wouldn't make sense. 2018-10-04 17:45:15 -05:00
Steve Franke
77bb49e9ac Beginnings of AP for RU. Not working yet. 2018-10-04 17:44:34 -05:00
Joe Taylor
6cecef42aa Restore a missing call to unpack77(). 2018-10-04 16:09:02 -04:00
Steve Franke
d9cf9bed3c Better handling of decodes with unhashed callsigns.
(cherry picked from commit 3b783a083e)
2018-09-28 17:07:28 -05:00
Steve Franke
13b5cc479b Fix and re-enable polyfit SNR. 2018-09-26 08:29:01 -05:00
Steve Franke
669d54197d Polynomial-fit SNR is still not right. Disable it again, for now. 2018-09-24 19:36:30 -05:00
Steve Franke
591de66a31 Fix up SNR calculation so that it reverts to SJF SNR when polyfit SNR is not sane. 2018-09-24 19:04:34 -05:00
Steve Franke
9075fef228 Revert to Steve's SNR estimator, for now. 2018-09-24 17:40:14 -05:00
Steve Franke
332a3f1561 Calibrate noise-baseline-fit based SNR estimate for FT8 v2 and print those estimates with decodes. 2018-09-23 13:03:20 -05:00
Joe Taylor
705004d206 Initialize i3, n3 before two more calls to pack77(). 2018-09-19 13:05:32 -04:00
Joe Taylor
653e53b125 Apply the fix for i3, n3 before calling pack77() in genft8_174_91.f90. 2018-09-19 11:48:30 -04:00
Joe Taylor
aca7273fc3 Correct the sizes of character variables msg and msgsent. 2018-09-13 12:39:08 -04:00
Joe Taylor
a9deb8c1fd Merge branch 'integrate-77bit' of bitbucket.org:k1jt/wsjtx into integrate-77bit 2018-09-13 09:51:34 -04:00
Joe Taylor
d82949c54e Correct the display of usage examples. 2018-09-13 09:50:34 -04:00
Steve Franke
642540ff8f unpack77 now returns logical variable unpk77_success, which will be .false. if there is something obviously wrong with the message. Still to do: set the flag if the unpacked message contains CQ in an implausible place. 2018-09-12 15:06:26 -05:00
Steve Franke
629d061e30 Move a couple of simulation files to fsk4hf, which will eventually be excluded from releases. 2018-09-12 13:46:40 -05:00
Joe Taylor
ca2c1a2b8b Don't use "appendage" ~ or ! on decoded lines. Protect against bad read in genft8_174_91. 2018-09-02 18:55:13 -04:00
Joe Taylor
a8ad1569cc Protect against a potential bounds error. 2018-08-31 10:47:31 -04:00
Joe Taylor
201b29993c More fixes related to nonstandard calls. 2018-08-29 14:18:56 -04:00
Steve Franke
20cfae891e Make sync8.f90 more robust. Increase number of candidates to 300. 2018-08-08 09:29:08 -05:00
Steve Franke
f7d423296f Minor code cleanup. 2018-07-29 17:15:02 -05:00
Steve Franke
b67589d29f Bring isync=1 message simulator, ft8sim, up to date. Fix ap decoding for isync=1 messages. 2018-07-29 16:29:11 -05:00
Steve Franke
df0b5e2622 Progress on AP decoding for 77bit messages. AP is basically working for regular i3=1 messages. 2018-07-28 17:32:45 -05:00
Steve Franke
750bf569f3 ft8sim2: make it easier to identify callsign and grid bits in simulated messages. 2018-07-28 09:26:54 -05:00
Steve Franke
bee1ecd109 Detect and reject messages with invalid i3 and or n3. 2018-07-28 08:50:50 -05:00
Joe Taylor
017629ac36 Suppress any "QU1RK" decodes, they are necessarily bad. 2018-07-27 10:43:58 -04:00
Steve Franke
59f713ba76 The change committed to decodedtext.cpp fixes a crash that occurred when processing certain isync=2 decodes. Is this the right fix? Other changes are minor code cleanups. 2018-07-17 17:48:23 -05:00
Steve Franke
ab7c811552 Remove bcontest from ft8sim2.f90 so that it works. 2018-07-17 16:55:22 -05:00
Joe Taylor
2c5dd053f3 Don't send "mygrid" where it's no longer needed. 2018-07-11 16:32:08 -04:00
Joe Taylor
14385611be Code cleanup related to "bcontest". Auto-seq now OK for new NA VHF Contest messages. 2018-07-11 10:13:42 -04:00
Joe Taylor
c1e71a46ef Remove more "bcontest" stuff from Fortrn code. 2018-07-10 15:32:59 -04:00
Joe Taylor
d95d2df5b6 Old-style "NA VHF Contest" mode removed from all Fortran routines. 2018-07-10 15:09:42 -04:00
Steven Franke
e7b19b29b0 Screen out FT8 decodes with excessively large number of hard errors. These are almost certainly undetected errors. 2018-07-08 13:29:12 +00:00
Steven Franke
8eb58a47ba Fix a problem in ldpcsim174_91.f90. 2018-07-08 13:19:22 +00:00
Steve Franke
fd0ad33028 MSK144: Wholesale changeover to (128,90) code with 77-bit messages. Compiles and doesn't crash, but communication between two instances has not been tested. 2018-07-07 10:35:59 -05:00
Steve Franke
42f75bf404 Fix graymap. 2018-07-07 08:18:31 -05:00
Steve Franke
5948b671eb Still working on getting c++/fortran interface right. 2018-07-06 18:14:56 -05:00
Steve Franke
b83b66e665 Changed genft8 and related routines to accept 37 char message and return 37 char msgsent. For now, in mainwindow, just copy the 22 char message into message37. 2018-07-05 15:32:04 -05:00
Joe Taylor
e5e81e01fb Make packjt77 into a module; move all its routines into file packjt77.f90. 2018-07-05 14:07:17 -04:00
Steve Franke
4b8ea3ef45 Wire up the 'Decode only 77-bit messages' checkbox. 2018-07-05 07:51:10 -05:00
Steve Franke
ed92d5a86c SNR estimator is broken for isync=2 messages, due to different signal normalization. For now, go back to SJF's old signal/(noise+interference) estimator. 2018-07-04 16:58:24 -05:00
Steve Franke
a448dc5640 Use 37 character message for de-duping. Comment out some code that needs to be updated to work with new message type. 2018-07-04 16:20:12 -05:00
Steve Franke
50d8945bca Fix up Usage message for ft8sim2. 2018-07-04 12:41:43 -05:00
Steve Franke
d70e3dbb26 Fix some problems in ft8sim2.f90. 2018-07-04 10:38:10 -05:00
Steve Franke
df652e383b More progress on making ft8sim2 and ft8b_2 encode and decode all message types. For now, decoder.f90 is hardwired to always print 37 characters. 2018-07-04 10:15:01 -05:00
Steve Franke
91388f8ba2 Create a separate simulation program, ft8sim2, for New Style 77 bit messages. Hashes are not handled yet. Needs more testing. 2018-07-04 09:52:39 -05:00
Steve Franke
24f4792b23 Fix incorrect reference to extract77 - should have been unpack77 2018-07-03 15:59:24 -05:00
Steve Franke
57ebc30369 Call the new extract77 in ft8b_2. Define msg37 and msgsent37 to replace their 22-bit predecessors. 2018-07-03 15:34:39 -05:00
Steve Franke
bb12c7424d Module packjt77.f90 includes the 77bit utility programs called by pak77 and unpack77. Modify genft8_174_91.f90 to generate type 2 messages. 2018-07-03 15:08:38 -05:00
Steve Franke
cf64cad091 Send m_i3, m_n3, m_isync from mainwindow to genft8.f90 and use these to determine the type of generated message, according to the scheme described in lib/77bit/NewCode.txt. 2018-07-03 14:37:50 -05:00
Steve Franke
9295726931 Fix the sign of i3 when trying to subtract a type message. 2018-07-03 11:24:42 -05:00
Steve Franke
385cda8e01 Comment out a debug message. 2018-07-03 11:17:21 -05:00
Steve Franke
3f897225fe genft8 now looks at sign of n3 and i3. If either sign is negative, generate a type 1 (classic) message. Otherwise generate type 2. Type 1 seems to work. Type 2 does not yet work. 2018-07-03 11:10:47 -05:00
Steve Franke
91b7544ba1 More progress toward switching to (i3,n3). wsjtx runs without crashing now. 2018-07-03 09:49:11 -05:00
Steve Franke
c39dd63f79 Send (i3,n3) from mainwindow to genft8. First steps at interpreting (i3,n3) to send itype=1 for classic messages and itype=2 otherwise. Very buggy at this stage. 2018-07-03 09:28:16 -05:00
Steve Franke
5fc4fe6eda Fix an off-by-one error. Remove attempt to refine DT estimate using polynomial interpolation. 2018-07-02 16:13:27 -05:00
Steve Franke
26de3219d3 Fix an off-by-one problem. 2018-06-30 14:56:19 -05:00
Steve Franke
83d81bdcd2 Streamline the sequence detector code. 2018-06-27 15:11:39 -05:00
Steve Franke
229ee09b99 Minor code cleanup. 2018-06-27 09:55:34 -05:00
Steve Franke
03abada09b More progress on sequence demodulator. Can now do nsymb=1,2, and/or 3. 2018-06-26 11:11:58 -05:00
Steve Franke
7684bd0e78 Work toward a generalized sequence detector for nsymbols=1, 2, or 3. Works for nsymbol=3, but not yet for nsymbol=1, or 2. 2018-06-25 17:01:34 -05:00
Steve Franke
0f5759270e Added 2-symbol sequence detection for proof-of-concept tests. 2018-06-22 11:20:28 -05:00
Steve Franke
3f8c218ebe Make changes to ft8b_2.f90 to accommodate the new 77-bit in/out encoding/decoding routines. With these changes, WSJT-X decodes (174,91) frames. 2018-06-17 12:11:32 -05:00
Steve Franke
1a31e5b2d6 For (174,91) code, move CRC generation and testing into encode and decode routines. Make ldpcsim174_91.f90 work with the new encode/decode routines. 2018-06-17 08:44:10 -05:00
Steve Franke
e16e78790a Create chkcrc13a.f90. Should chkcrc12a, chkcrc13a, and chkcrc14a be combined into one routine? 2018-06-16 09:04:51 -05:00
Steve Franke
a5837bd5c7 AP decoding now works for type 2 frames. Also cleaned up and simplified AP implementation in ft8b_2. 2018-06-11 15:10:44 -05:00
Steve Franke
6fe9e8f860 Remove the need to re-order the parity-check matrix columns for compatibility with the generator matrix. Redefine the codeword to have the form [91 message bits|83 parity bits]. 2018-06-09 13:05:11 -05:00