{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/electrical.adc.snr/1.1.0/input.json",
  "title": "ADC SNR / ENOB — input",
  "type": "object",
  "oneOf": [
    {
      "title": "snr",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "mode",
        "n_bits"
      ],
      "properties": {
        "mode": {
          "const": "snr",
          "description": "Ideal quantization SNR from integer ADC resolution"
        },
        "n_bits": {
          "type": "integer",
          "minimum": 1,
          "maximum": 32,
          "description": "ADC nominal resolution in bits (integer 1…32)"
        }
      }
    },
    {
      "title": "enob",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "mode",
        "SINAD_dB"
      ],
      "properties": {
        "mode": {
          "const": "enob",
          "description": "Standard ENOB from measured SINAD (noise + distortion)"
        },
        "SINAD_dB": {
          "type": "number",
          "description": "Measured SINAD in dB. Standard ENOB uses SINAD, not SNR."
        }
      }
    }
  ],
  "description": "Ideal quantization SNR and ENOB from measured SINAD. (calculation_version 1.1.0)"
}
