A channel detector includes a belief propagation detector that is coupled
to a channel and adapted to receive a channel output and to generate
tentative bit decisions based in part on the channel output. The channel
detector further includes a causal and anti-causal channel output module
coupled to the belief propagation detector and adapted to generate causal
and anti-causal channel outputs based on the tentative bit decisions. The
channel detector also includes a noise prediction module coupled to the
causal and anti-causal channel output module and adapted to predict noise
samples based on a difference between the channel output and the causal
and anti-causal channel outputs. Further, the channel detector includes a
noise prediction module adapted to whiten the channel output with the
predicted noise samples and to return the whitened channel output to the
belief propagation detector to generate new tentative bit decisions.