NoiseGenerator
- class qdflow.physics.noise.NoiseGenerator(noise_parameters, rng=None)
Bases:
objectAdds noise and other postprocessing to simulated quantum dot devices.
The following types of noise are supported: White noise, Pink (1/f) noise, Telegraph noise, Latching, Coulomb peak, Sech blur, Unintended dot, Sensor-gate coupling.
To use this class, initiate a
NoiseGeneratorinstance with the appropriateNoiseParametersto define the strengths of each of the noise types. Then use thecalc_noisy_map()function, which will generate all noise types and add them to the data map that is passed to it.- Parameters:
noise_parameters (NoiseParameters | dict[str, Any]) – The parameters used to define the noise strengths.
rng (np.random.Generator) – Random number generator used to generate noise.
- __init__(noise_parameters, rng=None)
Methods
calc_noisy_map(data_map[, latching_data, ...])Adds noise to
data_map.coulomb_peak(data_map, peak_center, peak_width)Calculates the sensor conductance from the potential.
high_coupling_coulomb_peak(data_map, ...)Calculates the sensor conductance from the potential.
latching_noise(data_map, excited_data, ...)Adds latching effects to
data_map.line_shift(data_map, ave_pixels, axis[, ...])Adds latching-like effects to
data_map.pink_noise(data_map, magnitude[, axis])Adds pink (1/f) noise to
data_map.sech_blur(data_map, blur_width, noise_axis)Blurs
data_mapby convolving with a sech^2 kernel.sensor_gate(data_map, sensor_gate_coupling)Add a gradient due to sensor-gate coupling to
data_map.telegraph_noise(data_map, magnitude, stdev, ...)Adds telegraph noise to
data_map.unint_dot_add(data_map, magnitude, spacing, ...)Add a series of transitions with quantum dot lineshapes to data.
white_noise(data_map, magnitude)Adds white noise to
data_map.