# Does clipping noise colour the spectrum

Does extreme clipping white noise colour the audio spectrum?

I thought (and hoped!) not on the basis of this from research.net

Clipping is mathematically equivalent to the addition of impulse noise, (at the point of clipping you are effectively adding a negative impulse to the original waveform); consequently the effect on the spectrum is similar to additive impulse noise, with a fairly uniformly flat spectrum (depending on the degree of clipping). The spectrum is obviously going to be coloured if the clipping occurs with some periodicity

Emphasis mine.

Clipping is a non-linear operation and it introduces new frequencies, so it will change the spectrum's shape. The text you quoted is pretty clear on that.

Just as a quick demo, I generated flat noise in Matlab, limited in frequency to the 100 to 300 Hz range. The spectrum is:

Note that the spectrum is close to zero outside the specified range. Also, this noise is not white; it is flat (or would be if I could simulation an infinite number of samples). White noise, by definition, covers the entire frequency range.

I clipped all amplitudes larger than 0.75 to 0.75, and the resulting spectrum is:

I think the difference is clear.

• this perfectly answers my question - any deviation from spectral flatness (which is never achieved in a system without infinite sampling power) will with clipping create additional noise at frequencies which were not present before :-) May 29, 2015 at 3:46
• i would kinda like to know if filtering out everything but 100-200 hertz results in something with a lower spectral entropy or flatness than white noise... but yeah May 29, 2015 at 3:52
• @user3293056, if you clip and then filter, the spectrum will be less flat than the original white noise. You're adding two spectrums, one is flat (white noise), and the other is close to, but not quite flat (the clipping "noise"), so the result is not flat.
– MBaz
May 29, 2015 at 14:22

This question has bugged me a lot and I'm not a 100% satisfied by MBaz's answer (the question is about white noise, and the answer is about flat noise) so I would like to add a few elements of answer.

One thing that bothered me a lot is that if you clip noise to a certain threshold, you're going to increase the probability of samples equal to your threshold. To me, this intuitively resulted in a spectrum change, because it increases the frequency of this particular value.

However, the amplitude repartition of a random sequence, which is to say its distribution, is not related to its self-correlation thus its spectrum.

For example, one might think that if you bit-reduce (quantize) a signal to an extreme extent, let's say from 64-bits to 2-bit, you completely change its color. But that is not true : bit reducing a signal changes its distribution but not is correlation properties (ie spectrum). Here is an illustration of 64 bits gaussian white noise's spectrum vs 2-bits uniform noise spectrum (values can be -1, 0 or +1 with the same probability) :

Similarly, if you hard clip white noise, you only affect the distribution and not the correlation which means the spectrum keeps the same color :

You do change the variance of the signal though, which changes the average power of the spectrum.

# However :

All the previous statements where based on ideal white noise, ie with infinite bandwidth. But that doesn't exist, and when you generate white noise digitally and then feed these samples into a DAC, interpolation (low-pass-filtering) is applied to the signal to transpose it into continuous time. If your hard clipping occurs after this filtering, then MBaz's answer applies and you get exactly what he explained. Here is an example with an oversampling factor of 4, and matlab's interp() function :

One reason why all this is a bit difficult to visualize might has to do with Gambler's fallacy

There are two forms of clipping: saturation (which is what analog devices do) and wraparound (which tends to happen in the digital domain if you don't use excess bits or floating point in intermediate calculations).

Saturation means temporary addition of the negated input signal (with DC starting offset removed) while we are clipping. Wraparound means temporary addition of a large DC offset while we are clipping. When clipping is constrained to single samples (quite unlikely) and is treated with wraparound, we get impulses of fixed very large amplitude. If single-sample clipping is treated with saturation, we get impulses of an amplitude corresponding to the respective overshoot.

But single-sample clippings would be an anormaly requiring the signal to be dominated by high-frequency noise.

Both forms are, of course, highly correlated to the input signal. Neither of them are anything like "adding white noise" for any non-artificial input since any zero transition of the input signal corresponds to "not clipping" and zero transitions for a meaningful signal don't occur randomly.

• I'm not sure how this answer the original question, ie does clipping white noise color it Jul 21, 2017 at 8:26

White noise has several definitions. If you take the definition where all samples are independent, clipping will change the distribution of the individual samples but not make them dependent. The result will again be independent samples and consequently white noise according to that definition.

• What are the other definitions? Jul 23, 2017 at 23:27
• @FlorentEcochard Good question! Enquiring minds want to know.
– Peter K.
Jul 24, 2017 at 11:15