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