Noise Model
>>> import perceval as pcvl
>>> noise_model = pcvl.NoiseModel(brightness=0.3, g2=0.05)
>>> proc = pcvl.Processor("SLOS", 4, noise_model)
- class perceval.utils.noise_model.NoiseModel(brightness=None, indistinguishability=None, g2=None, g2_distinguishable=None, transmittance=None, phase_imprecision=None, phase_error=None)
The NoiseModel class contains all noise parameters which are supported by Perceval. Default value of each parameter means “no noise”, so a NoiseModel constructed with all default parameters leads to a perfect simulation.
- Parameters:
brightness (
Optional
[float
]) – first lens brightness of a quantum dotindistinguishability (
Optional
[float
]) – chance two photons are indistinguishableg2 (
Optional
[float
]) – g²(0) - second order intensity autocorrelation at zero time delay. This parameter is correlated with how often two photons are emitted by the source instead of a single one.g2_distinguishable (
Optional
[bool
]) – g2-generated photons indistinguishabilitytransmittance (
Optional
[float
]) – system-wide transmittance (warning, can interfere with the brightness parameter)phase_imprecision (
Optional
[float
]) – maximum precision of the phase shifters (0 means infinite precision)phase_error (
Optional
[float
]) – maximum random noise on the phase shifters (in radian)