{
  "scope": "Selected positive cases; not a representative performance estimate",
  "telemetry": {
    "observations": 7,
    "additionalPdusSummedPerObservation": 105,
    "additionalPduBytesSummedPerObservation": 26460,
    "additionalSamplesPerMetric": 105,
    "metricsPerFrame": 5,
    "preregisteredVerdict": "FAIL_PREREGISTERED_CRITERION",
    "canonicalSensitivity": "PASS"
  },
  "comparisons": [
    {
      "id": "telemetry-6291503",
      "group": "telemetry",
      "title": "CELESTA #6291503 · onboard measurements",
      "source": "https://network.satnogs.org/observations/6291503/",
      "aspect": "560 / 320",
      "after": "assets/6291503-batteryTemperatureC-native.svg",
      "plots": [
        {
          "key": "batteryTemperatureC",
          "label": "Battery temperature",
          "button": "Battery / °C",
          "unit": "°C",
          "offset": 40,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[40])",
          "page": 4,
          "referenceField": "eps.battery_temperature",
          "before": "assets/6291503-batteryTemperatureC-reference.svg",
          "after": "assets/6291503-batteryTemperatureC-native.svg"
        },
        {
          "key": "negativeZTemperatureC",
          "label": "−Z face temperature",
          "button": "−Z face / °C",
          "unit": "°C",
          "offset": 46,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[46])",
          "page": 5,
          "referenceField": "eps.z_minu_face_temperature",
          "before": "assets/6291503-negativeZTemperatureC-reference.svg",
          "after": "assets/6291503-negativeZTemperatureC-native.svg"
        },
        {
          "key": "powerAmplifierTemperatureC",
          "label": "Transmitter power-amplifier temperature",
          "button": "Transmitter / °C",
          "unit": "°C",
          "offset": 66,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[66])",
          "page": 7,
          "referenceField": "ttc.power_amplifier_temperature",
          "before": "assets/6291503-powerAmplifierTemperatureC-reference.svg",
          "after": "assets/6291503-powerAmplifierTemperatureC-native.svg"
        },
        {
          "key": "batteryVoltageV",
          "label": "Battery voltage",
          "button": "Voltage / V",
          "unit": "V",
          "offset": 39,
          "signed": false,
          "scale": 0.02,
          "formula": "uint8(PDU[39]) × 20 mV / 1000",
          "page": 4,
          "referenceField": "eps.last_battery_voltage",
          "referenceScale": 0.001,
          "before": "assets/6291503-batteryVoltageV-reference.svg",
          "after": "assets/6291503-batteryVoltageV-native.svg"
        },
        {
          "key": "chargeCurrentMa",
          "label": "Battery charge current",
          "button": "Charging / mA",
          "unit": "mA",
          "offset": 52,
          "signed": false,
          "scale": 12,
          "formula": "uint8(PDU[52]) × 12 mA",
          "page": 5,
          "referenceField": "eps.total_charge_current_of_the_battery",
          "before": "assets/6291503-chargeCurrentMa-reference.svg",
          "after": "assets/6291503-chargeCurrentMa-native.svg"
        }
      ],
      "samples": [
        {
          "windowStartSeconds": 20,
          "pduSha256": "dd2fb6338941777fc74ce0c2069079d1c31527c3bb0f14fcf6d670df9aa58632",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 27,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 60,
          "pduSha256": "8a28b368ff3665b7210af40a38e28ce5daa36b297bf0bbe9e0e7095091e18b64",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 97.5,
          "pduSha256": "70c1fbc96b680a0e5ac3f1d18abb4afe48adff4dc969645f7f62e16f00fb4c98",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 137.5,
          "pduSha256": "3862ad42c3bab1008904941e90be1691454051d699b1f7263f83b8b002bfecd9",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 175,
          "pduSha256": "20bc7795446fb66a2e1c6c6986963dab4f344fa497e2711badcdcf30ba124cdd",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 27,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 215,
          "pduSha256": "9230c85688aaf603ac7f9ec603d80902a81cb26682c9a9197e4c3dd503e49f44",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 252.5,
          "pduSha256": "1669c0e3e364725362508a3d201a4ae3f8f7cc6f0d66c88922357be9ad0ce735",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 320,
          "pduSha256": "cd1a5fc3a020192727f7425a16190d4c961cda343376179c40d583701e01230a",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 360,
          "pduSha256": "a29a835ce16bef4da873051fd7f7493451c104f77ed15cfae6029d834f4bd25f",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 397.5,
          "pduSha256": "32d5208ede27651915d6d97392ff71ffbe6db4cba6ae1e1927144cdd05e7a716",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 437.5,
          "pduSha256": "61e1bd9ba8b9e2e64a7e69b7db9e8ad055b09cc44c49ed5fc6c144dd9309ccee",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 515,
          "pduSha256": "f3a0eb9e91463421603bbfa0531003e0c77df939d7fbc85f8e744f50d8ea6a29",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 13,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 720
          }
        },
        {
          "windowStartSeconds": 555,
          "pduSha256": "e965ca742c3fc47b0551a62915ee40b206ec5ff657afe98ff54f83fd877ac97f",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 13,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 592.5,
          "pduSha256": "15973843d7004c4fc516846d73af1f18d9d7b0e4947e11954aac4f09a8e50048",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 13,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 27,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 632.5,
          "pduSha256": "e11e2f68ed02c754e79dff2b364a6087e5c5285f8d4d579c6268e38ad923c971",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 13,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 670,
          "pduSha256": "377d7ca2d0eacf2d71b8174b6ffc1a92023e896753a00473ed7fc931406d535e",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 13,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 709.8526875,
          "pduSha256": "05a0f00509150e34884cf91323e94db18c2abef6ca1d18d6f218193d478ec17a",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 13,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 27,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        }
      ],
      "csv": "assets/6291503-measurements.csv",
      "inputHash": "3b285be9b9013dee4f62aecbe46a725f1756aefe81e0134f959f079e2bf9568f",
      "evidence": "assets/6291503-telemetry.json",
      "context": "Reference: one reading at 12°C. Native: 17 readings, including a rise in battery temperature to 13°C.",
      "method": "Both decoders use the same conversions from CSUM v3.1 pages 4, 5 and 7 and the SatNOGS celesta.ksy schema. Bytes, CRC16/X25 and reference-set membership are verified. Mission documentation identifies FX6FRB as CELESTA. The X axis is IQ analysis-window start, not exact measurement time. Multi-byte fields with conflicting documented byte order are omitted. Packet sets are repeatable, but the preregistered requirement for identical raw KISS files was not met.",
      "before": [
        {
          "image": "assets/6291503-batteryTemperatureC-reference.svg",
          "button": "gr-satellites · CELESTA",
          "label": "gr-satellites",
          "badge": "+16 samples",
          "stat": "1 → 17",
          "unit": "samples on each of 5 plots · 16 additional frames",
          "note": "Each frame contains the five displayed fields, not five independently recovered packets. A missing point means a measurement was not received, never a zero value.",
          "counts": {
            "reference": 1,
            "native": 17,
            "unit": "telemetry frames"
          }
        }
      ]
    },
    {
      "id": 8154103,
      "group": "geo",
      "title": "Geoscan-Edelveis #8154103",
      "source": "https://network.satnogs.org/observations/8154103/",
      "after": "assets/8154103-native.jpg",
      "inputHash": "e0c35d1e30169a75925c95a8718a066ba10bbe7e2efe0ce53c2c4fa57c82e3a7",
      "context": "Original OGG → shared WAV → independent decoding.",
      "method": "Identical JPEG assembly. Gain means additional received bytes, not higher resolution. The reference configuration with DC blocking disabled is selected by default.",
      "before": [
        {
          "image": "assets/8154103-reference-no-dc.jpg",
          "button": "gr-satellites · DC block off",
          "label": "gr-satellites · DC block off",
          "badge": "+56 bytes",
          "stat": "+56",
          "unit": "received JPEG bytes over the selected reference",
          "note": "Reference: 26,540 bytes. Native: 26,596 bytes. One additional packet over the DC-block-off reference; verified by received CRC and equality of all common bytes.",
          "counts": {
            "reference": 26540,
            "native": 26596,
            "unit": "JPEG bytes"
          }
        },
        {
          "image": "assets/8154103-reference.jpg",
          "button": "gr-satellites · default",
          "label": "gr-satellites · default",
          "badge": "+392 bytes",
          "stat": "+392",
          "unit": "received JPEG bytes over the selected reference",
          "note": "Reference: 26,204 bytes. Native: 26,596 bytes. One additional packet over the DC-block-off reference; verified by received CRC and equality of all common bytes.",
          "counts": {
            "reference": 26204,
            "native": 26596,
            "unit": "JPEG bytes"
          }
        }
      ]
    },
    {
      "id": 8744466,
      "group": "geo",
      "title": "Geoscan-Edelveis #8744466",
      "source": "https://network.satnogs.org/observations/8744466/",
      "after": "assets/8744466-native.jpg",
      "inputHash": "3bac044fe84a19d586e7f3d77953719c437acae4fd241f305387ac23589d8290",
      "context": "Original OGG → shared WAV → independent decoding.",
      "method": "Identical JPEG assembly. Gain means additional received bytes, not higher resolution. The reference configuration with DC blocking disabled is selected by default.",
      "before": [
        {
          "image": "assets/8744466-reference-no-dc.jpg",
          "button": "gr-satellites · DC block off",
          "label": "gr-satellites · DC block off",
          "badge": "+336 bytes",
          "stat": "+336",
          "unit": "received JPEG bytes over the selected reference",
          "note": "Reference: 15,300 bytes. Native: 15,636 bytes. Both images remain damaged. Gain over the union of both reference configurations: 280 bytes.",
          "counts": {
            "reference": 15300,
            "native": 15636,
            "unit": "JPEG bytes"
          }
        },
        {
          "image": "assets/8744466-reference.jpg",
          "button": "gr-satellites · default",
          "label": "gr-satellites · default",
          "badge": "+1120 bytes",
          "stat": "+1120",
          "unit": "received JPEG bytes over the selected reference",
          "note": "Reference: 14,516 bytes. Native: 15,636 bytes. Both images remain damaged. Gain over the union of both reference configurations: 280 bytes.",
          "counts": {
            "reference": 14516,
            "native": 15636,
            "unit": "JPEG bytes"
          }
        }
      ]
    },
    {
      "id": "gaspacs-5365011",
      "group": "image",
      "satellite": "GASPACS",
      "title": "GASPACS #5365011 · fewer missing bands",
      "source": "https://network.satnogs.org/observations/5365011/",
      "inputHash": "549db5cd2dbbff0243bf22406bcbcbf1c92f7552c5daba6625ecf509e7a19014",
      "aspect": "4 / 3",
      "after": "assets/gaspacs-5365011-native.jpg",
      "evidence": "assets/gaspacs-5365011-verification.json",
      "context": "A dark satellite camera frame. Additional packets recover missing segments; the image remains incomplete. Original brightness and pixels are preserved.",
      "method": "Identical original OGG converted to a shared WAV. The experimental native Endurosat path recovered 82 CRC16-valid frames, yielding 78 unique image packets after SSDV CRC32 checks. Reference: unchanged gr-satellites with three configurations (default, DC block off, DC block off with 2400 Hz deviation). Their union contains 35 image packets, all present byte-for-byte in the native result. Both images use the same mission SSDV decoder; this is not a native JPEG decoder or an increase in resolution. Repeated run and file checksums verified on 13 September 2026. Shared renderer: <a href=\"https://github.com/SmallSatGasTeam/ssdv/tree/90a86a9489a718f1a2ad4f46680f4a9c689c65b2\" target=\"_blank\" rel=\"noopener\">GASPACS team SSDV</a>. The native path uses a research adapter, not a released complete image CLI.",
      "before": [
        {
          "image": "assets/gaspacs-5365011-reference.jpg",
          "button": "gr-satellites · 3-configuration union",
          "label": "gr-satellites · union",
          "badge": "+43 image packets",
          "stat": "35 → 78",
          "unit": "unique SSDV packets · no reference packets lost",
          "note": "Gain over the union: 43 packets (5,504 SSDV bytes), including 3,311 bytes of compressed-image fields. This is neither a pixel count nor an increase in final JPEG size. Most of the scene is dark and both images remain incomplete.",
          "counts": {
            "reference": 35,
            "native": 78,
            "unit": "SSDV packets"
          }
        }
      ]
    },
    {
      "id": "meteor-m2-3-north-america-20230630",
      "group": "image",
      "satellite": "Meteor M2-3",
      "title": "Meteor M2-3 · North America / 30 Jun 2023",
      "source": "https://www.reddit.com/r/amateursatellites/comments/14nujca/063023_meteorm2_3/",
      "inputKind": "original IQ",
      "inputHash": "870a25677a29f32d9c575d4c08566d451f0d51490c8e5068798c0368fadffaa1",
      "aspect": "1568 / 768",
      "after": "assets/meteor-m2-3-north-america-20230630-ch1-hybrid.png",
      "before": [
        {
          "channel": 1,
          "image": "assets/meteor-m2-3-north-america-20230630-ch1-reference.png",
          "after": "assets/meteor-m2-3-north-america-20230630-ch1-hybrid.png",
          "fullBefore": "assets/meteor-m2-3-north-america-20230630-ch1-reference-full.png",
          "fullAfter": "assets/meteor-m2-3-north-america-20230630-ch1-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 1 · daytime",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+42 tiles of 112 × 8",
          "stat": "+76",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 5393,
            "native": 5469,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0,
          "note": "Within the common extent, 42 empty 112 × 8 pixel tiles were filled, with no existing reference tiles lost. The slider shows a selected crop; counts cover packets from the full channel."
        },
        {
          "channel": 2,
          "image": "assets/meteor-m2-3-north-america-20230630-ch2-reference.png",
          "after": "assets/meteor-m2-3-north-america-20230630-ch2-hybrid.png",
          "fullBefore": "assets/meteor-m2-3-north-america-20230630-ch2-reference-full.png",
          "fullAfter": "assets/meteor-m2-3-north-america-20230630-ch2-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 2 · daytime",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+44 tiles of 112 × 8",
          "stat": "+77",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 5386,
            "native": 5463,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0,
          "note": "Within the common extent, 44 empty 112 × 8 pixel tiles were filled, with no existing reference tiles lost. The slider shows a selected crop; counts cover packets from the full channel."
        },
        {
          "channel": 3,
          "image": "assets/meteor-m2-3-north-america-20230630-ch3-reference.png",
          "after": "assets/meteor-m2-3-north-america-20230630-ch3-hybrid.png",
          "fullBefore": "assets/meteor-m2-3-north-america-20230630-ch3-reference-full.png",
          "fullAfter": "assets/meteor-m2-3-north-america-20230630-ch3-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 3 · infrared",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+60 tiles of 112 × 8",
          "stat": "+91",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 5394,
            "native": 5485,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0,
          "note": "Within the common extent, 60 empty 112 × 8 pixel tiles were filled, with no existing reference tiles lost. The slider shows a selected crop; counts cover packets from the full channel."
        }
      ],
      "defaultVariant": 2,
      "variantLabel": "MSU-MR instrument channel",
      "candidateLabel": "SatDump + Telemetry Yield",
      "evidence": "assets/meteor-m2-3-north-america-20230630-verification.json",
      "context": "A separate full IQ recording shared by its receiver. Additional packets restore narrow scan segments in this MSU-MR scene. The improvement is modest and the remaining image gaps are left visible.",
      "caveat": "Displayed result combines both decoders: +244 image packets. Standalone native: 4062 frames versus 4169 for SatDump; 67 added, but 174 missed.",
      "method": "Identical full original IQ, without degrading the reference. Native Rust path: carrier and clock synchronization, PSK hypothesis bank, soft Viterbi K=7, NRZ-M differential decoding for M2-x only, CCSDS derandomization and four Reed–Solomon RS(255,223) lanes. All RS lanes verify; this is not an independent CRC check. Both frame sets use the unchanged SatDump MSU-MR renderer with gap filling disabled. Timestamps establish alignment. The union preserves every complete reference packet. Original pixel values are retained; the audit records cropping and transparent padding outside the received extent. Selected exploratory cases, not a representative benchmark."
    },
    {
      "id": "meteor-m2-atlantic-20210802",
      "group": "image",
      "satellite": "Meteor M2",
      "title": "Meteor M2 · Atlantic pass / 2 Aug 2021",
      "source": "https://wiki.oarc.uk/vhfsatellite-general",
      "inputKind": "original IQ",
      "inputHash": "527682376b52f54cbb7fc120842a5c1e9d700863e0bd7eae610dc72f057bc211",
      "aspect": "1568 / 768",
      "after": "assets/meteor-m2-atlantic-20210802-ch1-hybrid.png",
      "before": [
        {
          "channel": 1,
          "image": "assets/meteor-m2-atlantic-20210802-ch1-reference.png",
          "after": "assets/meteor-m2-atlantic-20210802-ch1-hybrid.png",
          "fullBefore": "assets/meteor-m2-atlantic-20210802-ch1-reference-full.png",
          "fullAfter": "assets/meteor-m2-atlantic-20210802-ch1-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 1 · daytime",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+12 tiles of 112 × 8",
          "stat": "+111",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 2085,
            "native": 2196,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0,
          "note": "Within the common extent, 12 empty 112 × 8 pixel tiles were filled, with no existing reference tiles lost. The slider shows a selected crop; counts cover packets from the full channel."
        },
        {
          "channel": 2,
          "image": "assets/meteor-m2-atlantic-20210802-ch2-reference.png",
          "after": "assets/meteor-m2-atlantic-20210802-ch2-hybrid.png",
          "fullBefore": "assets/meteor-m2-atlantic-20210802-ch2-reference-full.png",
          "fullAfter": "assets/meteor-m2-atlantic-20210802-ch2-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 2 · daytime",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+40 tiles of 112 × 8",
          "stat": "+153",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 2048,
            "native": 2201,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0,
          "note": "Within the common extent, 40 empty 112 × 8 pixel tiles were filled, with no existing reference tiles lost. The slider shows a selected crop; counts cover packets from the full channel."
        },
        {
          "channel": 3,
          "image": "assets/meteor-m2-atlantic-20210802-ch3-reference.png",
          "after": "assets/meteor-m2-atlantic-20210802-ch3-hybrid.png",
          "fullBefore": "assets/meteor-m2-atlantic-20210802-ch3-reference-full.png",
          "fullAfter": "assets/meteor-m2-atlantic-20210802-ch3-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 3 · infrared",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+27 tiles of 112 × 8",
          "stat": "+141",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 2059,
            "native": 2200,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0,
          "note": "Within the common extent, 27 empty 112 × 8 pixel tiles were filled, with no existing reference tiles lost. The slider shows a selected crop; counts cover packets from the full channel."
        }
      ],
      "defaultVariant": 1,
      "variantLabel": "MSU-MR instrument channel",
      "candidateLabel": "SatDump + Telemetry Yield",
      "evidence": "assets/meteor-m2-atlantic-20210802-verification.json",
      "context": "A separate low-elevation Atlantic/Europe recording by MM3IIG. Additional image packets fill missing scan segments. SatDump uses the DC blocking recommended by the recording author.",
      "caveat": "Displayed result combines both decoders: +405 image packets. Standalone native: 1616 frames versus 1627 for SatDump; 101 added, but 112 missed.",
      "method": "Identical full original IQ, without degrading the reference. Native Rust path: carrier and clock synchronization, PSK hypothesis bank, soft Viterbi K=7, NRZ-M differential decoding for M2-x only, CCSDS derandomization and four Reed–Solomon RS(255,223) lanes. All RS lanes verify; this is not an independent CRC check. Both frame sets use the unchanged SatDump MSU-MR renderer with gap filling disabled. Timestamps establish alignment. The union preserves every complete reference packet. Original pixel values are retained; the audit records cropping and transparent padding outside the received extent. Selected exploratory cases, not a representative benchmark."
    },
    {
      "id": "meteor-m2-2-daylight",
      "group": "image",
      "satellite": "Meteor M2-2",
      "title": "Meteor M2-2 · standalone recovery beyond SatDump",
      "source": "https://blog.chaospixel.com/linux/2019/12/receive-meteor-satellite-images-with-rtlsdr-gqrx-linux.html",
      "inputKind": "original IQ",
      "inputHash": "0a285fa745f98e9752686337d62d06c87c629cc3fa9a37304f346d26969797cd",
      "aspect": "1568 / 768",
      "after": "assets/meteor-m2-2-current-ch1-framelift.webp",
      "before": [
        {
          "channel": 1,
          "image": "assets/meteor-m2-2-current-ch1-reference.webp",
          "after": "assets/meteor-m2-2-current-ch1-framelift.webp",
          "fullBefore": "assets/meteor-m2-2-current-ch1-reference-full.webp",
          "fullAfter": "assets/meteor-m2-2-current-ch1-framelift-full.webp",
          "aspect": "1568 / 768",
          "button": "Channel 1 · daytime",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+352 rows with data",
          "stat": "+653",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 4126,
            "native": 4779,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0.4583333333333333,
          "note": "Standalone Frame lift adds 352 nonempty rows and 37 populated 112 × 8 tiles, with 0 SatDump tiles lost. The slider shows a selected crop; packet counts cover the full recording."
        },
        {
          "channel": 2,
          "image": "assets/meteor-m2-2-current-ch2-reference.webp",
          "after": "assets/meteor-m2-2-current-ch2-framelift.webp",
          "fullBefore": "assets/meteor-m2-2-current-ch2-reference-full.webp",
          "fullAfter": "assets/meteor-m2-2-current-ch2-framelift-full.webp",
          "aspect": "1568 / 768",
          "button": "Channel 2 · daytime",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+360 rows with data",
          "stat": "+655",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 4135,
            "native": 4790,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0.4791666666666667,
          "note": "Standalone Frame lift adds 360 nonempty rows and 29 populated 112 × 8 tiles, with 0 SatDump tiles lost. The slider shows a selected crop; packet counts cover the full recording."
        },
        {
          "channel": 5,
          "image": "assets/meteor-m2-2-current-ch5-reference.webp",
          "after": "assets/meteor-m2-2-current-ch5-framelift.webp",
          "fullBefore": "assets/meteor-m2-2-current-ch5-reference-full.webp",
          "fullAfter": "assets/meteor-m2-2-current-ch5-framelift-full.webp",
          "aspect": "1568 / 768",
          "button": "Channel 5 · infrared",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+368 rows with data",
          "stat": "+657",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 4130,
            "native": 4787,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0.4791666666666667,
          "note": "Standalone Frame lift adds 368 nonempty rows and 27 populated 112 × 8 tiles, with 0 SatDump tiles lost. The slider shows a selected crop; packet counts cover the full recording."
        }
      ],
      "defaultVariant": 0,
      "variantLabel": "MSU-MR instrument channel",
      "candidateLabel": "Frame lift",
      "evidence": "assets/meteor-m2-2-current-verification.json",
      "context": "The standalone Frame lift receiver recovers the complete SatDump CADU set and extends all three displayed MSU-MR channels from the same original IQ.",
      "caveat": "Frame lift: 3,700 RS-valid CADUs versus 3,198 for SatDump 1.2.2. The sets contain 3,198 shared CADUs, 502 additional Frame lift CADUs and 0 SatDump-only CADUs. This is a selected development recording, not a representative performance estimate; the CADUs have verified Reed–Solomon lanes but no independent CADU CRC.",
      "method": "Identical full original IQ. Standalone Rust receiver: carrier and clock synchronization, PSK hypothesis bank, soft Viterbi K=7, NRZ-M differential decoding, CCSDS derandomization and four Reed–Solomon RS(255,223) lanes. Both frame sets use the unchanged SatDump 1.2.2 MSU-MR renderer with gap filling disabled. The comparison is not a manual union: Frame lift alone retains all 3,198 SatDump CADUs and adds 502. Original 8-bit pixels are unchanged; the displayed WebP files are lossless copies verified against the source pixels."
    },
    {
      "id": "meteor-m2-daylight",
      "group": "image",
      "satellite": "Meteor M2",
      "title": "Meteor M2 · more coastline recovered",
      "source": "https://voiceoverman.wixsite.com/noaam2/receive-meteor-m-n2-with-sdrplay",
      "inputKind": "original IQ",
      "inputHash": "047afccdbeaea7c3c9b0997586ebcb84b5b81da5c3e7b0535e4d730c4379a872",
      "aspect": "1568 / 768",
      "after": "assets/meteor-m2-daylight-ch1-hybrid.png",
      "before": [
        {
          "channel": 1,
          "image": "assets/meteor-m2-daylight-ch1-reference.png",
          "after": "assets/meteor-m2-daylight-ch1-hybrid.png",
          "fullBefore": "assets/meteor-m2-daylight-ch1-reference-full.png",
          "fullAfter": "assets/meteor-m2-daylight-ch1-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 1 · daytime",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+328 rows with data",
          "stat": "+525",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 7840,
            "native": 8365,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0.4895833333333333,
          "note": "The light hatched area is outside the image extent decoded by SatDump; no pixels were removed. This channel adds 328 nonempty rows beyond the original extent. Some new rows remain incomplete. The slider shows a selected crop; packet counts cover the full recording."
        },
        {
          "channel": 2,
          "image": "assets/meteor-m2-daylight-ch2-reference.png",
          "after": "assets/meteor-m2-daylight-ch2-hybrid.png",
          "fullBefore": "assets/meteor-m2-daylight-ch2-reference-full.png",
          "fullAfter": "assets/meteor-m2-daylight-ch2-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 2 · daytime",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+312 rows with data",
          "stat": "+506",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 7849,
            "native": 8355,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0.4895833333333333,
          "note": "The light hatched area is outside the image extent decoded by SatDump; no pixels were removed. This channel adds 312 nonempty rows beyond the original extent. Some new rows remain incomplete. The slider shows a selected crop; packet counts cover the full recording."
        },
        {
          "channel": 5,
          "image": "assets/meteor-m2-daylight-ch5-reference.png",
          "after": "assets/meteor-m2-daylight-ch5-hybrid.png",
          "fullBefore": "assets/meteor-m2-daylight-ch5-reference-full.png",
          "fullAfter": "assets/meteor-m2-daylight-ch5-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 5 · infrared",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+320 rows with data",
          "stat": "+532",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 7851,
            "native": 8383,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0.4895833333333333,
          "note": "The light hatched area is outside the image extent decoded by SatDump; no pixels were removed. This channel adds 320 nonempty rows beyond the original extent. Some new rows remain incomplete. The slider shows a selected crop; packet counts cover the full recording."
        }
      ],
      "defaultVariant": 0,
      "variantLabel": "MSU-MR instrument channel",
      "candidateLabel": "SatDump + Telemetry Yield",
      "evidence": "assets/meteor-m2-daylight-verification.json",
      "context": "Additional recovered data extends this MSU-MR view of Earth beyond the reference image.",
      "caveat": "Displayed result combines both decoders: +1563 image packets. Standalone native: 6143 frames versus 6168 for SatDump; 409 added, but 434 missed.",
      "method": "Identical full original IQ, without degrading the reference. Native Rust path: carrier and clock synchronization, PSK hypothesis bank, soft Viterbi K=7, NRZ-M differential decoding for M2-x only, CCSDS derandomization and four Reed–Solomon RS(255,223) lanes. All RS lanes verify; this is not an independent CRC check. Both frame sets use the unchanged SatDump MSU-MR renderer with gap filling disabled. Timestamps establish alignment. The union preserves every complete reference packet. Original pixel values are retained; the audit records cropping and transparent padding outside the received extent. Selected exploratory cases, not a representative benchmark."
    },
    {
      "id": "meteor-m2-3-msumr",
      "group": "image",
      "satellite": "Meteor M2-3",
      "title": "Meteor M2-3 · filling image gaps",
      "source": "https://www.satdump.org/files/Meteor-M/LRPT/aang23_m23_baseband_137100000Hz_10-38-27_09-08-2023.wav",
      "inputKind": "original IQ",
      "inputHash": "0cf77d57668e93caaae3f25ac90ff6dba28859791869c98703f2b73a6b65e285",
      "aspect": "1568 / 768",
      "after": "assets/meteor-m2-3-msumr-ch4-hybrid.png",
      "before": [
        {
          "channel": 4,
          "image": "assets/meteor-m2-3-msumr-ch4-reference.png",
          "after": "assets/meteor-m2-3-msumr-ch4-hybrid.png",
          "fullBefore": "assets/meteor-m2-3-msumr-ch4-reference-full.png",
          "fullAfter": "assets/meteor-m2-3-msumr-ch4-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 4 · infrared",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+42 tiles of 112 × 8",
          "stat": "+95",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 7387,
            "native": 7482,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0,
          "note": "Within the common extent, 42 empty 112 × 8 pixel tiles were filled, with no existing reference tiles lost. The slider shows a selected crop; counts cover packets from the full channel."
        },
        {
          "channel": 5,
          "image": "assets/meteor-m2-3-msumr-ch5-reference.png",
          "after": "assets/meteor-m2-3-msumr-ch5-hybrid.png",
          "fullBefore": "assets/meteor-m2-3-msumr-ch5-reference-full.png",
          "fullAfter": "assets/meteor-m2-3-msumr-ch5-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 5 · infrared",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+41 tiles of 112 × 8",
          "stat": "+93",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 7411,
            "native": 7504,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0,
          "note": "Within the common extent, 41 empty 112 × 8 pixel tiles were filled, with no existing reference tiles lost. The slider shows a selected crop; counts cover packets from the full channel."
        },
        {
          "channel": 6,
          "image": "assets/meteor-m2-3-msumr-ch6-reference.png",
          "after": "assets/meteor-m2-3-msumr-ch6-hybrid.png",
          "fullBefore": "assets/meteor-m2-3-msumr-ch6-reference-full.png",
          "fullAfter": "assets/meteor-m2-3-msumr-ch6-hybrid-full.png",
          "aspect": "1568 / 768",
          "button": "Channel 6 · infrared",
          "label": "SatDump 1.2.2",
          "referenceName": "SatDump 1.2.2",
          "badge": "+57 tiles of 112 × 8",
          "stat": "+105",
          "unit": "image packets across the full recording",
          "counts": {
            "reference": 7405,
            "native": 7510,
            "unit": "image packets across the full recording"
          },
          "missingTopFraction": 0,
          "note": "Within the common extent, 57 empty 112 × 8 pixel tiles were filled, with no existing reference tiles lost. The slider shows a selected crop; counts cover packets from the full channel."
        }
      ],
      "defaultVariant": 0,
      "variantLabel": "MSU-MR instrument channel",
      "candidateLabel": "SatDump + Telemetry Yield",
      "evidence": "assets/meteor-m2-3-msumr-verification.json",
      "context": "Additional packets fill gaps in MSU-MR radiometer imagery. Identical input signal and image reconstruction.",
      "caveat": "Displayed result combines both decoders: +293 image packets. Standalone native: 5767 frames versus 5727 for SatDump; 73 added, but 33 missed.",
      "method": "Identical full original IQ, without degrading the reference. Native Rust path: carrier and clock synchronization, PSK hypothesis bank, soft Viterbi K=7, NRZ-M differential decoding for M2-x only, CCSDS derandomization and four Reed–Solomon RS(255,223) lanes. All RS lanes verify; this is not an independent CRC check. Both frame sets use the unchanged SatDump MSU-MR renderer with gap filling disabled. Timestamps establish alignment. The union preserves every complete reference packet. Original pixel values are retained; the audit records cropping and transparent padding outside the received extent. Selected exploratory cases, not a representative benchmark."
    },
    {
      "id": "telemetry-6215698",
      "group": "telemetry",
      "title": "CELESTA #6215698 · onboard measurements",
      "source": "https://network.satnogs.org/observations/6215698/",
      "aspect": "560 / 320",
      "after": "assets/6215698-batteryTemperatureC-native.svg",
      "plots": [
        {
          "key": "batteryTemperatureC",
          "label": "Battery temperature",
          "button": "Battery / °C",
          "unit": "°C",
          "offset": 40,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[40])",
          "page": 4,
          "referenceField": "eps.battery_temperature",
          "before": "assets/6215698-batteryTemperatureC-reference.svg",
          "after": "assets/6215698-batteryTemperatureC-native.svg"
        },
        {
          "key": "negativeZTemperatureC",
          "label": "−Z face temperature",
          "button": "−Z face / °C",
          "unit": "°C",
          "offset": 46,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[46])",
          "page": 5,
          "referenceField": "eps.z_minu_face_temperature",
          "before": "assets/6215698-negativeZTemperatureC-reference.svg",
          "after": "assets/6215698-negativeZTemperatureC-native.svg"
        },
        {
          "key": "powerAmplifierTemperatureC",
          "label": "Transmitter power-amplifier temperature",
          "button": "Transmitter / °C",
          "unit": "°C",
          "offset": 66,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[66])",
          "page": 7,
          "referenceField": "ttc.power_amplifier_temperature",
          "before": "assets/6215698-powerAmplifierTemperatureC-reference.svg",
          "after": "assets/6215698-powerAmplifierTemperatureC-native.svg"
        },
        {
          "key": "batteryVoltageV",
          "label": "Battery voltage",
          "button": "Voltage / V",
          "unit": "V",
          "offset": 39,
          "signed": false,
          "scale": 0.02,
          "formula": "uint8(PDU[39]) × 20 mV / 1000",
          "page": 4,
          "referenceField": "eps.last_battery_voltage",
          "referenceScale": 0.001,
          "before": "assets/6215698-batteryVoltageV-reference.svg",
          "after": "assets/6215698-batteryVoltageV-native.svg"
        },
        {
          "key": "chargeCurrentMa",
          "label": "Battery charge current",
          "button": "Charging / mA",
          "unit": "mA",
          "offset": 52,
          "signed": false,
          "scale": 12,
          "formula": "uint8(PDU[52]) × 12 mA",
          "page": 5,
          "referenceField": "eps.total_charge_current_of_the_battery",
          "before": "assets/6215698-chargeCurrentMa-reference.svg",
          "after": "assets/6215698-chargeCurrentMa-native.svg"
        }
      ],
      "samples": [
        {
          "windowStartSeconds": 27.5,
          "pduSha256": "325c5f0c9b2c796307f1b1affd87616e772bb21e4812dc9705ffd03f519ddc2b",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 65,
          "pduSha256": "7d8fcf283a7a045f38b65b598bcde5b6da84da35ec8ce8fdae9022c6af8bf7ac",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 105,
          "pduSha256": "1a8bce28a3c8f1b6094c84049f6143430d3c9693d55dc11f89e23307f7437372",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 17,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 142.5,
          "pduSha256": "fa41ceff03f6dda5d7cde6d8a97283cae18dd8c46d09989ad31f53c78361fab3",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 182.5,
          "pduSha256": "22a5a24b8fee02ff18cd77906d8bc890e3469962021a6cbbb2900d1d0f4f19cf",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 220,
          "pduSha256": "ebf7887bf3e4ed4902a24b88eadf28b7dfb37e0e9038a6b963d2c3d5e0f70c68",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 12,
            "powerAmplifierTemperatureC": 17,
            "batteryVoltageV": 4,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 260,
          "pduSha256": "b31988c0bb2263641ed3be71ec388e10d0f21858d61c85671e94547774aff1e5",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 12,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 300,
          "pduSha256": "8d5d13dca510ce0efc7baf36a538e505fa185d468d0fe82151b4d5c2b971f445",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 12,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 337.5,
          "pduSha256": "1d86bfb6e80a8fb2803cff63e359dff28f17a3aa8683b2c19878a13c10584f7a",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 12,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 377.5,
          "pduSha256": "b58a8dabb5ffbc452d22e6e68e116fd516d36c8c6dd68e317f2eba56e8a7931b",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 12,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 415,
          "pduSha256": "f8a49e7527648c26704881385db2b3bbfe40828c4b4814e523cc410f0e3ec0b0",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 455,
          "pduSha256": "d44d9995a9432c858d363ca7d1a106ea8465883d3e6db0e9de353b9b6518e20d",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 19,
            "batteryVoltageV": 4,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 492.5,
          "pduSha256": "35fb9e3f941bfd947265a85f37ab3d2339fff8a763cdc04744d704133035ee36",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.08,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 532.5,
          "pduSha256": "38fd9b6c3fabcc2b197b39a086c0466a32f3f3fc20ae3b3e6cabb8792bf2fda7",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 570,
          "pduSha256": "f664ac974868b84f3cc00d188ee3aa9c3ffac55ecb86cbe4cfb6ec5a1e8fd7c7",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 19,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 610,
          "pduSha256": "8ec69bd02a8305414826e1505dce5e9316ae3934776690eeeaa23a9812d8b4bb",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 650,
          "pduSha256": "52fbee901056614d220adf028347c62f0cab63d6dfe4156f90fc8d67009375dd",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 687.5,
          "pduSha256": "c2864c9061e56986a0d81401ff04459fa54a52e63ffafe879e1e70d2e71987dd",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 9,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 18,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        }
      ],
      "csv": "assets/6215698-measurements.csv",
      "inputHash": "aeea8f27597d39256094e823996541deca37165dd2dc1d44d2e7542e8b2b63c5",
      "evidence": "assets/6215698-telemetry.json",
      "context": "Identical IQ. Every point comes from a received frame with valid FCS.",
      "method": "Both decoders use the same conversions from CSUM v3.1 pages 4, 5 and 7 and the SatNOGS celesta.ksy schema. Bytes, CRC16/X25 and reference-set membership are verified. Mission documentation identifies FX6FRB as CELESTA. The X axis is IQ analysis-window start, not exact measurement time. Multi-byte fields with conflicting documented byte order are omitted. Packet sets are repeatable, but the preregistered requirement for identical raw KISS files was not met.",
      "before": [
        {
          "image": "assets/6215698-batteryTemperatureC-reference.svg",
          "button": "gr-satellites · CELESTA",
          "label": "gr-satellites",
          "badge": "+16 samples",
          "stat": "2 → 18",
          "unit": "samples on each of 5 plots · 16 additional frames",
          "note": "Each frame contains the five displayed fields, not five independently recovered packets. A missing point means a measurement was not received, never a zero value.",
          "counts": {
            "reference": 2,
            "native": 18,
            "unit": "telemetry frames"
          }
        }
      ]
    },
    {
      "id": "telemetry-6221405",
      "group": "telemetry",
      "title": "CELESTA #6221405 · onboard measurements",
      "source": "https://network.satnogs.org/observations/6221405/",
      "aspect": "560 / 320",
      "after": "assets/6221405-batteryTemperatureC-native.svg",
      "plots": [
        {
          "key": "batteryTemperatureC",
          "label": "Battery temperature",
          "button": "Battery / °C",
          "unit": "°C",
          "offset": 40,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[40])",
          "page": 4,
          "referenceField": "eps.battery_temperature",
          "before": "assets/6221405-batteryTemperatureC-reference.svg",
          "after": "assets/6221405-batteryTemperatureC-native.svg"
        },
        {
          "key": "negativeZTemperatureC",
          "label": "−Z face temperature",
          "button": "−Z face / °C",
          "unit": "°C",
          "offset": 46,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[46])",
          "page": 5,
          "referenceField": "eps.z_minu_face_temperature",
          "before": "assets/6221405-negativeZTemperatureC-reference.svg",
          "after": "assets/6221405-negativeZTemperatureC-native.svg"
        },
        {
          "key": "powerAmplifierTemperatureC",
          "label": "Transmitter power-amplifier temperature",
          "button": "Transmitter / °C",
          "unit": "°C",
          "offset": 66,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[66])",
          "page": 7,
          "referenceField": "ttc.power_amplifier_temperature",
          "before": "assets/6221405-powerAmplifierTemperatureC-reference.svg",
          "after": "assets/6221405-powerAmplifierTemperatureC-native.svg"
        },
        {
          "key": "batteryVoltageV",
          "label": "Battery voltage",
          "button": "Voltage / V",
          "unit": "V",
          "offset": 39,
          "signed": false,
          "scale": 0.02,
          "formula": "uint8(PDU[39]) × 20 mV / 1000",
          "page": 4,
          "referenceField": "eps.last_battery_voltage",
          "referenceScale": 0.001,
          "before": "assets/6221405-batteryVoltageV-reference.svg",
          "after": "assets/6221405-batteryVoltageV-native.svg"
        },
        {
          "key": "chargeCurrentMa",
          "label": "Battery charge current",
          "button": "Charging / mA",
          "unit": "mA",
          "offset": 52,
          "signed": false,
          "scale": 12,
          "formula": "uint8(PDU[52]) × 12 mA",
          "page": 5,
          "referenceField": "eps.total_charge_current_of_the_battery",
          "before": "assets/6221405-chargeCurrentMa-reference.svg",
          "after": "assets/6221405-chargeCurrentMa-native.svg"
        }
      ],
      "samples": [
        {
          "windowStartSeconds": 32.5,
          "pduSha256": "ba8436d7db38b07c380d649b8d225874ce287c2b0ee6ba6a3e02db9910ce1787",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 72.5,
          "pduSha256": "6e90ae9f65692af729aca51d48588716e601ce124d8933539abd13e63373fa1b",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 110,
          "pduSha256": "d3df0ff1fad0cf7dc1e03186abd08ebafe1cfb1ce1efbede10d6181875967364",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 150,
          "pduSha256": "93fead7bda99387f6242f9205aba1112db9b64b30e95af99fb552262ebef2615",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 21,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 187.5,
          "pduSha256": "12412e07735e859195eb77363576a5b7f05bea9847155f2997645337be09b4fa",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 227.5,
          "pduSha256": "08eb3320e4d7469a522dd3c8b9ce972c793a519b778e74ab36c7be1bb8531588",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 267.5,
          "pduSha256": "64b1f4bbb6027a4ebdc3c79b2482edaa2d5f9c51e5abe97a4d33a1f974ad8085",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 21,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 305,
          "pduSha256": "da04f0d3bb11cf372bea8ff40f94ab34b47716467f601289491a56450c2d9dd5",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 345,
          "pduSha256": "68f852cd212ee6954f2a60c7531eb1a9ea3c3f8c23e86e0b2170a81255093c7a",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 412.5,
          "pduSha256": "cef873efc93fc23c9c5e368ed403bbc2a6f369453269600ef7fcab1d291cde01",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 450,
          "pduSha256": "30d686f64cfdef21ea5005301778af78c3ab9153ec550d33d7b58cc1ab947663",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 21,
            "batteryVoltageV": 4,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 490,
          "pduSha256": "2d75eb1ffd5518357b45620f44c6d17a1c3d7788e567347d34c0c2ec969e6896",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 527.5,
          "pduSha256": "dbe8a7166fb806ea62d10c56b3c61a08e5e6d1cd0751a98c57791490d476cc8d",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.08,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 567.5,
          "pduSha256": "39160883cc8a3c7c80c48899125200542902bd37c9f2d047446f7ba4ff3cd517",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 21,
            "batteryVoltageV": 4,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 607.5,
          "pduSha256": "e6c39136d4e33c32ad6e3ab90ac50d68ad6e0b9453fda79c3365ab63b902a2cf",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.08,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 645,
          "pduSha256": "1f63d26e491d49ce70581d3955d39c789ff7e30e749dc966e497899ee4cc0a58",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 20,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 0
          }
        },
        {
          "windowStartSeconds": 685,
          "pduSha256": "f4224283a18ec8d4fa273b1495afc3f1f33689e7acafcac660ffc7e02da8ef9e",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 11,
            "powerAmplifierTemperatureC": 21,
            "batteryVoltageV": 4.08,
            "chargeCurrentMa": 0
          }
        }
      ],
      "csv": "assets/6221405-measurements.csv",
      "inputHash": "c87129b0e147fe087bfd1b1e7660e3f03dc571b7fe12137f0dd4aff7e9651d25",
      "evidence": "assets/6221405-telemetry.json",
      "context": "Identical IQ. Every point comes from a received frame with valid FCS.",
      "method": "Both decoders use the same conversions from CSUM v3.1 pages 4, 5 and 7 and the SatNOGS celesta.ksy schema. Bytes, CRC16/X25 and reference-set membership are verified. Mission documentation identifies FX6FRB as CELESTA. The X axis is IQ analysis-window start, not exact measurement time. Multi-byte fields with conflicting documented byte order are omitted. Packet sets are repeatable, but the preregistered requirement for identical raw KISS files was not met.",
      "before": [
        {
          "image": "assets/6221405-batteryTemperatureC-reference.svg",
          "button": "gr-satellites · CELESTA",
          "label": "gr-satellites",
          "badge": "+12 samples",
          "stat": "5 → 17",
          "unit": "samples on each of 5 plots · 12 additional frames",
          "note": "Each frame contains the five displayed fields, not five independently recovered packets. A missing point means a measurement was not received, never a zero value.",
          "counts": {
            "reference": 5,
            "native": 17,
            "unit": "telemetry frames"
          }
        }
      ]
    },
    {
      "id": "telemetry-6284801",
      "group": "telemetry",
      "title": "CELESTA #6284801 · onboard measurements",
      "source": "https://network.satnogs.org/observations/6284801/",
      "aspect": "560 / 320",
      "after": "assets/6284801-batteryTemperatureC-native.svg",
      "plots": [
        {
          "key": "batteryTemperatureC",
          "label": "Battery temperature",
          "button": "Battery / °C",
          "unit": "°C",
          "offset": 40,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[40])",
          "page": 4,
          "referenceField": "eps.battery_temperature",
          "before": "assets/6284801-batteryTemperatureC-reference.svg",
          "after": "assets/6284801-batteryTemperatureC-native.svg"
        },
        {
          "key": "negativeZTemperatureC",
          "label": "−Z face temperature",
          "button": "−Z face / °C",
          "unit": "°C",
          "offset": 46,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[46])",
          "page": 5,
          "referenceField": "eps.z_minu_face_temperature",
          "before": "assets/6284801-negativeZTemperatureC-reference.svg",
          "after": "assets/6284801-negativeZTemperatureC-native.svg"
        },
        {
          "key": "powerAmplifierTemperatureC",
          "label": "Transmitter power-amplifier temperature",
          "button": "Transmitter / °C",
          "unit": "°C",
          "offset": 66,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[66])",
          "page": 7,
          "referenceField": "ttc.power_amplifier_temperature",
          "before": "assets/6284801-powerAmplifierTemperatureC-reference.svg",
          "after": "assets/6284801-powerAmplifierTemperatureC-native.svg"
        },
        {
          "key": "batteryVoltageV",
          "label": "Battery voltage",
          "button": "Voltage / V",
          "unit": "V",
          "offset": 39,
          "signed": false,
          "scale": 0.02,
          "formula": "uint8(PDU[39]) × 20 mV / 1000",
          "page": 4,
          "referenceField": "eps.last_battery_voltage",
          "referenceScale": 0.001,
          "before": "assets/6284801-batteryVoltageV-reference.svg",
          "after": "assets/6284801-batteryVoltageV-native.svg"
        },
        {
          "key": "chargeCurrentMa",
          "label": "Battery charge current",
          "button": "Charging / mA",
          "unit": "mA",
          "offset": 52,
          "signed": false,
          "scale": 12,
          "formula": "uint8(PDU[52]) × 12 mA",
          "page": 5,
          "referenceField": "eps.total_charge_current_of_the_battery",
          "before": "assets/6284801-chargeCurrentMa-reference.svg",
          "after": "assets/6284801-chargeCurrentMa-native.svg"
        }
      ],
      "samples": [
        {
          "windowStartSeconds": 17.5,
          "pduSha256": "d448ed1115054cff07fbc9f822ddf844a8f8d789f63cc1b8d062bc5a09a34a41",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 5,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 55,
          "pduSha256": "c9bcbdf9f4a2b3af99f37465b41deff7e2367ef59fe942eff2cf6fd551f150eb",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 25,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 95,
          "pduSha256": "a9d509e3aea66f41fcfb7241043d80fc722da3e50497824f98cd00d26dc894a7",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 25,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 132.5,
          "pduSha256": "09d4ee2b3f5e3ff51bfbf22d37860bbd68fa6b9783d16beed738ea599a2befde",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 576
          }
        },
        {
          "windowStartSeconds": 172.5,
          "pduSha256": "b593972e9eba0567402160ffd9c261d189a8b60164eba7becd621f481691d333",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 210,
          "pduSha256": "42a093028870ad49faaee045b2ee2ec4acdfce108bf89bce1bea9ac7c9be7777",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 25,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 250,
          "pduSha256": "f8b4f915fc2a9ee079e210e8291c6e756a8bc388a6bb4e52b3e54cc61d43a7f5",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 588
          }
        },
        {
          "windowStartSeconds": 287.5,
          "pduSha256": "fb773f4ff0e13342d384da3ee6538628b9fcb5e0440af0272b9d62bf55e1dd31",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 327.5,
          "pduSha256": "3ad4adbda09e49c4e85b9718a71f61eb1717c21b60b62b5dca1ce87809c37dec",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 25,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 367.5,
          "pduSha256": "8096a8e8661a7e761cd07a0dc4b6ef4c2fedd75c211f371be7e1dd7b6c49d3c5",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 405,
          "pduSha256": "e2e7acbc4c27e66ec5b726d14f029db411439bc4a189033c72824549f7cca73a",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 445,
          "pduSha256": "2f5b94768f0e918a2887025b17d6d40ad76e3eef2f8ac0cf2cd0f7bead8959f4",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 25,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 600
          }
        },
        {
          "windowStartSeconds": 482.5,
          "pduSha256": "1a39ad867e73468615493df464e8e1a0678b20185d99732e35119d44df9bc6d8",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 522.5,
          "pduSha256": "1b84a48c7acf3b3c2246493375ce037d3aadb76203557cbbb235c5115cad0d91",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 560,
          "pduSha256": "d7126ce779b03c6284c471849b2b6eb705dde809f7b617e30ec3b3b88d5cc468",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 27,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 600,
          "pduSha256": "19928690a5b224af2080a5f62e91c5579d716df96b3fa0d0ee139434f0f9461d",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 637.5,
          "pduSha256": "d35b3c1e06f20c8858857b4cecd98f5c438fe4ae6f5b185e0442d5dbd6c961ad",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 677.5,
          "pduSha256": "59c35c853b8133967b9e047ad60c8105947e7854ad7834d8a1f3815cd0255dc9",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 715,
          "pduSha256": "a280fe4570535058d36dcc7bc661cb74acad433f5dcf69d9a8c244bea0759405",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 25,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 755,
          "pduSha256": "52db4bca467d81e5622581d4be35cfe3cbf6b2b3db82ac1899d5aa99d8dbfdb1",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 11,
            "negativeZTemperatureC": 6,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        }
      ],
      "csv": "assets/6284801-measurements.csv",
      "inputHash": "7fbf92b45c6092cd4dd4e72fa6c3ab70c9c6f67e2ec3c682d5175e461ab0a674",
      "evidence": "assets/6284801-telemetry.json",
      "context": "Identical IQ. Every point comes from a received frame with valid FCS.",
      "method": "Both decoders use the same conversions from CSUM v3.1 pages 4, 5 and 7 and the SatNOGS celesta.ksy schema. Bytes, CRC16/X25 and reference-set membership are verified. Mission documentation identifies FX6FRB as CELESTA. The X axis is IQ analysis-window start, not exact measurement time. Multi-byte fields with conflicting documented byte order are omitted. Packet sets are repeatable, but the preregistered requirement for identical raw KISS files was not met.",
      "before": [
        {
          "image": "assets/6284801-batteryTemperatureC-reference.svg",
          "button": "gr-satellites · CELESTA",
          "label": "gr-satellites",
          "badge": "+17 samples",
          "stat": "3 → 20",
          "unit": "samples on each of 5 plots · 17 additional frames",
          "note": "Each frame contains the five displayed fields, not five independently recovered packets. A missing point means a measurement was not received, never a zero value.",
          "counts": {
            "reference": 3,
            "native": 20,
            "unit": "telemetry frames"
          }
        }
      ]
    },
    {
      "id": "telemetry-6291502",
      "group": "telemetry",
      "title": "CELESTA #6291502 · onboard measurements",
      "source": "https://network.satnogs.org/observations/6291502/",
      "aspect": "560 / 320",
      "after": "assets/6291502-batteryTemperatureC-native.svg",
      "plots": [
        {
          "key": "batteryTemperatureC",
          "label": "Battery temperature",
          "button": "Battery / °C",
          "unit": "°C",
          "offset": 40,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[40])",
          "page": 4,
          "referenceField": "eps.battery_temperature",
          "before": "assets/6291502-batteryTemperatureC-reference.svg",
          "after": "assets/6291502-batteryTemperatureC-native.svg"
        },
        {
          "key": "negativeZTemperatureC",
          "label": "−Z face temperature",
          "button": "−Z face / °C",
          "unit": "°C",
          "offset": 46,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[46])",
          "page": 5,
          "referenceField": "eps.z_minu_face_temperature",
          "before": "assets/6291502-negativeZTemperatureC-reference.svg",
          "after": "assets/6291502-negativeZTemperatureC-native.svg"
        },
        {
          "key": "powerAmplifierTemperatureC",
          "label": "Transmitter power-amplifier temperature",
          "button": "Transmitter / °C",
          "unit": "°C",
          "offset": 66,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[66])",
          "page": 7,
          "referenceField": "ttc.power_amplifier_temperature",
          "before": "assets/6291502-powerAmplifierTemperatureC-reference.svg",
          "after": "assets/6291502-powerAmplifierTemperatureC-native.svg"
        },
        {
          "key": "batteryVoltageV",
          "label": "Battery voltage",
          "button": "Voltage / V",
          "unit": "V",
          "offset": 39,
          "signed": false,
          "scale": 0.02,
          "formula": "uint8(PDU[39]) × 20 mV / 1000",
          "page": 4,
          "referenceField": "eps.last_battery_voltage",
          "referenceScale": 0.001,
          "before": "assets/6291502-batteryVoltageV-reference.svg",
          "after": "assets/6291502-batteryVoltageV-native.svg"
        },
        {
          "key": "chargeCurrentMa",
          "label": "Battery charge current",
          "button": "Charging / mA",
          "unit": "mA",
          "offset": 52,
          "signed": false,
          "scale": 12,
          "formula": "uint8(PDU[52]) × 12 mA",
          "page": 5,
          "referenceField": "eps.total_charge_current_of_the_battery",
          "before": "assets/6291502-chargeCurrentMa-reference.svg",
          "after": "assets/6291502-chargeCurrentMa-native.svg"
        }
      ],
      "samples": [
        {
          "windowStartSeconds": 22.5,
          "pduSha256": "097e42b1f5abc987afe12310aa459f864bc471dffca4881d2de426d7e5be2519",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 7,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 62.5,
          "pduSha256": "8c634e93b4cd4f9253eecfd85af9baaa854c28d2c0326b1087cba9b9d39529e4",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 7,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 100,
          "pduSha256": "7e5785efcd0be51e2a2e9b6269886219e6f9086c0eb4ba39d5d71a8ddc6f8fe4",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 7,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 140,
          "pduSha256": "5789e9d161050f96672d6446f493d8eaf7d223c994681bbec2fd69d0193524ca",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 7,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 177.5,
          "pduSha256": "8694500d36a20c98c40ccf4843a5a684d7d4128bbfc19453d03f661a039b23a5",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 7,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 217.5,
          "pduSha256": "b84f54303cdb9c7e573ad19548792072fc1ec872706004d4e20ed25d295fd52b",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 7,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 255,
          "pduSha256": "19f68393651dbfbbc593a7f790df2556146584ab7fe17d04ead9d98db9484a82",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 7,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 295,
          "pduSha256": "1f06d912af4e8543c33b9768054669f80b63511be1149df6b5b134778b4414f2",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 7,
            "powerAmplifierTemperatureC": 27,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 332.5,
          "pduSha256": "1a2b5dc10f9855b9322b665c0a600ce6e2442ceedbc50c2b4b943f2e84414009",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 372.5,
          "pduSha256": "f998cf083b36d72c01959e0777547abcebd6d8c744edafdad430c27ceda9eb9c",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 412.5,
          "pduSha256": "0546b538aaf75d19aca86a4a41fd0ce586a96846b6a1fcbd2ac333c9ddcf86ee",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 27,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 450,
          "pduSha256": "7f77abbed4ba41ae64b22e9564544ec37aac185647585ab7ea04b73e6d2eaf56",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 490,
          "pduSha256": "b63be6e0ec097ce4fb922c68a4b7f98109d98d54038f1d62ccf53aaa08cb0a76",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 527.5,
          "pduSha256": "52e907becdbe93a1d4f4eabef2d5d33b83110609298603bd0c1c0a653a925793",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 567.5,
          "pduSha256": "1a13dd15c830d6656c4c2709a5cd86b6e39b5aedfc31418b43a364c1a2609e73",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 27,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 605,
          "pduSha256": "def11308c261ed57be98fa54b1b13c25505bd6642029fd45dfefab2503266241",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 645,
          "pduSha256": "94212b0a95b39ea99b259b00fb5c168211349ccfabe9c2c5119dd32ccc52395c",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 26,
            "batteryVoltageV": 4.06,
            "chargeCurrentMa": 720
          }
        },
        {
          "windowStartSeconds": 682.5,
          "pduSha256": "80658eebbac355d9f64c89ec54b40cd0d969eb0266ce5d444c5af9d784753701",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 12,
            "negativeZTemperatureC": 8,
            "powerAmplifierTemperatureC": 27,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        }
      ],
      "csv": "assets/6291502-measurements.csv",
      "inputHash": "2cf6820f227996961a2d902942bdbe8a6dbc0a6e56dcaa3257f755f4a9301372",
      "evidence": "assets/6291502-telemetry.json",
      "context": "Identical IQ. Every point comes from a received frame with valid FCS.",
      "method": "Both decoders use the same conversions from CSUM v3.1 pages 4, 5 and 7 and the SatNOGS celesta.ksy schema. Bytes, CRC16/X25 and reference-set membership are verified. Mission documentation identifies FX6FRB as CELESTA. The X axis is IQ analysis-window start, not exact measurement time. Multi-byte fields with conflicting documented byte order are omitted. Packet sets are repeatable, but the preregistered requirement for identical raw KISS files was not met.",
      "before": [
        {
          "image": "assets/6291502-batteryTemperatureC-reference.svg",
          "button": "gr-satellites · CELESTA",
          "label": "gr-satellites",
          "badge": "+14 samples",
          "stat": "4 → 18",
          "unit": "samples on each of 5 plots · 14 additional frames",
          "note": "Each frame contains the five displayed fields, not five independently recovered packets. A missing point means a measurement was not received, never a zero value.",
          "counts": {
            "reference": 4,
            "native": 18,
            "unit": "telemetry frames"
          }
        }
      ]
    },
    {
      "id": "telemetry-6357041",
      "group": "telemetry",
      "title": "CELESTA #6357041 · onboard measurements",
      "source": "https://network.satnogs.org/observations/6357041/",
      "aspect": "560 / 320",
      "after": "assets/6357041-batteryTemperatureC-native.svg",
      "plots": [
        {
          "key": "batteryTemperatureC",
          "label": "Battery temperature",
          "button": "Battery / °C",
          "unit": "°C",
          "offset": 40,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[40])",
          "page": 4,
          "referenceField": "eps.battery_temperature",
          "before": "assets/6357041-batteryTemperatureC-reference.svg",
          "after": "assets/6357041-batteryTemperatureC-native.svg"
        },
        {
          "key": "negativeZTemperatureC",
          "label": "−Z face temperature",
          "button": "−Z face / °C",
          "unit": "°C",
          "offset": 46,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[46])",
          "page": 5,
          "referenceField": "eps.z_minu_face_temperature",
          "before": "assets/6357041-negativeZTemperatureC-reference.svg",
          "after": "assets/6357041-negativeZTemperatureC-native.svg"
        },
        {
          "key": "powerAmplifierTemperatureC",
          "label": "Transmitter power-amplifier temperature",
          "button": "Transmitter / °C",
          "unit": "°C",
          "offset": 66,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[66])",
          "page": 7,
          "referenceField": "ttc.power_amplifier_temperature",
          "before": "assets/6357041-powerAmplifierTemperatureC-reference.svg",
          "after": "assets/6357041-powerAmplifierTemperatureC-native.svg"
        },
        {
          "key": "batteryVoltageV",
          "label": "Battery voltage",
          "button": "Voltage / V",
          "unit": "V",
          "offset": 39,
          "signed": false,
          "scale": 0.02,
          "formula": "uint8(PDU[39]) × 20 mV / 1000",
          "page": 4,
          "referenceField": "eps.last_battery_voltage",
          "referenceScale": 0.001,
          "before": "assets/6357041-batteryVoltageV-reference.svg",
          "after": "assets/6357041-batteryVoltageV-native.svg"
        },
        {
          "key": "chargeCurrentMa",
          "label": "Battery charge current",
          "button": "Charging / mA",
          "unit": "mA",
          "offset": 52,
          "signed": false,
          "scale": 12,
          "formula": "uint8(PDU[52]) × 12 mA",
          "page": 5,
          "referenceField": "eps.total_charge_current_of_the_battery",
          "before": "assets/6357041-chargeCurrentMa-reference.svg",
          "after": "assets/6357041-chargeCurrentMa-native.svg"
        }
      ],
      "samples": [
        {
          "windowStartSeconds": 77.5,
          "pduSha256": "b7425fda206e0ecceb5ee1c177a869ad1298b2b84a8e9df5939e186dd198c5b4",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 14,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 115,
          "pduSha256": "8c53860ab4f244ecb1eec4c05e1c9d46c377423b8e92ee0199f6370ccb3a02f0",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 14,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 155,
          "pduSha256": "3420129e718039762011a040d1b672adef639fe4ac2da0985308efe0940b9129",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 192.5,
          "pduSha256": "64773182385a113003b66be68a3a92a278e7c1b37efb4bbe18e52a3115b436d5",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 232.5,
          "pduSha256": "a5f9148d9f1362e30db7ffb11f02f5ba7264de47a454b4b59f3c58e053323a79",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 720
          }
        },
        {
          "windowStartSeconds": 270,
          "pduSha256": "07bbc16702436df9c3341036b3dbe24febfd75ea180a162b71666c7b2aeaaab3",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 310,
          "pduSha256": "7c9938984a1b1549f778776d7f1777912bcb273fe746eeed88240f6318ec4dfe",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 347.5,
          "pduSha256": "462c216e6cd22764555278d2c0b86eac02bbb6d1ddeef80626d200acf975b5e1",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 387.5,
          "pduSha256": "1355ada964f0798d39415d36e164ca43fba2acd7c88cbe0173941d1b19f69bab",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 427.5,
          "pduSha256": "236a2aed3af64dead6b10753009d5d4bee1724708eee83d5fbd234677b47574b",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 465,
          "pduSha256": "e7297c7af9e9cdea8a84337b529030e3ff234581b7e7a1b95ba2d166585a73de",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 505,
          "pduSha256": "c7ee416510a95a07fd19f939e5c6950eb6fcc2eab9cc9c5d0ea956a52d15ee73",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 542.5,
          "pduSha256": "360bd25bb4692af88eb85fac6139011ca1102579efc8b5529577b90dea7e053c",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 582.5,
          "pduSha256": "ab8dc12ccb918bd04f0deac8f417f291adc905b7340965e87f3a968e0e75ab0f",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 620,
          "pduSha256": "8f4f59bc7df21c5709d4203c9f2e0a1caa7eed29e1929569c955d11fb1b4cb62",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 660,
          "pduSha256": "110c49d8f25e87d4724a5b1875d46c72b0c56e2333019343a31ca8845cce7da9",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 697.5,
          "pduSha256": "1027f36762e46c0e608fcd4fcc07c09027a5b99508ca0234092690d13584d769",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        }
      ],
      "csv": "assets/6357041-measurements.csv",
      "inputHash": "aec7486030876bb34b87488fc8cc8a649d54fe2d5666a97ecf6c60aa78cb8ea0",
      "evidence": "assets/6357041-telemetry.json",
      "context": "Identical IQ. Every point comes from a received frame with valid FCS.",
      "method": "Both decoders use the same conversions from CSUM v3.1 pages 4, 5 and 7 and the SatNOGS celesta.ksy schema. Bytes, CRC16/X25 and reference-set membership are verified. Mission documentation identifies FX6FRB as CELESTA. The X axis is IQ analysis-window start, not exact measurement time. Multi-byte fields with conflicting documented byte order are omitted. Packet sets are repeatable, but the preregistered requirement for identical raw KISS files was not met.",
      "before": [
        {
          "image": "assets/6357041-batteryTemperatureC-reference.svg",
          "button": "gr-satellites · CELESTA",
          "label": "gr-satellites",
          "badge": "+16 samples",
          "stat": "1 → 17",
          "unit": "samples on each of 5 plots · 16 additional frames",
          "note": "Each frame contains the five displayed fields, not five independently recovered packets. A missing point means a measurement was not received, never a zero value.",
          "counts": {
            "reference": 1,
            "native": 17,
            "unit": "telemetry frames"
          }
        }
      ]
    },
    {
      "id": "telemetry-6357042",
      "group": "telemetry",
      "title": "CELESTA #6357042 · onboard measurements",
      "source": "https://network.satnogs.org/observations/6357042/",
      "aspect": "560 / 320",
      "after": "assets/6357042-batteryTemperatureC-native.svg",
      "plots": [
        {
          "key": "batteryTemperatureC",
          "label": "Battery temperature",
          "button": "Battery / °C",
          "unit": "°C",
          "offset": 40,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[40])",
          "page": 4,
          "referenceField": "eps.battery_temperature",
          "before": "assets/6357042-batteryTemperatureC-reference.svg",
          "after": "assets/6357042-batteryTemperatureC-native.svg"
        },
        {
          "key": "negativeZTemperatureC",
          "label": "−Z face temperature",
          "button": "−Z face / °C",
          "unit": "°C",
          "offset": 46,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[46])",
          "page": 5,
          "referenceField": "eps.z_minu_face_temperature",
          "before": "assets/6357042-negativeZTemperatureC-reference.svg",
          "after": "assets/6357042-negativeZTemperatureC-native.svg"
        },
        {
          "key": "powerAmplifierTemperatureC",
          "label": "Transmitter power-amplifier temperature",
          "button": "Transmitter / °C",
          "unit": "°C",
          "offset": 66,
          "signed": true,
          "scale": 1,
          "formula": "int8(PDU[66])",
          "page": 7,
          "referenceField": "ttc.power_amplifier_temperature",
          "before": "assets/6357042-powerAmplifierTemperatureC-reference.svg",
          "after": "assets/6357042-powerAmplifierTemperatureC-native.svg"
        },
        {
          "key": "batteryVoltageV",
          "label": "Battery voltage",
          "button": "Voltage / V",
          "unit": "V",
          "offset": 39,
          "signed": false,
          "scale": 0.02,
          "formula": "uint8(PDU[39]) × 20 mV / 1000",
          "page": 4,
          "referenceField": "eps.last_battery_voltage",
          "referenceScale": 0.001,
          "before": "assets/6357042-batteryVoltageV-reference.svg",
          "after": "assets/6357042-batteryVoltageV-native.svg"
        },
        {
          "key": "chargeCurrentMa",
          "label": "Battery charge current",
          "button": "Charging / mA",
          "unit": "mA",
          "offset": 52,
          "signed": false,
          "scale": 12,
          "formula": "uint8(PDU[52]) × 12 mA",
          "page": 5,
          "referenceField": "eps.total_charge_current_of_the_battery",
          "before": "assets/6357042-chargeCurrentMa-reference.svg",
          "after": "assets/6357042-chargeCurrentMa-native.svg"
        }
      ],
      "samples": [
        {
          "windowStartSeconds": 35,
          "pduSha256": "f7821c6247f3a8201d545796876df01d132c912a97b74692982d4107efef472f",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 75,
          "pduSha256": "456e2f5753e1e481095bc31b960f0330fc80c7d6f2a8c26faedd40403c6fac06",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 112.5,
          "pduSha256": "dd0f4595acb6a3b5c0951356970cb5369a2f1039f53cc7540fea6e2c1de3e4e7",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 720
          }
        },
        {
          "windowStartSeconds": 152.5,
          "pduSha256": "5f67304b42f6a3fa05f19137d65fc05ba2655d61946daaa4d28d7f2afc0a40c8",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 190,
          "pduSha256": "51faebfd741607fa850a924b65d9bf9319e612289ba5eb46dbbb4daba7e2f8c1",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 230,
          "pduSha256": "93f0b26d8597188e63cd63ae320f720627e5d6b6b3333ae62a1454e5dfdefe03",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 432
          }
        },
        {
          "windowStartSeconds": 385,
          "pduSha256": "11695624a175873adb6fdc3df41acb762630480e0dc24b02f20391581265c316",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 422.5,
          "pduSha256": "02faf097b6f82ca4d696f98b8092ea6c25cc0405a48fb952ef621e468fbcc45c",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 31,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 462.5,
          "pduSha256": "a4698bc2ccacc8c62e4c57e8284a41192eb8383d288ad80ad39e0419ce8a4e6f",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 502.5,
          "pduSha256": "967de6eb9fa395b337f390646f02a030c141e9315e7ce5998ef34b4e4692ff87",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 540,
          "pduSha256": "bca2c0945df654b21ac5bd86e08216587f56e210de750d4da0c455d2055f4f12",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 580,
          "pduSha256": "9278c771be81b719c0eb2694f5b1b9d7d65fff6ca444d43a39d123ff39fa853f",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 617.5,
          "pduSha256": "936e30116639f14d3864a19cf04cec44a42747808a6acefd1dc547e85dfd7a3c",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 657.5,
          "pduSha256": "bb4636a8ad8300680fda029f890365f9e2e24f55a65d8ed7885aeef4f865bd26",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 30,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 695,
          "pduSha256": "de21ad4932c30b13726f109f143f38802301bafffb7cbdc77a3dc7f9edff2fd7",
          "inReference": true,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.04,
            "chargeCurrentMa": 420
          }
        },
        {
          "windowStartSeconds": 735,
          "pduSha256": "a830783a4038811e07658b4b5fc323cd33abe96d371d4faf11c31e74a1b187df",
          "inReference": false,
          "measurements": {
            "batteryTemperatureC": 15,
            "negativeZTemperatureC": 13,
            "powerAmplifierTemperatureC": 29,
            "batteryVoltageV": 4.02,
            "chargeCurrentMa": 420
          }
        }
      ],
      "csv": "assets/6357042-measurements.csv",
      "inputHash": "3d5131a22d5b656fcb7b81b5759f0c7d454443643faac38463001803ea52bf16",
      "evidence": "assets/6357042-telemetry.json",
      "context": "Identical IQ. Every point comes from a received frame with valid FCS.",
      "method": "Both decoders use the same conversions from CSUM v3.1 pages 4, 5 and 7 and the SatNOGS celesta.ksy schema. Bytes, CRC16/X25 and reference-set membership are verified. Mission documentation identifies FX6FRB as CELESTA. The X axis is IQ analysis-window start, not exact measurement time. Multi-byte fields with conflicting documented byte order are omitted. Packet sets are repeatable, but the preregistered requirement for identical raw KISS files was not met.",
      "before": [
        {
          "image": "assets/6357042-batteryTemperatureC-reference.svg",
          "button": "gr-satellites · CELESTA",
          "label": "gr-satellites",
          "badge": "+14 samples",
          "stat": "2 → 16",
          "unit": "samples on each of 5 plots · 14 additional frames",
          "note": "Each frame contains the five displayed fields, not five independently recovered packets. A missing point means a measurement was not received, never a zero value.",
          "counts": {
            "reference": 2,
            "native": 16,
            "unit": "telemetry frames"
          }
        }
      ]
    }
  ],
  "assets": [
    {
      "asset": "assets/celesta.ksy",
      "sha256": "7816504923bff9cc1843d0a3702a5bbc34674867ea5488e2629141008df36136"
    },
    {
      "asset": "assets/6291503-batteryTemperatureC-native.svg",
      "sha256": "7a767bc08b14283b9ffc7c812335288e5f545802026f22f7970d2ce6f4b016a7"
    },
    {
      "asset": "assets/6291503-batteryTemperatureC-reference.svg",
      "sha256": "c25c80e300870ac526bb8afa3c4a330884fa6c4ef4876e7b526bf5cb1ef64e74"
    },
    {
      "asset": "assets/6291503-telemetry.json",
      "sha256": "860366e1223e99148d311620253bd0c935dc2658d5dfe71734d690678573f5a8"
    },
    {
      "asset": "assets/6291503-measurements.csv",
      "sha256": "5701eab68105b7b2ed55187a68ccdfb24b41622f051b44f47551fb406a7d147f"
    },
    {
      "asset": "assets/6291503-negativeZTemperatureC-reference.svg",
      "sha256": "217bd83aa146a6f7a3595a8074a9b12b6fb0eaded041c56b76595c044ac49218"
    },
    {
      "asset": "assets/6291503-negativeZTemperatureC-native.svg",
      "sha256": "d17be66e37c0614fc25b88329f9fc83f1e7799a5be5f2797a1b20482365d8b58"
    },
    {
      "asset": "assets/6291503-powerAmplifierTemperatureC-reference.svg",
      "sha256": "fde0a118343853c5507be4f418ab6a660cbc91ce8eb48d5b9d89fbd99bbb8bf5"
    },
    {
      "asset": "assets/6291503-powerAmplifierTemperatureC-native.svg",
      "sha256": "35db7e58502e48d8158de8a1d31b3ad05a30df362845d84eb84cf6162f09fcc9"
    },
    {
      "asset": "assets/6291503-batteryVoltageV-reference.svg",
      "sha256": "668131f8c97a03018a84b33400c0fe536f7b1fde3493fff878547f817ac82966"
    },
    {
      "asset": "assets/6291503-batteryVoltageV-native.svg",
      "sha256": "269374722544f747c37230855c035c5b1fd2e3844a4ee8f7a6489ecc8e4d64a9"
    },
    {
      "asset": "assets/6291503-chargeCurrentMa-reference.svg",
      "sha256": "4a8c84630e5df63677f58033906d7d938d4adffe7257fd763d54965717a73f33"
    },
    {
      "asset": "assets/6291503-chargeCurrentMa-native.svg",
      "sha256": "9d28ba290e3000b5fd057ee086756852bd879eb57569e920ea754b225af3a0b8"
    },
    {
      "asset": "assets/8154103-native.jpg",
      "sha256": "2e5f2b658580b492a2b08151d64cea833e9f618a7e517ecd3f4858e27e15308b"
    },
    {
      "asset": "assets/8154103-reference-no-dc.jpg",
      "sha256": "70576f89684b70fcf8d87cb988cc76253e1d61f2355091a2c06a0ceaa2098984"
    },
    {
      "asset": "assets/8154103-reference.jpg",
      "sha256": "796351bea06db63afbe7c72e880e7375d8c8bed7d0a1488315ef5af97870bad5"
    },
    {
      "asset": "assets/8744466-native.jpg",
      "sha256": "65d09bf4db77ee56d5a1482d09004f3c72338ba3d841abbd5697a8903fc81b2d"
    },
    {
      "asset": "assets/8744466-reference-no-dc.jpg",
      "sha256": "8dce57406017e3e847f80fa187b2c45ac1f338d846d72cb2ca34790d338f9e0d"
    },
    {
      "asset": "assets/8744466-reference.jpg",
      "sha256": "9a38726edd1c4082ad5f254b67c703dd1683f7c8332928a33e26aa6485f3db46"
    },
    {
      "asset": "assets/gaspacs-5365011-native.jpg",
      "sha256": "50d948c5b2a60330748256e1b77c39b878b71d3a28521a8d43c64aa04351ddcd"
    },
    {
      "asset": "assets/gaspacs-5365011-reference.jpg",
      "sha256": "3e058a00235c44aa6345319f15eeceddc9a00d03f11525181047e3df1e349fbb"
    },
    {
      "asset": "assets/gaspacs-5365011-verification.json",
      "sha256": "32a3d4a321193e07f579f7f62a89c75c9c38d93a9b16a92bccbf1d28429c63d4"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch1-hybrid.png",
      "sha256": "c36eace78efbaab6348b3849de1dda09470d2841cdb2b461f1a08a800a0f2b4e"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch1-reference.png",
      "sha256": "990222bc4cef18534371c203c41ebdcb37b8d23c8fcb42d81c131a79d38be129"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch1-reference-full.png",
      "sha256": "a5c6e82621810c17422cda605011214b01bdb7afdcaf9a2b398b7addeb8e1d5b"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch1-hybrid-full.png",
      "sha256": "f4d315acb340053922fa4584545a36b3dbd92f3ae3430062f3e71aabe97d6792"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch2-reference.png",
      "sha256": "5200222d73263af31922a91d7719784fdb1d638dd2137a8bb761195480d96ca4"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch2-hybrid.png",
      "sha256": "99cf1b749cee2849d81cb84926e215ec32761d23b9d332c088a78b8539a05c17"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch2-reference-full.png",
      "sha256": "8c9c1b21d7dc2342931b9e639b001e704eb2c2fe4cf6cccc09d9df435284ab10"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch2-hybrid-full.png",
      "sha256": "e160bde276293fe2be3ce4b62bf52582ffcb5549b55535d93f865164e81242e4"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch3-reference.png",
      "sha256": "ee31aad2af3f950c38e8e8b1dc5d3cf9addba249cc973bd6bf2b8764b30e7e4d"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch3-hybrid.png",
      "sha256": "703cd6a34ded582a72e0abf2943b5f9108d03d815f529a5addfc0ae75c7b6945"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch3-reference-full.png",
      "sha256": "c621029e7556ec8ef68549db7e545a08eb4aefcb7c08386917bf93c9cc1cf63c"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-ch3-hybrid-full.png",
      "sha256": "0ee350a033bb47ec2ce55e4e2f7020ca199e9df82680f3f2c4824c49b1441e41"
    },
    {
      "asset": "assets/meteor-m2-3-north-america-20230630-verification.json",
      "sha256": "187722234285632789409276d8c076c6ae120d00a414838730ae0acb8476f73e"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch1-hybrid.png",
      "sha256": "ab6e9c0078e747693b833761627bc8396fb3a66f3d8408651ead0d8e07928d20"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch1-reference.png",
      "sha256": "4fff762c9a9d1a9faf45c73bb2c7cd0a0f057aad36b38912e16efd84b3db311d"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch1-reference-full.png",
      "sha256": "1aae7b4530899a0e0f4b4c3a1bc33fe87ac17caf2633b841e4c57dbaf9f471eb"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch1-hybrid-full.png",
      "sha256": "6930a5798501e9bae34f4802691ea6925f86dfd0943931b68f661a8cea48ad2a"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch2-reference.png",
      "sha256": "b1a1b3b43c077c9966823ce189d23b4aa4d3d1ea1c9f5a37f6d255ca091c06a1"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch2-hybrid.png",
      "sha256": "ee5b423a512040e8afee48e8f37fb0642bf5a767250561d12b3371e22b8626e8"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch2-reference-full.png",
      "sha256": "2c9b2f46a9e30de263cb7252e566220080d2623bdc9163bbbe92a2cea2e894b9"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch2-hybrid-full.png",
      "sha256": "9be32ffabebfa3249d259a5d9c31817bd36d8c641cd8c6103465506e700fb92b"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch3-reference.png",
      "sha256": "86a1490d80ad331c425fc735a6e1f3db17ba116b912e82d45aa25fbf9ce81fc9"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch3-hybrid.png",
      "sha256": "42019fd62ed4912f260c26de13b3d2272040b1dcf0284472013265716668772d"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch3-reference-full.png",
      "sha256": "258ee2aaa0ad538ed3d4bc71c0914af97ee52dd0fa91f943665cccfac3b9a82f"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-ch3-hybrid-full.png",
      "sha256": "fa26f8aaed53d78692de26fd128ae5e444eebf1a7a9bb71478d3747372ae8cd3"
    },
    {
      "asset": "assets/meteor-m2-atlantic-20210802-verification.json",
      "sha256": "dde22d6721cb63034db8ba95d21212932c7e798647a5fa9124d2372511669b9f"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch1-framelift.webp",
      "sha256": "96ca4dc8d68b805243e7598af60c083efaec19255063c4159ab558c3ca872df2"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch1-reference.webp",
      "sha256": "de3dfbce2b6d882d44b072cf69fe07c34d79be838d087c95d954bc8407786366"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch1-reference-full.webp",
      "sha256": "b98acd15981ab81df06a3c02c294cfe071b03c4a2964d457a7d39d88bbc5dd2e"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch1-framelift-full.webp",
      "sha256": "85b850c2e9ebdb867bd8861b15d44e04e1cb9d673bc889a5585ea458ceffb1cb"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch2-reference.webp",
      "sha256": "31e590c01e053d7f84a6768a86c7fc12dd71aae207f86089466ed1a5946a2869"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch2-framelift.webp",
      "sha256": "fc122b309daf611d0cfab4791e1e8f40f7fbef46a22b2154613777a16e2cddf2"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch2-reference-full.webp",
      "sha256": "14efe107acc17fc6a6728d5f6b236f2373323d86e84edc980f2cc515eeab07d1"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch2-framelift-full.webp",
      "sha256": "b488d67a0ce030f8b8f83d2c365c07bf5ea4ff584b8193535db342aa2590af4a"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch5-reference.webp",
      "sha256": "d30d1fadce09cb51cbbe8b0d8005edca16d4baed3af034a8608d82d4febf9be6"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch5-framelift.webp",
      "sha256": "47dd2429434647856dce11248f009c6151582b5f4cb922595e832a10b8ec4e6a"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch5-reference-full.webp",
      "sha256": "ab574c9c0db5956ce33863dba8e10827676dbf30fc0631446fcbc831f39c04c4"
    },
    {
      "asset": "assets/meteor-m2-2-current-ch5-framelift-full.webp",
      "sha256": "753387fe71c6e651880759c9a2d76affb3a5d0f84f6f6330882d5bb502f6b53b"
    },
    {
      "asset": "assets/meteor-m2-2-current-verification.json",
      "sha256": "f9fb55687890abdaff5c699e21260b2d5d53a566306373db6796a36c52900135"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch1-hybrid.png",
      "sha256": "9f2481f448c45501f8e3a829c8352d333d95eb965387d36f91d8b1815d6af9e7"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch1-reference.png",
      "sha256": "907a2a3a9b60cafb12219b09e77c5d81a381aed9e46a29b651e9a1b9cd9adfdb"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch1-reference-full.png",
      "sha256": "93dbe26d9188dac21643bda8f38a06168dafb77dfe92e3582e60d817c9c90750"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch1-hybrid-full.png",
      "sha256": "7123feb623cf27b5e95271be04d44287d23347be18dca3fdc775a34d5c542416"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch2-reference.png",
      "sha256": "0c1c55b8df6870540950e86b2bdfa800dff42c539d95bc83a899a010fe87240f"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch2-hybrid.png",
      "sha256": "3a57195b30cb91d95c6d4f05594da3da5841605b0aecabf4af39556663000c76"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch2-reference-full.png",
      "sha256": "a40633fac9808632090fb63d9ea2208c17da2fd25d6a951567232db3a6c2f881"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch2-hybrid-full.png",
      "sha256": "0f0205b3f64578b9aba6186ad76ef1c5f21b0342f3793657040ab290b283bc10"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch5-reference.png",
      "sha256": "e5a1ccf6b3cfd80c18bf93c2301b267cdfd2c48317185f21470fb0f57d005f25"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch5-hybrid.png",
      "sha256": "36194b28019f575c2b924fb5ee605af2044d920b5ce90dc6de860cd270617c36"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch5-reference-full.png",
      "sha256": "19f0103f411a7911cee96f58c8ab46560dd4a26ace5a1acd0c69f55a395ba29e"
    },
    {
      "asset": "assets/meteor-m2-daylight-ch5-hybrid-full.png",
      "sha256": "9eee36f33cedf70dffca92e6600698a17f9983b0fdf3cb33f1e2fa145bfe104b"
    },
    {
      "asset": "assets/meteor-m2-daylight-verification.json",
      "sha256": "cbe2ce6bd1a64c566b36bd28085c9874004f4f2fecb21195367145df0e5d031e"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch4-hybrid.png",
      "sha256": "315b32f1936a48cb62c3d91b3c7f86febcdca81486838d50b1c5935c6d72e170"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch4-reference.png",
      "sha256": "403fc72cae0c4da7c928dbcb7265771096a31f14fad02ead95b678471c3a0ed8"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch4-reference-full.png",
      "sha256": "18fd49bb450fa9843c167d2af2d8fc51cce0e05b3c9a124112c029225e562f4a"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch4-hybrid-full.png",
      "sha256": "3544c2c9ba9f93ec03457170902162de0f24a5d291955d933840ebd942915aa9"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch5-reference.png",
      "sha256": "bfc3160675c858332bdcb733869fbbf0120afbfa7bb152cf42c5955d27d8dc9c"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch5-hybrid.png",
      "sha256": "59fbe06ef217e9fa70d8e19d311c448309876e019ab76238a2131cb800fde687"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch5-reference-full.png",
      "sha256": "21d1d2cb6a9475ca81ca3fe644964e01912498bae4f85048c8b3d7972dd25489"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch5-hybrid-full.png",
      "sha256": "815ab127836c06d29dd80a5aef91858c5e5869a5e1b1c3c125eeecd9fa068b06"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch6-reference.png",
      "sha256": "47fd534a5744fbaabe072b6c7c5d5849e16af1509ad90de36efa82ce510031f9"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch6-hybrid.png",
      "sha256": "aff6e5c38bc2a144e85bd7c9c8ec49abdd657d3468618822cce5f84199e773e7"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch6-reference-full.png",
      "sha256": "90353f80c34693f3d483a7cfb2bbec59128396a7f17d07a40cb72989e0fbe4df"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-ch6-hybrid-full.png",
      "sha256": "0ffbf2b7380bba72550e3aca645aeb447ba7c1dd02bcbb04f7275d6e4d8b89d6"
    },
    {
      "asset": "assets/meteor-m2-3-msumr-verification.json",
      "sha256": "b3f17d5edb914f56399bc00f9ab3c072054bce6ad2bdb0501670d4a0af9a9351"
    },
    {
      "asset": "assets/6215698-batteryTemperatureC-native.svg",
      "sha256": "0d9f26fecb3a6b41e8842b71d9013fac982f0ead307f41112345e47ffec282a5"
    },
    {
      "asset": "assets/6215698-batteryTemperatureC-reference.svg",
      "sha256": "03bcfb3afb92cb89515aa87b5f177db637c4ad8b53bf50a1ebe32db976ed16c0"
    },
    {
      "asset": "assets/6215698-telemetry.json",
      "sha256": "4365e9cb55576a72e603b663e3f194a2fae344ba667c180e5d5de52f967c00a4"
    },
    {
      "asset": "assets/6215698-measurements.csv",
      "sha256": "e668be867bee3355733363065bfb80950ff951576c97e7147fcfac77299316e3"
    },
    {
      "asset": "assets/6215698-negativeZTemperatureC-reference.svg",
      "sha256": "6b55f2737071d9c26b8b2c4c12a716854e0464a3628942d58b6617dc475672a4"
    },
    {
      "asset": "assets/6215698-negativeZTemperatureC-native.svg",
      "sha256": "e57537f882aea07d9cb3739cec214af92783ca59d02b4920018219e6a26b0be5"
    },
    {
      "asset": "assets/6215698-powerAmplifierTemperatureC-reference.svg",
      "sha256": "fa48752f97d81a225806dbb5ede674d30fde7e4826a8fe0bf0992b947a0732db"
    },
    {
      "asset": "assets/6215698-powerAmplifierTemperatureC-native.svg",
      "sha256": "7676c4b771b8c7a8185eb2071163d47c49b74fc98b311c4f91673d00b073eaf8"
    },
    {
      "asset": "assets/6215698-batteryVoltageV-reference.svg",
      "sha256": "662c3ba7d8cc44e5c64da10c6e765eea0a64b964a202683450dbcbb54eca1804"
    },
    {
      "asset": "assets/6215698-batteryVoltageV-native.svg",
      "sha256": "31236364a78ef206e2e74c515d72b29e809cc6a0063b0eb1bbc49f825063f066"
    },
    {
      "asset": "assets/6215698-chargeCurrentMa-reference.svg",
      "sha256": "2c41e47dabce6073bda48bc6fade6b2d73f98148a4e61a90609420d964c7b32c"
    },
    {
      "asset": "assets/6215698-chargeCurrentMa-native.svg",
      "sha256": "ac979daca6cb06370474c19f4c539b674e129570998afaccb5b8691ace05b3d0"
    },
    {
      "asset": "assets/6221405-batteryTemperatureC-native.svg",
      "sha256": "9ee31c818fdf826ab5251117877f697bc8b3d2993089059022ea27a90725acfe"
    },
    {
      "asset": "assets/6221405-batteryTemperatureC-reference.svg",
      "sha256": "989515732e2592de2897d6dbb99d13b6fee50f73098eafe9fcc76fce8731f5e2"
    },
    {
      "asset": "assets/6221405-telemetry.json",
      "sha256": "52ad1ce93dc1f66d907e18ab6daeb82cff67cb530b7cd543ca74cb97d1437d7e"
    },
    {
      "asset": "assets/6221405-measurements.csv",
      "sha256": "ff831963de381478a638ad813bed801b4ae702e12762feccb9dc623e1d033248"
    },
    {
      "asset": "assets/6221405-negativeZTemperatureC-reference.svg",
      "sha256": "89d9495163ef40eb461dacc990467c8f03e274fcc7a70df42c2fa3e4e9607d4b"
    },
    {
      "asset": "assets/6221405-negativeZTemperatureC-native.svg",
      "sha256": "fd4cb113e95d620ae23b9faf3c0b651bd1c785665e29af7d714c3ed85107cbfc"
    },
    {
      "asset": "assets/6221405-powerAmplifierTemperatureC-reference.svg",
      "sha256": "a73d2b3475df65b6c7b6a5411df629d86b1d9a2fc2ef049c9cefed84d62ab1c9"
    },
    {
      "asset": "assets/6221405-powerAmplifierTemperatureC-native.svg",
      "sha256": "f1288704e770c96819910eb5b64064a8c785774b983fbd255ca66349cdfa65c1"
    },
    {
      "asset": "assets/6221405-batteryVoltageV-reference.svg",
      "sha256": "8b3ae1f3a49448ec8fde9790af0065c6b461a44f18abd9c7f2276b43043290d4"
    },
    {
      "asset": "assets/6221405-batteryVoltageV-native.svg",
      "sha256": "fe91646da415fb49d2446e9371049f9a3744c92dca9984f3df61a72b66c41530"
    },
    {
      "asset": "assets/6221405-chargeCurrentMa-reference.svg",
      "sha256": "3dd3d1f424a0793aaec6438429068f8f96ef67df50cdb58ea6bb03b73a04b994"
    },
    {
      "asset": "assets/6221405-chargeCurrentMa-native.svg",
      "sha256": "b4cd24f18db3c77802906ab2e18110b0aa41cbe13123cd7b5c44722d4ee68510"
    },
    {
      "asset": "assets/6284801-batteryTemperatureC-native.svg",
      "sha256": "5131c8c485baf80528c6eaf7560e43a915f1a5a07b8b4abb76e80d879eda01be"
    },
    {
      "asset": "assets/6284801-batteryTemperatureC-reference.svg",
      "sha256": "6be4bb389a38cf1193352d3843c47f8a31a107a84b99c187d780c263c2917382"
    },
    {
      "asset": "assets/6284801-telemetry.json",
      "sha256": "6d633d053535d7fc8bcd12a9feb9efea65ee1cd2e0f1d5a68d95d5836f81b6e8"
    },
    {
      "asset": "assets/6284801-measurements.csv",
      "sha256": "b09550121953531ada1f65f6821732d813a487a1e0dc76ef9cee5c70a0bb5cd6"
    },
    {
      "asset": "assets/6284801-negativeZTemperatureC-reference.svg",
      "sha256": "9c8450b59aeedb2420fad6f205f9536711498396b2b3bc52557906013fd9f04c"
    },
    {
      "asset": "assets/6284801-negativeZTemperatureC-native.svg",
      "sha256": "3e1344663fbeea72128ca2ce340fc3fd5a4de26a2721f3d0eda91c64364fec7b"
    },
    {
      "asset": "assets/6284801-powerAmplifierTemperatureC-reference.svg",
      "sha256": "121ea4c6ce18e2cbf950425145a5ab743de4531de87a63a0cbe787725e8769ee"
    },
    {
      "asset": "assets/6284801-powerAmplifierTemperatureC-native.svg",
      "sha256": "fee6bb38916f7981e8a9ecbf778413086fe629c8b61216a62e0b4253e9c44c20"
    },
    {
      "asset": "assets/6284801-batteryVoltageV-reference.svg",
      "sha256": "3118efed136074af8715b4a39861c980bb21c8b1d9536e18b9a3fbc93f94288b"
    },
    {
      "asset": "assets/6284801-batteryVoltageV-native.svg",
      "sha256": "c6b4d7c90e71139f88a5c287d054cdb7cf7ff74324e3e061756a5ced36ef59bb"
    },
    {
      "asset": "assets/6284801-chargeCurrentMa-reference.svg",
      "sha256": "df63445be32f5523c59ea7960f76b192258364c7dc5718654bac15b73000d7ab"
    },
    {
      "asset": "assets/6284801-chargeCurrentMa-native.svg",
      "sha256": "d6efeecfd4899fb50a84f14cc5503a152480b2aa9c392e6effe560b510cee524"
    },
    {
      "asset": "assets/6291502-batteryTemperatureC-native.svg",
      "sha256": "77b7675a495ae2252e646e3bde79fd92e3b313e173713e0f5d86c376fe841754"
    },
    {
      "asset": "assets/6291502-batteryTemperatureC-reference.svg",
      "sha256": "4c7f070524cbde9567d50ed1ac5122bdf34b0698c22330d5e50d106039d5547a"
    },
    {
      "asset": "assets/6291502-telemetry.json",
      "sha256": "49de6dd1eedaeb1a10ae451e686ce20a9b3897ae5e8b9e133e93ddca6ac4222c"
    },
    {
      "asset": "assets/6291502-measurements.csv",
      "sha256": "af347899388d5cdffe3331fa1fc5192d7666a87d5b78c5634d913578c05fd6b2"
    },
    {
      "asset": "assets/6291502-negativeZTemperatureC-reference.svg",
      "sha256": "41b15e3919fa9d468cb1a37c43bed804dbc0b2b4ac495232b2200767fad6f9ee"
    },
    {
      "asset": "assets/6291502-negativeZTemperatureC-native.svg",
      "sha256": "e848f9db5a87e4f4138d623370e22bebdeaeb17b26023cf61af1b0895b2ae503"
    },
    {
      "asset": "assets/6291502-powerAmplifierTemperatureC-reference.svg",
      "sha256": "225db4b8c1e039808d7dfad02e6f2021e75abe7369689d8403940950e7655a3b"
    },
    {
      "asset": "assets/6291502-powerAmplifierTemperatureC-native.svg",
      "sha256": "19af111c59c24d9ddd57239bd7f9396e2ae1f9315c7fc758b079b4a51ca3d4eb"
    },
    {
      "asset": "assets/6291502-batteryVoltageV-reference.svg",
      "sha256": "bd4aad36e08af5eee491e3138917bcd2a95976d338724939ec452f7e2cf58336"
    },
    {
      "asset": "assets/6291502-batteryVoltageV-native.svg",
      "sha256": "503c0db0b02d2824932f6a36e0036efcb3a1462b9d6da21393cdda6cf14a1d67"
    },
    {
      "asset": "assets/6291502-chargeCurrentMa-reference.svg",
      "sha256": "aa0c52c6cc0281636db99183efd47b0d51042ca18667dce7b647c4663068f5a6"
    },
    {
      "asset": "assets/6291502-chargeCurrentMa-native.svg",
      "sha256": "6ef4bd5a1d65139e90f297004225cb7d3b23d45446227632d7a5a905037ef740"
    },
    {
      "asset": "assets/6357041-batteryTemperatureC-native.svg",
      "sha256": "ad5fd09ad56b4ed5dbd365d5eccd37508f9048bc597e76daabbe3b3edad2860c"
    },
    {
      "asset": "assets/6357041-batteryTemperatureC-reference.svg",
      "sha256": "091cce4b5661ff2c60c7e1307044df4874959573ee78f9f67e078eda76ab0673"
    },
    {
      "asset": "assets/6357041-telemetry.json",
      "sha256": "38a8eb415a03e2ee52fe735b1529472a7ba864a3a065501214af584ea19dc10a"
    },
    {
      "asset": "assets/6357041-measurements.csv",
      "sha256": "1a9571363a3eda2051a0f3ad7210f978f68fa645fdaf2fbcccdc1064a328a4f1"
    },
    {
      "asset": "assets/6357041-negativeZTemperatureC-reference.svg",
      "sha256": "faca193ad94646bd792294a39499b9742d113dfb11d90a17675d582e64210567"
    },
    {
      "asset": "assets/6357041-negativeZTemperatureC-native.svg",
      "sha256": "a3037865e96ca7ef87e504aba661a2a0a16305b0bf789fdfa525000da443e120"
    },
    {
      "asset": "assets/6357041-powerAmplifierTemperatureC-reference.svg",
      "sha256": "1299ea3b0442d8815e1d0b04053a44408dcc23c5e81386c011df2b121b05d059"
    },
    {
      "asset": "assets/6357041-powerAmplifierTemperatureC-native.svg",
      "sha256": "b2cb44ff9b3cf01c6168b72f5dc7b0f6ffeda0e30398042785be4da36061cc51"
    },
    {
      "asset": "assets/6357041-batteryVoltageV-reference.svg",
      "sha256": "689a8803aa4e6d6868cadce733c1581db2803fc5ae53023e27cee5ca804e1b00"
    },
    {
      "asset": "assets/6357041-batteryVoltageV-native.svg",
      "sha256": "5c8c6e24e2b3027b41a7596faafb323e7cabb5faa49d2641c9e51d0971793a17"
    },
    {
      "asset": "assets/6357041-chargeCurrentMa-reference.svg",
      "sha256": "7e72733e5b0b4db55b4c9e9d5a3e2c91b597c94d1c86de8fee383b0b37abe9eb"
    },
    {
      "asset": "assets/6357041-chargeCurrentMa-native.svg",
      "sha256": "be271d77174b3c490c35b57c55ac8cf53227dbde82b008478f8967291020191c"
    },
    {
      "asset": "assets/6357042-batteryTemperatureC-native.svg",
      "sha256": "d547b23e8552f2005e33b049a339534626763846f3f3b0a689f175f78d6cf9bb"
    },
    {
      "asset": "assets/6357042-batteryTemperatureC-reference.svg",
      "sha256": "0cc35e1b968b030aa931fcc30e97bf933186588a5c0a549601587871212aedcd"
    },
    {
      "asset": "assets/6357042-telemetry.json",
      "sha256": "ffbd6502bf4952e1a6e5c28019ae928b036db6ce99e735bb1bdab928d962747a"
    },
    {
      "asset": "assets/6357042-measurements.csv",
      "sha256": "ce52cfa831ca54f6d467eb04ac6d13b274a1d7fb04e4d077612280a3045a1ff1"
    },
    {
      "asset": "assets/6357042-negativeZTemperatureC-reference.svg",
      "sha256": "8c0c17f3337150c0040f21211424e93c92c762e829a4c35ed9ba3c4bc129b80d"
    },
    {
      "asset": "assets/6357042-negativeZTemperatureC-native.svg",
      "sha256": "fa8754f0a44b0a83e2ac7ef9891821220bf46d587fd8c050a6f3897df923a0ff"
    },
    {
      "asset": "assets/6357042-powerAmplifierTemperatureC-reference.svg",
      "sha256": "72f5011fee5c4703c6e3c9d8d16965df98f49dc9dbfdf184c21d6be021e14140"
    },
    {
      "asset": "assets/6357042-powerAmplifierTemperatureC-native.svg",
      "sha256": "dca841cb2d1870b1cd6ebb332333a2228d4fb67b6371bc98b8c6cffacc50fb41"
    },
    {
      "asset": "assets/6357042-batteryVoltageV-reference.svg",
      "sha256": "7946e76e4d3f760ede53241df99718bcccb984e213ced32123850269ade70953"
    },
    {
      "asset": "assets/6357042-batteryVoltageV-native.svg",
      "sha256": "07dd746efe0693497dee07f3cbd08aa91165fbaf90acf7a6ee21dc1701bf8f61"
    },
    {
      "asset": "assets/6357042-chargeCurrentMa-reference.svg",
      "sha256": "5d28dda554157770ff67289acb1737f9b893a2c4e86f3b2b096df82a1f915ea2"
    },
    {
      "asset": "assets/6357042-chargeCurrentMa-native.svg",
      "sha256": "f242e4a00f2268009a0727ce6fefb12a52918dd84c72d4495c38fbb627fea57f"
    }
  ]
}
