Performs scattering data or impulse response analysis to calculate the overall circuit under test performance
Keywords
analyzer, optical, unidirectional, bidirectional
Ports
| Name | Type |
|---|---|
| output | Optical Signal |
| input 1 | Optical Signal |
Properties
General Properties
| Name | Default value | Default unit | Range |
|---|---|---|---|
|
name Defines the name of the element. |
Optical Network Analyzer | - | - |
|
annotate Defines whether or not to display annotations on the schematic editor. |
true | - | [true, false] |
|
enabled Defines whether or not the element is enabled. |
true | - | [true, false] |
|
type Defines the element unique type (read only). |
Optical Network Analyzer | - | - |
|
description A brief description of the elements functionality. |
Performs scattering data or impulse response analysis to calculate the overall circuit under test performance | - | - |
|
prefix Defines the element name prefix. |
ONA | - | - |
|
model Defines the element model name. |
- | - | - |
|
library Defines the element location or source in the library (custom or design kit). |
- | - | - |
|
local path Defines the local path or working folder $LOCAL for the element. |
- | - | - |
|
url An optional URL address pointing to the element online help. |
- | - | - |
Standard Properties
| Name | Default value | Default unit | Range |
|---|---|---|---|
|
number of input ports Defines the number of input ports for the element. |
1 | - | [1, +∞) |
|
power The average output power. |
0 |
dBm* *std. unit is W |
(-∞, +∞) |
|
excitation The excitation output power. |
0 | W | [0, +∞) |
|
input parameter Determines how the frequency range of the analysis is defined. |
center and range | - | [center and range, start and stop |
|
center frequency Central frequency of operation. |
193.1 |
THz* *std. unit is Hz |
(0, +∞) |
|
frequency range The frequency range (bandwidth) of the analysis. |
100 |
GHz* *std. unit is Hz |
(0, +∞) |
|
start frequency The lower frequency limit of the analysis. |
193.05 |
THz* *std. unit is Hz |
(0, +∞) |
|
stop frequency The upper frequency limit of the analysis. |
193.15 |
THz* *std. unit is Hz |
(0, +∞) |
|
number of points The number of samples points of the output signal. |
1000 | - | [2, +∞) |
|
plot kind This option allow users to choose to plot in units of frequency or wavelength. |
wavelength | - | [frequency, wavelength |
|
angle unit Defines the angle unit to plot the results. |
rad | - | [rad, deg |
|
relative to center Defines whether or not to center the plots at zero frequency or wavelength. |
false | - | [true, false] |
|
delay The time delay to apply to the output signal. |
0 | s | [0, +∞) |
|
limit time range Enables setting the time range( start/stop) of the analysis. |
false | - | [true, false] |
|
start time Time instant to start the signal analysis. |
1 | s | [0, +∞) |
|
stop time Time instant to stop the signal analysis. |
1 | s | [0, +∞) |
Waveguide Properties
| Name | Default value | Default unit | Range |
|---|---|---|---|
|
orthogonal identifier The identifier used to track an orthogonal mode of an optical waveguide. For most waveguide, two orthogonal identifiers '1' and '2' are available (with the default labels 'TE' and 'TM' respectively). |
1 | - | [1, +∞) |
|
label The label corresponding to the orthogonal identifier. |
X | - | - |
Enhanced Properties
| Name | Default value | Default unit | Range |
|---|---|---|---|
|
peak analysis This option allows users to select the type of peak analysis to perform. |
multiple | - | [disable, single, multiple, center, fixed |
|
number of peaks The number of peaks for analysis, values are truncated or inserted to make sure the number of peaks is constant. |
10 | - | [2, +∞) |
|
peak at maximum Defines whether or not to search for peaks located at minimum (false) or maximum values (true) |
true | - | [true, false] |
|
peak threshold Signal power must be greater than the power established by the peak threshold limit. The peak threshold limit is set by subtracting the peak threshold value from the power of the largest signal peak value. |
10 | dB | [0, +∞) |
|
peak excursion The peak excursion defines the rise and fall in amplitude that must take place in order for a peak to be recognized. |
3 | dB | [0, +∞) |
|
pit excursion The pit excursion value is used to determine whether or not a local minimum in the signal is to be considered a pit. |
7 | dB | [0, +∞) |
|
fwhm excursion The fwhm excursion defines the rise and fall in amplitude that must take place whdn calculating bandwidth values. |
3 | dB | [0, +∞) |
|
minimum amplitude The minimum detectable amplitude (real and imag) value. |
1e-015 | - | [0, +∞) |
|
minimum loss The minimum detectable transmission loss level. |
200 | dB | [0, +∞) |
|
minimum angle The minimum detectable angle value. |
0.1 |
urad* *std. unit is rad |
[0, +∞) |
|
sensitivity The minimum detectable signal power level. |
-100 |
dBm* *std. unit is W |
(-∞, +∞) |
|
calculate dispersion slope Defines whether or not to calculate dispersion slope. |
false | - | [true, false] |
|
data export Defines whether or not to export the calculated s-parameter to a file. |
disable | - | [disable, table, s parameters |
|
filename The name of the file for writing the output data (destination). |
sparameters.dat | - | - |
|
single mode Defines whether or not to export only modes that match the analyzer output mode. |
true | - | [true, false] |
|
append Defines whether or not to append data to an existing file. |
false | - | [true, false] |
Numerical Properties
| Name | Default value | Default unit | Range |
|---|---|---|---|
|
analysis type Defines the type of analysis to be performed by the element. |
scattering data | - | [scattering data, impulse response |
|
maximum number of iterations This determines the maximum number of iterations required until each element calculate its s-parameter. |
1000 | - | (0, +∞) |
|
stop on convergence Defines whether or not to stop when elements finished calculating their s-parameters or run until 'maximum number of iterations' is reached. |
false | - | [true, false] |
|
multithreading The number of threads to be used in the calculation. If 'automatic', the number of processor cores will be used. |
user defined | - | [automatic, user defined |
|
number of threads The user defined number of threads to be used in the calculation. |
4 | - | [1, +∞) |
Simulation Properties
| Name | Default value | Default unit | Range |
|---|---|---|---|
|
output signal mode The output signal mode. |
sample | - | [sample, block |
|
number of output signals The number of simulation runs, or the number of generated signals. |
1 | - | [1, +∞) |
|
input signal selection Input signal selection option. |
last | - | [last, index |
|
input signal index The signal index to analyzed. |
1 | - | [1, +∞) |
|
include delays Defines whether inserted delays should be included as part of the signal or not. |
false | - | [true, false] |
Results
| Name | Description |
|---|---|
| input #/mode #/transmission | The complex transmission vs. frequency corresponding to the input optical mode. |
| input #/mode #/angle | The angle vs. frequency corresponding to the input optical mode. |
| input #/mode #/group delay | The group delay vs. frequency corresponding to the input optical mode. |
| input #/mode #/group velocity | The normalized group velocity vs. frequency corresponding to the input optical mode. |
| input #/mode #/dispersion | The normalized dispersion vs. frequency corresponding to the input optical mode. |
| input #/mode #/dispersion slope | The normalized dispersion slope vs. frequency corresponding to the input optical mode. |
| input #/mode #/loss | The loss vs. frequency corresponding to the input optical mode. |
| input #/mode #/gain | The gain vs. frequency corresponding to the input optical mode. |
| input #/mode #/peak/transmission | The complex transmission vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/angle | The angle vs. peak frequency corresponding to the input optical mode.Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/group delay | The group delay vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/group velocity | The normalized group velocity vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/dispersion | The normalized dispersion vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/dispersion slope | The normalized dispersion slope vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/loss | The loss vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/gain | The gain vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/bandwidth | The bandwidth vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/free spectral range | The free spectral range vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/quality factor | The quality factor vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/finesse | The finesse vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/mode #/peak/extinction ratio | The extinction ratio vs. peak frequency corresponding to the input optical mode. Where peak frequency is the location of the detected peaks. |
| input #/peak/frequency | The peak frequency corresponding to the input port. Where peak frequency is the location of the detected peaks. |
====================================
Implementation Details
The Optical Network Analyzer (ONA) is used to calculate the S-parameters of optical circuits in INTERCONNECT. The S-parameters are calculated for the optical circuit from the port connected to the output of the ONA to all of the ports connected to input ports of the ONA. The S-parameter results are returned as the transmission result of the ONA, along with various other results calculated from the S-parameters.
ONA Spectrum
The ONA will calculate the S-parameters at a discrete set of frequencies.
If the input parameter property of the ONA is set to start and stop, the ONA calculates the frequency spacing \(\Delta f\) using the frequency start \(f_{start}\), frequency stop \(f_{stop}\), and number of points \(N\) properties as follows:
$$\Delta f = \frac{|f_{stop} - f_{start}|}{N}$$
The frequency points \(f_n\) are then generated as:
$$f_n = f_{start} + n\Delta f$$
for \(n = 0 ... N−1\).
If input parameter is set to center and range, the ONA calculates the frequency spacing \(\Delta f\) from the frequency range \(f_{range}\) and number of points \(N\) properties:
$$\Delta f = \frac{f_{range}}{N}$$
The first frequency point is then calculated using and the center frequency :
$$f_0=f_{center}-floor(N/2) \Delta f$$
The rest of the points are then calculated:
$$f_n=f_0+n\Delta f$$
for \(n = 1 ... N−1\).
These frequency spectrum definitions produce results that may be unexpected. For example, the last frequency in the start and stop case will not be equal to \(f_stop\). The difference between the first and last frequencies in the center and range case will not be equal to the frequency range. This is done for consistency with the definition of bandwidth of the discrete Fourier transform, which is used throughout INTERCONNECT:
$$\Delta f = 1/ Time Window = Sample Rate / N = Frequency Range / 2$$
Note that the frequency points are evenly spaced in frequency, means that they will not be evenly spaced in wavelength, as wavelength and frequency are inversely proportional.
ONA Analysis Method
The analysis method used by the ONA to calculate the optical S-parameters is selected by the analysis type property of the ONA. There are two possible analysis types: scattering data and impulse response.
Scattering Data Analysis Type
If the analysis type property is set to scattering data the ONA will use the S-parameter solver to calculate the S-parameter results.
Some elements, like nonlinear optical elements and elements with electrical input ports, have optical S-parameters that depend on their input signals. To account for this, when using the scattering data analysis type, the ONA will run an initial transient simulation to determine the steady state optical and electrical signals. The ONA’s output port acts as the optical source for this simulation. It outputs a constant optical signal with power determined by the ONA’s excitation property.
This transient simulation will run with a sample rate equal to the frequency range of the ONA. It will run for a number of timesteps determined by the maximum number of iterations property of the ONA. If the stop on convergence property of the ONA is true, then the transient simulation will stop when convergence is reached. If it is false the transient simulation will run until the maximum number of simulations. For single ONA simulations, this can be set to true though the difference is typically negligible. This property should be set to false when there are multiple ONAs, since convergence for one will stop the transient simulation for all ONAs if it is set to true.
If the ONA reaches the maximum number of iterations before converged signals are reached it will give a warning: “Warning calculating s-parameters: maximum number of iterations reached”. The elements without converged signals will also give a warning: “Warning calculating s-parameters: the modulation signal does not have a steady state value”. In this case, the elements’ last calculated state will be used for the S-parameter calculation. If this happens, verify that only sources emitting DC signals are used, and increase the maximum number of iterations. Analyzers like Oscilloscopes can be attached to the circuit to monitor the signals during this transient simulation, which can be useful for troubleshooting non-converging circuits.
Once this transient simulation is complete, the S-parameters of the elements will be calculated based on the steady state signals at their inputs. Next, those S-parameters will be used to calculate the optical S-parameters for the entire circuit.
In a circuit with elements that have electrical input ports, the electrical input signals at the end of the initial transient simulation will be used to calculate the optical S-parameters. For this reason, only electrical sources with constant outputs, like the DC Source and Ground Source, should be used when using the ONA. This way the electrical input signals to the optical elements in the circuit will eventually reach a steady state during the transient simulation.
Impulse Response Analysis Type
If analysis type is set to impulse response the S-parameters will be calculated by running a transient simulation. The ONA will output an optical impulse from its output port and record the optical signals output by the circuit into its input ports. The ONA will then calculate the S-parameters by taking the discrete Fourier transform of the signals output by the circuit normalized by the discrete Fourier transform of the impulse output by the ONA. The transient simulation will use the transient sample mode simulator if output signal mode is set to sample or the transient block mode simulator if output signal mode is set to block.
The transient simulation properties are set according to the ONA properties in order to satisfy the requirements of the discrete Fourier transform and obtain the specified spectrum. The transient simulation’s sample rate is equal to the frequency range property of the ONA and the number of time steps is equal to the ONA’s number of points property.
The properties of the impulse used to excite the circuit are set by the following ONA properties:
- power: The amplitude of the impulse.
- excitation: The steady state amplitude of the signal. In other words, the amplitude of the optical signal other than the impulse itself.
- delay: Time until the impulse is applied after the start of the simulation.
When using the impulse response analysis type, the entire circuits will be run in a simultaneous transient simulation, including all connected electrical and optical elements. The impulse should be applied once the electrical inputs to the optical elements have reached steady state. For this reason, only electrical sources with constant outputs, like the DC Source and Ground Source, should be used when using the ONA.
Some elements, for example modulator elements with limited electrical bandwidths, will require some amount of time for their electrical input signals to reach a steady state once a DC signal electrical signal is applied to the element’s electrical ports. The transient signals can be monitored with oscilloscope analyzers attached to the circuit to help determine when steady state signals are reached. When the impulse is applied can be controlled using the delay property of the ONA. The start time of the ONA should also be increased to match the delay.
Similar issues occur if the excitation property is non-zero. Initially the optical signal is zero throughout the circuit. When the optical signal is introduced by the ONA with a non-zero excitation it is similar to using a step function as the optical signal. The non-zero optical signal will take some time to propagate through the circuit and reach a steady state. The impulse should be delayed until the optical signal at the output ports of the circuit reach a steady state. The start time of the ONA should be increased to match the delay.
Peak Finding Algorithm
A peak finding algorithm is used by the ONA to calculate properties of the peaks in the calculated S-parameter spectra. The peaks can be maxima (peaks) or minima (pits) in the spectrum. These peak results can be used to calculate properties of resonances in the optical circuit, for example Q factors and bandwidths. The results are returned as results of the ONA with names in the format “<input>/<mode>/peak/<result>”.
How peaks are defined and how the peak properties are calculated by the peak finding algorithm are controlled with the following ONA properties:
-
peak analysis: This property selects the number of peaks to analyze. The options are:
- disable: Peak finding algorithm is disabled.
- single: The peak with the largest signal peak value will be analyzed.
- multiple: All peaks that satisfy the peak threshold and peak/pit excursion criteria (see below) will be analyzed.
- center: A single peak assumed to be at the center of the spectrum is analyzed.
- fixed: A fixed number of peaks are analyzed. The number of peaks analyzed is controlled by the number of peaks ONA property. The peaks with the largest signal peak values will be analyzed.
- peak at maximum: Defines whether or not to search for peaks located at minimum (false) or maximum values (true) in the spectrum.
- peak threshold: Signal power must be greater than the power established by the peak threshold limit for a peak to be recognized. The peak threshold limit is set by subtracting the peak threshold value from the power of the largest signal peak value.
- peak excursion: Defines the rise and fall in amplitude that must take place in order for a peak to be recognized. In other words, this sets the minimum peak magnitude.
- pit excursion: Similar to peak excursion, but for pits. Defines the fall and rise in amplitude that must take place in order for a pit to be recognized.
- fwhm excursion: Defines the rise and fall in amplitude that is used to calculate bandwidth values. For example, if 0.5 is used the bandwidth is calculated where the signal power reaches half the peak maximum (minimum) power on either side of the peak (pit).
As an example, consider the gain spectrum calculated by an ONA below.
In this spectrum, Peak 1 has a gain of around -25 dB, Peak 2 has a gain of around –15 dB, and Peak 3 has a gain of around -35 dB.
To analyze all three peaks, the peak at maximum property should be set to false because these are peaks are minima in the spectrum.
The pit excursion must be less than 15 dB to make sure Peak 2 is analyzed. If pit excursion is 20 dB, for example, Peak 2 will be ignored because its excursion (total fall and rise) is 15 dB (less than the 20 dB pit excursion), while Peak 1 and Peak 3 will be analyzed because their excursions are 25 dB and 35 dB, respectively (greater than the 20 dB pit excursion).
The peak threshold property must be greater than 20 dB in this example because the difference between the signal power of Peak 3 (the largest peak) and Peak 2 (the smallest peak) is 20 dB. If peak threshold is 15 dB, for example, then only peaks with gain below -35 dB (Peak 3 power) + 15 dB (peak threshold value) = -20 dB will be analyzed. This means Peak 1 and Peak 3 will be analyzed and Peak 2 will be ignored.
Running a Simulation with the ONA
The basic steps to run a simulation with the ONA are as follows:
- Remove other optical sources, like CW Laser, DM Laser, and Laser TW elements, from the circuit.
- Connect all bidirectional or input electrical ports to DC Source or Ground Source elements. Set the amplitude property of the DC Sources to the desired electrical bias signals for those elements for the S-parameter calculation.
- Add the ONA to the simulation from the Element Library.
- Define the frequencies where you would like the S-parameters to be calculated by setting the spectrum of the ONA using the center frequency and frequency range properties. Alternatively, set the input parameter to start and stop and set the spectrum using the start frequency and stop frequency properties.
- Connect the output of the ONA to the optical port on the circuit you would like to use as the input for the S-parameter calculation.
- Set the number of input ports to the number of ports on the optical circuit you would like to use as the outputs for the S-parameter calculation. Then connect the inputs of the ONA to these ports.
- Set the orthogonal identifier property of the ONA to the orthogonal identifier of the mode you would like to use for the S-parameter calculation.
- (Optional) Set the analysis type property of the ONA to impulse response to run an impulse response simulation. To run a scattering data simulation leave this property as the default value scattering data.
- Click the Run button to run the simulation.
- Once the simulation has run, the S-parameter result for the optical circuit from the port connected to the output port of the ONA to the port connected to input <x> of the ONA is returned as “input <x>/<mode>/transmission”, along with various other results calculated from these S-parameters like gain and group delay.
Additional steps may be required if there are nonlinear elements or elements that require some time to reach a steady state. See the “Scattering Data Analysis Type” and “Impulse Response Analysis Type” sections for guidance on simulation with these circuits.
Multi-source simulations with the ONA
INTERCONNECT simulations of circuits with active elements can be done using an ONA in both frequency- and time-domain. In both cases, the simulation setup requires the presence of additional sources (mostly electrical and DC). Naturally, whenever a simulation is run with an ONA along with some other source, the sample rate is not going to be the same between the sources by default. By default, all sources except the ONA gets their sample rate from the Root Element. Only the ONA uses its own sample rate which is defined as the ‘frequency range’. To solve this problem, since INTERCONNECT release 2019b, we added the feature to make the sample rate consistent between the ONA and other sources automatically when both of them appear in the same circuit.
When a simulation is run using an ONA, any electrical sources connected to the same circuit will get their sample rate overwritten by the 'frequency range' parameter of the ONA. The overwriting will not happen if the ONA 'frequency range' is the same as the sample rate of the electrical sources. Also in case of overwritten sample rate, the output window will print a message informing the user that the sample rate has been overwritten. The message is similar to the following:
"Overriding the sample rate/frequency range of <source name> with the frequency range of ONA (<frequency range>)."
After running the simulation, the sample rate will be restored to the electrical source, with the following warning message:
"Resorting the sample rate/frequency range of <source name>."
If an electrical source is shared by two (or more) circuits driven by two (or more) different ONA's then the solver will take the first ONA in the element list and overwrite the frequency range and sample rate of the other ONAs and the shared electrical source.