Commit Graph

1620 Commits

Author SHA1 Message Date
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
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
Steve Franke
48b60eab71 Make two sync passes, one for each sync array. Label candidates with their type and decode accordingly. 2018-06-05 16:44:52 -05:00
Steve Franke
772b1bd5fa ft8sim can now generate old (174,87) or new (174,91) frames. Frame type is selected using the itype command line parameter. 2018-06-05 08:40:00 -05:00
Steve Franke
86a5ae6596 costasxcorr is a Gnu Octave script that calculates the cross correlation between Costas arrays. 2018-06-04 14:06:14 -05:00
Steve Franke
c4ee0a2b41 Replace all references to code a with references to code c. 2018-06-04 08:04:22 -05:00
Steve Franke
689711ff1f Add definitions for a new and improved (174,91) code - called code c 2018-06-04 08:04:22 -05:00