A multi-pass strategy for channel estimation and data detection in long-code uplink CDMA systems