Normalisation

Normalisation is the process of scaling a signal or a set of values so that they fit within a desired range or have a specific statistical property. It is a fundamental operation in digital signal processing, used to prepare data for analysis, improve numerical stability, or enable meaningful comparisons between different signals.

There are several common types of normalisation, each serving a different purpose.

Peak Normalisation

Peak normalisation scales a signal so that its maximum absolute value equals a target level, usually 1.0 or a specified dB level. This preserves the shape of the waveform while adjusting its overall amplitude.

For a signal $x[n]$, the peak-normalised output is:

$y[n] = \dfrac{x[n]}{\max(|x[n]|)}$

This ensures that $\max(|y[n]|) = 1$. This is the most common form of normalisation in audio processing, where it is used to maximise loudness without introducing clipping.

RMS Normalisation

RMS (Root Mean Square) normalisation scales a signal so that its RMS value equals a target level. This is useful when comparing the perceived loudness of signals, rather than their peak values.

The RMS value of a signal is defined as:

$x_{\text{RMS}} = \sqrt{\dfrac{1}{N} \sum_{n=0}^{N-1} x[n]^2}$

To normalise to a target RMS level $L$, we apply:

$y[n] = x[n] \cdot \dfrac{L}{x_{\text{RMS}}}$

This preserves the relative dynamics of the signal while adjusting its overall power.

Min-Max Normalisation

Min-max normalisation maps the signal so that its minimum becomes 0 and its maximum becomes 1 (or any other specified range). This is commonly used in machine learning and image processing.

$y[n] = \dfrac{x[n] - \min(x)}{\max(x) - \min(x)}$

This transforms the signal to the range $[0, 1]$.

Z‑Score Normalisation (Standardisation)

Z‑score normalisation centres the signal around zero and scales it to unit variance. This is a standard technique in statistical analysis and many machine learning algorithms.

$y[n] = \dfrac{x[n] - \mu}{\sigma}$

where $\mu$ is the mean of $x[n]$ and $\sigma$ is its standard deviation. The resulting signal has $\mu_y = 0$ and $\sigma_y = 1$.

The plot above shows the original signal (blue) alongside two normalised versions. Peak normalisation (orange) scales the signal so that its maximum absolute value is 1. RMS normalisation (green) adjusts the signal so that its RMS level equals a target value (0.5 in this example). The waveform shape is preserved in both cases.

Normalisation is not the same as quantisation or compression. Quantisation reduces precision, compression alters the dynamic range non‑linearly, while normalisation preserves the waveform shape and simply adjusts its scale.

Normalisation is widely used in DSP:

  • Audio processing: Peak normalisation maximises loudness without clipping. RMS normalisation aligns perceived loudness between tracks.
  • Machine learning: Min‑max and Z‑score normalisation prepare features for training.
  • Communication systems: Signals are normalised to fit within the dynamic range of converters and amplifiers.
  • Numerical stability: Scaling signals to moderate values reduces floating‑point errors in algorithms like the FFT.