I'm finally making some headway in understanding data whitening, but I have a question now relating what I think of as "data-based" whitening to the situation where there are time-varying signals.

So in the "data-based" world, suppose I have a mean-centered column matrix $X$ with covariance $\Sigma = \mathbb{E}[XX^\top]$. This data matrix can be transformed into a whitened dataset $W$ by computing $W=\Lambda^{-1/2}EX$, where $\Lambda$ and $E$ are the eigenvalues and eigenvectors of $\Sigma$.

So far, so good. What I'm curious about is, what if my data vectors are a bunch of windowed snippets of audio (for example) ? I could use the DFT to compute a mean power spectrum for these snippets, and then rescale each snippet by the inverse of the spectrum at each frequency. If I understand correctly, this would whiten the power spectrum of my dataset.

Does this process equate to whitening in the "data-based" world above ?

If so, are the eigenvalues of the data covariance (which I understand are also referred to as a spectrum) directly related to the mean power spectrum of my signals ? How ? Any pointers to good reading on the subject would be very welcome.

Sorry if this is an elementary question, but I haven't had much signal processing background and find this to be really fascinating.

  • $\begingroup$ Interesting. Here is a web page that claims FFTs can be used to do the same thing as PCA or ZCA whitening. The reasoning on this web page is a bit incomplete. I don't follow all of it. xcorr.net/2013/04/30/whiten-images-in-matlab $\endgroup$ Commented Mar 15, 2018 at 0:06
  • $\begingroup$ In general, it is advisable to write down an answer of your own or at least try to summarize the content of links that may help the OP, so that if in the future the webpage you qouted disappears, the answer will not depend on it. $\endgroup$
    – Tendero
    Commented Mar 15, 2018 at 13:17

2 Answers 2


I believe the answer here is no.

Remember what 'whitening' is really doing: It is ensuring that the power/variance that correspond to each of your basis vectors are the same. Which basis vectors? The ones you chose.

In the DFT, you are choosing basis vectors comprised of complex exponential functions. In PCA, you are determining the basis vectors empirically. What is the relationship between complex exponential bases and empirical bases? You cannot say.

Thus, when you say you whitened in the spectral domain, you are really saying "I made sure the power/variance associated with all my complex exponential basis vectors representing my data are the same".

When you say you whitened in the PCA domain, you are really saying "I made sure the power/variance associated with of all my empirically derived basis vectors are the same".

Are your empirically derived basis vectors complex exponentials? There is no guarantee. Thus, whitening in either domain is not equivalent to whitening in the other.

If so, are the eigenvalues of the data covariance (which I understand are also referred to as a spectrum) directly related to the mean power spectrum of my signals ? How ?

If I understand your question correctly, then the answer to this is a simple yes, for the simple reason of energy conservation. All the eigenvalues together will give you the total energy/variance in your data. The average of this energy, will have to correspond to your mean power in any domain, including the spectral.

Projecting your data onto either the DFT or PCA (empirical) bases dones not add/remove energy, but simply redistributes it. Thus, your average power has to always be the same.

  • $\begingroup$ I don't know if they are equivalent or in what sense they are equivalent but I believe that in some applications both ways can be used to de-correlate the input data (which can be the purpose of whitening). If I had to guess on a relation I would say they are differing by an orthogonal transformation (theoretically). There are more than one way to whiten a given input. A whitening matrix $V$ can be multiplied by an orthogonal matrix producing another whitening matrix. Anyway, nice question to think about. $\endgroup$
    – niaren
    Commented Aug 22, 2013 at 19:51
  • $\begingroup$ I'm not sure but I think I your reasoning that you need to take into account that the complex exponentials are a (orthogonal) basis for the input and in PCA the basis vectors are for the covariance matrix for the input. $\endgroup$
    – niaren
    Commented Aug 22, 2013 at 19:55
  • $\begingroup$ @niaren Yes, in the PCA case, we are looking at the eigenvectors of the covariance matrix, whereas in the Spectral whitening case, the DFT's complex exponentials are bases functions of the data. This is why I do not think they are equivalent. $\endgroup$ Commented Aug 22, 2013 at 20:01
  • $\begingroup$ But what is the relation? OP asks "are the eigenvalues of the data covariance directly related to the mean power spectrum of my signals?" $\endgroup$
    – niaren
    Commented Aug 22, 2013 at 20:05
  • $\begingroup$ @niaren I have edited the answer. $\endgroup$ Commented Aug 22, 2013 at 20:29

Generally the vector X, is called measurement vector. For a signal, components of this vector are measurements of signal's value at different times. For a wide-sense stationary signal the auto-covariance of X produce a Toeplitz matrix. A special kind of Toeplitz matrices is Circulant matrix. Circulant matrices diagonalized by DFT. When your signal is wide-sense cyclostationary the auto-covariance becomes a circulant matrix.

So considering when we use DFT we implicitly assumed our signal is periodic, it will be justified why our auto-covariance is a circulant matrix. So instead of calculating eigenvectors (or eigenfunctions) empirically we know the Fourier basis will diagonalize the auto-covariance beforehand and the eigenvalues are power spectrum of the signal.


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.