Ideal discrete-time white noise is an uncorrelated sequence: the autocorrelation is a scaled impulse,
Rxx[k] = E{ (x[n]−μ)(x[n+k]−μ) } = σx² · δ[k] (28)
so the power spectral density is flat. SigGer draws i.i.d. samples from a chosen distribution, then applies a scale and a mean. All three noise windows share the sine-wave layout with renamed controls:
| Faceplate control | Role | Range |
|---|---|---|
| Scale factor a | Multiplies the zero-mean random sequence | 1.0 – 100.0 (linear) |
| Variance σ² | Variance of the unscaled sequence | 0 – 1000 (linear) |
| Sampling frequency | Stored with the file | 1–192 kHz |
| Sequence mean μ | Output mean (not multiplied by a) | −100 – +100, unitless |
x[n] = a · ξ[n] + μ (29)
ξ[n] is zero-mean with Var(ξ) = σ². Therefore
E{x} = μ , Var(x) = a² σ² (30)
If σ² = 0, then ξ ≡ 0 and x[n] = μ (constant). Floating- vs fixed-point still selects the saved dtype, but the three noise controls do not switch to volt/count ranges.
Generator). The oscilloscope preview uses a deterministic
stand-in so the trace does not flicker while you turn the dials.
ξ[n] ∼ 𝒩(0, σ²), i.e. ξ = σ Z with Z standard normal. The density of the unscaled variable is
fξ(ξ) = (1 / √(2π σ²)) exp( − ξ² / (2σ²) ) (31)
x[n] = a · √(σ²) · Z[n] + μ , Z[n] ∼ 𝒩(0, 1) i.i.d. (32)
Gaussian white noise is the classical model for thermal noise and for many least-squares estimators (AWGN channel). See Wikipedia: White noise and Gaussian noise.
A zero-mean uniform random variable on [−w, w] has variance w² / 3. Matching Var(ξ) = σ² gives
w = √(3 σ²) , ξ ∼ Uniform(−w, w) (33)
fξ(ξ) = 1 / (2w) for |ξ| ≤ w , 0 otherwise (34)
Then (29) applies. Uniform noise is a common model for quantization error when the step is small compared with the signal (Widrow quantization model).
The Laplace (double-exponential) law with scale b > 0 is
fξ(ξ) = (1 / (2b)) exp( − |ξ| / b ) (35)
Its variance is 2b², so
b = √(σ² / 2) , ξ ∼ Laplace(0, b) (36)
Laplacian samples have heavier tails than a Gaussian of the same
variance (more large spikes). They appear in speech residual models
and in some robust estimators.
Implementation: numpy.random.Generator.laplace
(NumPy documentation).
| Family | Support of ξ | Tails | Generator |
|---|---|---|---|
| Gaussian | (−∞, ∞) | exp(−ξ²) | standard_normal × √σ² |
| Uniform | [−√(3σ²), +√(3σ²)] | None (hard bounds) | uniform(−w, w) |
| Laplacian | (−∞, ∞) | exp(−|ξ|) | laplace(0, √(σ²/2)) |
Kurtosis (excess) is 0 for the Gaussian, −6/5 for the uniform, and 3 for the Laplace — a useful check if you inspect a saved record in SigScope or a notebook.