A multipass approach to joint data and channel estimation in long-code CDMA systems