This example shows how to write out the data in rfckt
objects you create in the MATLAB® workspace into an industry-standard data file: Touchstone®. You can use these files in third-party tools.
This simple example shows how to create and analyze an RLCG transmission line object. It then shows how to write the analyzed result into a Touchstone file, read it back in, and compare the file data to the original result.
Create an rfckt.rlcgline
object to represent an RLCG transmission line. Create variables to represent the transmission line parameters and use the set
method to update the rfckt.rlcgline
object to use these values.
ckt1 = rfckt.rlcgline; R = 0.002; % ohm/m G = 0.002; % S/m mu_0 = pi*4e-7; % H/m L = mu_0; % H/m c = 299792458; % m/s epsilon_0 = 1/(mu_0*c^2); % F/m C = epsilon_0; % F/m linelen = 10; % m Z_vacuum = sqrt(mu_0/epsilon_0); % ohms ckt1.R = R; ckt1.G = G; ckt1.L = L; ckt1.C = C; ckt1.LineLength = linelen;
Make a copy of the first rfckt
object. Then change the capacitance of the new object to introduce mismatch that will appear as a finite reflection coefficient on the Smith chart.
ckt2 = copy(ckt1)
ckt2 = rfckt.rlcgline with properties: Freq: 1.0000e+09 R: 0.0020 L: 1.2566e-06 C: 8.8542e-12 G: 0.0020 IntpType: 'Linear' LineLength: 10 StubMode: 'NotAStub' Termination: 'NotApplicable' nPort: 2 AnalyzedResult: [] Name: 'RLCG Transmission Line'
ckt2.C = 0.5*ckt1.C;
Create an rfckt.cascade
object that cascades the two transmission lines together.
ckt3 = rfckt.cascade('Ckts',{ckt1,ckt2});
Use the analyze
method of the rfckt.cascade
object to analyze the cascade in the frequency domain. Then, use the smithplot
method to plot the object's S11
on a Smith chart.
freq = logspace(0,8,20); analyze(ckt3,freq); figure smithplot(ckt3,[1,1],'LegendLabels','S11 Original');
Use the rfwrite
function to write the data to a file.
workingdir = tempname; mkdir(workingdir) filename = fullfile(workingdir,'myrlcg.s2p'); if exist(filename,'file') delete(filename) end filedata = ckt3.AnalyzedResult.S_Parameters; rfwrite(filedata,freq,filename)
Use the type
function to display the contents of the .s2p
file in the MATLAB command window to see the Touchstone file format.
type(filename)
# GHz S MA R 50 1.000000000000000e-09 4.9956688299520730e-01 1.7999980458876163e+02 4.9963354343955202e-01 -1.6640558205811934e-04 4.9963354343955202e-01 -1.6640558205811902e-04 4.9956688299521823e-01 1.7999980458844280e+02 2.636650898730358e-09 4.9956688299243801e-01 1.7999948476878276e+02 4.9963354343260874e-01 -4.3875342748465255e-04 4.9963354343260874e-01 -4.3875342748465299e-04 4.9956688299251434e-01 1.7999948476794214e+02 6.951927961775606e-09 4.9956688297319013e-01 1.7999864151514811e+02 4.9963354338433580e-01 -1.1568396188433882e-03 4.9963354338433602e-01 -1.1568396188433902e-03 4.9956688297372076e-01 1.7999864151293158e+02 1.832980710832436e-08 4.9956688283937206e-01 1.7999641814969570e+02 4.9963354304875479e-01 -3.0501822197363916e-03 4.9963354304875479e-01 -3.0501822197363908e-03 4.9956688284306039e-01 1.7999641814385149e+02 4.832930238571753e-08 4.9956688190907761e-01 1.7999055591120035e+02 4.9963354071582089e-01 -8.0422656731208870e-03 4.9963354071582100e-01 -8.0422656731208905e-03 4.9956688193471843e-01 1.7999055589579137e+02 1.274274985703133e-07 4.9956687544174538e-01 1.7997509923522475e+02 4.9963352449742515e-01 -2.1204646687655957e-02 4.9963352449742515e-01 -2.1204646687656002e-02 4.9956687561999880e-01 1.7997509919459898e+02 3.359818286283781e-07 4.9956683048132772e-01 1.7993434538435341e+02 4.9963341174836157e-01 -5.5909244749526403e-02 4.9963341174836151e-01 -5.5909244749526417e-02 4.9956683172053190e-01 1.7993434527727968e+02 8.858667904100824e-07 4.9956651792079754e-01 1.7982689184853271e+02 4.9963262792700741e-01 -1.4741305049577125e-01 4.9963262792700697e-01 -1.4741305049577147e-01 4.9956652653563866e-01 1.7982689156699070e+02 2.335721469090122e-06 4.9956434507311936e-01 1.7954357698415038e+02 4.9962717895522329e-01 -3.8867473728393093e-01 4.9962717895522341e-01 -3.8867473728393043e-01 4.9956440496207738e-01 1.7954357625600892e+02 6.158482110660261e-06 4.9954924203836615e-01 1.7879662219796427e+02 4.9958930282204372e-01 -1.0247626683562452e+00 4.9958930282204383e-01 -1.0247626683562454e+00 4.9954965834354320e-01 1.7879662053812120e+02 1.623776739188721e-05 4.9944436490450694e-01 1.7682803522724353e+02 4.9932621885777728e-01 -2.7012650168069037e+00 4.9932621885777739e-01 -2.7012650168069023e+00 4.9944725716695926e-01 1.7682803561343289e+02 4.281332398719396e-05 4.9872093087973968e-01 1.7165347141326552e+02 4.9750823089356755e-01 -7.1099543855329870e+00 4.9750823089356744e-01 -7.1099543855329834e+00 4.9874094831180454e-01 1.7165355930454223e+02 1.128837891684688e-04 4.9395192774857949e-01 1.5829285403785633e+02 4.8537498738050983e-01 -1.8527617133746109e+01 4.8537498738050966e-01 -1.8527617133746105e+01 4.9408695423932697e-01 1.5829462565930422e+02 2.976351441631320e-04 4.7005276175625949e-01 1.2736060374891665e+02 4.1944100749863295e-01 -4.5568428419474273e+01 4.1944100749863278e-01 -4.5568428419474301e+01 4.7083855558191262e-01 1.2738801395821361e+02 7.847599703514606e-04 4.3246964060503451e-01 8.0964046625780895e+01 2.4583660567079157e-01 -9.3582775189553644e+01 2.4583660567079157e-01 -9.3582775189553686e+01 4.3540960369119625e-01 8.1178776658663935e+01 2.069138081114790e-03 4.8456534514674954e-01 4.7259771019756514e+01 8.6002402769753919e-02 -1.6278818625706072e+02 8.6002402769753614e-02 -1.6278818625705992e+02 4.9196758351450026e-01 4.7787861008000988e+01 5.455594781168516e-03 6.0419813636585018e-01 2.6872620020357260e+01 1.6637174822162825e-02 8.7039349152634500e+01 1.6637174822162825e-02 8.7039349152634500e+01 6.1766382847138612e-01 2.7689212173598698e+01 1.438449888287663e-02 6.9842374918749306e-01 1.4365722237145548e+01 1.8280441246750511e-03 -1.1221107334109674e+02 1.8280441246684008e-03 -1.1221107334108370e+02 7.2277371883520825e-01 1.5713306512214587e+01 3.792690190732246e-02 7.4788451928626032e-01 6.7469821304155451e+00 2.0574647544194854e-04 1.5947439599551970e+02 2.0574647534614038e-04 1.5947439599551970e+02 7.9041650399708774e-01 8.2310537700086570e+00 1.000000000000000e-01 7.6256263726735674e-01 2.7440654158858386e+00 6.0006898721147904e-05 3.1994461726741314e+01 6.0006898749090796e-05 3.1994461833463021e+01 8.1978106471099599e-01 3.6949462491260925e+00
Read the data from the file myrlcg.s2p
into a new rfckt
object and plot S11
on a Smith chart. Visually compare this Smith chart to the previous one to see that the data is the same.
ckt4 = read(rfckt.passive,filename); figure smithplot(ckt4,[1,1],'LegendLabels','S11 from S2P');