Re: Quick compare with HP 8753C...

Roger Henderson

Hi Jeff,
In my 8753 it will default to one of the inbuilt calibration kit
definitions. I am not in front of it right now, but from memory it does not
(by default) assume the cal kit is perfect. It will use one of the
pre-defined HP cal kits by default.
I would have to define a cal kit with no characterisation data - i.e. no
C0, C1, C2, C3 values, no delay, no loss and with a Zo of 50 ohms for all
of the standards.

Now it is quite possible of course that you have done this, or that at the
frequency range in question the difference is extremely small and is
Or it could be that it is just relevant enough to affect the traces you
posted, but not enough to be visible on the smith chart at these low

As to the NanoVNA, I think the calibration is still being done on the
device and not in the software. The software is not open source so I am not
sure how to determine if it is done on the PC, or on the NanoVNA.
I found this in the NanoVNA firmware source code:

Code copied below. The code listed is the calculation of the 'adjusted open
standard' or s11ao. s11aor is the real component and s11aoi is the
imaginary component.
You can see this term: *float c = 50e-15;*
I think that is a C0 term in Farads.

So, if the calibration is being done on the device, then as far as I can
tell, the open standard is _not_ assumed to be perfect as it has a
capacitance adjustment.
How much of an effect that has I don't know and have not checked.

So in a perfect test I would take this small C0 adjustment and enter it in
the - otherwise assumed perfect - cal kit definition in the 8753. Then they
should match.

Anyway, that is where I am coming from.


static void
int i;
for (i = 0; i < sweep_points; i++) {
// z=1/(jwc*z0) = 1/(2*pi*f*c*z0) Note: normalized with Z0
// s11ao = (z-1)/(z+1) = (1-1/z)/(1+1/z) = (1-jwcz0)/(1+jwcz0)
// prepare 1/s11ao for effeiciency
*float c = 50e-15;*
//float c = 1.707e-12;
float z0 = 50;
float z = 6.2832 * frequencies[i] * *c ** z0;
float sq = 1 + z*z;
float s11aor = (1 - z*z) / sq;
float s11aoi = 2*z / sq;

On Wed, 21 Aug 2019 at 11:03, Jeff Anderson <jca1955@...> wrote:

Hi Roger,

I'm not sure what you mean by "defined in the 8753", so let me describe
what I do...

I don't have calibration information stored within my 8753C. Instead, I
calibrate my 8753C after first selecting the frequency range (in this case,
3.8 to 4 MHz), and then I invoke the calibration menu. Its S11 cal option
then requires that I attach my short, open, and load standards and capture
their data, in sequence, after which I press "done", at which point the cal
coefficients are calculated.

I follow a similar procedure for the NanoVNA, using the calibration
procedure in the Windows NanaVNA V 1.03 app (which requires two additional
steps: isolation and thru).

In other words, calibration for either instrument is assuming that the SOL
loads I am using are "perfect." And, although I would be very surprised if
they were, for this purpose (of comparison), they should be perfectly
adequate. After all, if I do a calibration on either instrument and then
measure S11 for each of these three loads, they appear as little dots
exactly where one would expect them to appear -- at the far left, center,
and far right of the Smith chart.

Please let me know if you think I should be doing this comparison (or cal)
a different way.


- Jeff, k6jca

Join to automatically receive all group messages.