IP Library Granted Patent US 8,391,335
Granted Patent B2
US 8,391,335 · App. 12/311,754 · Granted Mar 5, 2013

Apparatus and method for correlation in a GPS receiver

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,391,335
App. No.
12/311,754
Granted
Mar 5, 2013
Kind
B2
Abstract

An apparatus comprising: a first code controller for controlling the storage of a first spreading code portion; a first data input controller for controlling the storage of a first set of input samples; a second data input controller for controlling the storage of a second set of input samples; a combiner arranged to combine a spreading code sample with an input sample and output the resultant combination; a summer for summing said resultant combinations; and a combination controller arranged to control which of the stored first set of input samples or the stored second set of input samples provides said input sample for combination in the combiner.

Claims (53)

1. An apparatus comprising:

a first code controller operable to control the storage of a first spreading code portion;

a first data input controller operable to control the storage of a first set of input samples;

a second data input controller operable to control the storage of a second set of input samples;

a combiner operable to combine a spreading code sample with a selected one of the first set of input samples and the second set of input samples and output the resultant combination;

a summer operable to sum said resultant combinations from the combiner; and

a combination controller operable to select which of the first data input controller or the second data input controller provides said selected one of the first set of input samples and the second set of input samples for combination in the combiner.

2. An apparatus as claimed in claim 1 , further comprising:

a second code controller operable to control the storage of a second spreading code portion, wherein the combination controller is further arranged to control which of the stored first spreading code portion or the stored second spreading code portion provides a sample of a spreading code for combination in the combiner.

3. An apparatus as claimed in claim 1 , wherein the first code controller comprises a shift register, clocked at a sample rate, and at least one holding register that is refreshed by the shift register at a slower rate.

4. An apparatus as claimed in claim 1 , wherein data input controllers each comprise a shift register, for storing a set of input samples, that is clocked at a sample rate of the input samples.

5. An apparatus as claimed in claim 4 , wherein the shift register has a size that is variable and linearly proportional to the sample rate at which it is clocked.

6. An apparatus as claimed in claim 1 , wherein code controllers each comprise a register, for storing a set of code samples, wherein each register is refreshed with the same periodicity irrespective of its size.

7. An apparatus as claimed in claim 1 , wherein, the combiner at every sample period p, multiplies the value in the ith position of the mth code portion with the corresponding value in the ith position of a jth set of input samples, for each value of i where i=1 to N, to form N combinations.

8. An apparatus as claimed in claim 7 , wherein, the summer adds the N combinations to create a correlation value for the pair m, j and creates a cumulative sum over N sample periods for the correlation values of the pair m, j.

9. A spread spectrum receiver component comprising the apparatus of claim 1 .

10. A method comprising:

storing a first spreading code portion from a first code controller;

selecting between at least a first set of input samples from a first data input controller and a second set of input samples from a second data input controller;

combining within a combining circuit the first spreading code portion with the selected set of input samples to produce a combination; and

summing within a summing circuit the combination with a previous combination.

11. A method as claimed in claim 10 , comprising:

storing a second spreading code portion from a second code controller;

selecting between at least the first spreading code portion from the first code controller and the second spreading code portion from the second code controller; and

combining the selected spreading code portion and the selected set of input samples to produce said combination.

12. A method as claimed in claim 10 , or 11 , comprising:

storing multiple spreading code portions;

storing sets of input samples;

pairing spreading code portions and sets of input samples;

combining a paired spreading code portion and set of input samples to produce combinations; and

summing the combinations within the summing circuit.

13. A method as claimed in claim 10 , wherein a first set of input samples is from an input channel that is not yet assigned to a spreading code, the method comprising: pairing the first set of input samples with multiple code portions relating only to a spreading code or codes that are not yet assigned to input channels.

14. A method as claimed in claim 10 , wherein a second set of input samples is from an input channel that is assigned to a first spreading code, the method comprising: pairing the second set of input samples only with a code portion or code portions relating to the first spreading code.

15. A method as claimed in claim 10 , comprising:

storing multiple spreading code portions;

storing sets of input samples;

linking together spreading code portions, clock rates and sets of input samples;

combining a linked spreading code and set of input samples, at a rate dependent upon the respective linked clock rate, to produce combinations; and

summing the combinations.

16. A method as claimed in claim 10 , comprising: storing sets of input samples in respective registers.

17. A method as claimed in claim 10 , comprising: storing code portions in respective registers.

18. A method as claimed in claim 16 , comprising: varying a size of a register.

19. A physical entity tangibly embodying a computer program comprising computer program instructions that when loaded into a processor enable the processor to control:

selection between at least a first set of input samples from a first data input controller and a second set of input samples from a second data input controller;

combination of a first spreading code with the selected set of input samples to produce a combination; and

summation within a summing circuit of the combination with a previous combination.

20. A module comprising:

a first code controller operable to control the storage of a first spreading code portion;

a first data input controller operable to control the storage of a first set of input samples;

a second data input controller operable to control the storage of a second set of input samples;

a combiner operable to combine a spreading code sample with a selected one of the first set of input samples and the second set of input samples and output the resultant combination;

a summer operable to sum said resultant combinations from the combiner; and

a combination controller operable to select which of the first data input controller or the second data input controller provides said selected one of the first set of input samples and the second set of input samples for combination in the combiner.

Assignments (8)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2012
From: NOKIA CORPORATION
To: RPX CORPORATION
Reel/Frame 028323/0196 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2009
From: EEROLA, VILLE A.
To: NOKIA CORPORATION
Reel/Frame 023550/0901 →