De-embedding S-parameters
The S-parameter data in the file "samplebjt2.s2p" was collected from a bipolar transistor in a fixture with a bond wire (series inductance 1nH) connected to a bond pad (shunt capacitance 100fF) on the input, and a bond pad (shunt capacitance 100fF) connected to a bond wire (series inductance 1nH) on the output.
This example shows how you can remove the effect of the fixture and extract the S-parameters of the device under test itself.
Contents
Create RF objects
Create a data object for the measured S-parameters, by reading a Touchstone data file 'samplebjt2.s2p', and create two circuit objects for the input pad and output pad.
measured_data = read(rfdata.data, 'samplebjt2.s2p'); input_pad = rfckt.cascade('Ckts', {rfckt.seriesrlc('L', 1e-9), ... rfckt.shuntrlc('C', 100e-15)}); % L = 1nH, C = 100fF output_pad = rfckt.cascade('Ckts', {rfckt.shuntrlc('C', 100e-15),... rfckt.seriesrlc('L', 1e-9)}); % L = 1nH, C = 100fF
Analyze the circuit objects in frequency domain
Analyze the input pad and output pad circuit objects at the same frequencies at which the S-parameters of the bjt were measured.
freq = measured_data.Freq; analyze(input_pad, freq); analyze(output_pad, freq);
De-embed the S-parameters
De-embed the S-parameters from the measured S-parameters by removing the effects of input and output pads. Create a data object for plotting the de-embedded S-parameters.
z0 = measured_data.Z0; input_pad_sparams = extract(input_pad.RFdata, 'S_Parameters', z0); output_pad_sparams = extract(output_pad.RFdata, 'S_Parameters', z0); de_embedded_sparams = deembedsparams(measured_data.S_Parameters, ... input_pad_sparams, output_pad_sparams); de_embedded_data = rfdata.data('Z0', z0, 'S_Parameters', ... de_embedded_sparams, 'Freq', freq);
Plot both measured and de-embedded S11 on a Z Smith chart
hold off; h = smith(measured_data, 'S11'); set(h, 'Color', [1 0 0]); hold on; h = smith(de_embedded_data, 'S11'); set(h, 'Color', [0 0 1]); l = legend; legend(l, {'Measured S_{11}', 'De-embedded S_{11}'}); legend show;
Plot both measured and de-embedded S22 on a Z Smith chart
hold off; h = smith(measured_data, 'S22'); set(h, 'Color', [1 0 0]); hold on; h = smith(de_embedded_data, 'S22'); set(h, 'Color', [0 0 1]); l = legend; legend(l, {'Measured S_{22}', 'De-embedded S_{22}'}); legend show;
Plot the measured and de-embedded S21, in dB, on an X-Y plane
hold off; h = plot(measured_data, 'S21', 'db'); set(h, 'Color', [1 0 0]); hold on; h = plot(de_embedded_data, 'S21', 'db'); set(h, 'Color', [0 0 1]); l = legend; legend(l, {'Measured S_{21}', 'De-embedded S_{21}'}); legend show; hold off;