NanoVNA – interpolation – part 4

NanoVNA – interpolation – part 3 discussed selection of a sweep step size to provide sufficient data points for reasonably accurate interpolation.

When / where is interpolation used?

The VNA correction process uses measurements of some known conditions to create a calibration dataset, a table if you like of the sweep frequencies and calibration data. Commonly the calibration dataset is a table of the correction factors calculated from measurements of the knowns for each frequency of the calibration sweep. The correction factors are usually calculated for each frequency independently of adjacent frequencies.

When used to sweep a different range, interpolation can be used to interpolate those correction factors to the new measurement frequencies.

A common data flow is that shown above, where the correction terms are calculated for each of the frequencies in the calibration sweeps, and then those terms are interpolated to the frequencies actually used for a DUT measurement sweep.

Disabling / circumventing interpolation

Let’s digress for a moment.

An important characteristic of interpolation algorithms is whether the interpolated value at control points is exactly the same as the control point. It is common that this is true, and a very desirable / essential characteristic for some applications… but it is not universally true. This property is true of a correctly implemented linear interpolation, but be aware that computation of floating point numbers on machinery has inherent noise.

Earlier articles suggested that if the VNA and client software do not explicitly allow disabling interpolation, using exactly the same sweep points (eg start, stop, steps) may circumvent interpolation… provided that the interpolation at control points is exactly the same as the control point as discussed above.

An online poster made the following recommendation:

It would be a good practice that if you’re using a long cable, the calibration frequency step size should be small enough that you don’t  get a phase wrap between steps. It’s like FFT based TDR.

That is, if |(length/lambda1 – length/lambda2)| > 1 you’ve got a problem.

or (l*f1/300 – l*f2/300) >1, or l * |f1-f2|/300 > 1.

for a 10 meter cable, this is a delta F of 30 MHz -> 10/300*(30) = 1

(you can also think of it this way, if the cable is longer than the wavelength of the step size, you’ve got a problem)

Let’s test his claim using his example that for a 10m (electrical length) cable, step size must not be more than 30MHz… but can be up to 30MHz.

One of the correction factors is Directivity, and it is quite related to the raw (ie uncorrected) s11 measurement of the cable with SC termination.

The true form of the response

Above is a simulation of raw s11 of the length of lossless cable with SC termination with step size 0.1MHz to reveal the true form of the response, the real and imaginary components are sinusoidal and 90° out of phase, so they would plot on a Smith chart as a quite smooth circle.

Using almost the claimed maximum step size

Lets use a slightly smaller step size, 25MHz.

Above is a simulation of raw s11 of the length of lossless cable with SC termination with step size 25MHz (ie less than the claimed critical value of 30MHz).  The 5 points plotted are interpolated linearly to create the plot.

The linear interpolation is nothing like the true response, so there will be substantial errors at all points EXCEPT the 5 frequencies actually measured.

Let’s zoom in on this at the 500MHz end, and try different step sizes.

Above is a simulation with 0.5MHz, the representation is pretty good, but you can still just see jaggy bits around the peaks and valleys.

The proposition in the quote at the start gives explanation as based on phase wrap and some pseudo maths to explain it further. In fact the calculation of the Directivity correction factor (the factor mainly affected by substantial transmission line delay to the reference plane), is dependent on wrapped phase. In calculating the Directivity correction factor, no attempt is made to unwrap phase, so contriving to prevent phase wrap is misguided.

This is NOT like TDR based on IFFT of a VNA frequency domain sweep.

A real measurement example

Above is a raw (ie uncorrected) s11 sweep of 5m of RG58A/U, electrical length 7.46m, at frequency step 0.1MHz. The plot has linearly interpolated the 101 measurement points. One can observe just a little jagginess at the peaks and valleys… this is marginal for high accuracy work.

This is very similar in form to the calculated Directivity correction factor.

Were it say 30m (~100′) of feedline to an antenna being calibrated as the fixture at HF, you would probably want step size 0.1MHz or lower… or 401 scan points for HF on a recent NanoVNA.


Read widely, think, don’t depend on individual posts to social media which are more about polite discussion than science.

It remains that a raw (ie uncorrected) s11 sweep of a SC termination at the intended reference plane gives a good indication of whether there will be sufficient calibration points for reasonable interpolation.