Advanced Noise Configuration

Phoenix's Advanced Noise modal lets you go beyond simple Gaussian (white) noise to simulate the noise characteristics found in real industrial sensor data. Each channel supports up to three simultaneous noise components — one per colour — which are summed to produce the final noise signal.


Why Advanced Noise Matters

Simple Gaussian noise assumes every sample is statistically independent, with a constant standard deviation regardless of the signal level. Real sensors rarely behave this way:

  • Electronics and ADCs produce white noise (flat power spectrum) — but also often a pink noise floor from 1/f fluctuations.
  • Mechanical systems (motors, pumps, bearings) exhibit pink noise due to turbulence and structural vibration.
  • Slow environmental processes (temperature drift, barometric variation) accumulate over time and produce brown noise (random-walk character).
  • Wireless transmission introduces correlated bursts — sequences of samples where errors cluster rather than scatter at random.
  • Sensors with AGC or variable gain produce heteroscedastic noise — larger signal amplitudes produce larger noise.

Combining these characteristics makes synthetic data that behaves like the real thing, helping you build algorithms that will not be fooled by artificially clean test data.


Opening the Advanced Noise Modal

In the sidebar, under Base Signal for each channel, find the Advanced Noise row. Click Configure to open the modal. If any non-default noise option is active, an "active" badge appears next to the Configure button.


Noise Components

Each channel has three noise components — one for each spectral colour. All three are additive; their combined contribution forms the noise term in the signal equation.

Enabling a Component

Each component has an enable/disable toggle. By default only the white noise component is enabled. Enable additional components (pink, brown) to layer them on top of the white noise baseline.

Amplitude

The amplitude of each component is its standard deviation, expressed in the same units as the signal. This works the same way as the main Noise Amplitude field — a value of 5 means approximately 68% of noise samples fall within ±5 units of zero.


Noise Colour

Noise colour describes how power is distributed across frequencies.

White Noise (flat spectrum)

Power is equal at all frequencies. Each sample is independent of all others. This is the standard Gaussian noise that most signal generators use.

Spectral shape: flat — all frequencies contribute equally.

When to use: - Electronic measurement noise (ADC quantisation, thermal noise) - Random sensor dropouts or bit errors - Any process where errors are truly independent

Pink Noise (1/f spectrum)

Power decreases as frequency increases — specifically, power is proportional to 1/f. This means low-frequency variations are stronger than high-frequency ones. Equal energy is present in each octave (1–2 Hz, 2–4 Hz, 4–8 Hz, etc.).

Spectral shape: −3 dB/octave slope.

When to use: - 1/f fluctuations in electronics (flicker noise) - Turbulence in fluid systems - Mechanical wear and friction - Biological signals

Perceptual character: Smoother than white noise; long gentle wandering superimposed on faster variation.

Brown Noise (1/f² spectrum, Brownian / red noise)

Power decreases as the square of frequency — proportional to 1/f². This is the spectral signature of a random walk (Brownian motion): each sample is highly correlated with the previous one.

Spectral shape: −6 dB/octave slope.

When to use: - Slow sensor drift (temperature, humidity effects on calibration) - Barometric pressure fluctuations - Long-term baseline wander - Accumulated integration errors

Perceptual character: Very slow, smooth wandering — looks like a random walk with no tendency to return to zero.


AR Coefficient (Temporal Autocorrelation)

The AR Coefficient slider (range 0 – 0.95) applies an AR(1) autoregressive filter to the noise component before it is added to the signal.

\[ y[t] = \rho \cdot y[t-1] + \varepsilon[t] \]

where \(\rho\) is the AR coefficient and \(\varepsilon[t]\) is the unfiltered noise sample. The output is renormalised to preserve the target standard deviation.

Value Effect
0 Independent samples — no temporal correlation (default)
0.5 Moderate autocorrelation — neighbouring samples are noticeably similar
0.9 Strong autocorrelation — slow, smooth variation over many samples
0.95 Very strong — signal changes very slowly relative to sampling rate

When to use: - Simulating transmission latency effects where errors cluster - Modelling slowly changing environmental disturbances - Adding realistic "stickiness" to a noise process — sensors that lag their environment

Combined with colour: AR filtering and colour shaping are applied sequentially (colour first, then AR filter). For most purposes they provide complementary controls: colour shapes the frequency content, AR coefficient controls the time-domain persistence.


Heteroscedasticity (Amplitude-Dependent Variance)

The Heteroscedasticity slider (range 0 – 2) makes the noise standard deviation proportional to the current signal amplitude.

\[ \sigma_{\text{local}} = \sigma_{\text{noise}} \times \left(1 + h \cdot \frac{|s(t)|}{\overline{|s|}}\right) \]

where \(h\) is the heteroscedasticity coefficient, \(s(t)\) is the signal value at time \(t\), and \(\overline{|s|}\) is the mean absolute signal amplitude.

Value Effect
0 Constant standard deviation regardless of signal level (homoscedastic, default)
0.5 Noise grows 50% when signal is at its mean absolute amplitude
1.0 Noise doubles at mean signal level
2.0 Noise triples at mean signal level

When to use: - Sensors with proportional error (e.g., ±2% of reading rather than ±2 units fixed) - Amplifier noise that scales with gain - Pressure transducers where noise floor scales with measured pressure - Any sensor with a percentage-of-full-scale specification

Practical note: Heteroscedastic noise requires the signal itself to be non-zero. The scaling uses the mean absolute value of the signal as the normalisation factor, so the effect degrades gracefully for zero-mean signals.


Combining Components

You can run all three colour components simultaneously, each with its own amplitude, AR coefficient, and heteroscedasticity setting. The three outputs are independently generated and then summed.

Example — industrial vibration sensor with realistic noise:

White component:  Amplitude = 0.5   AR = 0.0   Heteroscedasticity = 0.0
Pink component:   Amplitude = 1.0   AR = 0.2   Heteroscedasticity = 0.0
Brown component:  Amplitude = 0.3   AR = 0.8   Heteroscedasticity = 0.0

This produces a signal with: - Fast, independent electronic noise (white) - A 1/f mechanical noise floor (pink, slightly autocorrelated) - Slow baseline drift (brown, strongly autocorrelated)

Example — pressure sensor with proportional noise:

White component:  Amplitude = 2.0   AR = 0.0   Heteroscedasticity = 1.5

Noise grows with measured pressure, simulating a sensor specified at ±2% of reading.


Resetting to Defaults

The Reset to defaults button (visible when any advanced option is active) restores all three components to:

White:  Amplitude = 5.0, AR = 0.0, Heteroscedasticity = 0.0, Enabled
Pink:   Amplitude = 0.0, AR = 0.0, Heteroscedasticity = 0.0, Disabled
Brown:  Amplitude = 0.0, AR = 0.0, Heteroscedasticity = 0.0, Disabled

Technical Reference

For the mathematical implementation details (spectral shaping via FFT, AR(1) recursive filter formula, heteroscedastic scaling equation), see the Technical Reference.