[webftr-js8-lab] command=post-ldpc-info87-runtime-export [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T143645Z_post-ldpc-info87-runtime-export.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T143645Z_post-ldpc-info87-runtime-export_manifest.json [webftr-js8-lab] utc=20260527T143645Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] Step61 post-LDPC Info87 runtime export probe [webftr-js8-lab] running bounded LDPC matrix/soft probes on WAV /decoders/js8_test.wav [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T143645Z_post_ldpc_info87_runtime_export_output.json [webftr-js8-lab] JSON timeout guard: 180s { "ok": true, "tool": "webftr-js8-post-ldpc-info87-runtime-export-probe", "tool_version": "step61-post-ldpc-info87-runtime-export", "rx_only_guard": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "no_gui_runtime_started": true, "input_wav": "/decoders/js8_test.wav", "log_dir": "/decoders/js8_decoder/logs", "output_dir": "/decoders/js8_decoder/logs/step61_post_ldpc_runtime", "candidate_json": "/decoders/js8_decoder/logs/step61_post_ldpc_runtime/js8_test_fec_candidate_step17.json", "matrix_error": null, "soft_error": null, "matrix_ok": true, "soft_ok": true, "runtime_info87_rows_count": 48, "zero_distance_candidate_count": 0, "best_distance": 3, "best_runtime_info87_row": { "source": "matrix_probe.all_matrix_probes", "row_name": "matrix_probe_10", "info87_bits": [ 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0 ], "info87_bitstring": "011000100000011111100101100100110010010111000110110110110101100000110111011010010010100", "info87_llr": [ 2.713685, 0.256719, -2.159951, 2.471102, 0.050013, 3.558419, -3.330023, 0.0, 0.03282, 2.053571, 1.05003, 0.874533, 3.576055, -0.03837, -4.07886, -3.298054, -2.719878, -0.105514, -2.454153, 2.387264, 2.968724, -0.199817, 0.136163, -2.793506, -1.940982, 1.912324, 0.48993, -1.621495, 0.155054, 0.63733, -4.117514, -0.320699, 2.691802, 1.996951, -3.201109, 2.064683, 2.705783, -4.163159, 1.517749, -0.39142, -2.826873, -3.303247, 0.411809, 0.0, 3.401936, -2.978935, 0.000245, 0.938613, -3.970155, -2.847049, 1.016789, -0.323135, -3.632038, 4.130021, -2.493348, -1.489597, 2.143109, 0.245366, 1.855579, -3.499585, -3.395818, 0.001417, 3.498217, 1.199596, 3.379353, 0.096777, -3.430657, -1.063134, 0.003106, -9.4e-05, -3.378169, -1.747844, 1.512, -4.105595, -1.813838, 1.663707, 0.116975, 3.324597, 2.678618, -3.274867, 2.019584, 0.397888, -0.453233, 2.632003, 0.016174, 0.843582, 3.850408 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 7, 43, 69, 46, 61, 68, 84, 8, 13, 4, 65, 17, 76, 22, 28, 21, 57, 1 ], "message174_crc12": { "ok": true, "distance": 3, "crc_match": false, "received_crc12": 1172, "computed_crc12": 1116, "message_preview_12chars": "OWVbaoN6srWt", "message_words_6bit": [ 24, 32, 31, 37, 36, 50, 23, 6, 54, 53, 32, 55 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse" }, "runtime_info87_rows_preview": [ { "source": "matrix_probe.all_matrix_probes", "row_name": "matrix_probe_10", "info87_bits": [ 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0 ], "info87_bitstring": "011000100000011111100101100100110010010111000110110110110101100000110111011010010010100", "info87_llr": [ 2.713685, 0.256719, -2.159951, 2.471102, 0.050013, 3.558419, -3.330023, 0.0, 0.03282, 2.053571, 1.05003, 0.874533, 3.576055, -0.03837, -4.07886, -3.298054, -2.719878, -0.105514, -2.454153, 2.387264, 2.968724, -0.199817, 0.136163, -2.793506, -1.940982, 1.912324, 0.48993, -1.621495, 0.155054, 0.63733, -4.117514, -0.320699, 2.691802, 1.996951, -3.201109, 2.064683, 2.705783, -4.163159, 1.517749, -0.39142, -2.826873, -3.303247, 0.411809, 0.0, 3.401936, -2.978935, 0.000245, 0.938613, -3.970155, -2.847049, 1.016789, -0.323135, -3.632038, 4.130021, -2.493348, -1.489597, 2.143109, 0.245366, 1.855579, -3.499585, -3.395818, 0.001417, 3.498217, 1.199596, 3.379353, 0.096777, -3.430657, -1.063134, 0.003106, -9.4e-05, -3.378169, -1.747844, 1.512, -4.105595, -1.813838, 1.663707, 0.116975, 3.324597, 2.678618, -3.274867, 2.019584, 0.397888, -0.453233, 2.632003, 0.016174, 0.843582, 3.850408 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 7, 43, 69, 46, 61, 68, 84, 8, 13, 4, 65, 17, 76, 22, 28, 21, 57, 1 ], "message174_crc12": { "ok": true, "distance": 3, "crc_match": false, "received_crc12": 1172, "computed_crc12": 1116, "message_preview_12chars": "OWVbaoN6srWt", "message_words_6bit": [ 24, 32, 31, 37, 36, 50, 23, 6, 54, 53, 32, 55 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse" }, { "source": "matrix_probe.post_ldpc_info87_llr_rows", "row_name": "matrix_export_10", "info87_bits": [ 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0 ], "info87_bitstring": "011000100000011111100101100100110010010111000110110110110101100000110111011010010010100", "info87_llr": [ 2.713685, 0.256719, -2.159951, 2.471102, 0.050013, 3.558419, -3.330023, 0.0, 0.03282, 2.053571, 1.05003, 0.874533, 3.576055, -0.03837, -4.07886, -3.298054, -2.719878, -0.105514, -2.454153, 2.387264, 2.968724, -0.199817, 0.136163, -2.793506, -1.940982, 1.912324, 0.48993, -1.621495, 0.155054, 0.63733, -4.117514, -0.320699, 2.691802, 1.996951, -3.201109, 2.064683, 2.705783, -4.163159, 1.517749, -0.39142, -2.826873, -3.303247, 0.411809, 0.0, 3.401936, -2.978935, 0.000245, 0.938613, -3.970155, -2.847049, 1.016789, -0.323135, -3.632038, 4.130021, -2.493348, -1.489597, 2.143109, 0.245366, 1.855579, -3.499585, -3.395818, 0.001417, 3.498217, 1.199596, 3.379353, 0.096777, -3.430657, -1.063134, 0.003106, -9.4e-05, -3.378169, -1.747844, 1.512, -4.105595, -1.813838, 1.663707, 0.116975, 3.324597, 2.678618, -3.274867, 2.019584, 0.397888, -0.453233, 2.632003, 0.016174, 0.843582, 3.850408 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 7, 43, 69, 46, 61, 68, 84, 8, 13, 4, 65, 17, 76, 22, 28, 21, 57, 1 ], "message174_crc12": { "ok": true, "distance": 3, "crc_match": false, "received_crc12": 1172, "computed_crc12": 1116, "message_preview_12chars": "OWVbaoN6srWt", "message_words_6bit": [ 24, 32, 31, 37, 36, 50, 23, 6, 54, 53, 32, 55 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "matrix_meta": {} }, { "source": "matrix_probe.all_matrix_probes", "row_name": "matrix_probe_1", "info87_bits": [ 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 ], "info87_bitstring": "010110001111011100011011101000000010100111011010101000010111000101001010011010000010000", "info87_llr": [ 3.175167, 0.056321, 3.170705, -1.564157, -1.45811, 0.047068, 2.230806, 0.598509, -0.876032, -1.199596, -0.694114, -0.397472, 3.091603, -0.092097, -0.788017, -0.646178, 0.297679, 0.412663, 2.847049, 0.122657, -2.806158, 0.453233, -0.454097, -0.619239, -0.874533, 2.328045, -0.420991, 2.493348, 1.093158, 2.05361, 0.316207, 1.905647, 0.496531, 2.643836, -1.079496, 2.998213, -2.586942, 1.381831, 0.863378, -2.692102, -0.085204, -0.086109, 2.333258, -0.007679, -0.009994, 1.845347, 0.253688, 2.235631, -3.409336, 1.278624, -0.656886, 1.811813, 0.186374, 1.808903, 0.062268, 0.127104, 0.24178, -0.843582, -1.478186, -0.685705, 0.076629, 0.945528, 0.988495, -0.0, 2.291429, 0.063785, 3.433312, 0.395494, -0.453862, 2.789631, -0.000311, 0.002223, 0.21435, -2.29281, -0.279472, -0.149104, 0.819062, 1.082949, 3.430657, 0.202548, 0.905423, 1.813838, 0.02759, -0.107735, 3.230417, 0.553283, 0.777223 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 63, 70, 71, 43, 44, 82, 5, 1, 54, 65, 60, 40, 41, 13, 83, 19, 55, 75 ], "message174_crc12": { "ok": true, "distance": 4, "crc_match": false, "received_crc12": 1040, "computed_crc12": 240, "message_preview_12chars": "MFSRe2dQeN5A", "message_words_6bit": [ 22, 15, 28, 27, 40, 2, 39, 26, 40, 23, 5, 10 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "ft8_gray_primary_demap_msb_input+no_interleaver+inverted_bits", "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword" }, { "source": "matrix_probe.post_ldpc_info87_llr_rows", "row_name": "matrix_export_1", "info87_bits": [ 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 ], "info87_bitstring": "010110001111011100011011101000000010100111011010101000010111000101001010011010000010000", "info87_llr": [ 3.175167, 0.056321, 3.170705, -1.564157, -1.45811, 0.047068, 2.230806, 0.598509, -0.876032, -1.199596, -0.694114, -0.397472, 3.091603, -0.092097, -0.788017, -0.646178, 0.297679, 0.412663, 2.847049, 0.122657, -2.806158, 0.453233, -0.454097, -0.619239, -0.874533, 2.328045, -0.420991, 2.493348, 1.093158, 2.05361, 0.316207, 1.905647, 0.496531, 2.643836, -1.079496, 2.998213, -2.586942, 1.381831, 0.863378, -2.692102, -0.085204, -0.086109, 2.333258, -0.007679, -0.009994, 1.845347, 0.253688, 2.235631, -3.409336, 1.278624, -0.656886, 1.811813, 0.186374, 1.808903, 0.062268, 0.127104, 0.24178, -0.843582, -1.478186, -0.685705, 0.076629, 0.945528, 0.988495, -0.0, 2.291429, 0.063785, 3.433312, 0.395494, -0.453862, 2.789631, -0.000311, 0.002223, 0.21435, -2.29281, -0.279472, -0.149104, 0.819062, 1.082949, 3.430657, 0.202548, 0.905423, 1.813838, 0.02759, -0.107735, 3.230417, 0.553283, 0.777223 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 63, 70, 71, 43, 44, 82, 5, 1, 54, 65, 60, 40, 41, 13, 83, 19, 55, 75 ], "message174_crc12": { "ok": true, "distance": 4, "crc_match": false, "received_crc12": 1040, "computed_crc12": 240, "message_preview_12chars": "MFSRe2dQeN5A", "message_words_6bit": [ 22, 15, 28, 27, 40, 2, 39, 26, 40, 23, 5, 10 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "matrix_meta": {} }, { "source": "matrix_probe.all_matrix_probes", "row_name": "matrix_probe_4", "info87_bits": [ 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0 ], "info87_bitstring": "100010101110111110111011101000011011001110001101100110111101100110111100010101101011100", "info87_llr": [ -3.175167, 1.444138, 1.348215, 2.373598, -0.077873, 0.053645, -0.863008, -0.060529, 0.139647, -3.147547, -1.318165, 0.501753, -2.580003, -0.950294, -0.721196, -3.35976, -2.643905, 2.649394, -0.142766, -0.131907, -0.712903, 0.831188, -0.47611, -0.39454, -0.001825, 0.00114, -0.387615, 2.678121, 0.379239, 0.367315, 0.159525, 0.022724, 0.106544, 1.047778, -0.488105, -0.005443, 0.021519, 0.0, 0.0, -0.60639, -0.525575, 2.300703, 2.878553, 1.39816, -1.201506, -1.361139, 1.038295, -1.728366, -0.375057, 0.256955, 1.477831, 0.00654, 0.000562, 0.161258, -1.444438, -1.202161, -2.114301, -1.599597, 0.050862, -0.067634, -0.831333, 0.61417, 0.367797, -2.643836, -1.673644, 0.250335, -0.628159, -0.389345, 0.000978, -1.905868, 0.267501, 0.334387, 0.592541, -0.125369, 0.046555, -0.461264, 0.171058, -0.077739, -0.026378, 0.025472, -2.889754, 0.558538, -0.514067, -1.908812, -0.772235, 0.548293, 0.818247 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 37, 38, 52, 68, 25, 24, 35, 51, 36, 31, 79, 78, 74, 58, 5, 7, 59, 77 ], "message174_crc12": { "ok": true, "distance": 5, "crc_match": false, "received_crc12": 2908, "computed_crc12": 538, "message_preview_12chars": "Yk xeREDczcy", "message_words_6bit": [ 34, 46, 62, 59, 40, 27, 14, 13, 38, 61, 38, 60 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "ft8_gray_alt_high_demap_msb_input+no_interleaver", "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse" }, { "source": "matrix_probe.all_matrix_probes", "row_name": "matrix_probe_9", "info87_bits": [ 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0 ], "info87_bitstring": "010000010101001000110110111100000000010000010010011011010010101011011100001011010010010", "info87_llr": [ 3.175167, -0.0, -0.0, 1.4804, 1.16514, 1.121706, 0.186898, -0.319708, 0.140275, -3.409336, 2.262486, -0.767498, 0.23193, 0.103943, -0.180688, 1.420297, 0.677631, 1.519813, -0.085593, -0.30299, 0.079755, -0.638724, -0.318538, 0.631145, -0.407482, -2.232178, -1.724721, -0.560404, 0.528597, 0.52663, 3.230417, 0.852882, 0.088681, 3.091603, 0.422278, -0.131414, 0.001272, 0.003121, 1.905868, 1.897049, 1.626923, 0.290978, 0.076629, -6.3e-05, 0.020602, 2.801472, -3.265939, 2.268536, 3.147547, -2.39421, -3.426809, -0.159398, 0.203929, -0.615313, 0.461264, -0.195897, 0.777201, 2.038189, -2.136661, 1.973914, -2.156834, 1.696947, -0.863176, 3.086802, -1.368014, -2.596191, 2.230806, -0.000523, -0.001614, -0.758241, -0.001038, 0.000416, 0.264625, 0.741723, -0.537432, 0.062268, -0.003991, -0.022123, 0.217118, -3.370148, 1.662669, 0.54334, -0.17214, 0.062002, 0.107093, -0.018111, 0.214881 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 1, 2, 43, 71, 67, 70, 36, 68, 37, 76, 85, 44, 77, 83, 75, 42, 20, 18 ], "message174_crc12": { "ok": true, "distance": 5, "crc_match": false, "received_crc12": 1682, "computed_crc12": 3828, "message_preview_12chars": "GL8sy0GIRIhS", "message_words_6bit": [ 16, 21, 8, 54, 60, 0, 16, 18, 27, 18, 43, 28 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse+inverted_bits", "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword" }, { "source": "matrix_probe.post_ldpc_info87_llr_rows", "row_name": "matrix_export_4", "info87_bits": [ 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0 ], "info87_bitstring": "100010101110111110111011101000011011001110001101100110111101100110111100010101101011100", "info87_llr": [ -3.175167, 1.444138, 1.348215, 2.373598, -0.077873, 0.053645, -0.863008, -0.060529, 0.139647, -3.147547, -1.318165, 0.501753, -2.580003, -0.950294, -0.721196, -3.35976, -2.643905, 2.649394, -0.142766, -0.131907, -0.712903, 0.831188, -0.47611, -0.39454, -0.001825, 0.00114, -0.387615, 2.678121, 0.379239, 0.367315, 0.159525, 0.022724, 0.106544, 1.047778, -0.488105, -0.005443, 0.021519, 0.0, 0.0, -0.60639, -0.525575, 2.300703, 2.878553, 1.39816, -1.201506, -1.361139, 1.038295, -1.728366, -0.375057, 0.256955, 1.477831, 0.00654, 0.000562, 0.161258, -1.444438, -1.202161, -2.114301, -1.599597, 0.050862, -0.067634, -0.831333, 0.61417, 0.367797, -2.643836, -1.673644, 0.250335, -0.628159, -0.389345, 0.000978, -1.905868, 0.267501, 0.334387, 0.592541, -0.125369, 0.046555, -0.461264, 0.171058, -0.077739, -0.026378, 0.025472, -2.889754, 0.558538, -0.514067, -1.908812, -0.772235, 0.548293, 0.818247 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 37, 38, 52, 68, 25, 24, 35, 51, 36, 31, 79, 78, 74, 58, 5, 7, 59, 77 ], "message174_crc12": { "ok": true, "distance": 5, "crc_match": false, "received_crc12": 2908, "computed_crc12": 538, "message_preview_12chars": "Yk xeREDczcy", "message_words_6bit": [ 34, 46, 62, 59, 40, 27, 14, 13, 38, 61, 38, 60 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "matrix_meta": {} }, { "source": "matrix_probe.post_ldpc_info87_llr_rows", "row_name": "matrix_export_9", "info87_bits": [ 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0 ], "info87_bitstring": "010000010101001000110110111100000000010000010010011011010010101011011100001011010010010", "info87_llr": [ 3.175167, -0.0, -0.0, 1.4804, 1.16514, 1.121706, 0.186898, -0.319708, 0.140275, -3.409336, 2.262486, -0.767498, 0.23193, 0.103943, -0.180688, 1.420297, 0.677631, 1.519813, -0.085593, -0.30299, 0.079755, -0.638724, -0.318538, 0.631145, -0.407482, -2.232178, -1.724721, -0.560404, 0.528597, 0.52663, 3.230417, 0.852882, 0.088681, 3.091603, 0.422278, -0.131414, 0.001272, 0.003121, 1.905868, 1.897049, 1.626923, 0.290978, 0.076629, -6.3e-05, 0.020602, 2.801472, -3.265939, 2.268536, 3.147547, -2.39421, -3.426809, -0.159398, 0.203929, -0.615313, 0.461264, -0.195897, 0.777201, 2.038189, -2.136661, 1.973914, -2.156834, 1.696947, -0.863176, 3.086802, -1.368014, -2.596191, 2.230806, -0.000523, -0.001614, -0.758241, -0.001038, 0.000416, 0.264625, 0.741723, -0.537432, 0.062268, -0.003991, -0.022123, 0.217118, -3.370148, 1.662669, 0.54334, -0.17214, 0.062002, 0.107093, -0.018111, 0.214881 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 1, 2, 43, 71, 67, 70, 36, 68, 37, 76, 85, 44, 77, 83, 75, 42, 20, 18 ], "message174_crc12": { "ok": true, "distance": 5, "crc_match": false, "received_crc12": 1682, "computed_crc12": 3828, "message_preview_12chars": "GL8sy0GIRIhS", "message_words_6bit": [ 16, 21, 8, 54, 60, 0, 16, 18, 27, 18, 43, 28 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "matrix_meta": {} }, { "source": "soft_decode.post_ldpc_info87_llr_rows", "row_name": "soft_export_0", "info87_bits": [ 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1 ], "info87_bitstring": "110101001001110011000100100010111010110001100110100110111001010001110101011110100100011", "info87_llr": [ 9.4e-05, -0.843582, 0.012829, -2.903463, 2.892455, -0.531347, 2.723669, 2.493348, -0.353466, 1.150631, 0.378726, -1.051437, -0.45484, -3.316036, 0.429434, 3.059825, -2.678618, -0.0, 1.934438, 0.392916, 2.429102, -2.24473, 3.134559, 2.454153, -0.078989, 0.00183, 0.193759, 0.056904, -2.691802, 2.499481, -0.934393, -2.178735, -0.761092, 1.309731, -3.019619, 0.360195, -1.664767, -1.025842, 1.268122, 0.316207, 1.138967, -0.590327, -0.043792, 1.290776, 0.31154, -1.564157, 0.002901, 0.000165, -0.03282, 2.847049, 0.74099, -0.22908, -1.207554, 0.048049, -0.303281, -2.586942, -1.977414, 2.075297, 1.666613, -0.105136, 4.190429, -3.953619, 0.278364, 0.679773, 3.005974, -0.341378, -0.87875, -0.00058, 1.867634, -1.199596, 1.366832, -1.828026, 0.110502, -0.571401, -0.050013, -2.143109, -3.020953, 0.496822, 0.001354, -0.000171, 1.719111, -1.300276, 1.47461, 0.429605, 1.436634, -0.646178, -0.085386 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 17, 0, 47, 79, 67, 78, 25, 46, 2, 48, 42, 53, 74, 27, 24, 86, 59, 72 ], "message174_crc12": { "ok": true, "distance": 5, "crc_match": false, "received_crc12": 3363, "computed_crc12": 2480, "message_preview_12chars": "r9p4YwnccvHr", "message_words_6bit": [ 53, 9, 51, 4, 34, 58, 49, 38, 38, 57, 17, 53 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "soft_meta": {} }, { "source": "soft_decode.post_ldpc_info87_llr_rows", "row_name": "soft_export_1", "info87_bits": [ 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ], "info87_bitstring": "000110001111011100001011101000000010100110000000101000000111000000001011011100000001000", "info87_llr": [ 3.175167, 0.056321, 3.170705, -1.564157, -1.45811, 0.047068, 2.230806, 0.598509, -0.876032, -1.199596, -0.694114, -0.397472, 3.091603, -0.092097, -0.788017, -0.646178, 0.297679, 0.412663, 2.847049, 0.122657, -2.806158, 0.453233, -0.454097, -0.619239, -0.874533, 2.328045, -0.420991, 2.493348, 1.093158, 2.05361, 0.316207, 1.905647, 0.496531, 2.643836, -1.079496, 2.998213, -2.586942, 1.381831, 0.863378, -2.692102, -0.085204, -0.086109, 2.333258, -0.007679, -0.009994, 1.845347, 0.253688, 2.235631, -3.409336, 1.278624, -0.656886, 1.811813, 0.186374, 1.808903, 0.062268, 0.127104, 0.24178, -0.843582, -1.478186, -0.685705, 0.076629, 0.945528, 0.988495, -0.0, 2.291429, 0.063785, 3.433312, 0.395494, -0.453862, 2.789631, -0.000311, 0.002223, 0.21435, -2.29281, -0.279472, -0.149104, 0.819062, 1.082949, 3.430657, 0.202548, 0.905423, 1.813838, 0.02759, -0.107735, 3.230417, 0.553283, 0.777223 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 63, 70, 71, 43, 44, 82, 5, 1, 54, 65, 60, 40, 41, 13, 83, 19, 55, 75 ], "message174_crc12": { "ok": true, "distance": 5, "crc_match": false, "received_crc12": 2056, "computed_crc12": 322, "message_preview_12chars": "6FSBe2c0e70B", "message_words_6bit": [ 6, 15, 28, 11, 40, 2, 38, 0, 40, 7, 0, 11 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "soft_meta": {} }, { "source": "soft_decode.post_ldpc_info87_llr_rows", "row_name": "soft_export_3", "info87_bits": [ 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 ], "info87_bitstring": "000110001111011100001011101000000010100111001000101000000111000000001000011100000011000", "info87_llr": [ 3.175167, 0.056321, 3.170705, -1.564157, -1.45811, 0.047068, 2.230806, 0.598509, -0.876032, -1.199596, -0.694114, -0.397472, 3.091603, -0.092097, -0.788017, -0.646178, 0.297679, 0.412663, 2.847049, 0.122657, -2.806158, 0.453233, -0.454097, -0.619239, -0.874533, 2.328045, -0.420991, 2.493348, 1.093158, 2.05361, 0.316207, 1.905647, 0.496531, 2.643836, -1.079496, 2.998213, -2.586942, 1.381831, 0.863378, -2.692102, -0.085204, -0.086109, 2.333258, -0.007679, -0.009994, 1.845347, 0.253688, 2.235631, -3.409336, 1.278624, -0.656886, 1.811813, 0.186374, 1.808903, 0.062268, 0.127104, 0.24178, -0.843582, -1.478186, -0.685705, 0.076629, 0.945528, 0.988495, -0.0, 2.291429, 0.063785, 3.433312, 0.395494, -0.453862, 2.789631, -0.000311, 0.002223, 0.21435, -2.29281, -0.279472, -0.149104, 0.819062, 1.082949, 3.430657, 0.202548, 0.905423, 1.813838, 0.02759, -0.107735, 3.230417, 0.553283, 0.777223 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 63, 70, 71, 43, 44, 82, 5, 1, 54, 65, 60, 40, 41, 13, 83, 19, 55, 75 ], "message174_crc12": { "ok": true, "distance": 5, "crc_match": false, "received_crc12": 2072, "computed_crc12": 1128, "message_preview_12chars": "6FSBe2d8e708", "message_words_6bit": [ 6, 15, 28, 11, 40, 2, 39, 8, 40, 7, 0, 8 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "soft_meta": {} }, { "source": "soft_decode.soft_decode_results", "row_name": "soft_result_0", "info87_bits": [ 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1 ], "info87_bitstring": "110101001001110011000100100010111010110001100110100110111001010001110101011110100100011", "info87_llr": [ 9.4e-05, -0.843582, 0.012829, -2.903463, 2.892455, -0.531347, 2.723669, 2.493348, -0.353466, 1.150631, 0.378726, -1.051437, -0.45484, -3.316036, 0.429434, 3.059825, -2.678618, -0.0, 1.934438, 0.392916, 2.429102, -2.24473, 3.134559, 2.454153, -0.078989, 0.00183, 0.193759, 0.056904, -2.691802, 2.499481, -0.934393, -2.178735, -0.761092, 1.309731, -3.019619, 0.360195, -1.664767, -1.025842, 1.268122, 0.316207, 1.138967, -0.590327, -0.043792, 1.290776, 0.31154, -1.564157, 0.002901, 0.000165, -0.03282, 2.847049, 0.74099, -0.22908, -1.207554, 0.048049, -0.303281, -2.586942, -1.977414, 2.075297, 1.666613, -0.105136, 4.190429, -3.953619, 0.278364, 0.679773, 3.005974, -0.341378, -0.87875, -0.00058, 1.867634, -1.199596, 1.366832, -1.828026, 0.110502, -0.571401, -0.050013, -2.143109, -3.020953, 0.496822, 0.001354, -0.000171, 1.719111, -1.300276, 1.47461, 0.429605, 1.436634, -0.646178, -0.085386 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 17, 0, 47, 79, 67, 78, 25, 46, 2, 48, 42, 53, 74, 27, 24, 86, 59, 72 ], "message174_crc12": { "ok": true, "distance": 5, "crc_match": false, "received_crc12": 3363, "computed_crc12": 2480, "message_preview_12chars": "r9p4YwnccvHr", "message_words_6bit": [ 53, 9, 51, 4, 34, 58, 49, 38, 38, 57, 17, 53 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword+inverted_bits", "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword" }, { "source": "soft_decode.soft_decode_results", "row_name": "soft_result_1", "info87_bits": [ 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ], "info87_bitstring": "000110001111011100001011101000000010100110000000101000000111000000001011011100000001000", "info87_llr": [ 3.175167, 0.056321, 3.170705, -1.564157, -1.45811, 0.047068, 2.230806, 0.598509, -0.876032, -1.199596, -0.694114, -0.397472, 3.091603, -0.092097, -0.788017, -0.646178, 0.297679, 0.412663, 2.847049, 0.122657, -2.806158, 0.453233, -0.454097, -0.619239, -0.874533, 2.328045, -0.420991, 2.493348, 1.093158, 2.05361, 0.316207, 1.905647, 0.496531, 2.643836, -1.079496, 2.998213, -2.586942, 1.381831, 0.863378, -2.692102, -0.085204, -0.086109, 2.333258, -0.007679, -0.009994, 1.845347, 0.253688, 2.235631, -3.409336, 1.278624, -0.656886, 1.811813, 0.186374, 1.808903, 0.062268, 0.127104, 0.24178, -0.843582, -1.478186, -0.685705, 0.076629, 0.945528, 0.988495, -0.0, 2.291429, 0.063785, 3.433312, 0.395494, -0.453862, 2.789631, -0.000311, 0.002223, 0.21435, -2.29281, -0.279472, -0.149104, 0.819062, 1.082949, 3.430657, 0.202548, 0.905423, 1.813838, 0.02759, -0.107735, 3.230417, 0.553283, 0.777223 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 63, 70, 71, 43, 44, 82, 5, 1, 54, 65, 60, 40, 41, 13, 83, 19, 55, 75 ], "message174_crc12": { "ok": true, "distance": 5, "crc_match": false, "received_crc12": 2056, "computed_crc12": 322, "message_preview_12chars": "6FSBe2c0e70B", "message_words_6bit": [ 6, 15, 28, 11, 40, 2, 38, 0, 40, 7, 0, 11 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "ft8_gray_primary_demap_msb_input+no_interleaver+inverted_bits", "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword" }, { "source": "soft_decode.soft_decode_results", "row_name": "soft_result_3", "info87_bits": [ 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 ], "info87_bitstring": "000110001111011100001011101000000010100111001000101000000111000000001000011100000011000", "info87_llr": [ 3.175167, 0.056321, 3.170705, -1.564157, -1.45811, 0.047068, 2.230806, 0.598509, -0.876032, -1.199596, -0.694114, -0.397472, 3.091603, -0.092097, -0.788017, -0.646178, 0.297679, 0.412663, 2.847049, 0.122657, -2.806158, 0.453233, -0.454097, -0.619239, -0.874533, 2.328045, -0.420991, 2.493348, 1.093158, 2.05361, 0.316207, 1.905647, 0.496531, 2.643836, -1.079496, 2.998213, -2.586942, 1.381831, 0.863378, -2.692102, -0.085204, -0.086109, 2.333258, -0.007679, -0.009994, 1.845347, 0.253688, 2.235631, -3.409336, 1.278624, -0.656886, 1.811813, 0.186374, 1.808903, 0.062268, 0.127104, 0.24178, -0.843582, -1.478186, -0.685705, 0.076629, 0.945528, 0.988495, -0.0, 2.291429, 0.063785, 3.433312, 0.395494, -0.453862, 2.789631, -0.000311, 0.002223, 0.21435, -2.29281, -0.279472, -0.149104, 0.819062, 1.082949, 3.430657, 0.202548, 0.905423, 1.813838, 0.02759, -0.107735, 3.230417, 0.553283, 0.777223 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 63, 70, 71, 43, 44, 82, 5, 1, 54, 65, 60, 40, 41, 13, 83, 19, 55, 75 ], "message174_crc12": { "ok": true, "distance": 5, "crc_match": false, "received_crc12": 2072, "computed_crc12": 1128, "message_preview_12chars": "6FSBe2d8e708", "message_words_6bit": [ 6, 15, 28, 11, 40, 2, 39, 8, 40, 7, 0, 8 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "ft8_gray_primary_demap_msb_input+no_interleaver+inverted_bits", "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword" }, { "source": "matrix_probe.all_matrix_probes", "row_name": "matrix_probe_12", "info87_bits": [ 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1 ], "info87_bitstring": "011111101001010010101010010000110100001011100000111001100011110000001100110101100001101", "info87_llr": [ 2.101967, -4.117514, -3.297244, -3.632038, -1.363105, -1.093202, -1.519813, 0.002036, -4.152866, 2.834496, 1.622557, -1.940982, 2.733183, -0.741723, 1.601279, 2.704126, -4.11138, 2.232178, -2.315199, 3.385419, -1.362274, 0.224901, -1.121706, 0.437375, 2.019584, -1.03893, 4.130021, 2.758807, 2.053571, 2.473652, -0.020183, -1.157734, 2.968724, -0.103943, 1.663707, 0.056274, 3.379353, 0.0, -0.708155, 0.587045, -1.836714, -4.104344, -1.9119, 2.935174, 3.401936, 1.232715, 0.001921, 2.766914, -0.117422, -2.149854, -0.518808, 0.487537, 0.167728, -4.094247, -0.52255, 2.732805, 1.581872, 3.988749, -0.000882, -3.503246, -1.656279, -2.723669, 1.162894, 2.439925, 2.306513, 1.249106, 0.319708, 3.953619, -0.000416, -4.190429, 0.538466, 2.815679, -0.631145, -0.037787, 2.471102, -0.285196, 0.765382, -3.778508, -0.489756, 3.370148, 3.42297, 1.912324, 2.243297, -4.07886, -1.781826, 2.705783, -0.777791 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 37, 68, 58, 46, 7, 30, 73, 35, 33, 48, 52, 21, 75, 66, 23, 51, 78, 50 ], "message174_crc12": { "ok": true, "distance": 6, "crc_match": false, "received_crc12": 2829, "computed_crc12": 2484, "message_preview_12chars": "VfIgGqBWvZmC", "message_words_6bit": [ 31, 41, 18, 42, 16, 52, 11, 32, 57, 35, 48, 12 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver" }, { "source": "matrix_probe.all_matrix_probes", "row_name": "matrix_probe_3", "info87_bits": [ 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1 ], "info87_bitstring": "010000110111101000100011011100110110000100100110110001000110001000010001001110110110001", "info87_llr": [ 2.172928, -2.101967, 3.175167, 1.121706, 1.368356, 1.81338, -0.824318, -0.319708, 0.628159, -2.732805, -2.664998, -3.409336, -0.207122, 0.103943, -1.047778, 1.519813, 0.863008, 1.420297, -0.436859, 0.518808, 3.075435, 0.631145, -0.592541, -0.638724, 1.979192, -2.232178, -3.371067, -0.587045, 0.60639, 0.658555, -2.373598, -2.243297, 3.230417, -2.766914, -2.638105, 3.091603, 1.905868, 1.03893, 1.465707, -1.601279, 1.626923, 2.708393, -0.021519, 0.000882, 0.076629, -3.42297, -3.265939, 3.846103, -3.426809, -2.834496, 3.147547, 1.157734, -0.287454, 0.439145, 0.777201, 0.285196, 0.461264, -2.306513, -2.136661, 2.778555, 1.843943, 1.9119, -2.878553, 3.297244, 2.702748, 3.086802, 0.001825, -0.001921, 2.230806, 0.000416, -0.001548, -1.309509, 1.599597, 0.741723, -1.138699, -0.056274, -0.010932, 0.062268, -3.422233, -3.370148, 4.047507, -0.167728, -0.17214, 0.607919, 0.214881, 0.020183, -0.159525 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 69, 43, 70, 66, 67, 76, 85, 42, 75, 77, 44, 13, 86, 81, 82, 12, 84, 55 ], "message174_crc12": { "ok": true, "distance": 6, "crc_match": false, "received_crc12": 3505, "computed_crc12": 2816, "message_preview_12chars": "GteZSs4cn68H", "message_words_6bit": [ 16, 55, 40, 35, 28, 54, 4, 38, 49, 6, 8, 17 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "lsb_within_each_tone+no_interleaver+inverted_bits", "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver" }, { "source": "matrix_probe.all_matrix_probes", "row_name": "matrix_probe_7", "info87_bits": [ 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0 ], "info87_bitstring": "111100100011101110110001011111111110010010101111010010111011111001100101101110111010110", "info87_llr": [ -3.175167, -3.82771, -4.9e-05, -1.040608, 0.939677, 0.156556, -2.230806, 0.887799, 2.039994, 1.571643, 0.225341, 0.227087, -3.091603, 0.831188, -0.095328, -0.075924, -0.628159, 1.086498, -2.628219, -2.22137, -0.031912, 0.061186, 1.138699, -0.147322, 1.300501, -2.614037, -1.889293, -1.828416, -2.708393, -1.189916, -0.14308, -2.084988, -1.81338, -2.643836, -2.940997, 0.343759, 2.523602, -0.943239, 1.309509, 2.692102, -0.063109, 2.059284, -1.59595, 0.006225, -1.465707, -1.845347, -3.011479, -0.294151, 3.409336, -1.2999, 0.043293, 0.849095, -1.655424, -0.015875, -0.062268, -0.375057, -0.378599, 1.36742, -1.892904, 0.058209, -0.076629, -2.916908, -0.022761, 0.0, 1.641495, -2.911402, -2.670773, 0.201274, 3.371067, -2.789631, 0.001279, -0.49846, -0.155722, 2.314073, -2.778555, 0.149104, -2.270338, 0.132678, -2.72115, -0.608006, -0.517774, 0.215662, 0.08892, 0.664985, -3.230417, -0.836063, 0.19177 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 63, 2, 70, 43, 53, 62, 20, 50, 59, 21, 54, 40, 15, 60, 82, 14, 77, 30 ], "message174_crc12": { "ok": true, "distance": 6, "crc_match": false, "received_crc12": 3542, "computed_crc12": 1122, "message_preview_12chars": "yZknV IlIxvb", "message_words_6bit": [ 60, 35, 46, 49, 31, 62, 18, 47, 18, 59, 57, 37 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "variant": "mapped_ft8_gray_primary_demap_lsb_input+no_interleaver" }, { "source": "matrix_probe.all_matrix_probes", "row_name": "matrix_probe_8", "info87_bits": [ 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0 ], "info87_bitstring": "010110001000001100110011011101110001111111110001101011010000000100111010011001100010000", "info87_llr": [ 3.175167, 0.057045, 3.17051, -1.232715, -0.500191, 0.021618, 2.230806, 0.597155, -0.875872, 1.693366, 0.047167, 0.239839, 3.091603, -0.013014, -0.792197, -0.63305, 0.294919, 0.413614, -3.426809, -2.574582, 0.452689, 0.52255, -0.437724, -0.639146, 1.519813, -1.871425, -1.512742, -2.474457, 2.465203, -0.759693, -0.17214, -2.003996, -0.116291, 2.643836, 1.073942, -3.102051, -2.232178, -1.190156, -0.818606, -2.692102, -0.182262, -0.183864, -2.136661, -0.001955, 0.000923, 1.845347, 0.170201, -2.460054, -3.409336, 1.274102, -0.554723, 1.092918, -0.921661, -1.177107, 0.062268, 0.138717, 0.230764, 1.656279, 0.310471, 1.864325, 0.076629, 0.935043, 0.998441, -0.0, 0.052129, 2.038325, -3.265939, -0.405396, -0.408577, 2.789631, -0.000795, 0.001775, 0.103943, -2.300429, -0.187704, -0.149104, -0.869434, -1.053321, -3.370148, 0.345628, 0.147585, 1.781826, 0.120028, -0.273148, 3.230417, 0.548301, 0.777434 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 63, 70, 44, 71, 43, 13, 5, 10, 64, 1, 54, 60, 72, 32, 82, 55, 80, 75 ], "message174_crc12": { "ok": true, "distance": 6, "crc_match": false, "received_crc12": 784, "computed_crc12": 1504, "message_preview_12chars": "M8CpTn-nhG4w", "message_words_6bit": [ 22, 8, 12, 51, 29, 49, 63, 49, 43, 16, 4, 58 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "ft8_gray_primary_demap_msb_input+no_interleaver+inverted_bits", "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword" }, { "source": "matrix_probe.post_ldpc_info87_llr_rows", "row_name": "matrix_export_12", "info87_bits": [ 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1 ], "info87_bitstring": "011111101001010010101010010000110100001011100000111001100011110000001100110101100001101", "info87_llr": [ 2.101967, -4.117514, -3.297244, -3.632038, -1.363105, -1.093202, -1.519813, 0.002036, -4.152866, 2.834496, 1.622557, -1.940982, 2.733183, -0.741723, 1.601279, 2.704126, -4.11138, 2.232178, -2.315199, 3.385419, -1.362274, 0.224901, -1.121706, 0.437375, 2.019584, -1.03893, 4.130021, 2.758807, 2.053571, 2.473652, -0.020183, -1.157734, 2.968724, -0.103943, 1.663707, 0.056274, 3.379353, 0.0, -0.708155, 0.587045, -1.836714, -4.104344, -1.9119, 2.935174, 3.401936, 1.232715, 0.001921, 2.766914, -0.117422, -2.149854, -0.518808, 0.487537, 0.167728, -4.094247, -0.52255, 2.732805, 1.581872, 3.988749, -0.000882, -3.503246, -1.656279, -2.723669, 1.162894, 2.439925, 2.306513, 1.249106, 0.319708, 3.953619, -0.000416, -4.190429, 0.538466, 2.815679, -0.631145, -0.037787, 2.471102, -0.285196, 0.765382, -3.778508, -0.489756, 3.370148, 3.42297, 1.912324, 2.243297, -4.07886, -1.781826, 2.705783, -0.777791 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 37, 68, 58, 46, 7, 30, 73, 35, 33, 48, 52, 21, 75, 66, 23, 51, 78, 50 ], "message174_crc12": { "ok": true, "distance": 6, "crc_match": false, "received_crc12": 2829, "computed_crc12": 2484, "message_preview_12chars": "VfIgGqBWvZmC", "message_words_6bit": [ 31, 41, 18, 42, 16, 52, 11, 32, 57, 35, 48, 12 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "matrix_meta": {} }, { "source": "matrix_probe.post_ldpc_info87_llr_rows", "row_name": "matrix_export_3", "info87_bits": [ 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1 ], "info87_bitstring": "010000110111101000100011011100110110000100100110110001000110001000010001001110110110001", "info87_llr": [ 2.172928, -2.101967, 3.175167, 1.121706, 1.368356, 1.81338, -0.824318, -0.319708, 0.628159, -2.732805, -2.664998, -3.409336, -0.207122, 0.103943, -1.047778, 1.519813, 0.863008, 1.420297, -0.436859, 0.518808, 3.075435, 0.631145, -0.592541, -0.638724, 1.979192, -2.232178, -3.371067, -0.587045, 0.60639, 0.658555, -2.373598, -2.243297, 3.230417, -2.766914, -2.638105, 3.091603, 1.905868, 1.03893, 1.465707, -1.601279, 1.626923, 2.708393, -0.021519, 0.000882, 0.076629, -3.42297, -3.265939, 3.846103, -3.426809, -2.834496, 3.147547, 1.157734, -0.287454, 0.439145, 0.777201, 0.285196, 0.461264, -2.306513, -2.136661, 2.778555, 1.843943, 1.9119, -2.878553, 3.297244, 2.702748, 3.086802, 0.001825, -0.001921, 2.230806, 0.000416, -0.001548, -1.309509, 1.599597, 0.741723, -1.138699, -0.056274, -0.010932, 0.062268, -3.422233, -3.370148, 4.047507, -0.167728, -0.17214, 0.607919, 0.214881, 0.020183, -0.159525 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 69, 43, 70, 66, 67, 76, 85, 42, 75, 77, 44, 13, 86, 81, 82, 12, 84, 55 ], "message174_crc12": { "ok": true, "distance": 6, "crc_match": false, "received_crc12": 3505, "computed_crc12": 2816, "message_preview_12chars": "GteZSs4cn68H", "message_words_6bit": [ 16, 55, 40, 35, 28, 54, 4, 38, 49, 6, 8, 17 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "matrix_meta": {} }, { "source": "matrix_probe.post_ldpc_info87_llr_rows", "row_name": "matrix_export_7", "info87_bits": [ 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0 ], "info87_bitstring": "111100100011101110110001011111111110010010101111010010111011111001100101101110111010110", "info87_llr": [ -3.175167, -3.82771, -4.9e-05, -1.040608, 0.939677, 0.156556, -2.230806, 0.887799, 2.039994, 1.571643, 0.225341, 0.227087, -3.091603, 0.831188, -0.095328, -0.075924, -0.628159, 1.086498, -2.628219, -2.22137, -0.031912, 0.061186, 1.138699, -0.147322, 1.300501, -2.614037, -1.889293, -1.828416, -2.708393, -1.189916, -0.14308, -2.084988, -1.81338, -2.643836, -2.940997, 0.343759, 2.523602, -0.943239, 1.309509, 2.692102, -0.063109, 2.059284, -1.59595, 0.006225, -1.465707, -1.845347, -3.011479, -0.294151, 3.409336, -1.2999, 0.043293, 0.849095, -1.655424, -0.015875, -0.062268, -0.375057, -0.378599, 1.36742, -1.892904, 0.058209, -0.076629, -2.916908, -0.022761, 0.0, 1.641495, -2.911402, -2.670773, 0.201274, 3.371067, -2.789631, 0.001279, -0.49846, -0.155722, 2.314073, -2.778555, 0.149104, -2.270338, 0.132678, -2.72115, -0.608006, -0.517774, 0.215662, 0.08892, 0.664985, -3.230417, -0.836063, 0.19177 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 63, 2, 70, 43, 53, 62, 20, 50, 59, 21, 54, 40, 15, 60, 82, 14, 77, 30 ], "message174_crc12": { "ok": true, "distance": 6, "crc_match": false, "received_crc12": 3542, "computed_crc12": 1122, "message_preview_12chars": "yZknV IlIxvb", "message_words_6bit": [ 60, 35, 46, 49, 31, 62, 18, 47, 18, 59, 57, 37 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "matrix_meta": {} }, { "source": "matrix_probe.post_ldpc_info87_llr_rows", "row_name": "matrix_export_8", "info87_bits": [ 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0 ], "info87_bitstring": "010110001000001100110011011101110001111111110001101011010000000100111010011001100010000", "info87_llr": [ 3.175167, 0.057045, 3.17051, -1.232715, -0.500191, 0.021618, 2.230806, 0.597155, -0.875872, 1.693366, 0.047167, 0.239839, 3.091603, -0.013014, -0.792197, -0.63305, 0.294919, 0.413614, -3.426809, -2.574582, 0.452689, 0.52255, -0.437724, -0.639146, 1.519813, -1.871425, -1.512742, -2.474457, 2.465203, -0.759693, -0.17214, -2.003996, -0.116291, 2.643836, 1.073942, -3.102051, -2.232178, -1.190156, -0.818606, -2.692102, -0.182262, -0.183864, -2.136661, -0.001955, 0.000923, 1.845347, 0.170201, -2.460054, -3.409336, 1.274102, -0.554723, 1.092918, -0.921661, -1.177107, 0.062268, 0.138717, 0.230764, 1.656279, 0.310471, 1.864325, 0.076629, 0.935043, 0.998441, -0.0, 0.052129, 2.038325, -3.265939, -0.405396, -0.408577, 2.789631, -0.000795, 0.001775, 0.103943, -2.300429, -0.187704, -0.149104, -0.869434, -1.053321, -3.370148, 0.345628, 0.147585, 1.781826, 0.120028, -0.273148, 3.230417, 0.548301, 0.777434 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 63, 70, 44, 71, 43, 13, 5, 10, 64, 1, 54, 60, 72, 32, 82, 55, 80, 75 ], "message174_crc12": { "ok": true, "distance": 6, "crc_match": false, "received_crc12": 784, "computed_crc12": 1504, "message_preview_12chars": "M8CpTn-nhG4w", "message_words_6bit": [ 22, 8, 12, 51, 29, 49, 63, 49, 43, 16, 4, 58 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "matrix_meta": {} }, { "source": "soft_decode.post_ldpc_info87_llr_rows", "row_name": "soft_export_5", "info87_bits": [ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1 ], "info87_bitstring": "111011000011010100001100000001000101010001000010010010100100000001001100100110001100101", "info87_llr": [ -3.316036, -2.713685, -2.878553, 1.93682, -1.245662, -1.512, -0.002208, -0.000245, 3.147547, 3.448494, -2.678618, -2.747263, 0.199817, 0.154132, 0.461264, -1.016789, 3.378169, 0.607919, 0.375057, 0.105514, -0.565632, -0.638724, 0.233293, 3.82771, 3.35976, 2.792591, 1.747844, 0.658555, 2.454153, -1.086498, 3.230417, 2.384652, 1.2999, -1.850067, 1.063134, -1.564157, 1.465707, -1.924969, 3.222493, 3.330023, 2.233949, -3.324597, 0.076629, 9.4e-05, 3.278734, 0.508765, -0.496596, -0.03282, 0.413875, -3.409336, -0.016174, 3.202786, -0.116975, 1.405675, -0.096777, 1.420297, -0.050013, -0.887799, 2.333258, 2.159951, 2.499481, 1.81338, 1.867634, 3.086802, 3.175167, -1.855579, 2.230806, -0.001417, -0.646178, -0.707018, 0.628159, 0.934146, -1.138699, 0.755664, 2.719878, -0.0, -1.047778, 0.21435, 4.047507, 3.430657, -1.536191, -0.874533, 0.316207, 0.320699, -0.860464, 0.836063, -1.796585 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 75, 43, 7, 67, 6, 50, 47, 56, 42, 54, 19, 52, 13, 12, 77, 22, 82, 83 ], "message174_crc12": { "ok": true, "distance": 6, "crc_match": false, "received_crc12": 3173, "computed_crc12": 2608, "message_preview_12chars": "x3KC15H2Ia1C", "message_words_6bit": [ 59, 3, 20, 12, 1, 5, 17, 2, 18, 36, 1, 12 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "soft_meta": {} }, { "source": "soft_decode.soft_decode_results", "row_name": "soft_result_5", "info87_bits": [ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1 ], "info87_bitstring": "111011000011010100001100000001000101010001000010010010100100000001001100100110001100101", "info87_llr": [ -3.316036, -2.713685, -2.878553, 1.93682, -1.245662, -1.512, -0.002208, -0.000245, 3.147547, 3.448494, -2.678618, -2.747263, 0.199817, 0.154132, 0.461264, -1.016789, 3.378169, 0.607919, 0.375057, 0.105514, -0.565632, -0.638724, 0.233293, 3.82771, 3.35976, 2.792591, 1.747844, 0.658555, 2.454153, -1.086498, 3.230417, 2.384652, 1.2999, -1.850067, 1.063134, -1.564157, 1.465707, -1.924969, 3.222493, 3.330023, 2.233949, -3.324597, 0.076629, 9.4e-05, 3.278734, 0.508765, -0.496596, -0.03282, 0.413875, -3.409336, -0.016174, 3.202786, -0.116975, 1.405675, -0.096777, 1.420297, -0.050013, -0.887799, 2.333258, 2.159951, 2.499481, 1.81338, 1.867634, 3.086802, 3.175167, -1.855579, 2.230806, -0.001417, -0.646178, -0.707018, 0.628159, 0.934146, -1.138699, 0.755664, 2.719878, -0.0, -1.047778, 0.21435, 4.047507, 3.430657, -1.536191, -0.874533, 0.316207, 0.320699, -0.860464, 0.836063, -1.796585 ], "info87_llr_count": 87, "least_reliable_info87_indices": [ 75, 43, 7, 67, 6, 50, 47, 56, 42, 54, 19, 52, 13, 12, 77, 22, 82, 83 ], "message174_crc12": { "ok": true, "distance": 6, "crc_match": false, "received_crc12": 3173, "computed_crc12": 2608, "message_preview_12chars": "x3KC15H2Ia1C", "message_words_6bit": [ 59, 3, 20, 12, 1, 5, 17, 2, 18, 36, 1, 12 ] }, "source_index_context": { "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract", "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()", "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing", "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows" }, "transform": "lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword+inverted_bits", "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse" } ], "outputs": { "post_ldpc_info87_runtime_export_json": "/decoders/js8_decoder/logs/step61_post_ldpc_runtime/step61_post_ldpc_info87_runtime_export.json" }, "warnings": [ "This is still a diagnostic runtime export, not a final JS8 text decoder.", "Step61 patches the runtime LDPC probes to expose post-LDPC info87 rows and source-index context for the next reorder/whitening alignment step." ], "next_action": "If best_distance is 0, implement source-confirmed message174 text unpack. If best_distance remains >0, build Step62 to test source-derived deinterleaver/whitening index maps against these exact runtime rows." } [webftr-js8-lab] OK [webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T143645Z_post-ldpc-info87-runtime-export.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T143645Z_post-ldpc-info87-runtime-export_manifest.json