Sep 6, 2026 · 5 min · IndieRF
S-parameter Viewer: Overlay Touchstone Files and Score KPIs
Drop .s2p, .s1p, or MDIF into S-parameter Viewer for log-mag, phase, VSWR, group delay, kind-aware KPIs, and part-to-part stats. Mini-Circuits BFCG-252+ files are the worked example, not the subject.
S-parameter Viewer is a VNA-style plotter for measured Touchstone and MDIF. Files stay in the browser. Drop one .s2p and you get log-mag, phase, VSWR, and group delay with markers. Drop several, and Analysis adds a kind-aware KPI table, an optional datasheet spec, and — when filenames include Unit-N — part-to-part mean, , and pk-pk.
The screenshots use five Mini-Circuits BFCG-252+ lab files (lot Q23590 / EH20353 / 100120) as a stand-in. Same job for any vendor .s1p / .s2p / MDIF.
The plots on this page are static copies of that Analysis view, not a live embed. Open the files on /sparam to move the marker and change the band.
Drop files, then pick the band
From S21 the file is classified as an amplifier, filter, equalizer, or generic network. That choice sets the default plot layout and the Auto X window.
For a filter, Auto X is a padded 3 dB band from the peak, snapped to 100 MHz. On the example files that lands at 2.2–2.7 GHz. The datasheet window we will score against is 2.40–2.50 GHz. IL, ripple, return loss, group-delay ripple, and stopband rejection are computed over the analysis band, not over a hidden datasheet table.
On Unit 1, the two windows disagree:
| Window | IL | Ripple | RL | GD ripple |
|---|---|---|---|---|
| Auto 2.2–2.7 GHz | ||||
| Manual 2.40–2.50 GHz |
The Auto numbers include the skirts. For a filter, IL is minus the mean in-band . Widen the band and the mean walks down the edges. Return loss does the same: 3 dB of “RL” is a match at 2.2 GHz, not a fail at 2.45 GHz.
Set Manual start/stop to the spec window before you score a datasheet. Leave Auto on when you want the measured 3 dB width. Hide a file on the left to exclude it.
Kind-aware KPIs and specs
The Analysis KPI table follows the classified kind. Filters show f0, 3 dB BW, fractional BW, IL, ripple, RL, GD ripple, and stopband rejection. Amplifiers show gain min/max/mean, flatness, match, isolation, and K/μ. Equalizers show slope. The companion plot is group delay for a filter, Rollett K for an amplifier.
f0 and 3 dB BW come from the unpadded peak-minus-3 dB crossings on , so they do not change when you shrink the analysis window. IL, ripple, and RL do.
Specs in the sidebar are datasheet limits on those KPIs plus an optional in-band min/max mask on the selected quantity. Yield is the fraction of visible files that pass every enabled spec. Enable IL max and RL min against 2.40–2.50 GHz and the example set passes. Enable them against Auto 2.2–2.7 GHz and the same files fail on ripple and RL — because you scored the skirts.
Overlay units, then open Part-to-part
Manual band 2.40–2.50 GHz. Marker 2.45 GHz. Quantity . KPI rounding matches the Analysis table (4 digits); the marker column matches the part-to-part readout (5 digits).
| Unit | S21 @ 2.45 GHz | IL | Ripple | RL | GD ripple |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
Datasheet typical at 2450 MHz is 1.50 dB IL and 12.83 dB RL. Unit 1 is that file, to rounding.
The Units tab runs when two or more files parse a unit id. Name them filter_Unit-1.s2p or put DATA FOR:Unit 1 in a comment. Mini-Circuits already does both.
At 2.45 GHz this five-unit overlay reports:
| S21 | |
|---|---|
| Mean | |
| pk-pk | |
| min (U4) | |
| max (U2) |
Mean insertion loss at the marker is . That is the number to put in a cascade budget for this lot, not the 1.7 dB typical line.
The envelope is min / mean / max versus frequency on a common grid. An in-band min/max mask on the selected quantity scores yield; Cp/Cpk appears only when the mask has both sides. Five parts is a lot overlay, not a process study.
Temperature Δ is a third Analysis tab. It wants +25C or Temp: 25C in the name. The example files have none; the temperature note uses the EQY set.
What to change
Keep Unit-N in the filename. Drop your own set on S-parameter Viewer.
- Confirm kind (filter, amplifier, equalizer) and whether Auto X is the band you meant.
- Switch Analysis to Manual if you are scoring a datasheet window. In the example that is 2.40–2.50 GHz, marker 2.45 GHz.
- Read the KPI table, then open Part-to-part for mean, , and pk-pk.
- Switch quantity to or S21 GD if that is the spec you bought. Enable a spec or a mask to score yield.
When a typical file is enough
A single eval-board .s2p is the right first-pass number for a cascade sketch. Overlay the lot when insertion loss is your margin, you are buying to a max spec, or you are about to copy “typical” into a Monte Carlo that is supposed to be unit-to-unit.
This set’s 0.06972 dB pk-pk is not a license to ignore a 3.5 dB max on the next date code.
What this is not
S-parameter Viewer is a browser plotter, not a VNA and not a cascade or mismatch solver. Group delay is from unwrapped S21 phase. Auto 3 dB edges are interpolated from the sampled grid; they are not a fitted filter model. Export CSV needs a signed-in IndieRF account; viewing does not.
The scalar cascade in RF Cascade Analyzer still treats a filter as loss/NF at one frequency. It does not ingest these .s2p files as a two-port.
Discussion
No comments yet. Start the thread with a measurement, a correction, or a worked example.