NoiseGenerator

class qdflow.physics.noise.NoiseGenerator(noise_parameters, rng=None)

Bases: object

Adds 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 NoiseGenerator instance with the appropriate NoiseParameters to define the strengths of each of the noise types. Then use the calc_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_map by 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.