{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/electrical.rf.link_budget.input.json",
  "title": "RF link budget — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "Pt_dBm": {
      "type": "number"
    },
    "d_m": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "f_Hz": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "Gt_dBi": {
      "type": "number"
    },
    "Gr_dBi": {
      "type": "number"
    },
    "L_dB": {
      "type": "number",
      "minimum": 0
    },
    "S_dBm": {
      "type": "number"
    },
    "u_Pt_dBm": {
      "type": "number",
      "minimum": 0,
      "description": "Optional standard uncertainty of Pt (dB)"
    },
    "u_d_m": {
      "type": "number",
      "minimum": 0,
      "description": "Optional standard uncertainty of distance (m)"
    },
    "u_f_Hz": {
      "type": "number",
      "minimum": 0,
      "description": "Optional standard uncertainty of frequency (Hz)"
    },
    "u_Gt_dBi": {
      "type": "number",
      "minimum": 0,
      "description": "Optional standard uncertainty of Gt (dB)"
    },
    "u_Gr_dBi": {
      "type": "number",
      "minimum": 0,
      "description": "Optional standard uncertainty of Gr (dB)"
    },
    "u_L_dB": {
      "type": "number",
      "minimum": 0,
      "description": "Optional standard uncertainty of L (dB)"
    },
    "uncertainty_k": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Coverage factor for expanded U on Pr_dBm; default 2 when any u_* is set. Requires at least one u_*. Mutually exclusive with confidence."
    },
    "confidence": {
      "type": "number",
      "exclusiveMinimum": 0,
      "exclusiveMaximum": 1,
      "description": "Optional coverage probability instead of uncertainty_k. Requires at least one u_*."
    }
  },
  "required": [
    "Pt_dBm",
    "d_m",
    "f_Hz"
  ],
  "allOf": [
    {
      "not": {
        "required": [
          "uncertainty_k",
          "confidence"
        ]
      }
    },
    {
      "if": {
        "anyOf": [
          {
            "required": [
              "uncertainty_k"
            ]
          },
          {
            "required": [
              "confidence"
            ]
          }
        ]
      },
      "then": {
        "anyOf": [
          {
            "required": [
              "u_Pt_dBm"
            ]
          },
          {
            "required": [
              "u_d_m"
            ]
          },
          {
            "required": [
              "u_f_Hz"
            ]
          },
          {
            "required": [
              "u_Gt_dBi"
            ]
          },
          {
            "required": [
              "u_Gr_dBi"
            ]
          },
          {
            "required": [
              "u_L_dB"
            ]
          }
        ]
      }
    }
  ],
  "description": "Friis FSPL link budget with gains, misc loss, received power, and optional margin; optional u_* compose expanded uncertainty on Pr_dBm via Uncertainty Engine. (calculation_version 1.1.1)"
}
