JS8Lab Step 40

Status

FERTIG / BEREIT

State: diagnostics_ok
Detail: Diagnose fertig
Diagnose läuft: nein Server läuft: ja
Letzte Manifest-Auswertung: ok
Version: step40-checkpointed-ridge-sweep-guard
Root: /decoders/js8_decoder
WAV: /decoders/js8_test.wav

Links

/api/status frisch /api/report frisch /logs/ frisch Diagnose-Startlog frisch Lab latest.log frisch Report JSON frisch
Cache-Buster dieses Abrufs: ?t=1779859215903

Bundles

js8_decoder_lab_real_run_20260527T050723Z.zip 1145101 B
js8_decoder_lab_real_run_20260527T044937Z.zip 973899 B
js8_decoder_lab_real_run_20260527T041823Z.zip 879022 B
js8_decoder_lab_real_run_20260527T035634Z.zip 731839 B
js8_decoder_lab_real_run_20260527T033514Z.zip 585516 B
js8_decoder_lab_real_run_20260526T180620Z.zip 380494 B
js8_decoder_lab_real_run_20260526T161453Z.zip 330478 B
js8_decoder_lab_real_run_20260526T155012Z.zip 251055 B
js8_decoder_lab_real_run_20260526T152808Z.zip 183168 B
js8_decoder_lab_real_run_20260526T114834Z.zip 108297 B

Latest log tail

          "syndrome_weight": 45
        },
        {
          "iteration": 20,
          "syndrome_weight": 43
        }
      ]
    },
    {
      "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver",
      "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword",
      "mapping_meta": {
        "tone_mapping": "ft8_gray_primary",
        "gray_direction": "inverse_observed_to_plain",
        "reverse_bits_within_tone_before_gray": false,
        "interleaver": "ft8_bitrev",
        "direction": "deinterleave_rx_to_codeword",
        "order_len": 174
      },
      "decoder_trial": {
        "llr_scale": 1.0,
        "alpha": 0.8
      },
      "source_rank_score": 107.311136,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 1.827784,
        "min_abs": 0.008053,
        "max_abs": 4.126624,
        "positive": 138,
        "negative": 36,
        "zero": 0
      },
      "success": false,
      "iterations_used": 24,
      "final_syndrome_weight": 32,
      "message91": null,
      "message91_sha256_16": "f4b199ca6ce68c20",
      "codeword174_sha256_16": "eabdaf7834f3b582",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 33
        },
        {
          "iteration": 1,
          "syndrome_weight": 32
        },
        {
          "iteration": 2,
          "syndrome_weight": 39
        },
        {
          "iteration": 3,
          "syndrome_weight": 36
        },
        {
          "iteration": 4,
          "syndrome_weight": 50
        },
        {
          "iteration": 5,
          "syndrome_weight": 48
        },
        {
          "iteration": 6,
          "syndrome_weight": 39
        },
        {
          "iteration": 7,
          "syndrome_weight": 38
        },
        {
          "iteration": 8,
          "syndrome_weight": 48
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 52
        },
        {
          "iteration": 15,
          "syndrome_weight": 42
        },
        {
          "iteration": 20,
          "syndrome_weight": 42
        }
      ]
    },
    {
      "variant": "reverse_symbol_order",
      "transform": "ft8_gray_alt_high_demap_lsb_input+no_interleaver+inverted_bits",
      "mapping_meta": {
        "tone_mapping": "ft8_gray_alt_high",
        "gray_direction": "inverse_observed_to_plain",
        "reverse_bits_within_tone_before_gray": true,
        "interleaver": "none",
        "polarity": "inverted"
      },
      "decoder_trial": {
        "llr_scale": 0.75,
        "alpha": 0.7
      },
      "source_rank_score": 113.063032,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.265758,
        "min_abs": 0.020953,
        "max_abs": 4.126624,
        "positive": 139,
        "negative": 35,
        "zero": 0
      },
      "success": false,
      "iterations_used": 24,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "b6c4dd4168505fc5",
      "codeword174_sha256_16": "3a2d94c7a15abf2f",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 50
        },
        {
          "iteration": 1,
          "syndrome_weight": 50
        },
        {
          "iteration": 2,
          "syndrome_weight": 41
        },
        {
          "iteration": 3,
          "syndrome_weight": 33
        },
        {
          "iteration": 4,
          "syndrome_weight": 44
        },
        {
          "iteration": 5,
          "syndrome_weight": 40
        },
        {
          "iteration": 6,
          "syndrome_weight": 44
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 39
        },
        {
          "iteration": 9,
          "syndrome_weight": 42
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 42
        },
        {
          "iteration": 20,
          "syndrome_weight": 48
        }
      ]
    },
    {
      "variant": "reverse_full_bitstream",
      "transform": "ft8_gray_alt_high_demap_msb_input+no_interleaver+inverted_bits",
      "mapping_meta": {
        "tone_mapping": "ft8_gray_alt_high",
        "gray_direction": "inverse_observed_to_plain",
        "reverse_bits_within_tone_before_gray": false,
        "interleaver": "none",
        "polarity": "inverted"
      },
      "decoder_trial": {
        "llr_scale": 0.75,
        "alpha": 0.7
      },
      "source_rank_score": 112.063032,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.265758,
        "min_abs": 0.020953,
        "max_abs": 4.126624,
        "positive": 139,
        "negative": 35,
        "zero": 0
      },
      "success": false,
      "iterations_used": 24,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "f87044aee1fbf433",
      "codeword174_sha256_16": "5d5c54391eb1cbfd",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 43
        },
        {
          "iteration": 1,
          "syndrome_weight": 47
        },
        {
          "iteration": 2,
          "syndrome_weight": 42
        },
        {
          "iteration": 3,
          "syndrome_weight": 39
        },
        {
          "iteration": 4,
          "syndrome_weight": 37
        },
        {
          "iteration": 5,
          "syndrome_weight": 40
        },
        {
          "iteration": 6,
          "syndrome_weight": 33
        },
        {
          "iteration": 7,
          "syndrome_weight": 46
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 44
        },
        {
          "iteration": 15,
          "syndrome_weight": 49
        },
        {
          "iteration": 20,
          "syndrome_weight": 44
        }
      ]
    },
    {
      "variant": "mapped_ft8_gray_primary_demap_msb_input+no_interleaver",
      "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword",
      "mapping_meta": {
        "tone_mapping": "ft8_gray_primary",
        "gray_direction": "inverse_observed_to_plain",
        "reverse_bits_within_tone_before_gray": false,
        "interleaver": "ft8_bitrev",
        "direction": "deinterleave_rx_to_codeword",
        "order_len": 174
      },
      "decoder_trial": {
        "llr_scale": 1.0,
        "alpha": 0.8
      },
      "source_rank_score": 107.529872,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 1.882468,
        "min_abs": 0.003299,
        "max_abs": 4.126624,
        "positive": 148,
        "negative": 26,
        "zero": 0
      },
      "success": false,
      "iterations_used": 24,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "1512a470c93c7bb5",
      "codeword174_sha256_16": "6d04c779ce0fc894",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 48
        },
        {
          "iteration": 1,
          "syndrome_weight": 38
        },
        {
          "iteration": 2,
          "syndrome_weight": 47
        },
        {
          "iteration": 3,
          "syndrome_weight": 43
        },
        {
          "iteration": 4,
          "syndrome_weight": 49
        },
        {
          "iteration": 5,
          "syndrome_weight": 46
        },
        {
          "iteration": 6,
          "syndrome_weight": 36
        },
        {
          "iteration": 7,
          "syndrome_weight": 35
        },
        {
          "iteration": 8,
          "syndrome_weight": 39
        },
        {
          "iteration": 9,
          "syndrome_weight": 47
        },
        {
          "iteration": 10,
          "syndrome_weight": 45
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 40
        }
      ]
    },
    {
      "variant": "reverse_symbol_order",
      "transform": "ft8_gray_primary_demap_lsb_input+no_interleaver+inverted_bits",
      "mapping_meta": {
        "tone_mapping": "ft8_gray_primary",
        "gray_direction": "inverse_observed_to_plain",
        "reverse_bits_within_tone_before_gray": true,
        "interleaver": "none",
        "polarity": "inverted"
      },
      "decoder_trial": {
        "llr_scale": 0.75,
        "alpha": 0.7
      },
      "source_rank_score": 113.063032,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.265758,
        "min_abs": 0.020953,
        "max_abs": 4.126624,
        "positive": 139,
        "negative": 35,
        "zero": 0
      },
      "success": false,
      "iterations_used": 24,
      "final_syndrome_weight": 34,
      "message91": null,
      "message91_sha256_16": "9840b53bd4cff7c6",
      "codeword174_sha256_16": "0f3fddb5ca7ce9c3",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 42
        },
        {
          "iteration": 1,
          "syndrome_weight": 42
        },
        {
          "iteration": 2,
          "syndrome_weight": 42
        },
        {
          "iteration": 3,
          "syndrome_weight": 45
        },
        {
          "iteration": 4,
          "syndrome_weight": 37
        },
        {
          "iteration": 5,
          "syndrome_weight": 45
        },
        {
          "iteration": 6,
          "syndrome_weight": 43
        },
        {
          "iteration": 7,
          "syndrome_weight": 43
        },
        {
          "iteration": 8,
          "syndrome_weight": 35
        },
        {
          "iteration": 9,
          "syndrome_weight": 40
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 42
        },
        {
          "iteration": 20,
          "syndrome_weight": 39
        }
      ]
    }
  ],
  "decodes": [],
  "outputs": {
    "ldpc_soft_decode_json": "/decoders/js8_decoder/runtime/ldpc_soft_decode/step40_ldpc_soft_decode.json"
  },
  "warnings": [
    "Step 40 runs bounded normalized-min-sum soft LDPC over the best-ranked FT8-style Gray/interleaver mapping candidates against the public (174,91) matrix contract.",
    "This still does not unpack JS8 text or validate CRC/message payloads.",
    "If success is true and syndrome_weight is 0, the next step can unpack the 91-bit message. Otherwise more timing, Costas/data-symbol boundary, deinterleaver/order or LLR tuning is required."
  ],
  "next_action": "Upload Step35 logs. If no valid codeword, inspect best mapping_meta/final_syndrome_weight and continue timing/interleaver/LLR tuning; if valid, add JS8 message unpack/CRC."
}

[webftr-js8-lab] OK
[webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T051837Z_ldpc-soft-decode.log
[webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T051837Z_ldpc-soft-decode_manifest.json
[webftr-js8-lab] ldpc-soft-decode exit_code=0

========== REAL-RUN STEP 10/10: JS8LAB LOG BUNDLE ==========
[webftr-js8-lab] collecting JS8Lab logs from /decoders/js8_decoder/logs
[webftr-js8-lab] upload this JS8Lab bundle: /decoders/js8_decoder/logs/js8_decoder_lab_real_run_20260527T050723Z.zip

[webftr-js8-lab] OK
[webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T050723Z_real-run.log
[webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T050723Z_real-run_manifest.json

[webftr-js8-lab] OK
[webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T050723Z_server-deep-run.log
[webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T050723Z_server-deep-run_manifest.json

Auto-Refresh alle 5 Sekunden mit frischem ?t=.... RX-only: kein TX, kein PTT, kein Tune, kein Send.