Whitened Matched Filter
In the ideal AWGN channel we have the received signal is $r(t)=s(t)+n(t)$, where $s(t)$ is the transmitted signal and $n(t)$ is white Gaussian noise. In this case, the transmitted symbols can be estimated using a matched filter whose output is sampled at the symbol rate. Note that in general the noise at the output of the matched filter is correlated, and no longer white; however, at the sampling times the noise is uncorrelated.

In the ISI channel we have $r(t)=c(t) \ast s(t) + n(t)$, where $c(t)$ is the channel response. We can think of this system as an AWGN channel where the transmitted signal is $g(t)=c(t) \ast s(t)$, and then we can use $g^*(-t)$ as a matched filter. However, in this case we no longer have uncorrelated noise samples. Correlated noise is more harmful, and thus this situation is undesirable.

A whitening filter after the matched filter decorrelates the noise samples and improves the system's error rate performance.

Note that the whitening filter does not revert what the matched filter did. The reason is that the purpose of the filter is not to turn the noise back into white noise; its purpose is to decorrelate the noise at the sampling instants. If the transmitted symbols are $a_k$ for integer $k$, and the (discrete) whitening filter has taps $f_n,\,n=0,1,\ldots,L$, then the output of the whitening filter is $$v_k=\sum_{n=0}^L f_n a_{k-n} + w_k,$$ where the noise samples $w_k$ are uncorrelated. The symbols $a_k$ can then be optimally obtained from $v_k$ by the Viterbi algorithm, or (perhaps sub-optimally, but easily) from another type equalizer (ZF, LS, etc.).

See also How to &#39;whiten&#39; a time domain signal? and Decorrelating Stationary Colored Gaussian Noise -- Effect On The Desired Signal for more details.