1. A method for use in receiving a spread-spectrum signal, the method comprising: receiving an input signal, the input signal comprising a first plurality of multipath components; despreading the first plurality of multipath components, the step of despreading further comprising computing a first plurality of corresponding delays; computing a first plurality of combining weights based, at least in part, on interference correlation between at least two of the first plurality of multipath components; selecting, according to at least one criterion, a subset of the first plurality of combining weights and corresponding delays; computing a second plurality of combining weights based on a result from computing the first plurality of combining weights, wherein the result from computing the first plurality of combining weights is either the result used directly or a pruned result based on channel and covariance variables; despreading a second plurality of multi-path components using the subset of the first plurality of combining weights and corresponding delays; and combining a first data sequence using the despread first plurality of multipath components and the first plurality of combining weights, and combining a second data sequence using the despread second plurality of multipath components and the second plurality of combining weights.