How to 'whiten' a time domain signal?
Suppose you have signals $x(t)$ and $y(t)$ whose cross-correlation function $R_{x,y}(t)$ is not something you like; you want $R_{x,y}$ to be impulse-like.  Note that in the frequency domain, 
$$\mathcal{F}[R_{x,y}] = S_{x,y}(f) = X(f)Y^*(f).$$
So you filter the signals through linear filters $g$ and $h$ respectively to get 
$\hat{x}(t) = x*g$, $\hat{X}(f) = X(f)G(f)$, and $\hat{y} = y*h$, $\hat{Y}(f) = Y(f)H(f)$, and now their cross-correlation function is
$R_{\hat{x},\hat{y}}$ whose Fourier transform is
$$\begin{align*}
\mathcal{F}[R_{\hat{x},\hat{y}}] = S_{\hat{x},\hat{y}}(f) &amp;= [X(f)G(f)][Y(f)H(f)]^*\\
&amp;= [X(f)Y^*(f)][G(f)H^*(f)]\\ &amp;= [X(f)Y^*(f)][G^*(f)H(f)]^*,
\end{align*}$$
that is, $R_{\hat{x},\hat{y}}$ is the cross-correlation of $R_{x,y}$ with 
$R_{h,g}$.  More importantly, you want to choose $g$ and $h$ so that 
the cross-spectral density $G(f)H^*(f)$ of $g$ and $h$ is the multiplicative
inverse of the  cross-spectral density $X(f)Y^*(f)$ of $x$ and $y$, or 
something close to it.  If you have only one signal and one filter, then
you get the result given by Hilmar (with amendment as given by my comment there).
In either case, the issue of compensating for spectral nulls, or generally,
frequency bands where the signals have little energy still remains.