The Amazing World of Scattering Matrices
When starting to use Lumerical INTERCONNECT (or rival circuit-level simulation tools), the tutorials make clear enough the basic mechanics of the approach:
- Simulate a component in FDTD or MODE.
- Export an S-parameter file.
- Import it into INTERCONNECT.
- Build a larger photonic circuit.
The workflow makes sense, but it often feels like we need a more satisfying answer to a simple question:
What exactly is being stored in an S-matrix?
Many explanations describe S-parameters as coupling coefficients between ports. While that’s true, it leaves out the most interesting part: phase.
Understanding where the phase lives, and what information is preserved or discarded when moving to an S-matrix representation, is important to understand what the method is capable of.
The key idea
An S-matrix does not describe power flow.
It describes field amplitudes.
For a photonic device,
$$ \mathbf{b} = \mathbf{S}\mathbf{a} $$
where:
- $\mathbf{a}$ contains the incoming optical fields
- $\mathbf{b}$ contains the outgoing optical fields
- $\mathbf{S}$ is the scattering matrix
Each element of the matrix is a complex number:
$$ S_{ij} = |S_{ij}|e^{j\phi_{ij}} $$
The magnitude tells us how much field couples from one port to another.
The phase tells us how much optical phase is accumulated along the way.
An entry like
$$ S_{21}=0.8e^{-j\pi/4} $$
means:
- 80% field transmission
- 64% power transmission
- 45° phase delay
All three pieces of information are contained in a single complex number.
Where does the propagation constant go?
Earlier on this blog I wrote about the propagation constant
$$ \beta = \frac{2\pi n_{\text{eff}}}{\lambda}. $$
For a waveguide of length $L$, the optical field accumulates phase
$$ \phi=\beta L. $$
A lossless waveguide therefore has
$$ S_{21}=e^{-j\beta L}. $$
This is an interesting observation.
Once a component has been converted to an S-matrix representation, quantities such as:
- effective index
- propagation constant
- optical path length
often disappear as explicit concepts.
Their effects remain, but they are now encoded in the phase of the complex S-parameters.
From INTERCONNECT’s perspective, all that matters is the input-output relationship.
Why phase matters
Suppose someone hands you a perfect 50:50 splitter.
You might be tempted to describe it simply as:
- 50% power goes one way
- 50% power goes the other way
Unfortunately that is not enough information.
Interference depends on relative phase.
A Mach-Zehnder interferometer can behave entirely differently depending on whether one arm contributes a relative phase of:
$$ 0^\circ $$
or
$$ 180^\circ. $$
An S-matrix captures this naturally because the matrix elements are complex.
That is why INTERCONNECT can accurately predict interference effects while never solving Maxwell’s equations directly.
What does an S-matrix forget?
This is the part that took me longest to appreciate.
An S-matrix is not a complete description of the device.
It is a complete description of the device’s input-output behaviour.
Those are not the same thing.
Consider two MMIs with identical transmission and phase characteristics.
One has a highly concentrated field distribution in the centre.
The other spreads the field much more evenly.
FDTD sees two different physical devices.
An S-matrix sees two identical devices.
The internal electromagnetic fields have been discarded.
Only the port behaviour remains.
Linear steady-state behaviour
People often say that an S-matrix describes the device’s linear steady-state response.
That phrase packs several assumptions into a few words.
Linear
If I double the incoming field,
$$ a \rightarrow 2a, $$
then the outgoing field doubles too:
$$ b \rightarrow 2b. $$
The device response remains unchanged.
Likewise, if two signals are applied simultaneously, their individual responses simply add together.
This property of superposition is what allows large photonic circuits to be analysed efficiently.
Steady-state
The second assumption is that any transient behaviour has died away.
An S-matrix answers the question:
If I launch a sinusoidal optical wave and wait for everything to settle, what comes out?
It does not describe the process of settling.
Thermal drift, carrier dynamics, gain recovery, and similar phenomena require additional models because they involve memory and time dependence.
What about dispersion?
At first glance, dispersion seems incompatible with such a compact model.
After all, group index and chromatic dispersion arise from the frequency dependence of propagation.
The trick is that the S-matrix is usually not a single matrix.
It is a matrix whose elements vary with wavelength:
$$ S_{ij}(\lambda). $$
For a waveguide,
$$ S_{21}(\omega)=e^{-j\beta(\omega)L}. $$
Notice that frequency dependence enters naturally through $\beta(\omega)$.
This means the phase response stores information about:
- phase delay
- group delay
- chromatic dispersion
Group delay is simply related to the slope of phase versus frequency:
$$ \tau_g = -\frac{d\phi}{d\omega}. $$
In other words, the familiar concepts of effective index, group index, and dispersion have not vanished.
They are merely hidden inside the wavelength-dependent complex S-parameters.
Why this simplification works so well
The remarkable thing is not that an S-matrix throws information away.
The remarkable thing is how much information it retains.
For most passive silicon photonic components, the rest of the circuit only interacts with the ports.
The detailed electromagnetic field distribution inside a Y-branch or MMI is usually irrelevant once the device has been characterised.
A full 3D electromagnetic simulation may contain millions of unknowns.
The corresponding circuit model may contain only a few dozen complex numbers.
Yet those few dozen numbers are often sufficient to reproduce the behaviour of an interferometer, ring resonator, AWG, or larger photonic integrated circuit with surprising accuracy.
That is the real power of the S-matrix picture.
It replaces a description of what is happening everywhere with a description of what can be observed from the outside.
For circuit simulation, that turns out to be exactly the information we need.
Disclaimer: A large language model (LLM) was used to help write some parts of this post.