An unconnected branch still changes the signal
In one line
Even a branch wire with nothing connected is not an absent wire at high frequencies. The wave reflected at the open end comes back and can greatly reduce transmission at certain frequencies. This time, instead of the monotonic low-pass response of a resistor and capacitor, you look for notches, the periodic valleys a branch line creates. The single deepest notch, the first notch, and the spacing between notches are different pieces of information.
Why this was needed
If you think of a test point or an unused connection as a short wire, it is easy to ignore the added load. But what matters is not only the absolute length but what fraction of a wavelength it is. While the signal arrives at the end of the branch, is reflected, and comes back, the phase changes, so it looks like a different load at each frequency. That the end of the branch is open does not mean it always looks like an infinite impedance at the start of the branch. So as not to extend the extreme zero of the theory into a real measured value, this model states explicitly that it is a lossless line and omits loss, parasitics, and measurement noise.
How it works
The source resistance and the main-line load are each 50Ω. At the junction between the two resistors, one 50Ω line extends sideways, and its end is either open or matched with 50Ω. The main line's additional propagation delay is not modeled. With no branch, the junction voltage is 0.5 times the input. The admittance of the open branch is j·tan(2πfTD)/50, and the complex transfer function seen at the junction is H=0.5/(1+0.5j·tan(2πfTD)). TD is the one-way delay in seconds. If you put in the ns value as is, the frequency relationship changes completely.
The first notch is near f=1/(4TD), where the one-way length is a quarter wavelength. The next ones appear at odd multiples, like 3/(4TD) and 5/(4TD), so the spacing between adjacent notches is 1/(2TD). With TD=1ns, they are 250, 750, 1250, and 1750MHz. When you back out the delay from a spacing of 500MHz, you use 1/(2×spacing). If you mix the 4 in the first-notch formula with the 2 in the period formula, you get a factor-of-two error. In ngspice the open is approximated with a 1 teraohm resistor, so there is a very small difference from the exact zero of the ideal formula.
Notch detection is the job of finding an interior sample lower than its surroundings. The left or right endpoint has no neighbor on both sides, so you cannot confirm it is a valley. If a flat bottom spans several samples, count it as one notch rather than several, and take the lowest frequency as the representative. The detection threshold in this lab is −15dB or less relative to the response with no branch. It is a learning definition so as not to count every shallow ripple as a resonance and is not a universal notch detection rule used for all equipment.
What can and cannot be observed
You scan frequencies from 10MHz to 2GHz at 1MHz intervals. With TD=0.2ns, there is only one notch in this range, so you cannot get the delay from the spacing. Estimating from the first notch with a model assumption differs from observing the period from two or more. Leave periodic as None and do not carry the input TD over as an observed result. The first notch of TD=0.35ns is about 714.286MHz in theory, but the lowest sample on the grid is 714MHz. You must not report a sample frequency as a resonance frequency of infinite precision. A denser re-search is a task for the next verification.
If there are several notch spacings, you find a representative spacing with the median and also report the maximum relative deviation. It is a device to keep from forcing an irregular set of valleys to look like a single period. Also, the worst value over a band of interest must include not only the samples inside the band but also the interpolated values at the two boundaries. If you call it a specification failure because the deep notch of the full scan lies outside the band of interest, the question has changed.
What it looks like in the field
If you attach 50Ω to the end of the branch, the input of that line also looks like 50Ω and the notches disappear. But it is in parallel with the main-line load, so the junction load becomes 25Ω and the transmission drops to 1/3. Relative to the no-branch 0.5, it is 20log10(2/3)≈−3.522dB. Matching to eliminate reflection and preserving the original signal magnitude are not the same achievement. If you renormalize the maximum to 0dB again, you hide exactly this loss, so the reference is fixed at 0.5 in every condition.
This learning specification is at least −1dB relative to the reference over the whole range of 10 to 200MHz. Open TD of 0.2ns and 0.5ns pass, but 1ns fails at about −5.274dB at 200MHz. The matched branch fails at about −3.522dB even though it has no notch. It is not a bus or board certification specification, and real designs need separate verification of loss, wiring structure, input characteristics, and the frequency of interest.
What you will do in the next lab
You build, in order, the complex prediction, reference normalization, notch detection, period back-calculation, the band worst value, model comparison, and a six-condition experiment. Table parsing and ngspice execution use the provided helper, so this time you focus on the code that interprets physical quantities. The report also leaves the failed conditions and preserves the input, circuit, response, and engine log. measured is false, and it is not the result of measuring real equipment.
Basis: ngspice transmission line model, Analog Devices' stub line filter experiment. The latter is a conceptual reference and does not mean it is the same experimental equipment as this numerical circuit.