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.