Patent ID: 7602835

Claim:
A correlator configured to despread a multi-rate composite long code defining a composite length of at least N*M, where N and M are integers each greater than one, comprising: a first stage comprising: a first plurality of at least N−1 delay elements arranged in series with one another; a first plurality of at least N filter taps, each having an input that is coupled to one of an input and an output of a delay element of the first plurality of delay elements; and a first despread adder having an input coupled to an output of each of the first plurality of at least N filter taps; a second stage comprising: a second plurality of at least M−1 delay elements arranged in series with one another; a second plurality of at least M filter taps, each having an input that is coupled to one of an input and an output of a delay element of the second plurality of at least M−1 delay elements; a second despread adder having an input coupled to an output of each of the second plurality of at least M filter taps and an output coupled to an input of the first plurality of at least N−1 delay elements; and a shift register having an input coupled to an output of the first despread adder, wherein an energy profile of the shift register exhibits a peak when contents of the shift register are in proper alignment with the multi-rate composite long code; wherein the multi-rate composite long code is constructed from at least a first constituent code and a second constituent code, wherein the first constituent code defines a first length N and the second constituent code defines a second length M, wherein the second constituent code is a cover code running at a rate of 1/N; wherein the delay elements of the first plurality each delay one unit of time and the delay elements of the second plurality each delay N units of time; wherein the first stage operates at a rate X and the second stage operates at a rate X/N; wherein N is not equal to M, and X is an integer greater than one.