## Introduction

The transient simulator performs time domain simulation of photonic circuits using a dynamic data flow scheduler, allowing for more flexibility than using traditional discrete time or time-driven simulators. The scheduler calculates each element in order to generate time domain waveform samples and propagates them bidirectionally. Very close coupling between components can be simulated allowing, for example, the analysis of optical resonators.

The Transient Simulator supports two simulation models: Sample Mode and Block Mode. The multimode nature of optical components is also included in the both Sample and Block Mode, and is not limited to two orthogonal modes or polarizations. INTERCONNECT optical signals support an arbitrary number of modes and basebands, giving designers the capability to simulate bidirectional, multimode and multichannel optical circuits and systems. INTERCONNECT also support simulations with Sample and Block Mode simultaneously, allowing designers to select and convert between modes when applicable.

## Dynamic Data Flow Scheduler

This section will introduce the basic mathematical and physical formalism behind the Dynamic Data Flow scheduler. In the time domain simulation, data is represented as a stream of frames [1] where each frame represents either a single sample or a block of samples.

Each sample represents the value of the signal at a specific point in time. For optical signals, a block of samples constitute a waveform, where the waveform defines the complex envelope of the optical field.

$$Optical\ field = Re[a(t).e^{-i\omega_0t}]$$

Here the carrier frequency, \( \omega_0 \), is the center frequency of the simulation band and a(t) is the complex envelope of the optical signal. The optical power is the absolute value squared of the complex envelope (using an impedance value of 1).

$$Optical\ power, P(t) = |a(t)|^2$$

Three key settings that are essential to time domain simulations are the sequence length, the time window and the sample rate. These three parameters are interrelated and can be defined by the following equations:

The simulation time window is:

$$t_w=L_B\cdot T_B=\frac{L_B}{B_R}$$

Where L_{B} is the sequence length, T_{B} is the bit period and B_{R} is the bit rate. The simulation sample rate is:

$$f_s=\frac{N_{S/B}}{T_B}=N_{S/B}\cdot B_R$$

Where N_{S/B} is the number of samples per bit. The number of samples is:

$$N_s=L_B\cdot N_{S/B}=t_w\cdot f_s$$

For analog signals, we can simply define the simulation time window as the following equation with T_{s} represents the sampling period:

$$t_w=N_S\cdot T_S=\frac{N_S}{f_s}$$

## Sample Mode (solver physics)

The Transient Sample Mode is a sample-by-sample processing method, where each invocation of an element accepts one sample from each input port of the element and produces one sample on each output port. Sample Mode is recommended for closed-loop systems. Bidirectional simulations of close coupled elements, such as resonant structures, circuits with feedback loops, traveling laser sections, or circuits where reflections must be considered are examples of closed-loop systems. The block diagram below shows how data propagates through the elements sample by sample in this approach.

In Transient Sample Mode, elements transfer samples bidirectionally during each iteration to simulate interactions and resonances between the elements. Each element is calculated to generate new samples and to transfer them to its connected elements. The circuit below shows a ring modulator using closely coupled bidirectional elements, where complex interactions and resonances between the elements require the time domain solution using Sample Mode. The optical network analyzer (ONA_1) and the voltage source (DC_1) generate multiple samples that propagates bidirectionally trough the circuit.

In the time-domain, the response of an element to an input signal can be calculated through time-convolution of the input signal with the element’s impulse response. The impulse response is the response of the element to an impulse or a delta function. For continuous time signals the convolution is given by this integral equation,

$$y(t) = b(t)*x(t) = \int_{-\infty}^{\infty} b(\tau).x(t-\tau).d\tau$$

where b(t) is the time domain impulse response of the system (or element), x(t) is the input signal, and y(t) is the output signal. In sample mode, the signal through an element is calculated sample by sample. Since the signal is discrete, the convolution becomes a discrete convolution and needs to be calculated numerically,

$$y(n) = b(n)*x(n) = \sum_{m=0}^N b(m).x(n-m)$$

Here, b(n) is the discrete impulse response of the system (or element), x(n) is the discrete input signal, and y(n) is the discrete output signal.

The Transient Sample Mode algorithm relies upon Infinite Impulse Response (IIR) and Finite Impulse Response (FIR) digital filters to implement frequency dependent behavior in time domain simulations through discrete convolutions. The digital filters model the discrete impulse response of each element. For each signal mode and signal band, a corresponding digital filter is created, addressing complex single or multimode wavelength division multiplexing (WDM) devices. By supporting multiple baseband signals for coarse WDM circuits, one for each channel, different digital filters can be applied to different bands, reducing the limitations and trade-offs as to how well these digital filters can apply a desired frequency response to a time domain signal. Typical limitations are the ripple introduced by FIR filters due to the finite length of the impulse response. For instance, each scattering matrix in INTERCONNECT defines the relationship between an input and output signal mode, and each scatter parameter is defined by a vector of digital filters, where each filter is centered at the center frequency of the corresponding signal baseband.

## Block Mode (solver physics)

In Transient Block Mode, a waveform from each input port are mapped to a waveform on output ports, where a waveform is defined as a block of N samples. Block Mode is recommended for open-loop systems, such as unidirectional simulations of optical system links, where the simulation progresses unidirectionally from the transmitter to the receiver. Running the transient simulation in Block Mode is also required when optical fiber nonlinear dispersive effects must be considered, but the propagation time delay isn't of interest.

In Transient Block Mode, the simulation progresses element by element, and typically each element calculates only one block, this means the element only runs once. The Mach-Zehnder modulator circuit shown below uses only unidirectional elements which makes it ideal for Block Mode simulation. The optical network analyzer (ONA_1) and the voltage generator (DC_1) generate a block of samples, and the remaining circuits elements are processed sequentially. It is possible to have bidirectional simulations with Block Mode, in this case the bidirectionality is limited to elements separated by more than one block length. For bidirectional systems using Block Mode, the coherence length is equivalent to the block length. In this case, multiple iterations can be performed until the waveform or block reaches a steady-state.

Unlike Transient Sample Mode where elements process data sample by sample, in Transient Block Mode elements process the entire block of data (waveform) at once. This allows for a more efficient calculation of the output waveform. The waveform (block of data) at the input of an element is first converted from time domain to frequency domain using fast Fourier transform (FFT). The output waveform is then calculated as the product of the input waveform and the impulse response (transfer function) of the element in frequency domain. Finally, the time domain output waveform is calculated using an inverse Fourier transform (iFFT). The block diagram below shows the calculation of the output waveform from the input waveform in a Block Mode simulation. Note that a more generalized method is adopted by INTERCONNECT to handle bidirectional propagation of multiple modes, and multiple blocks, and for nonlinear elements.

Block Mode processing coupled with FFT-type algorithms is generally computationally more efficient than sample-by-sample processing. FFT-type algorithms also avoid the typical limitations from digital filters, such as latency and the ripple introduced by FIR filters due to the finite length of the impulse response. By avoiding the use of digital filters, Block Mode also makes it possible to process arbitrary frequency dependent transfer functions.

In Block Mode, optical signals may include additional statistical information that allows for separate treatment of the signal and noise. Statistical information of the frequency dependent optical noise is defined by a histogram of the noise power spectral density, and each bin of the histogram is named a noise bin. Separating the sampled signals and the statistical noise is also memory efficient, since the bandwidth of a signal baseband is typically narrow when compare to the bandwidth of the optical noise, e.g. broadband ASE noise generated by Erbium doped fiber amplifiers.

## Video resources

INTERCONNECT introductory webinar

## References

[1] G. Zhou, “Dynamic Dataflow Modeling in Ptolemy 2,” Technical Memorandum UCB/ERL M05/2, University of California, Berkeley, CA 94720, December 21, 2004.