Hello,

Assume we have an 8-term error correction matrix, given for each frequency.

Can I implement this directly on the PNA-L (N5230C)?

What we like to solve is the following equation:

- - - - - -

|a1| | alpha1 beta1 0 0| |a1_raw|

|b1| =| gamma1 delta1 0 0| |b1_raw|

|a2| |0 0 alpha2 beta2 | |a2_raw|

|b2| |0 0 gamma 2 delta2| |b2_raw|

- - - - - -

_raw is what we measure at each frequency (raw value = uncalibrated)

The matrix:

| alpha1 beta1 0 0|

| gamma1 delta1 0 0|

|0 0 alpha2 beta2 |

|0 0 gamma 2 delta2|

is known at each frequency, determinate by a classic SOLT, at the moment saved in a large data file.

[we can not use the SOLT of the instrument because we have reconfigured the PNA-L + use external couplers]

We also implement a power cal.

Can we program the PNA-L in such a way that the above equation can be solved directly on the PNA-L,

so that we see that calibrated values (a1, b1, a2, b2) or better said S11, S12, S22, S21, mag(b2), mag(a1), ... directly on the screen of the PNA-L.

In other words read the data file that contains the error correction terms for each frequency and directly apply this to do raw measured values so that we see the corrected values in real-time.

We do the programming in Visual C++ or Visual Basic.

Thanks.

Assume we have an 8-term error correction matrix, given for each frequency.

Can I implement this directly on the PNA-L (N5230C)?

What we like to solve is the following equation:

- - - - - -

|a1| | alpha1 beta1 0 0| |a1_raw|

|b1| =| gamma1 delta1 0 0| |b1_raw|

|a2| |0 0 alpha2 beta2 | |a2_raw|

|b2| |0 0 gamma 2 delta2| |b2_raw|

- - - - - -

_raw is what we measure at each frequency (raw value = uncalibrated)

The matrix:

| alpha1 beta1 0 0|

| gamma1 delta1 0 0|

|0 0 alpha2 beta2 |

|0 0 gamma 2 delta2|

is known at each frequency, determinate by a classic SOLT, at the moment saved in a large data file.

[we can not use the SOLT of the instrument because we have reconfigured the PNA-L + use external couplers]

We also implement a power cal.

Can we program the PNA-L in such a way that the above equation can be solved directly on the PNA-L,

so that we see that calibrated values (a1, b1, a2, b2) or better said S11, S12, S22, S21, mag(b2), mag(a1), ... directly on the screen of the PNA-L.

In other words read the data file that contains the error correction terms for each frequency and directly apply this to do raw measured values so that we see the corrected values in real-time.

We do the programming in Visual C++ or Visual Basic.

Thanks.

Easiest way is to use the fixture de-embedding. The 8 term error correction usings a 4-term (like s-parameters) error adapter on each port. Simply write the error adpater as an S2P file, load it for each port, turn on de-embedding and fixturing and you are done.

If you want to write the math yourself, you can use the equation editor, directly, or write your own dll library and call it from the equation editor.

But, I hope you know the 8 term error model assumes source and load match at a port are the same, and that is not true for almost any VNA., thus we need to use 10 terms.

Also, why not use the built in correction math? Yiu can write your own data into the calset arrays...