This page summaries the s-parameter file formats for all the S-parameters elements.
Optical 1xN S-Parameter
If the number of output port is 1:
(number of frequency points, number of columns) f1 abs(S21) angle(S21) f2 abs(S21) angle(S21) ...
If the number of output port is n1:
(number of frequency points, number of columns) f1 abs(S21) angle(S21) abs(S31) angle(S31) ... f2 abs(S21) angle(S21) abs(S31) angle(S31) ... ...
Example:
(100, 3) 1.930499499500e+014 0.000000000000e+000 0.000000000000e+000 1.930500500501e+014 0.000000000000e+000 0.000000000000e+000 ...
Optical S-Parameter
With the assumption that S11 = S12 = S22 = 0, the file format is defined as:
(number of frequency points, number of columns) f1 abs(S21) angle(S21) f2 abs(S21) angle(S21) ...
Example:
(100, 3) 1.930993993994e+014 0.0343 -177.66 1.930994994995e+014 0.0363 163.976 1.930995995996e+014 0.0382 146.411 ...
With the symmetric assumption that S11 = S22 and S12 = S21, the file format is defined as:
(number of frequency points, number of columns) f1 abs(S11) angle(S11) abs(S21) angle(S21) f2 abs(S11) angle(S11) abs(S21) angle(S21) ...
Example:
(100, 5) 1.930993993994e+014 0.2395 -67.032 0.0343-177.66 1.930994994995e+014 0.2311 -99.738 0.0363 163.976 1.930995995996e+014 0.2458 -128.81 0.0382 146.411 ...
With the asymmetric assumption, the file format is defined as:
(number of frequency points, number of columns) f1 abs(S11) angle(S11) abs(S21) angle(S21) abs(S12) angle(S12) abs(22) angle(S22) f2 abs(S11) angle(S11) abs(S21) angle(S21) abs(S12) angle(S12) abs(22) angle(S22) ...
Example:
(100, 9) 1.930993993994e+014 0.2395 -67.032 2.6142 -167.03 0.0343-177.66 0.4740 174.736 1.930994994995e+014 0.2311 -99.738 2.6225 176.761 0.0363 163.976 0.4436 160.487 1.930995995996e+014 0.2458 -128.81 2.6063 160.918 0.0382 146.411 0.4173 146.642 ...
Optical N Port S-Parameter
For the Optical N Port S-Parameter element with "type" = "transmission", three options for the file format are valid.
Option 1 (general):
("output port name","mode label",mode ID (out),"input port name",mode ID (in),"type") (number of frequency points, number of columns) f1 abs(S) angle(S) f2 abs(S) angle(S) ...
Example:
("port 2","TE",1,"port 1",1,"transmission") (2,3) 1.930000000000e+014 0.5 0 1.931000000000e+014 0.25 0 ("port 1","TE",1,"port 2",1,"transmission") (2,3) 1.930000000000e+014 0.5 0 1.931000000000e+014 0.25 0
Option 2 (with port location on symbol):
[number of ports on the left, number of ports on the right] ("output port name","mode label",mode ID (out),"input port name",mode ID (in),"type") (number of frequency points, number of columns) f1 abs(S) angle(S) f2 abs(S) angle(S) ...
Example:
[1,8] ("port 2","TE",1,"port 1",1,"transmission") (1000,3) 1.914892225559e+014 1.256111594090e-002 2.832955502242e+000 1.914924441108e+014 1.749553204769e-002 4.709502247438e+000 1.914956656657e+014 2.126308359542e-002 6.586048992443e+000 ...
Option 3: This option should be used when you want to define the port name and port position in the s-parameter file. If not specified, the port names will follow the order "port 1", "port 2" etc.
["port name","LEFT/RIGHT/TOP/BOTTOM"] ["port name","LEFT/RIGHT/TOP/BOTTOM"] ... ("output port name","mode label",mode ID (out),"input port name",mode ID (in),"type") (number of frequency points, number of columns) f1 abs(S) angle(S) f2 abs(S) angle(S) ...
Example:
["port 21","LEFT"] ["port 58","TOP"] ["port 59","TOP"] ["port 60","RIGHT"] ["port 61","RIGHT"] ["port 62","BOTTOM"] ["port 63","BOTTOM"] ["port 64","BOTTOM"] ["port 65","BOTTOM"] ("port 58","TE",1,"port 21",1,"transmission") (1000,3) 1.914892225559e+014 1.256111594090e-002 2.832955502242e+000 1.914924441108e+014 1.749553204769e-002 4.709502247438e+000 1.914956656657e+014 2.126308359542e-002 6.586048992443e+000 1.914988872206e+014 2.361326735324e-002 8.462595737535e+000 ...
An option is available to isolate the group delay, or linear, contribution to the phase. This makes it easier to keep track of intervals of \(2pi\) in the phase data for long structures, where the phase changes quickly as a function of frequency. The header requires the group delay value, evaluated at the center frequency of the S-parameter frequency data in units of seconds. The phase angle in the third column is the total phase angle minus the group delay phase change relative to the center frequency. If the group delay phase contribution is not removed from the total phase, the group delay will be double counted in the simulation. The group delay phase change for data point \(i\) is \(2 \pi \tau_g \times (f_i-f_c)\), where \(f_i\) is the frequency for data point \(i\), \(f_c=(f_1+f_N)/2\) is the center frequency, \(N\) is the number of frequency points and \(n_g\) is the group delay. The process for removing the group delay phase change is described in greater detail in this application example.
Group delay option (general):
("output port name","mode label",mode ID (out),"input port name",mode ID (in),"type", group delay (s)) (number of frequency points, number of columns) f1 abs(S) angle(S) f2 abs(S) angle(S) ...
Below are examples of S-parameter files for the same element, with and without the group delay option. Example (without group delay option):
("port 2","TE",1,"port 1",1,"transmission") (2,3) 1.930000000000e+014 0.5 0.132168 1.931000000000e+014 0.25 0.2 1.932000000000e+014 0.1 0.264832 ("port 3","TE",1,"port 1",1,"transmission”) (2,3) 1.930000000000e+014 0.45 0.105752 1.931000000000e+014 0.2 0.2 1.932000000000e+014 0.09 0.294248
Example with group delay option:
("port 2","TE",1,"port 1",1,"transmission",1e-13) (2,3) 1.930000000000e+014 0.5 0.195 1.931000000000e+014 0.25 0.2 1.932000000000e+014 0.1 0.202 ("port 3","TE",1,"port 1",1,"transmission",1.5e-13) (2,3) 1.930000000000e+014 0.45 0.2 1.931000000000e+014 0.2 0.2 1.932000000000e+014 0.09 0.2
Another option is available to sweep the s-parameter file. This makes it faster to load the right interpolated s-parameter to the element than using the lookup-table option because it eliminates the file loading process.
S-Parameter file sweep option (the group delay values are optional):
("output port name","mode label",mode ID (out),"input port name",mode ID (in),"type", "sweep parameters")
(number of frequency points, number of columns)
sweep_param_1 sweep_param_2 ... sweep_param_N f1 abs(S) angle(S) group_delay(s)
sweep_param_1 sweep_param_2 ... sweep_param_N f2 abs(S) angle(S) group_delay(s)
...
Example:
("port 1","TE",1,"port 1",1,"transmission","radius;Lc;gap") (45,6) 3e-06 0 2.1e-07 2.262580000000e+014 1.034036580296e-002 -2.629253819969e+000 3e-06 0 2.1e-07 2.275690000000e+014 9.716591457652e-003 -2.734774978072e+000 3e-06 0 2.1e-07 2.288790000000e+014 6.884340821788e-003 -2.838683842048e+000 3e-06 0 2.1e-07 2.301900000000e+014 2.621195591567e-003 -3.190123401478e+000 ...
To further fasten the s-parameter file sweep process, user can use the convertnportsparametersweep command to convert the s-parameter sweep file from .txt format to a binary format (.idat).
User can also use the readnportsparameterat command to generate the interpolated s-parameter from the s-parameter sweep file based on given parameters and then assign it to the s-parameter element.
For the Optical N Port S-Parameter element with "type" = "modulation", the file format is shown below. This format is used when the s parameter is temperature dependent.
("output port name","mode label",mode ID (out),"input port name",mode ID (in),"modulation") (1,N) T1, T2, ..., TN (number of frequency points, 2*N+1) f1 abs(S1) angle(S1) abs(S2) angle(S2) ... abs(SN) angle(SN) f2 abs(S1) angle(S1) abs(S2) angle(S2) ... abs(SN) angle(SN) ...
Example:
("port 2","TE",1,"port 1",1,"modulation") (1,5) 300 310 320 330 340 (4,11) 190e12 1 0 2 0 3 0 4 0 5 0 191e12 2 0 3 0 4 0 5 0 6 0 192e12 2 0 3 0 4 0 5 0 6 0 193e12 1 0 2 0 3 0 4 0 5 0
Please note that only the "mode label" for the output port needs to be defined in the s-parameter file. That is because this "mode label" will be used to display the result in the analyzers. The "mode label" for the input port is defined in the sources or the Optical Network Analyzer (ONA) so there is no need to specify it in the file.
Optical N Port Propagation Parameter
For the Optical N Port Propagation Parameter element with "type" = "propagation", the file format is defined as:
("output port name","mode label",mode ID (out),"input port name",mode ID (in),"type")
(number of frequency points, number of columns)
f1 absorption(dB/m) effective_index group_velocity(m/s) dispersion(s/m/m)
f2 absorption(dB/m) effective_index group_velocity(m/s) dispersion(s/m/m)
...
Example:
("port 2","TE",1,"port 1",1,"propagation") (11,5) 1.99862e+014 11 2.41915 6.86158e+007 0.00354274 1.98538e+014 11 2.40685 6.84575e+007 0.00360669 1.97232e+014 11 2.39434 6.82949e+007 0.00367349 1.95943e+014 11 2.38159 6.8128e+007 0.00374186 1.9467e+014 11 2.36824 6.66003e+007 0.00355599 1.93414e+014 11 2.35444 6.64425e+007 0.003631 1.92175e+014 11 2.3404 6.628e+007 0.00370856 1.90951e+014 11 2.32609 6.61127e+007 0.00378756 1.89742e+014 11 2.31152 6.59405e+007 0.00386799 1.88549e+014 11 2.29668 6.57633e+007 0.00394979 1.8737e+014 11 2.28156 6.60182e+007 -1.25849 ...
Optical Time Variant S-Parameter
For the Optical Time Variant S-Parameter element with "type" = "modulation" and control input signal a, the file format is defined as:
("output port name", "mode label", mode ID (out), "input port name", mode ID (in), "type") (1, N) a1, a2, ..., aN (number of frequency points, 2*N+1) f1 abs(S1) angle(S1) abs(S2) angle(S2) ... abs(SN) angle(SN) f2 abs(S1) angle(S1) abs(S2) angle(S2) ... abs(SN) angle(SN) ...
Example:
("port 2","TE",1,"port 1",1,"modulation") (1,4) 0 1 2 3 (100,9) 1.8737e+014 0.358939 0 0.262529 0 0.21375 0 0.178477 0 1.87337e+014 0.365911 0 0.266829 0 0.216921 0 0.18074 0 1.87304e+014 0.371775 0 0.270379 0 0.219471 0 0.182559 0 1.87271e+014 0.377419 0 0.274211 0 0.222241 0 0.185016 0 1.87238e+014 0.383116 0 0.278072 0 0.225026 0 0.187398 0 1.87205e+014 0.3919 0 0.28371 0 0.228829 0 0.189248 0 1.87172e+014 0.395963 0 0.285815 0 0.229787 0 0.189598 0 1.87139e+014 0.400228 0 0.288419 0 0.231747 0 0.191533 0 1.87106e+014 0.404915 0 0.291671 0 0.23429 0 0.193674 0 1.87073e+014 0.410258 0 0.295411 0 0.237279 0 0.196334 0 1.8704e+014 0.41591 0 0.299451 0 0.240547 0 0.199144 0 ...
Optical Nonlinear S-Parameter
The Optical Nonlinear S-Parameter element only works for 2 port (1 by 1) element at this stage, and with "type" = "transmission", the file format is defined as: \( voltage_1 \)
("output port name","mode label",mode ID (out),"input port name",mode ID (in),"type","voltage;Pport1mode1;Pport1mode2;Pport2mode1;Pport2mode2") (number of frequency points, 8) voltage1 Pport1mode1 Pport1mode2 Pport2mode1 Pport2mode2 f1 abs(s) angle(S) voltage1 Pport1mode1 Pport1mode2 Pport2mode1 Pport2mode2 f2 abs(s) angle(S) ... voltage1 Pport1mode1 Pport1mode2 Pport2mode1 Pport2mode2 fN abs(s) angle(S) voltage2 Pport1mode1 Pport1mode2 Pport2mode1 Pport2mode2 f1 abs(s) angle(S) voltage2 Pport1mode1 Pport1mode2 Pport2mode1 Pport2mode2 f2 abs(s) angle(S) ... voltage2 Pport1mode1 Pport1mode2 Pport2mode1 Pport2mode2 fN abs(s) angle(S) ... ... ... voltageM Pport1mode1 Pport1mode2 Pport2mode1 Pport2mode2 fN abs(s) angle(S)
The optical powers for port1 mode1, port1 mode2, port2 mode1 and port2 mode2 need to be defined in this specific order.
Example:
("port 2","TE",1,"port 1",1,"transmission","voltage;port1mode1;port1mode2;port2mode1;port2mode2") (240,8) 0 0 0 0 0 2.06753e+014 0 0 0 0 0 0 0 2.04986e+014 0 0 0 0 0 0 0 2.03249e+014 0 0 0 0 0 0 0 2.01541e+014 0 0 0 0 0.00483197 0 0 2.06753e+014 0.970792 0 0 0 0.00483197 0 0 2.04986e+014 0.970792 0 0 0 0.00483197 0 0 2.03249e+014 0.970792 0 0 0 0.00483197 0 0 2.01541e+014 0.970792 0 -2 0 0 0 0 2.06753e+014 0 0 -2 0 0 0 0 2.04986e+014 0 0 -2 0 0 0 0 2.03249e+014 0 0 -2 0 0 0 0 2.01541e+014 0 0 -2 0 0.00483197 0 0 2.06753e+014 0.968229 0 -2 0 0.00483197 0 0 2.04986e+014 0.968229 0 -2 0 0.00483197 0 0 2.03249e+014 0.968229 0 -2 0 0.00483197 0 0 2.01541e+014 0.968229 0 ...
Electrical N Port S-Parameter
The file format follows the standard Touchstone file format. User can choose between "magnitude angle" file format and "real imaginary and dB angle" file format.
The following example is a magnitude angle file format for a 4-port element:
#magnitude angle <FREQ> |S11| <S11 |S12| <S12 |S13| <S13 |S14| <S14 |S21| <S21 |S22| <S22 |S23| <S23 |S24| <S24 |S31| <S31 |S32| <S32 |S33| <S33 |S34| <S34 |S41| <S41 |S42| <S42 |S43| <S43 |S44| <S44
The following example is a real imaginary and dB angle file format for a 2 port element:
#Real Imaginary <FREQ> Re{S11} Im{S11} Re{S21} Im{S21} Re{S12} Im{S12} Re{S22} Im{S22} #dB Angle <FREQ> 20log10|S11| <S11 20log10|S21| <S21 20log10|S12| <S12 20log10|S22| <S22
The option line is required at the beginning of the file to specify the format of the data in the file. The option line starts with a "#" and has the format of:
#<FREQ_UNITS> <TYPE> <FORMAT> <Rn>
where
<FREQ_UNITS> = units of frequency data (options are Hz, KHz, MHz and GHz) <TYPE> = type of file data <FORMAT> = S-parameter format (options are: DB for dB-angle, MA for magnitude-angle, RI for real-imaginary) <Rn> = reference resistance in ohms, n is a positive number
Electrical Time Variant S-Parameter
The file format is shown below:
("output port name", "input port name", "modulation") (1, N) a1, a2, ..., aN (number of frequency points, 2*N+1) f1 abs(S1) angle(S1) abs(S2) angle(S2) ... abs(SN) angle(SN) f2 abs(S1) angle(S1) abs(S2) angle(S2) ... abs(SN) angle(SN) ...
where a1, a2, ..., aN are the modulation signal levels.
Example:
("port 2","port 1","modulation") (1,5) 0 1 2 3 4 (201,11) 0 1 0 1 0 1 0 1 0 1 0 1e+008 0.993992 0 0.994991 0 0.996998 0 0.997996 0 0.998994 0 2e+008 0.987972 0 0.989968 0 0.993992 0 0.995985 0 0.997977 0 3e+008 0.981944 0 0.984937 0 0.990985 0 0.99397 0 0.996955 0 4e+008 0.975915 0 0.979904 0 0.987977 0 0.991954 0 0.995931 0 5e+008 0.969889 0 0.974874 0 0.98497 0 0.98994 0 0.99491 0 6e+008 0.963873 0 0.969855 0 0.981965 0 0.987931 0 0.993896 0 7e+008 0.95787 0 0.964852 0 0.978965 0 0.985929 0 0.992894 0 ...