Commit Graph

1725 Commits

Author SHA1 Message Date
Joe Taylor
81af6f1ed3 Fix minor flaws in reporting bad messages by jt65code and jt9code. 2018-08-31 11:22:06 -04:00
Joe Taylor
a8ad1569cc Protect against a potential bounds error. 2018-08-31 10:47:31 -04:00
Joe Taylor
45d48629d2 Increase size of callsign hash table; protect against its overflow. 2018-08-31 09:23:37 -04:00
Joe Taylor
fed89ef888 Better protection against bad data in c77. Slightly wider default Settings window. 2018-08-30 10:52:38 -04:00
Joe Taylor
201b29993c More fixes related to nonstandard calls. 2018-08-29 14:18:56 -04:00
Joe Taylor
17beaf71de Cleaning up the handling of goofy calls. 2018-08-29 09:21:08 -04:00
Joe Taylor
94e9a02615 Guard against non-binary data in c77. 2018-08-27 11:40:34 -04:00
Joe Taylor
15b4463394 Fix several bugs found when testing MSK144 op activities NA_VHF and EU_VHF. 2018-08-27 11:26:09 -04:00
Steve Franke
c7b9892517 Fix the dimensions of the candidate array. 2018-08-08 16:05:21 +00:00
Steve Franke
20cfae891e Make sync8.f90 more robust. Increase number of candidates to 300. 2018-08-08 09:29:08 -05:00
Joe Taylor
0d7cd3ed03 Fix generation of Tx2 in RTTY mode. Fix a related problem of decoding the incorrect RTTY message. 2018-08-03 11:46:28 -04:00
Joe Taylor
800e29d4db Fix two potential crash spots in packjt77. Add "Reset Defaults" to Colors tab. 2018-08-03 08:53:02 -04:00
Joe Taylor
8a732f40a5 NA_VHF now basically functional in MSK144 mode. 2018-07-31 13:18:57 -04:00
Joe Taylor
0235af4f77 Sorry, I forgot to add this file. 2018-07-30 17:56:09 -04:00
Joe Taylor
3af293f297 Use module variables rather than common/hashcom/; working on transparent handling of goofy calls. 2018-07-30 15:46:25 -04:00
Joe Taylor
cbf8b5d914 Fix the generation of Tx* messages containing nonstandard calls. 2018-07-30 11:17:09 -04:00
Joe Taylor
c87296d90e Merge branch 'integrate-77bit' of https://bitbucket.org/k1jt/wsjtx into integrate-77bit 2018-07-29 19:40:53 -04:00
Joe Taylor
4db3c6b6cf Prese i3 and n3 to -1 in encode77.f90. 2018-07-29 19:39:55 -04:00
Steve Franke
fe491393cd Fix call to ft8apset. 2018-07-29 17:18:02 -05:00
Steve Franke
f7d423296f Minor code cleanup. 2018-07-29 17:15:02 -05:00
Steve Franke
92ffbe3524 Merge branch 'integrate-77bit' of bitbucket.org:k1jt/wsjtx into integrate-77bit 2018-07-29 16:29:19 -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
Joe Taylor
796f5e865f Fix a flw in handling i3=4 messages; export n28a_77 and n28b_77. 2018-07-29 16:34:21 -04: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
Joe Taylor
91d0707eb6 Fix a quirk (aka "QU1RK") that can produce a callsign with an embedded blank. 2018-07-27 10:28:28 -04:00
Joe Taylor
789d2042bf Pass nContest value to hspec.f90. 2018-07-27 09:45:14 -04:00
Joe Taylor
adcffe3db4 Pass "nContest" value to ft8_decode.f90. 2018-07-27 09:30:00 -04:00
Joe Taylor
1a8605d21c Update the White Paper describing features of WSJT-X Version 2.0. 2018-07-26 12:17:13 -04:00
Joe Taylor
f7c02ec587 Code cleanup: remove several unused dummy arguments. 2018-07-25 15:19:57 -04:00
Joe Taylor
7ff366abe3 Code cleanup and improvement in the JT4 decoder.
NB: should remove the present downsampling to 11025/2 Hz, which unnecessarily
limits the availabler range of Fx Freq ("nfqso" in the source code).
2018-07-23 12:42:50 -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
54b3541012 Merge branch 'integrate-77bit' of bitbucket.org:k1jt/wsjtx into integrate-77bit 2018-07-17 16:55:41 -05:00
Steve Franke
ab7c811552 Remove bcontest from ft8sim2.f90 so that it works. 2018-07-17 16:55:22 -05:00
Joe Taylor
e785d56a16 Draft White Paper on WSJT-X v2.0. 2018-07-12 13:25:12 -04:00
Joe Taylor
2c5dd053f3 Don't send "mygrid" where it's no longer needed. 2018-07-11 16:32:08 -04:00
Joe Taylor
542f85694c Remove some bcontest stuff associated with MSK144. 2018-07-11 14:42:48 -04:00
Joe Taylor
316e78133c Remove remaining traces of the "NA VHF Contest" checkBox. 2018-07-11 14:27:53 -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
Steve Franke
a379af5472 Update todo list. 2018-07-09 07:07:49 -05: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
Steven Franke
d6cf3dc89f Screen MSK144 decodes and reject if more than 18 hard errors were 'corrected'. These are almost certainly undetected errors. 2018-07-08 12:53:23 +00:00
Joe Taylor
8a8e407ca0 Check range of isec. Need a better solution? 2018-07-07 17:39:20 -04:00
Steve Franke
e3594a2a04 More fixes related to MSK144 changeover. 2018-07-07 12:57:16 -05:00
Steve Franke
a9bb1924f9 Change a message length from 22 to 37 chars. 2018-07-07 12:10:02 -05:00
Steve Franke
b691ad6351 Merge branch 'integrate-77bit' of bitbucket.org:k1jt/wsjtx into integrate-77bit 2018-07-07 10:36:08 -05: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
Joe Taylor
cb9b39b13c Add some comments; clean up a qDebug() output. 2018-07-07 10:59:39 -04:00
Steve Franke
cbf8b35b8d Merge branch 'integrate-77bit' of bitbucket.org:k1jt/wsjtx into integrate-77bit 2018-07-07 09:45:00 -05:00
Steve Franke
622ed4a3ab Working toward whole-hog switchover to new LDPC code with 77 bit messages in MSK144. 2018-07-07 09:44:52 -05:00
Joe Taylor
eb0f9b702d Merge branch 'integrate-77bit' of https://bitbucket.org/k1jt/wsjtx into integrate-77bit 2018-07-07 09:55:46 -04:00
Joe Taylor
d3c9d29214 Fix a bug in split77. 2018-07-07 09:54:34 -04: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
Joe Taylor
00029c1910 Merge branch 'integrate-77bit' of https://bitbucket.org/k1jt/wsjtx into integrate-77bit 2018-07-06 13:04:35 -04:00
Joe Taylor
c5d61f4cf4 Now able to generate 72-bit or 77-bit messages. 2018-07-06 12:52:39 -04:00
Steve Franke
60de25d9e6 Update the todo list. 2018-07-06 09:52:48 -05:00
Joe Taylor
4bfdf1e56d Merge branch 'integrate-77bit' of https://bitbucket.org/k1jt/wsjtx into integrate-77bit 2018-07-05 16:52:27 -04:00
Joe Taylor
af7f1af22b Update the ToDo list. 2018-07-05 16:51:52 -04: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
Joe Taylor
0462008e15 Fix a few more issues with hashed callsigns. 2018-07-05 13:20:31 -04:00
Joe Taylor
641db21672 Fix several problems with the use of hash codes for compound or goofy callsigns. 2018-07-05 11:15:06 -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
c4e6a310aa Turn off ap symbol generation for type 2 messages. This needs to be completely reworked once basic functionality is established. 2018-07-03 15:49:39 -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
Joe Taylor
d6493a62fa Merge branch 'integrate-77bit' of https://bitbucket.org/k1jt/wsjtx into integrate-77bit 2018-07-03 14:18:55 -04:00
Joe Taylor
854a7f2a5c NewCode.txt describes some necessary code additions. 2018-07-03 14:17:49 -04: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
cf7a2eded5 Merge branch 'integrate-77bit' of bitbucket.org:k1jt/wsjtx into integrate-77bit 2018-07-03 09:50:25 -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
Joe Taylor
2c0286f301 Merge branch 'integrate-77bit' of https://bitbucket.org/k1jt/wsjtx into integrate-77bit 2018-07-03 10:40:18 -04:00
Joe Taylor
2963e8c19a Add a m_config.bNoSpecial() function. 2018-07-03 10:38:50 -04: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
Joe Taylor
d6c0d1d878 Add a To Do list -- always subject to revision! 2018-07-03 08:26:16 -04: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
acb25dd13c Merge in K1JT's 77bit message code. 2018-06-30 15:47:33 -05:00
Steve Franke
26de3219d3 Fix an off-by-one problem. 2018-06-30 14:56:19 -05:00
Joe Taylor
251b2c6ce9 Fix bugs for several more edge cases. 2018-06-29 20:11:24 -04:00
Joe Taylor
023b76400b Add a few more test messages. 2018-06-29 13:36:05 -04:00
Joe Taylor
2da8f51fc2 Fix bugs for a few edge-case messages. Add some test files. 2018-06-29 12:02:29 -04:00
Joe Taylor
18a839963f Change to 12-bit hash in msg type 4, to accommodate CQ calls. 2018-06-28 15:26:54 -04:00
Joe Taylor
190aef8a36 Add column headings for encode77. 2018-06-28 14:12:05 -04:00
Joe Taylor
5465abaa72 Make encode77 default to reading from "messages.txt". 2018-06-28 13:17:32 -04:00
Joe Taylor
4946d01edb Put <...> around callsign recovered from hash table. 2018-06-28 13:07:01 -04:00
Joe Taylor
1d0ffcfdca Change 24-bit hash to 22-bit hash. 2018-06-28 11:48:42 -04:00
Joe Taylor
0b8d2b620f Rename a data file. 2018-06-27 20:33:17 -04:00
Joe Taylor
7a855f1fd5 Correct several minor bugs. 2018-06-27 20:19:48 -04:00
Joe Taylor
617b0bffc8 Nearly finished with pack77/unpack77. 2018-06-27 16:41:58 -04:00
Steve Franke
83d81bdcd2 Streamline the sequence detector code. 2018-06-27 15:11:39 -05:00
Joe Taylor
983cd3f31c More additions to pack77/unpack77 routines. 2018-06-27 15:07:04 -04:00
Joe Taylor
c007b0f4cd Add a file with wide variety of test cases for pack28/unpack28. 2018-06-27 11:23:27 -04:00
Joe Taylor
d4784ef7dc More work on pack28/unpack28, and a test28 program. 2018-06-27 11:08:39 -04:00
Steve Franke
229ee09b99 Minor code cleanup. 2018-06-27 09:55:34 -05:00
Joe Taylor
12e0def237 Implement special tokens CQ, DE, QRZ, ... in pack28/unpack28. 2018-06-27 08:57:13 -04:00
Joe Taylor
acd6d5cab9 Fix some bugs for more varied example messages. 2018-06-26 21:00:53 -04:00
Joe Taylor
c75a270872 Finish decoding of Types 1 and 3 (except for rpt/RRR/RR73/73). 2018-06-26 16:47:16 -04:00
Joe Taylor
b0636b561b Basic function for message Types 0.0-0.5 and Type 1. 2018-06-26 16:34:38 -04:00
Joe Taylor
9d5a2e6f5a Through type 0.3. 2018-06-26 15:20:39 -04:00
Joe Taylor
9ccb96397d source-encode/decode of 77-bit messages OK through type 0.3. 2018-06-26 15:13:15 -04:00
Joe Taylor
2006fde28c Completed pack77/unpack77 through message Type 0.2. Still more to do! 2018-06-26 13:55:12 -04: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
Joe Taylor
0adcfc667f Add files for source encoding and decoding of 77-bit messages. 2018-06-26 08:33:13 -04: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
Joe Taylor
bd5aec3f31 More tweaks to description of 77-bit message types. 2018-06-23 15:15:10 -04:00
Joe Taylor
539ec3d465 test 2018-06-23 12:15:47 -04:00
Joe Taylor
35b53766cb Add info on 28-bit integers used for standard callsigns. 2018-06-23 11:54:40 -04:00
Joe Taylor
7266d407ff Amended rules for 77-bit message types. 2018-06-22 16:36:14 -04:00
Steve Franke
0f5759270e Added 2-symbol sequence detection for proof-of-concept tests. 2018-06-22 11:20:28 -05:00
Joe Taylor
f962caace4 Implement a valid scheme for computing S/N in JT4 mode.
(cherry picked from commit f8bb7f4477)
2018-06-21 23:25:36 +01:00
Joe Taylor
2edcebef40 Further progress toward defining the 77-bit message types. 2018-06-21 15:38:08 -04:00
Joe Taylor
96f3fa5810 Add directory 77bit and its contents. 2018-06-21 10:51:19 -04:00
Joe Taylor
f8bb7f4477 Implement a valid scheme for computing S/N in JT4 mode. 2018-06-18 13:41:26 -04: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
2cdb164446 Move CRC13 creation into encode128_90.f90 and CRC checking into bpdecode128_90.f90. 2018-06-16 16:42:02 -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
c18338b83b Fix the calculation of symbol error probability. 2018-06-16 09:03:32 -05:00
Steve Franke
6846964170 Add 'code b' - a better (128,90) code. Code b has irregular column weights - 80% weight 3 and 20% weight 4. 2018-06-14 15:38:58 -05:00
Joe Taylor
67b5c80e1a Update the contest ideas. 2018-06-14 11:31:16 -04:00
Steve Franke
1aeaa1715b Fix up ldpcsim144 for comparisons with ldpcsim128_90. 2018-06-14 09:59:49 -05:00
Steve Franke
5da3986f0a More work on (128,90) code. ldpcsim128_90 works now. 2018-06-14 09:30:41 -05:00
Joe Taylor
0344c14f99 Add the white paper digi-contest.txt. 2018-06-14 10:14:30 -04:00
Steve Franke
3ac119fb99 Progress toward a working ldpc128_90 simulator. Compiles, but does not yet work. 2018-06-13 11:34:00 -05:00
Steve Franke
41920af89a Add routines that will implement 77-bit messages for MSK144. Initial tests will use a (128,90) code. 2018-06-13 09:40:04 -05:00
Steve Franke
9b63fe6ac7 Fix a bug in ldpcsim144 so that nerrhisto.dat is calculated and printed. 2018-06-12 16:00:06 -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
Steve Franke
68beed88a7 Change to Gray bit to symbol mapping for (174,91) messages. 2018-06-08 16:21:21 -05:00
Steve Franke
a3d9cf8bcd Fix a bug that could cause all log-likelihoods to be NaN in some cases. 2018-06-07 14:24:35 -05:00
Steve Franke
a0db6a8a08 Disable AP passes for type 2 frames, for now. Write some diagnostics to lun 81. 2018-06-07 11:40:25 -05:00
Steve Franke
b84602d059 Zero the apsymbols for type 2 frames, for now. 2018-06-06 11:28:44 -05:00
Steve Franke
a23e2b6f8b Fix a bug that caused some second-decoding-attempt log-likelihoods to become NaN. 2018-06-06 11:21:00 -05:00
Steve Franke
badc639777 Fix a bug in sync8d.f90. Switching between Costas arrays should work now. 2018-06-06 10:59:49 -05:00