# Measure 4-port device with 2-port VNA

I need to measure a 4-port device (a directional coupler) using a 2-port VNA. This answer covers the basics, and this document goes into more detail.

My problem is that I'm not sure how to perform the "matrix renormalization" step on page 10 of the NPL document. What calculations are required to convert the six raw VNA measurements (for example, the transmission measurement between ports 1 and 3 of the DUT), and the measured (complex) reflection parameters of the loads attached to the DUT ports, into the normalized 4 x 4 matrix?

• try [this](Power Waves and the Scattering Matrix, IEEE Transactions on Microwave Theory and Techniques, Vol. 13, No. 2, Mar 1965, pp. 194-202) and this, and googling for 's parameter matrix renormalisation' – Neil_UK Mar 6 '18 at 14:52
• @Neil_UK : Thanks, but I'm afraid my problem is at a more basic level. I understand why I need to renormalize, I don't know how to do it. If we just consider one frequency, I have 16 raw measurements (S11, S22, S33 ... S34, S43), and the four load impedances (Z1, Z2, Z3, Z4). What arithmetical operations do I need to perform on these numbers to calculate (say) the corrected S31 value? – Tevildo Mar 6 '18 at 15:45
• Do you really NEED to do the renormalization? As you can see in the NPL document, "method 1" gets you within fractions of a dB of the right answer. Assuming you can find loads with a good match (say, -20dB), I would say method 1 is easily sufficient for the majority of applications. – Selvek Mar 8 '18 at 17:22
• @Selvek : I need the S11 measurement (in particular) to be as good as reasonably practicable (without persuading management to invest in a 4-port VNA). Renormalization would seem to be the best way of compensating for the uncalibrated loads on UUT ports 3 and 4. – Tevildo Mar 9 '18 at 21:32

I've found the code I need on the scikit-rf site - specifically, renormalize_s (and associated functions) from http://scikit-rf.readthedocs.io/en/latest/_modules/skrf/network.html . This is Python code that uses numpy for the calculations.