{
  "seed": 41002,
  "model": "Synthetic 24-bit frame: address byte, command byte, CRC byte",
  "crc": {
    "width": 8,
    "polynomial_hex": "07",
    "initial_hex": "00",
    "reflect_input": false,
    "reflect_output": false,
    "xor_output_hex": "00",
    "byte_order": "address then command; most-significant bit first"
  },
  "random_bit_error_results": [
    {
      "bit_error_probability": 0.0001,
      "trials": 100000,
      "frames_rejected_by_crc": 236,
      "rejection_rate": 0.00236,
      "corrupted_frames_accepted_as_wrong_payload": 0,
      "false_accept_rate_per_transmitted_frame": 0.0,
      "corrupted_frames": 236,
      "undetected_corruption_fraction": 0.0
    },
    {
      "bit_error_probability": 0.001,
      "trials": 100000,
      "frames_rejected_by_crc": 2352,
      "rejection_rate": 0.02352,
      "corrupted_frames_accepted_as_wrong_payload": 0,
      "false_accept_rate_per_transmitted_frame": 0.0,
      "corrupted_frames": 2352,
      "undetected_corruption_fraction": 0.0
    },
    {
      "bit_error_probability": 0.01,
      "trials": 100000,
      "frames_rejected_by_crc": 21469,
      "rejection_rate": 0.21469,
      "corrupted_frames_accepted_as_wrong_payload": 0,
      "false_accept_rate_per_transmitted_frame": 0.0,
      "corrupted_frames": 21469,
      "undetected_corruption_fraction": 0.0
    },
    {
      "bit_error_probability": 0.05,
      "trials": 100000,
      "frames_rejected_by_crc": 70824,
      "rejection_rate": 0.70824,
      "corrupted_frames_accepted_as_wrong_payload": 22,
      "false_accept_rate_per_transmitted_frame": 0.00022,
      "corrupted_frames": 70846,
      "undetected_corruption_fraction": 0.0003105327047398583
    }
  ],
  "burst_error_results": [
    {
      "burst_length_bits": 1,
      "tested_burst_positions_per_payload": 24,
      "error_patterns_per_position": 1,
      "opportunities": 1572864,
      "undetected_corrupt_frames": 0,
      "undetected_fraction": 0.0
    },
    {
      "burst_length_bits": 2,
      "tested_burst_positions_per_payload": 23,
      "error_patterns_per_position": 1,
      "opportunities": 1507328,
      "undetected_corrupt_frames": 0,
      "undetected_fraction": 0.0
    },
    {
      "burst_length_bits": 3,
      "tested_burst_positions_per_payload": 22,
      "error_patterns_per_position": 2,
      "opportunities": 2883584,
      "undetected_corrupt_frames": 0,
      "undetected_fraction": 0.0
    },
    {
      "burst_length_bits": 4,
      "tested_burst_positions_per_payload": 21,
      "error_patterns_per_position": 4,
      "opportunities": 5505024,
      "undetected_corrupt_frames": 0,
      "undetected_fraction": 0.0
    },
    {
      "burst_length_bits": 5,
      "tested_burst_positions_per_payload": 20,
      "error_patterns_per_position": 8,
      "opportunities": 10485760,
      "undetected_corrupt_frames": 0,
      "undetected_fraction": 0.0
    },
    {
      "burst_length_bits": 6,
      "tested_burst_positions_per_payload": 19,
      "error_patterns_per_position": 16,
      "opportunities": 19922944,
      "undetected_corrupt_frames": 0,
      "undetected_fraction": 0.0
    },
    {
      "burst_length_bits": 7,
      "tested_burst_positions_per_payload": 18,
      "error_patterns_per_position": 32,
      "opportunities": 37748736,
      "undetected_corrupt_frames": 0,
      "undetected_fraction": 0.0
    },
    {
      "burst_length_bits": 8,
      "tested_burst_positions_per_payload": 17,
      "error_patterns_per_position": 64,
      "opportunities": 71303168,
      "undetected_corrupt_frames": 0,
      "undetected_fraction": 0.0
    },
    {
      "burst_length_bits": 9,
      "tested_burst_positions_per_payload": 16,
      "error_patterns_per_position": 128,
      "opportunities": 134217728,
      "undetected_corrupt_frames": 1048576,
      "undetected_fraction": 0.0078125
    },
    {
      "burst_length_bits": 10,
      "tested_burst_positions_per_payload": 15,
      "error_patterns_per_position": 256,
      "opportunities": 251658240,
      "undetected_corrupt_frames": 983040,
      "undetected_fraction": 0.00390625
    },
    {
      "burst_length_bits": 11,
      "tested_burst_positions_per_payload": 14,
      "error_patterns_per_position": 512,
      "opportunities": 469762048,
      "undetected_corrupt_frames": 1835008,
      "undetected_fraction": 0.00390625
    },
    {
      "burst_length_bits": 12,
      "tested_burst_positions_per_payload": 13,
      "error_patterns_per_position": 1024,
      "opportunities": 872415232,
      "undetected_corrupt_frames": 3407872,
      "undetected_fraction": 0.00390625
    },
    {
      "burst_length_bits": 13,
      "tested_burst_positions_per_payload": 12,
      "error_patterns_per_position": 2048,
      "opportunities": 1610612736,
      "undetected_corrupt_frames": 6291456,
      "undetected_fraction": 0.00390625
    },
    {
      "burst_length_bits": 14,
      "tested_burst_positions_per_payload": 11,
      "error_patterns_per_position": 4096,
      "opportunities": 2952790016,
      "undetected_corrupt_frames": 11534336,
      "undetected_fraction": 0.00390625
    },
    {
      "burst_length_bits": 15,
      "tested_burst_positions_per_payload": 10,
      "error_patterns_per_position": 8192,
      "opportunities": 5368709120,
      "undetected_corrupt_frames": 20971520,
      "undetected_fraction": 0.00390625
    },
    {
      "burst_length_bits": 16,
      "tested_burst_positions_per_payload": 9,
      "error_patterns_per_position": 16384,
      "opportunities": 9663676416,
      "undetected_corrupt_frames": 37748736,
      "undetected_fraction": 0.00390625
    }
  ],
  "noise_only_result": {
    "uniform_random_24_bit_candidates": 100000,
    "crc_valid_candidates_accepted": 383,
    "observed_acceptance_rate": 0.00383,
    "ideal_crc8_acceptance_probability": 0.00390625,
    "scope": "Uniform random bits only; not an acoustic false-trigger probability or an authenticated command guarantee."
  },
  "limits": [
    "Bit errors are synthetic independent flips, not an acoustic channel.",
    "CRC checks accidental corruption, not authentication, replay prevention or permission to act.",
    "Burst counts cover every start position and endpoint-defined burst mask of lengths 1 through 16; linearity covers all 65536 payloads without separate payload simulations.",
    "Zero observed errors do not prove zero probability."
  ],
  "algorithm_checks": {
    "known_vectors": [
      {
        "bytes_hex": "",
        "expected_crc_hex": "00"
      },
      {
        "bytes_hex": "00",
        "expected_crc_hex": "00"
      },
      {
        "bytes_hex": "01",
        "expected_crc_hex": "07"
      },
      {
        "bytes_hex": "313233343536373839",
        "expected_crc_hex": "f4"
      }
    ],
    "sample": {
      "address": 42,
      "command": 1,
      "frame_hex": "2a012b",
      "error_mask_hex": "000107",
      "altered_frame_hex": "2a002c",
      "altered_address": 42,
      "altered_command": 0,
      "both_pass_crc": true,
      "explanation": "XOR with generator polynomial 0x107 gives a nonzero undetected error. Its first/last flipped bits span nine positions. A valid check is not proof that the payload is unchanged."
    }
  }
}
