Signal normalization

I have some questions about what is normalization. The obvious way to do that is

x_max = max([max(x), abs(min(x))]);
x=x-mean(x);
x_norm=x./x_max;

• Can somebody explain how it is done?
• And could you please explain what is the benefit of this method?
• I have heavily rephrased the answer, after a second thought – Laurent Duval Apr 3 '17 at 14:05

[EDIT] After a second read, the proposed normalization looks non standard. Suppose that $m\le x \le M$ ($m$ and $M$ denote the min and max). The scaling factor will be, depending on the situation:

1. if $m\le M\le 0$: $-m$,
2. if $m\le 0\le M$, and $|m|\ge M$: $-m$
3. if $m\le 0\le M$, and $|m|\le M$: $M$
4. if $0\le m\le M$: $M$

It turns out to be (if I do not err) the largest of the absolute values of $m$ or $M$. A more standard writing, more symmetric, could be:

x_max = max([abs(max(x)), abs(min(x))]);


or directly:

x_max = max(abs(x));


This computes the maximum x_max in absolute amplitude. This corresponds to an $\ell_\infty$ norm dispersion-type. Then you center $x$ around the mean (in some $\ell_2$ sense), then divide by the above maximum x_max.

If $\mu$ denotes the mean, you will end up:

• for the first two cases, in $[\mu/m-1,\mu/m-M/m]$
• for the last two cases, in $[m/M-\mu/M,1-\mu/M]$

And there is not a lot more I can say, without more information. If the extrema values are sufficiently symmetric around the mean, with a close-to-$0$ average, the outcomes would lay around the $[-1,1]$ interval, because $M/m \approx -1$ and $\mu/M$ or $\mu/m$ are close to $0$. But you could have different behaviors: if $m=-10$, $M=1$, $\mu=-9$, you will have x_norm in $[-0.1,1]$. But if the mean is $0.5$, the interval would be $[-1.05,0.05]$.

Variable reduction is something one could take classically as an input to a decorrelating or source separation technique; a PCA for instance, or related tools (SVD, independent component analysis) for instance. But subtracting the central location (here the average) before computing extremas and rescaling a dispersion after that is more standard.

And however, mixing different norms in normalization is not the practice I would recommend. So:

• subtracting the mean and dividing by the (residual) standard deviation
• subtracting the median and dividing by the MAD (median absolute deviation)
• subtracting the midrange and dividing by the max or min of the residual (ie the half range)
• mapping the values between fixed bounds, such as $[0,1]$

are much more common.

• As an additional note, I would remove the mean first, and then find $M$ and normalize the amplitude. Otherwise, I don't think the signal is guaranteed to be between -1 and 1. – MBaz Jan 2 '17 at 17:55