Given the high price of calibration standards for VNA's, some time ago I
thought I'd make my own BNC and N-connector standards for my HP 3577A and
8753C VNAs.
At the frequencies that interest me (0 - 30 MHz),
imperfections in homebrew Short and Open standards are usually
insignificant. And the Load standard's resistance can often simply be
checked at DC with a good 4-wire ohm meter.
But I wanted to see how
high in frequency I could use these standards before their imperfections began
to significantly affect measurements.
So, I used a set of homebrew
standards to calibrate my 8753C and then ran a T-Check verification on the calibration.
The results were less than
spectacular. But there were several possible causes for these poor
results. Of course, my homebrew standards could be junk -- that was
certainly one possibility. But another possibility had to do with the
Calibration Coefficients pre-programmed into the 8753C.
The 8753C
contains pre-programmed Calibration Coefficients for various calibration kits
supplied by HP (e.g. 7mm, N, and 3.5mm cal kits). Using the 8753C's
menus, the user selects which HP cal kit will be used for calibration, and the
VNA will automatically know the physical characteristics of the standards in
that kit (e.g. offset-delay, fringe-capacitance, etc.).
But suppose
one is using home-brew standards? The Calibration Coefficients need to
accurately reflect the properties of the Short, Open, Load, and Thru (SOLT)
standards of the selected cal kit. If they do not, then calibration of
the VNA becomes meaningless.
If the 8753C's calibration
coefficients did not match the actual values of my standards,
then the calibration itself could be a source of the poor T-Check performance
I was seeing.
Fortunately, HP allows a user to modify the
Calibration Coefficients. But what should my entries be?
There
was a lot I did not understand. So I thought I'd explore how Calibration
standards are characterized as well as how VNA measurements are
error-corrected.
For me, exploration means notes. This blog
post is foremost a collection of notes to myself.
First, a
look at the error-correction of S11 "Reflection" measurements...
Correcting One-port VNA Measurements:
Per the literature, there are typically three system errors
involved when making one-port S11 (Reflection Coefficient) measurements.
These errors are:
Ed: Directivity Error (from the
"output" signal leaking into the "reflected" path via the directional
coupler).
Er: Reflection Tracking Error (from
differences between Test and Reference paths).
Es:
Source Match Error (the mismatch in impedance between the VNA's test port and
its source).
These errors are also known as the "Error Adapter
Coefficients" of the one-port measurement system, as shown in the following
Signal Flow Graph [Keysight, 1-port Calibration]:
Different authors call these three errors by different names, but they
are the same errors. Here's another example of the Signal Flow
Graph. The figure is the same, but the names are different [Rytting, VNA Error Models]:
where:
- e00 is equivalent to Ed, the Directivity Error.
- e10e01 is equivalent to Er, the Reflection Tracking Error.
- e11 is equivalent to Es, the Source Match Error.
Using Signal Flow Graph rules, the following equation can be derived
from the graph [a good exercise, see here, here, and here]:
(1) Γ = (ΓM -
e00)/(ΓMe11 - Δe), where
Δe = e00*e11 -
(e10e01) [Rytting, VNA Error Models]
(ΓM is the measured Gamma, and
Γ is the actual Gamma).
So, if we know
e00, e11, and Δe, we can use equation (1) to
correct for the system errors and calculate our one-port
DUT's actual Gamma (Γ) from
its measured Gamma (ΓM).
(By the way,
DUT mean Device-Under-Test) .
The error-terms
e00, e11, and Δe are found during
the calibration process. Here is how that is done...
Three unknown errors require three equations.
We find the three error terms by making S11 measurements of three
different one-port standards with known Gammas. This will give us three
ΓM measurements.
The impedances of these three
one-port standards can be anything, as long as they are well defined, but typically a Short (ideally, Gamma = -1), an Open (ideally, Gamma = 1),
and a Load (ideally, Gamma = 0) are used.
Then, with
the known Gammas of the three standards and their
three measured Gammas, we should be able to calculate
e00, e11, and Δe. But first we need to
transform equation (1), above, into the following three linear equations:
(2)
ΓM1 = e00 +
Γ1ΓM1e11 - Γ1Δe
(3) ΓM2 = e00 +
Γ2ΓM2e11 - Γ2Δe
(4) ΓM3 = e00 +
Γ3ΓM3e11 - Γ3Δe
Now we have three linear equations -- one for the measurement of
each of the three standards.
We can then transform these three
equations to give us three new equations for
e00, e11, and Δe. These equations,
in turn, will give us the value of e00, e11, and
Δe that we can plug into equation (1).
Solving for e00, e11, and Δe:
But transforming these three equations is a tedious task if
done by hand! Fortunately, MATLAB and its Symbolic Math Toolbox can save
us the manual effort and derive the three equations for us. (Note: in
the following equations, I've replaced the Greek characters with English
alphabet letters and abbreviations).
% One-port VNA Calibration, k6jca % % Find the equations for the three error terms: e00, e11, and delta_e % Derived from the equations in: % Network Analyzer Error Models and Calibration Methods, % by Doug Rytting, Agilent Technologies % G1 = Actual Gamma of Standard 1 % G2 = Actual Gamma of Standard 2 % G3 = Actual Gamma of Standard 3 % Gm1 = Measured Gamma of Standard 1 % Gm2 = Measured Gamma of Standard 2 % Gm3 = Measured Gamma of Standard 3 syms G1 G2 G3 Gm1 Gm2 Gm3 e00 e11 d_e [e00,e11,d_e] = solve(e00+e11*G1*Gm1-d_e*G1 == Gm1,... e00+e11*G2*Gm2-d_e*G2 == Gm2,... e00+e11*G3*Gm3-d_e*G3 == Gm3,[e00,e11,d_e])
(5) e00 = (G1*G2*Gm1*Gm3 - G1*G3*Gm1*Gm2 - G1*G2*Gm2*Gm3 + G2*G3*Gm1*Gm2 + G1*G3*Gm2*Gm3 - G2*G3*Gm1*Gm3)/(G1*G2*Gm1 - G1*G2*Gm2 - G1*G3*Gm1 + G1*G3*Gm3 + G2*G3*Gm2 - G2*G3*Gm3) (6) e11 = -(G1*Gm2 - G2*Gm1 - G1*Gm3 + G3*Gm1 + G2*Gm3 - G3*Gm2)/(G1*G2*Gm1 - G1*G2*Gm2 - G1*G3*Gm1 + G1*G3*Gm3 + G2*G3*Gm2 - G2*G3*Gm3) (7) d_e = -(G1*Gm1*Gm2 - G1*Gm1*Gm3 - G2*Gm1*Gm2 + G2*Gm2*Gm3 + G3*Gm1*Gm3 - G3*Gm2*Gm3)/(G1*G2*Gm1 - G1*G2*Gm2 - G1*G3*Gm1 + G1*G3*Gm3 + G2*G3*Gm2 - G2*G3*Gm3)
Equations (5), (6), and (7), above, will give us our error terms, which
we can then plug into equation (1) to calculate actual Γ from measured Γ.
Defining the Gammas of the Three Standards:
As I mentioned above, ideally the Short has a Gamma of -1, the
Open a Gamma of 1, and the Load a Gamma of 0. But rarely are the Short,
Open, and Load standards ideal. Often their impedances (as measured at
the VNA's calibration reference plane) differ from the ideal.
Is
this "deviation from ideal" a problem? No -- any three Gammas can be
used -- the only criteria is that they be "known" (i.e. well defined).
If we know the actual Gammas of the standards, we can solve for
e00, e11, and Δe.
And fortunately,
the manufacturers of quality standards (such as Keysight) characterize these
imperfections in their standards for us.
Let's take a look at
Keysight's models for their Open, Short, and Load standards...
Models for Reflection-Calibration Standards:
The model of Keysight's one-port calibration standards is shown
below [Keysight, Modifying Calibration Kit].
The green box on the right represents the "lumped-element"
implementation of the actual standard (C0-3 for the Open,
L0-3 for the Short, and RL for the
Load), and the three "offset" terms define the small amount of distance
(modeled as a transmission line, for coaxial-cable systems) between the
"Calibration reference plane" at the standard's connector and its actual
"lumped-element" implementation.
Let's delve more deeply into this
model. Below is another look at the basic structure I've just
described. ZT is the actual impedance of the
"lumped-element" implementation of the standard, and the transmission line
(with loss and delay) connects this lumped-element impedance to the standard's
calibration reference plane at its connector [Keysight, Specifying Calibration Standards].
Keysight has created a Signal Flow Graph of this model:
Note that:
Γi is the standard's Gamma,
measured at its Calibration Reference Plane.
ΓT is
the Gamma of the standard's "lumped-element" impedance.
e(-γ*length) is
the "transmission line" model of the one-way delay and attenuation of between
the standard's calibration reference plane at the connector and its
"lumped-element" impedance load.
Note that there are two
e(-γ*length) delays in the model. The "top" delay is the
forward path from the standard's connector to the load, while the "bottom"
delay is the delay of the reflection from the load back to the connector.
The
γ in the exponent equals α + j*β and represents both loss
(e(-α*length) and delay (e(-jβ*length)). So
the exponential term can also be expressed as:
(8)
e(-γ*length) =
e(-(α+jβ)*length) =e(-α*length) *e(-jβ*length)
Keysight has conveniently derived the equation for
Γi (Gamma at the Standard's connector), as well as
Γ1 and ΓT used in Γi's
calculation (these equations can also be found in https://arxiv.org/pdf/1606.02446.pdf):
Note that to use this equation to calculate Γi, we need to
know Zc (to calculate Γ1), ΓT, α*length, and β*length
(the latter two because γ*length = α*length + β*length).
ΓT is
calculated using the lumped-element parameters Keysight supplies with each of
its standards (more on this, below).
And for Zc, α*length, and
β*length, we can use the following equations, using the published "offset"
parameters with which Keysight defines its standards [Keysight, Modifying Calibration Kit]:
For reference, Keysight defines these "offset" parameters to be:
Offset Delay:
For a one-port Reflection standard, this is the one-way
propagation time (in seconds) from the measurement plane to the standard.
For
a Thru standard, this is the one-way propagation time (in seconds) from the
measurement plane at one end of the Thru to the measurement plane at the
other end.
Offset Loss:
Energy loss due to the
Transmission Line's skin effect, specified in Ohms/Second at 1 GHz.
Keysight notes that, for many applications, setting this value to zero won't
result in significant errors.
Offset Zo:
Per
Keysight,"The offset impedance between the standard to-be-defined and the
actual measurement plane. Normally, this is set to the system's
characteristic impedance."
We are almost done, but to finish
the calculation of Γi we still need to determine
ΓT , which requires that we first determine
ZT (the lumped-element impedance of the Standard's
termination) which we can then substitute into the equation for ΓT,
below.
ΓT = (ZT -
Zr)/(ZT + Zr)
Determining ZT for SOL Standards :
So...how does Keysight specify ZT for their SOL
standards? Let's take a look:
1. Open ZT Definition:
A perfect open, with
no delay, would have a ΓT equal to +1.
However, in
practice, the Open's fringe capacitance at its open end can cause a
frequency-dependent phase shift. This capacitance is defined as a
frequency-dependent third-degree polynomial in terms of C0, C1, C2, and C3, as
follows:
Copen = C0 + C1*f +
C2*f2 * C3*f3
and therefore:
ZT(open) =
-j/(2πfCopen)
2. Short ZT Definition:
A perfect short, with no delay, would
have a Gamma equal to -1.
However, in practice, the Short's
inductance can cause a frequency-dependent phase shift. This inductance
is defined as a frequency-dependent third-degree polynomial in terms of L0,
L1, L2, and L3, where:
Lshort = L0 + L1*f +
L2*f2 * L3*f3
and therefore:
ZT(short) =
j2πfLshort
(Note that in Network Analyzers such as the
HP 8753C, the pre-programmed cal kit parameters within the machine assume L0,
L1, L2, and L3 have insignificant effect and thus all four are set to 0.
3. Load ZT Definition:
My HP 8753C VNA assumes the
load standard always has an impedance of equal to Zr (i.e.
ZT(load) = 50 + j0, and therefore ΓT(load) =
0, for a 50-ohm system). I don't know if other Keysight VNA's allow one
to change ZT(load) so that it no longer equals
Zr.
Note, though, that some other network analyzer
programs, such as NanoVNA-Saver (for the NanoVNA) do allow you to set a load's
resistance to other values (and possibly add inductance to its impedance
calculation, too).
One-Port Calibration Summary:
In conclusion, a one-port calibration involves the S11
measurement of three standards whose Reflection Coefficients have all been
pre-defined.
From these three S11 measurements, three error terms
can be calculated, which, when combined with DUT's S11 measurements, should
result in an essentially error-corrected S11 value for the DUT.
Correcting Two-port VNA Measurements:
One common error-correction method for
a two-port VNA involves 12 error-terms.
Three
error-terms correct the S11 measurement for Directivity, Source-Match, and
Reflection Tracking errors at Port 1 (as described above) .
Three
more error-terms correct the S22 measurement at Port 2 (same calculations as
the S11 correction, but using three error-terms derived from SOL measurements
at Port 2).
Two new error-terms correct for isolation errors
(feed-through between Port 1 and Port 2). One error is the isolation
from Port 1 to Port 2, and the other is the isolation from Port 2 to Port
1.
And four new error-terms correct for Transmission Tracking
errors and opposite-port Load Match errors when a 2-port DUT is connected to
both ports of the VNA.
12-Term Error Model:
Below is a model of the Error terms, from the HP 8753D User's Guide:
And, per the HP 8753D User's Guide, the equations below, using the 12
error-terms, will correct the full two-port S-Parameter measurements:
Different Names, Same 12-term Model...
As with the one-port model, the two-port model can be expressed
with a different nomenclature, as Doug Rytting does in his presentation: [Rytting, VNA Error Models]. I'll use Rytting's terms for much of this post, rather than the
terms defined in the HP 8753D Manual's model.
Rytting's model is
identical to the model described in the 8753D manual with the exception of a
change in error-term nomenclature (the similarity in model is not surprising,
given that Doug Rytting co-authored "A System for Automatic Network Analysis"
in the February, 1970 issue of the Hewlett Packard Journal)
Each of the two model's above has six error terms, for a total of twelve
error terms. If we can determine the values of these twelve error terms,
we can correct the errors in our two-port S-parameter measurements using the
following equations:
So...how do we determine the values of the twelve error terms?
Determining the 12 Error Terms:
(Note: I've labeled the S-parameter measurements below as
S11M, S21M, S12M, and S22M.,
where the 'M' in the subscript
means their "measured" value).
Per Rytting [Rytting, VNA Error Models], the calibration steps to find these 12 error terms are:
1.
Using the one-port formulas discussed, above, calibrate Port 1 with the three
S.O.L. standards and calculate the Forward Model's e00,
e11, and Δe(Port1). Then, from these three values,
calculate e10e01, given that
e10e01 = e00*e11 -
Δe(Port1).
2. Again, using the one-port formulas,
now calibrate Port 2 with the three S.O.L. standards and calculate the Reverse
Model's e'33, e'22, and Δe(Port2). Then
calculate e'23e'32. (given
e'23e'32 =
e'33e'22 - Δe(Port2)).
3.
Connect Load terminations to both Port 1 and Port 2 of the VNA and measure
S21M. and S12M. The Isolation term
e30 equals S21M, and the Isolation term
e'03 equals S12M.
4. Connect ports 1 and
2 together and measure S11M and S21M.
e22 and e10e32 can now be
calculated from the following two equations:
(9)
e22 = (S11M -
e00)/(S11Me11 - Δe(Port1))
(10)
e10e32 = (S21M -
e30)*(1 - e11e22)
5. With
the ports still connected, measure S22M and S12M.
Calculate e'11 and e'23e'01:
(11)
e'11 = (S22M -
e'33)/(S22Me'22 -
Δe(Port2))
(12)
e'23e'01 = (S12M -
e'03)*(1 - e'22e'11)
Important Note: These corrections assume that the THRU connection used in step 4,
above, is a zero-length THRU (such as you would get, for example, if connecting an APC-7
cable to another APC-7 cable, or a male connector to a female
connector).
But often a THRU is not zero length. More on this topic in the next blog post,
here:
https://k6jca.blogspot.com/2020/01/vna-notes-on-thru-standard-de-embedding.html
References:
Standard Caveat:
I might have made a mistake in my designs, schematics, equations,
models, etc. If anything looks confusing or wrong to you, please feel
free to leave a comment or send me an email.
Also, I will note:
This
design and any associated information is distributed in the hope that it will
be useful, but WITHOUT ANY WARRANTY; without an implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.