simulate_modulation

si_fab.components.modulator.mzm.simulation.simulate.simulate_modulation(cell, mod_amplitude=1.0, mod_noise=0.05, opt_amplitude=1.0, opt_noise=0.001, v_heater_1=0.0, v_heater_2=0.0, bitrate=10000000000.0, n_bytes=100, steps_per_bit=50, center_wavelength=1.5, debug=False, seed=None)

Simulation recipe to simulate a Mach-Zehnder modulator using a PRBS signal.

Parameters:
celli3.PCell

PCell of the Mach-Zehnder modulator to be simulated.

mod_amplitudefloat

Amplitude of the modulator.

mod_noisefloat

Amplitude of the noise of the modulator signal.

opt_amplitudefloat

Amplitude of the input optical signal.

opt_noisefloat

Amplitude of the noise at the optical input.

v_heater_1float

Voltage on the first heater (heater_1) [V].

v_heater_2float

Voltage on the second heater (heater_2) [V].

bitratefloat

Bit rate of the signal.

n_bytesint

Number of bytes of the simulation.

steps_per_bitint

Number of time steps per bit.

center_wavelengthfloat

Center wavelength of the optical carrier.

debugbool

If True, the simulation is run in debug mode.

seed

Seed of the random number generation.

Returns:
Dictionary of simulated signals.