1. A method implemented in a communication device for tracking a spread spectrum signal having an associated code at a receiver, the method comprising: despreading by a despreading device a plurality of components of the spread spectrum signal using the associated code, each of the plurality of components having a different code phase than all others of the plurality of code phases; weighting each of the plurality of components with a weight value based on a phase difference between that component and a center code phase of the plurality of components; and determining a tracking error based on the weighted components.