¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: SOLT Error Theory #calibration


 

As it turns out, the equations do not become as unwieldy as I had feared, if you consider a non-ideal through that can have losses and delay (S21thru ¡Ù 1, S12thru ¡Ù 1) but that does not have any reflection (S11thru = S22thru = 0).

Jeff, I agree with you that Schreuder's equations (as quoted in your blog post) are wrong. I get a different result than you, though.

I'll derive the equations for the forward case - since this is applicable to the NanoVNA. For a bi-directional VNA the reverse error model is similar - it merely needs exchanging some variables. Furthermore, I assume that a one-port (OSM, SOL) calibration has already taken place, i.e., the error terms e00, e11 and e10e01 are known.

The key to determine e22 is realizing that the reflection §¤ seen at (the already calibrated) port 1 is in fact S21thru * e22 * S12thru - the blue path in the attached signal flow diagram. Therefore, using the known formula for one-port measurements:

S21thru * e22 * S12thru = §¤ = (S11meas - e00) / (e10e01 + e11 * (S11meas - e00))
=> e22 = 1/(S21thru*S12thru) * (S11meas - e00) / (e10e01 + e11 * (S11meas - e00))
... where S11meas is the measured S11 (b0/a0) with the through standard.

On to e10e32: From the diagram it follows: b3 = e30 * a0 + e10e32 * b2. Using "single loop reduction" (for the loop shown in green), it can be stated:
b2 = (S21thru * a0) / (1 - S21thru*S12thru*e11*e22). Using the measured S21meas = b3/a0, the equations can be rearranged to give:

e10e32 = (S21meas - e30) * (1 - S21thru*S12thru*e11*e22) / S21thru

For an ideal through (S21thru = S12thru = 1), the equations for e22 and e10e32 further simplify to the ones given e.g. in Rytting¡¯s presentation.

Even without the derivation above, a small thought experiment shows that Schreuder¡¯s equation for e10e32 cannot be correct. Let¡¯s assume you have a VNA (or test fixture) with a horribly bad isolation, i.e. e30 becomes rather large. In that case, S21meas would be dominated by the bad isolation, a path that does not even go through the through standard. Hence, it cannot be correct to normalize S21meas by S21thru, like Schreuder did.

Note that NanoVNA firmware (edy555¡¯s and hugen¡¯s versions, at least) require an ideal through and furthermore they assume that e11*e22 becomes very small and can thus be neglected. Hence, the firmware just uses e10e32 = (S21meas - e30). This is imho ok, given the limited ROM size and computing power of the NanoVNA. On the PC side, NanoVNA-Saver uses a (modified) version of Schreuder's equations to account for the length of the through, which I now think is not correct.

As for the general case, i.e. a though standard also with reflection, I highly recommend either writing everything in the form of transmission matrices or at least having a computer algebra system solving the equations for the error terms. *That* I don¡¯t want to do on a piece of paper anymore¡­

Regards
Christian

Join [email protected] to automatically receive all group messages.