REFL1

class ipkiss3.cml.REFL1(**kwargs)

Simple (non-dispersive) model for a reflector. It has two ports, ‘in’ and ‘out’.

Parameters:

transmission: complex

Complex-valued transmission coefficient.

reflection_in: complex

Complex-valued reflection coefficient at the in port.

reflection_out: complex

Complex-valued reflection coefficient at the out port.

Notes

Simple reflector described by wavelength independent transmission and reflection (amplitude) coefficients. While the reflections at input and output ports are allowed to be different, the transmissions between those are set to be equal.

Terms

Term Name Type #modes
in Optical 1
out Optical 1

Examples

import numpy as np
import ipkiss3.all as i3
import matplotlib.pyplot as plt

model = i3.cml.REFL1(
    transmission=np.sqrt(0.1),
    reflection_in=np.sqrt(0.9) * 1j,
    reflection_out=np.sqrt(0.9)
)

wavelengths = np.linspace(1.52, 1.58, 201)
S = i3.circuit_sim.test_circuitmodel(model, wavelengths)

reflection = 10 * np.log10(np.abs(S['in', 'in']) ** 2)
transmission = 10 * np.log10(np.abs(S['out', 'in']) ** 2)

plt.figure()
plt.plot(wavelengths, reflection, label='reflected power')
plt.plot(wavelengths, transmission, label='transmitted power')
plt.xlabel("wavelength [um]")
plt.ylabel("transmission [dB]")
plt.legend()
plt.title("Transmission as function of wavelength")
plt.show()
../../_images/ipkiss3-cml-REFL1-1.png