Neatbo.

Control model frequency response

Complete SISO continuous-model response with certified roots and explicit phase branches.

Browser-local processingInputUTF-8 JSONOutputCSV / JSON / SVGUp to 4 MiB per file · File limit: 1
  1. 1Add input
  2. 2Adjust settings
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run

or drag and drop it here

Files stay on this device. Your originals stay unchanged.

.json

Up to 4 MiB per file · File limit: 1

    0 characters · 0 bytes
    Options

    Complete the required options first. You can keep the defaults for the rest.

    Preparing the tool…

    Before you start

    Declare a complete transfer model and frequency grid, then inspect every complex response and the selected phase branch.

    How to use this tool

    1. Choose either numerator/denominator or all zeros/poles/gain.
    2. Provide all positive omega values or logRange start/end/count.
    3. Select a phase policy and inspect singular statuses.
    4. Download five complete files; copying retains the complete response CSV.

    Supported inputs and limits

    One strict UTF-8 JSON source: paste or native File, 4 MiB and 512 UTF-8 filename bytes. Clear pasted text before selecting a File; mixed sources, duplicate JSON keys, prototype keys and accessor inputs are rejected.

    Use complete real descending numerator/denominator coefficients (256 each) or conjugate-symmetric zeros/poles/gain, mutually exclusive. All 510 root occurrences are retained; uncertain multiplicity refuses the whole model.

    Positive strictly increasing omega in rad/s, at most 200,000 frequencies, or explicit logRange start/end/count. Every frequency is delivered; principal, structural and reference are options of this task.

    All joint budgets apply: 50 million charged work units, files+full text+preview 64 MiB, full typed JSON 8 MiB, aggregate 72 MiB, binary+full metadata 96 MiB, conservative owned peak 1024 MiB and one absolute 120 seconds. Output and work intersections may refuse an individually valid axis.

    Actual EVD loop bodies and QR increments are charged before original operations. Fixed matrix overhead and encoding/verification reservations are conservative units; degree-cubed is never reported as actual iteration work. Maximum joint capacity, maximum heap and browser performance remain unmeasured.

    Worked example

    Example input

    {
      "zeros": [
        [
          0,
          0
        ],
        [
          -2,
          0
        ],
        [
          1,
          2
        ],
        [
          1,
          -2
        ]
      ],
      "poles": [
        [
          0,
          0
        ],
        [
          0,
          1
        ],
        [
          0,
          -1
        ],
        [
          -3,
          0
        ]
      ],
      "gain": -2,
      "omega": [
        0.1,
        0.5,
        1,
        1.5,
        2,
        5,
        10
      ]
    }
    Example options
    {"phaseMode":"structural","initialPhaseDegrees":0,"locale":"en"}

    Example output

    7 complete frequency rows; omega=1 is a pole gap; 5 complete files

    When something does not work

    Correct the whole model or grid and rerun with the same original File; cancellation never publishes a late result.

    Frequently asked questions

    Is structural phase a unique absolute phase?

    No. Angles differing by full turns represent the same complex response. The export states exactly which factor rule or initial reference was used.

    What happens at a pole, zero or cancelled factor?

    The complete row records null for undefined quantities and an explicit status; each affected plot trace has a real gap.

    Documentation & further reading

    Related tools