In this example, we will be using the Optical N Port S-Parameter element to mimic the complex transmission transfer function of a waveguide to demonstrate the problems that may arise for under sampled S-parameters, as well as the method used to rectify the situation.
When using the Optical N Port S-Parameter element in INTERCONNECT to simulate physically long elements, it is very often the case that the phase of the S-parameters changes quickly as a function of frequency but does so largely in a linear manner. A rapid variation of the phase as a function of frequency requires sufficiently fine spectral sampling of the S-parameter data to prevent phase changes of greater than \(2 \pi\) between adjacent samples. One stark consequence of spectral under sampling of the data provided to the Optical N Port S-Parameter element is that the group delay is modeled incorrectly. Since the S-parameter data is often obtained by running component-level simulations, the requirement of fine spectral sampling may add computational expense resulting in long simulation times.
When the large variation in the phase (\(>2 \pi\)) over the desired simulation bandwidth is mainly due to the linear contribution of the group delay (\(\phi_g=2 \pi f \tau_g\)), an alternative to fine spectral sampling is to use the group delay option in the header of the S-Parameter data file, where the group delay at the center frequency of the data is specified. In this case, the phase data in the file must be modified to remove the contribution that is linear with frequency, i.e. the group delay contribution. If this linear contribution is not removed, the group delay will be double counted in the simulation. A method for generating an S-parameter file with the group delay option is outlined in this example.
Figure 1 shows the simulation set-up of the INTERCONNECT project file waveguide_spar.icp.
Here Optical N Port S-Parameter (SPAR) elements capture the complex transmission of a 100 micron long straight waveguide with an effective index of 3, group index of 4, dispersion of 0 s/m^2 and a loss of 0 dB/m. The S-parameter data files were generated using three different methods:
- The S-parameter data file for SPAR_1 (wg_spar_finely_sampled.dat) is generated from a component-level simulation of the waveguide. The raw phase data is modulo \(2 \pi\), so that it’s always between 0 and \(2 \pi\), as shown by the blue line in Figure 2. When the S-parameter data file is generated, the phase is unwrapped (using the unwrap function) to give the phase without discontinuities of \(2 \pi\), before getting loaded into the data file. The unwrapped phase is shown as the blue line in Figure 3. In this case, the data is finely sampled as a function of frequency such that the phase difference between adjacent data points is much less than \(2 \pi\), and the unwrapped phase represents the true propagation phase.
- The S-parameter data file for SPAR_2 (wg_spar_coarsely_sampled.dat) is generated from the same component-level simulation of the waveguide, as described above. However, in this case, the raw phase data is coarsely sampled as a function of frequency such that the true phase difference between adjacent data points is sometimes greater than \(2 \pi\), as shown as the green line in Figure 2. In this case, the unwrapped phase that enters the S-parameter data file is incorrect and does not properly represent the propagation phase. The unwrapped phase is shown as the green line in Figure 3.
- The S-parameter data file for SPAR_3 (wg_spar_coarsely_sampled_GD.dat) uses the group delay option to remedy the phase issue described for SPAR_2. Here the group delay is defined in the header. If you open the file you’ll see the first header:
("port 2","TE",1,"port 1",1,"transmission",1.334256380792441e-012)Here 1.334256380792441e-012 is the group delay value evaluated at the center frequency of the S-parameter data file (\(f_c\) = 193.1 THz in this case). This value was found using an analytical calculation for the group delay, \(\tau_g =Ln_g/c\), where \(L\) is the length of the waveguide, \(n_g\) is the group index and \(c\) is the speed of light. The phase values in the data file are calculated following the steps outlined below. Note: you can generate wg_spar_coarsely_sampled_GD.dat by downloading wg_coarsely_sampled.dat and running the script file wg_spar_coarsely_sampled_GD.lsf.The raw
- phase extracted from the coarsely sampled component-level simulation is read from wg_coarsely_sampled.dat. See the blue line in Figure 4 for a plot of the raw phase.
- The linear contribution to the phase (due to the group delay) relative to the center frequency of the simulation, \(2 \pi \tau_g (f-f_c)\), is subtracted from the raw phase data. See the green line in Figure 4 for a plot of the resulting phase.
- The modulo \(2 \pi\) is taken of the resulting phase in b. See the red line in Figure 4 for a plot of the resulting phase.
- The resulting angle in c is unwrapped. This phase data, phase_GD, is saved in the S-parameter data file. See the pink line in Figure 4 for a plot of the raw phase.
- Open waveguide_spar.icp in INTERCONNECT and run the simulation.
- Plot the group delays of the three circuits in the same visualizer.
- Optional: Open the S-parameter data files in a text editor and examine their format.
- Optional: Download wg_spar_coarsely_sampled_GD.lsf and wg_coarsely_sampled.dat into the same folder. Run the wg_spar_coarsely_sampled_GD.lsf script to generate the wg_spar_coarsely_sampled_GD.dat data file.
Results and discussion
The group delay results for the three S-parameter element circuits are plotted in Figure 5. The group delays for SPAR_1 and SPAR_3 agree with what you expect from the analytical calculation, while that for SPAR_2 doesn’t. This shows that it is possible to obtain accurate results by using S-parameter files with a) finely sampled data or b) coarsely sampled data and the group delay option.
A key step in preparing the data file loaded in SPAR_3, was calculating the group delay at the center frequency of the S-parameter data. In this example, it was calculated analytically. For more complex structures, it may not be possible to analytically calculate the group delay. Another possible method for estimating the group delay is to extract it from two component level simulations evaluated at frequencies closely spaced around the center frequency, such that the true propagation phase varies by much less than \(2 \pi\). In this case, the group delay is estimated as \(\tau_g = \bigtriangleup \phi /(2 \pi \bigtriangleup f)\).