What is meant by "spectral whitening" in DSP?

What effect does spectral whitening have when used in image processing? (visually or otherwise...)

Where might spectral whitening be useful in audio processing or analysis? What would a spectrally whitened audio signal sound like?


3 Answers 3


What is meant by "spectral whitening" in DSP?

Spectral whitening is usually an attempt to make the spectrum of the signal "more uniform". One reason this might be a good thing to do is that it can have the effect of making the autocorrelation of the signal "narrower" (and closer to a Kronecker delta, for discrete-time signals). This can help localize in time.

What effect does spectral whitening have when used in image processing? (visually or otherwise...)

It's generally not pretty. Most images are "low pass" (most of the information is in the low frequency part of the spectrum). One simplistic approach to whitening in images is to do a column-wise (or row-wise) difference (i.e. diff in matlab).

This will mean negative pixel values, which generally do not map to anything sensible with standard images.

This example shows how prewhitening can improve localization in image processing template matching. The picture from that link is:

Localizing patch in an image, with and without prewhitening.

Where might spectral whitening be useful in audio processing or analysis?

If you are trying to localize (in time) the onset of a sound, then it's possible that spectral whitening can improve this. It's also possible that it can reduce (disimprove) the SNR.

What would a spectrally whitened audio signal sound like?

For audio of speech or music, it will tend to bring in more higher frequencies.

  • $\begingroup$ How else would you 'pre-whiten' a data signal btw? $\endgroup$ Commented Sep 2, 2013 at 19:17
  • $\begingroup$ That depends on what you mean by "data signal"? Do you mean a signal that consists of just 1's and 0's? $\endgroup$
    – Peter K.
    Commented Sep 2, 2013 at 19:24
  • $\begingroup$ I mean, say I give you a data vector, say, 100 numbers, such that the PSD is not uniform. $\endgroup$ Commented Sep 2, 2013 at 19:26
  • $\begingroup$ OK. One way is to estimate the PSD using an AR (autoregressive) spectral estimator (e.g. using the Yule-Walker equations), and the filter the signal using its inverse. But it really depends on the application as to what form of whitening makes sense. $\endgroup$
    – Peter K.
    Commented Sep 2, 2013 at 19:30
  • $\begingroup$ Ahh, interesting thanks! One mis-understanding I have had on any pre-whitening, is that, doesn't is destroy any meaningful structure you originally had to begin with? (You filter by the inverse, and now you are left with a delta function). So what good is that?... $\endgroup$ Commented Sep 2, 2013 at 19:34

Spectral Whitening is the process of making the Magnitude spectrum Uniform.

For an image it makes the Magnitude Spectrum more continuous rather than having few frequencies jumping around here and there. Basically the word "Whitening" comes from White Process whose spectrum is just a constant at all frequencies. But if you do that to an image it'll make no sense. So in effect you'd want a rather jumpy and jittery Spectrum to look more smooth without overly inducing noise.

I'm not sure how it'll affect an image but I can give an example of where this is applied. Consider an LTI channel in a communication system(or an audio system which has a rather not so "white" frequency response to all frequencies. An audio system will not reciprocate all frequencies at the same magnitude and there comes equalization). At the end of the receiver(as the output of the speaker, or the RX of the communication system) what you receive is the distorted version of the Input signal. So what you'd want to theoretically do before sending the signal over the system is to modify the shape of the signal so that when the system distorts it, it makes it flat enough. This is called pre-emphasis or equalization typically. I guess I'm not sure where Spectral Whitening would be applied in Image Processing(as I haven't done it before) but it'll have equal usage and applications as I've explained here.

You might then think of the "Spectral Whitener" or an Equalizer (in the case of a Communication System) as just an inverse of the System that distorts it. If the frequency response of the system is $H(z)$, the whitener will be just $1/H(z)$. But care should be taken if you do this after your signal has been crippled with noise because you might enhance the noise levels at some places where its magnitude was previously very low.

  • $\begingroup$ What remains invariant when making the magnitude spectrum uniform? Even white noise has a uniform spectrum. $\endgroup$
    – user13107
    Commented Sep 2, 2013 at 2:12

white spectrum is a spectrum as that of white light: all wavelenghts (frequencies) have a constant average power. in general no signal and no image have that. if one needs a white spectrum just a method is needed for whitening the current signal/image. there is a lot of methods for prewhitening. one of the simplest is the linear prediction in time series. in image processing even simple high-pass filters whiten images.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.