{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/electrical.rf.cascaded_nf/1.1.1/input.json",
  "title": "Cascaded noise figure — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "NF1": {
      "type": "number",
      "description": "Stage 1 noise figure (dB)"
    },
    "G1": {
      "type": "number",
      "description": "Stage 1 available gain (dB)"
    },
    "NF2": {
      "type": "number",
      "description": "Stage 2 noise figure (dB)"
    },
    "G2": {
      "type": "number",
      "description": "Stage 2 available gain (dB)"
    },
    "NF3": {
      "type": "number",
      "description": "Stage 3 noise figure (dB)"
    },
    "G3": {
      "type": "number",
      "description": "Stage 3 available gain (dB)"
    },
    "NF4": {
      "type": "number",
      "description": "Stage 4 noise figure (dB)"
    },
    "G4": {
      "type": "number",
      "description": "Stage 4 available gain (dB)"
    },
    "NF5": {
      "type": "number",
      "description": "Stage 5 noise figure (dB)"
    },
    "G5": {
      "type": "number",
      "description": "Stage 5 available gain (dB)"
    },
    "NF6": {
      "type": "number",
      "description": "Stage 6 noise figure (dB)"
    },
    "G6": {
      "type": "number",
      "description": "Stage 6 available gain (dB)"
    },
    "NF7": {
      "type": "number",
      "description": "Stage 7 noise figure (dB)"
    },
    "G7": {
      "type": "number",
      "description": "Stage 7 available gain (dB)"
    },
    "NF8": {
      "type": "number",
      "description": "Stage 8 noise figure (dB); field encoding max"
    },
    "G8": {
      "type": "number",
      "description": "Stage 8 available gain (dB); field encoding max"
    },
    "NF_dB": {
      "type": "array",
      "minItems": 1,
      "maxItems": 64,
      "items": {
        "type": "number"
      },
      "description": "Stage noise figures in dB (REST/MCP; 1–64 stages)"
    },
    "G_dB": {
      "type": "array",
      "minItems": 1,
      "maxItems": 64,
      "items": {
        "type": "number"
      },
      "description": "Stage available gains in dB (REST/MCP; 1–64 stages)"
    }
  },
  "dependentRequired": {
    "NF1": [
      "G1"
    ],
    "G1": [
      "NF1"
    ],
    "NF2": [
      "G2",
      "NF1",
      "G1"
    ],
    "G2": [
      "NF2",
      "NF1",
      "G1"
    ],
    "NF3": [
      "G3",
      "NF2",
      "G2"
    ],
    "G3": [
      "NF3",
      "NF2",
      "G2"
    ],
    "NF4": [
      "G4",
      "NF3",
      "G3"
    ],
    "G4": [
      "NF4",
      "NF3",
      "G3"
    ],
    "NF5": [
      "G5",
      "NF4",
      "G4"
    ],
    "G5": [
      "NF5",
      "NF4",
      "G4"
    ],
    "NF6": [
      "G6",
      "NF5",
      "G5"
    ],
    "G6": [
      "NF6",
      "NF5",
      "G5"
    ],
    "NF7": [
      "G7",
      "NF6",
      "G6"
    ],
    "G7": [
      "NF7",
      "NF6",
      "G6"
    ],
    "NF8": [
      "G8",
      "NF7",
      "G7"
    ],
    "G8": [
      "NF8",
      "NF7",
      "G7"
    ],
    "NF_dB": [
      "G_dB"
    ],
    "G_dB": [
      "NF_dB"
    ]
  },
  "oneOf": [
    {
      "required": [
        "NF1",
        "G1"
      ],
      "allOf": [
        {
          "not": {
            "required": [
              "NF_dB"
            ]
          }
        },
        {
          "not": {
            "required": [
              "G_dB"
            ]
          }
        }
      ]
    },
    {
      "required": [
        "NF_dB",
        "G_dB"
      ],
      "not": {
        "anyOf": [
          {
            "required": [
              "NF1"
            ]
          },
          {
            "required": [
              "G1"
            ]
          },
          {
            "required": [
              "NF2"
            ]
          },
          {
            "required": [
              "G2"
            ]
          },
          {
            "required": [
              "NF3"
            ]
          },
          {
            "required": [
              "G3"
            ]
          },
          {
            "required": [
              "NF4"
            ]
          },
          {
            "required": [
              "G4"
            ]
          },
          {
            "required": [
              "NF5"
            ]
          },
          {
            "required": [
              "G5"
            ]
          },
          {
            "required": [
              "NF6"
            ]
          },
          {
            "required": [
              "G6"
            ]
          },
          {
            "required": [
              "NF7"
            ]
          },
          {
            "required": [
              "G7"
            ]
          },
          {
            "required": [
              "NF8"
            ]
          },
          {
            "required": [
              "G8"
            ]
          }
        ]
      }
    }
  ],
  "description": "Friis cascaded NF and total gain from stage NF/G in dB. (calculation_version 1.1.1)"
}
