1. A channel detector comprising: a belief propagation detector coupled to a channel and adapted to receive a detector input, the belief propagation detector adapted to generate tentative bit decisions based in part on the detector input; 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; and 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 detector input and the causal and anti-causal channel outputs, the noise prediction module adapted to whiten the detector input with the predicted noise samples and to return the whitened detector input to the belief propagation detector to generate new tentative bit decisions.