Iterative Receiver Design