To appreciate the difference between ZF algo and MSE algo, you must understand the criterion they use to design the respective equalizer.
Both are linear equalizers, so mathematically, the equalizer
w will be convolved by the channel response
h to get the combination
c = w * h. Where symbol
* is for convolution. Note that we work in time-domain.
The ZF criterion tries to find
w such that
c has only one non-zero sample. This is the same as finding
c equals to a delayed impulse signal
delta(n-k). Note that this criterion does not regard the noise
z in the communication system.
In frequency domain, it is the same that you must find
W(z) as the inverse of
H(z), since the z-transform of an impulse signal is
1 plus additional phase-term which we can ignore for sake of simplicity. This inversion gives large gain at regions where
H(z) is low. In doing so, the equalizer tends to amplify the noise at those regions.
The MMSE criterion tries to find w
such that
E{w * [h * s + z] - s(n-k)} is minimum. Where
z is the noise in the communication system. Note that this MMSE criterion does regard the noise in the design of the respective equalizer. In literature, this MMSE criterion leads to the so-called Wiener reveicer/filter.
As far as I know, in matrix-vector notation, the ZF and MMSE equalizer have similar forms (sorry I'm lazy to look this on my textbook), and indeed for high SNR values (low noise, so the influence of noise could be ignored) the ZF and MMSE equalizers have the same performance.