Measurement of Multi-port S-Parameters
While 2-port network measurements remain the standard for most devices, even those with many ports, there remain devices that simply cannot be adequately characterized with 2-port measurements. Devices which have low loss and lack isolation between ports are often best characterized with 3- or 4-port measurements. Although multi-port measurements are not as "automatic" as the simpler 2-port measurements, the RI Cassini tester can perform the synchronization needed to measure the wave parameters of three or four ports simultaneously, providing the capability to make calibrated multi-port S-parameter measurements.
The idea in making multi-port measurements is to stimulate one port at a time and measure the wave parameters from all ports -- the stimulus port and the non-driven ports. By stimulating each port in turn, a large matrix of wave parameters is formed which can be solved simultaneously to provide the uncorrected S-parameters of the device under test (DUT).
To go from uncorrected to corrected S-parameters, a source of error coefficients, called "error adapters" is needed. These errors are the standard one-port error correction along with special "thru" errors which are used to remove the port-to-port transmission errors. These error adapters are measured for the fixture and stored ahead of time in the Fixture software object. During the running of the measurement testplan, the errors are retrieved from the tester and used to correct the multi-port S-parameters.
Because the multi-port S-parameters are not an "automatic" measurement in the Cassini tester, there are math blocks needed to provide the correction math at the time the production testplan is executed. The math blocks refer to built-in math routines which handle all of the "heavy lifting" needed to go from simple wave parameters to fully corrected multi-port S-parameters.
Fixture calibration for multi--port measurements is a simple extension of single-port fixture calibrations. In fact, the single-port calibrations are the first step needed to prepare the system for corrected multi-port S-parameters. There is nothing remarkable or different about the one-port calibration plans compared to other fixture testplans. Some advice for getting the best possible S-parameters include: Use "adjacent" averaging mode, set the receiver "measure rate" to 100000 (samples/sec), use 16-64 averages, and bidirectional mode.
After each port in the fixture is calibrated with a single-port testplan, the thru paths must be calibrated. Each port has a frequency-response error term and the errors when measuring between each pair of ports must be characterized to remove the errors from the final S-parameters. When measuring three ports, measure the connection between each pair of ports -- three "thru" measurements in all. The frequency-response error is measured for a reciprocal "thru" device. As long as as the thru is reciprocal, the actual S-parameters of the thru are irrelevant and are removed from the stored calibration data.
In the panel below the thru path from port RF3 to RF6 is measured using "uncorrected-s" and saved into a variable indexed by frequency. Again, the global defaults have buttons to force the system to use "adjacent" averaging and set the receiver measure rate to 100000 samples/sec.
In the next panel, the one-port error adapters for ports RF3 and RF6 are retrieved from the tester. These parameters are used to normalize the measurement of the thru to account for the thru terms.
Finally, the thru terms is calculated and stored into the fixture. This sequence is shown for only one path and must be duplicated for the other two paths of the 3-port measurement.
The fixture calibration is performed when the fixture is built, and again if anything in the fixture changes (e.g. replacement of hardware or cables). There is no reason to repeat the fixture cal other than to compensate for wear in the connectors and swtiches in the fixture.
The measurement testplan is structured very differently from the cal plans, since it measures all of the wave parameters simultaneously instead of using the built-in 2-port measurement routines. The button that measures all of the wave parameters is called "Testhead/Multiport" and is shown in the test panel below. Each of the "multiport" measurements returns the wave parameters for all four ports (RF2, RF3, RF6, and RF7). In this measurement RF2 data will be discarded, but it is measured by the button anyway. Each multiport measurement is tied to a different stimulus port, insuring we collect all the data needed to compute S-parameters.
In addition to the measurements of the DUT, we need to retrieve the error terms or "error adapters" for the one-port calibrations as well as the thru paths. Shows below are the buttons needed to retrieve the one-port error adapters for RF3 and RF6. The error adapter for RF7 is in the next panel (not shown).
On the panel below, the thru calibrations for all three paths are read from the Fixture object and interpolated for each frequency of the testplan. (The frequency list is in the Section Defaults, not shown.) Note the difference in this panel -- we use the "Cal Data" button which fetches the entire calibration vs. frequency, and then chose the frequency of interest. The previous panel used the "Cal Point" button which performs the interpolation step automatically. The Cal Point button is not available for these thru path calibrations.
The next step is to create the uncorrected S-parameter matrix from the wave-parameter measurements. The three wave-parameter measurements are first "gathered" into a single array and then passed to a math block which does a solution of simultaneous equations and produces a 3-port S-parameter solution. Note the single frequency button which cancels the frequency "sweep" in the section defaults.
Finally, the corrected S-parameters are produced by processing the uncorrected S-parameters and "error adapters" we retrieved earlier. The one-port error adapters are gathered into one array while the thru-path errors are gathered into another. Finally, the uncorrected data is passed into the math block along with the error adapters and the S-parameters are corrected. The final result is a data item of type Ri3portSparD which has data fields of S11 through S33.