Main Content

De-Embedding S-Parameters

This example shows you how to extract the S-parameters of a Device Under Test (DUT). First, read a Touchstone® file into a sparameters object, second, calculate the S-parameters for the left and right pads, third, de-embed the S-parameters using the deembedsparams function and finally display the results.

This example uses the S-parameter data in the file samplebjt2.s2p that was collected from a bipolar transistor in a fixture with a bond wire (series inductance of 1 nH) connected to a bond pad (shunt capacitance of 100 fF) on the input, and a bond pad (shunt capacitance of 100 fF) connected to a bond wire (series inductance of 1 nH) on the output, see Figure 1.

Figure 1: Device under test (DUT) and the test fixture.

This example will also show how to remove the effects of the fixture in order to extract the S-parameters of the DUT.

Read Measured S-Parameters

Create a sparameters object for the measured S-parameters, by reading the Touchstone® data file, samplebjt2.s2p.

S_measuredBJT = sparameters('samplebjt2.s2p');
freq = S_measuredBJT.Frequencies;

Calculate S-Parameters for Left Pad

Create a two port circuit object representing the left pad, containing a series inductor and a shunt capacitor. Then calculate the S-parameters using the frequencies from samplebjt2.s2p.

leftpad = circuit('left');
add(leftpad,[1 2],inductor(1e-9));
add(leftpad,[2 3],capacitor(100e-15));
setports(leftpad,[1 3],[2 3]);
S_leftpad = sparameters(leftpad,freq);

Calculate S-Parameters for Right Pad

Create a two port circuit object representing the right pad, containing a series inductor and shunt capacitor. Then, calculate the S-parameters using the frequencies from samplebjt2.s2p.

rightpad = circuit('right');
add(rightpad,[1 3],capacitor(100e-15));
add(rightpad,[1 2],inductor(1e-9));
setports(rightpad,[1 3],[2 3]);
S_rightpad = sparameters(rightpad,freq);

De-Embed S-Parameters

De-embed the S-parameters of the DUT from the measured S-parameters by removing the effects of input and output pads (deembedsparams).

S_DUT = deembedsparams(S_measuredBJT,S_leftpad,S_rightpad);

Plot Measured and De-Embedded S11 Parameters on Z Smith® Chart

Use the smithplot function to plot the measured and de-embedded S11 parameters.

figure
hs = smithplot(S_measuredBJT,1,1);
hold on;
smithplot(S_DUT,1,1)
hs.ColorOrder = [1 0 0; 0 0 1];
hs.LegendLabels = {'Measured S11','De-Embedded S11'};

Figure contains an axes object. The hidden axes object contains 2 objects of type line. These objects represent Measured S11 , De-Embedded S11 .

Plot Measured and De-Embedded S22 Parameters on Z Smith Chart

Use the smithplot function to plot the measured and de-embedded S22 parameters.

figure
hold off;
smithplot(S_measuredBJT,2,2)
hold on;
smithplot(S_DUT,2,2)
hs = smithplot('gco');
hs.ColorOrder = [1 0 0; 0 0 1];
hs.LegendLabels = {'Measured S22','De-Embedded S22'};

Figure contains an axes object. The hidden axes object contains 2 objects of type line. These objects represent Measured S22 , De-Embedded S22 .

Plot Measured and De-Embedded S21 Parameters in Decibels

Use the rfplot function to plot the measured and de-embedded S21 parameters.

figure
hold off;
h1 = rfplot(S_measuredBJT,2,1);
hold on;
h2 = rfplot(S_DUT,2,1);
legend([h1,h2],{'Measured S_{21}','De-Embedded S_{21}'});

Figure contains an axes object. The axes object with xlabel Frequency (GHz), ylabel Magnitude (dB) contains 2 objects of type line. These objects represent Measured S_{21}, De-Embedded S_{21}.

Related Topics