IP Library Granted Patent US 10,175,945
Granted Patent B2
US 10,175,945 · App. 15/491,653 · Granted Jan 8, 2019

Methods and systems for improving correlation

Inventors: Vikram V. Kalkunte (Santa Clara, CA); Subramanian S. Meiyappan (San Jose, CA)
Assignee: NextNav, LLC
G06F7/52H04B1/70752
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 10,175,945
App. No.
15/491,653
Granted
Jan 8, 2019
Kind
B2
Abstract

Systems and methods for improving correlation. In at least one system and method, a signal is received and divided into a plurality of slices. Each of the slices is divided into a plurality of sub-slices. A plurality of chips of a PN code are generated, and sub-slice correlation results are generated in parallel. Summation of the sub-slice correlation results generates a slice correlation results, and the accumulated slice correlation results provide a correlation result.

Claims (80)

1. A method for improving correlation, the method comprising:

receiving a signal;

dividing the signal into a plurality of slices;

dividing each of the slices into a plurality of sub-slices;

generating a plurality of chips of a PN code;

generating a plurality of sub-slice correlation results in parallel;

generating a plurality of slice correlation results by summing the plurality of sub-slice correlation results; and

generating a correlation result by accumulating the plurality of slice correlation results,

wherein the signal is divided into a plurality of slices by writing a group of L*S samples of the signal into a memory module a plurality of times,

wherein each group of L*S samples corresponds to a slice, L denotes the number of sub-slices that can be processed in parallel by a correlation module, and S denotes the number of samples per chip of the signal.

2. A method for improving correlation, the method comprising:

receiving a signal;

dividing the signal into a plurality of slices;

dividing each of the slices into a plurality of sub-slices;

generating a plurality of chips of a PN code;

generating a plurality of sub-slice correlation results in parallel;

generating a plurality of slice correlation results by summing the plurality of sub-slice correlation results; and

generating a correlation result by accumulating the plurality of slice correlation results,

wherein each of the slices is divided into a plurality of sub-slices by reading a group of S samples from a memory module L times,

wherein each group of S samples corresponds to a sub-slice, L denotes the number of sub-slices that can be processed in parallel by a correlation module, and S denotes the number of samples per chip of the received signal.

3. A method for improving correlation, the method comprising:

receiving a signal;

dividing the signal into a plurality of slices;

dividing each of the slices into a plurality of sub-slices;

generating a plurality of chips of a PN code;

generating a plurality of sub-slice correlation results in parallel;

generating a plurality of slice correlation results by summing the plurality of sub-slice correlation results; and

generating a correlation result by accumulating the plurality of slice correlation results,

wherein the plurality of chips of a PN code are generated by:

(i) selecting a PN generator;

(ii) identifying initialization values associated with the PN generator;

(iii) configuring the PN generator using the initialization values;

(iv) identifying a state A of the PN generator, wherein the state A corresponds to the state of the PN generator before the state of the PN generator is advanced by a first number of times;

(v) determining a next-value of the PN generator;

(vi) advancing the state of the PN generator the first number of times relative to the state A;

(vii) identifying a chip of the PN code and one or more subsequent chips of the PN code;

(viii) determining a state of the PN generator advanced by a second number of times relative to A; and

(ix) setting the state of the PN generator to the state A advanced by the second number of times.

4. The method of claim 3 , wherein the first number of times is greater than the second number of times.

5. The method of claim 3 , wherein the next-value of the PN generator is determined using a next-value function, and the PN generator is advanced by using the next-value of the PN generator.

6. One or more non-transitory machine-readable media embodying program instructions that, when executed by one or more machines, cause the one or more machines to implement a method for improving correlation, the method comprising:

receiving a signal;

dividing the signal into a plurality of slices;

dividing each of the slices into a plurality of sub-slices;

generating a plurality of chips of a PN code;

generating a plurality of sub-slice correlation results in parallel;

generating a plurality of slice correlation results by summing the plurality of sub-slice correlation results; and

generating a correlation result by accumulating the plurality of slice correlation results,

wherein the signal is divided into a plurality of slices by writing a group of L*S samples of the signal into a memory module a plurality of times,

wherein each group of L*S samples corresponds to a slice, L denotes the number of sub-slices that can be processed in parallel by a correlation module, and S denotes the number of samples per chip of the signal.

7. One or more non-transitory machine-readable media embodying program instructions that, when executed by one or more machines, cause the one or more machines to implement a method for improving correlation, the method comprising:

receiving a signal;

dividing the signal into a plurality of slices;

dividing each of the slices into a plurality of sub-slices;

generating a plurality of chips of a PN code;

generating a plurality of sub-slice correlation results in parallel;

generating a plurality of slice correlation results by summing the plurality of sub-slice correlation results; and

generating a correlation result by accumulating the plurality of slice correlation results,

wherein each of the slices is divided into a plurality of sub-slices by reading a group of S samples from a memory module L times,

wherein each group of S samples corresponds to a sub-slice, L denotes the number of sub-slices that can be processed in parallel by a correlation module, and S denotes the number of samples per chip of the received signal.

8. One or more non-transitory machine-readable media embodying program instructions that, when executed by one or more machines, cause the one or more machines to implement a method for improving correlation, the method comprising:

receiving a signal;

dividing the signal into a plurality of slices;

dividing each of the slices into a plurality of sub-slices;

generating a plurality of chips of a PN code;

generating a plurality of sub-slice correlation results in parallel;

generating a plurality of slice correlation results by summing the plurality of sub-slice correlation results; and

generating a correlation result by accumulating the plurality of slice correlation results,

wherein the plurality of chips of a PN code are generated by:

(i) selecting a PN generator;

(ii) identifying initialization values associated with the PN generator;

(iii) configuring the PN generator using the initialization values;

(iv) identifying a state A of the PN generator, wherein the state A corresponds to the state of the PN generator before the state of the PN generator is advanced by a first number of times;

(v) determining a next-value of the PN generator;

(vi) advancing the state of the PN generator the first number of times relative to the state A;

(vii) identifying a chip of the PN code and one or more subsequent chips of the PN code;

(viii) determining a state of the PN generator advanced by a second number of times relative to A; and

(ix) setting the state of the PN generator to the state A advanced by the second number of times.

9. The one or more non-transitory machine-readable media of claim 8 , wherein the first number of times is greater than the second number of times.

10. The one or more non-transitory machine-readable media of claim 8 , wherein the next-value of the PN generator is determined using a next-value function, and the PN generator is advanced by using the next-value of the PN generator.

Assignments (4)
SECURITY INTEREST Recorded Apr 1, 2025
From: NEXTNAV INC.; NEXTNAV HOLDINGS, LLC; NEXTNAV INTERMEDIATE HOLDCO, LLC; PROGENY LMS, LLC; COMMLABS, INC.
To: GLAS TRUST COMPANY LLC
Reel/Frame 070691/0909 →
RELEASE OF SECURITY INTEREST Recorded Oct 29, 2021
From: FORTRESS CREDIT CORP.
To: NEXTNAV, LLC
Reel/Frame 057973/0636 →
ASSIGNMENT FOR SECURITY -- PATENTS Recorded Dec 27, 2019
From: NEXTNAV, LLC; PROGENY LMS, LLC
To: FORTRESS CREDIT CORP., AS AGENT
Reel/Frame 051433/0692 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2017
From: MEIYAPPAN, SUBRAMANIAN S; KALKUNTE, VIKRAM V
To: NEXTNAV, LLC
Reel/Frame 042067/0022 →
Continuity (2)
Provisional Application 62351825 · Jun 17, 2016
Related Publication 20170366219A1 · Dec 21, 2017
Cited By (2)
US 12,228,656 US 12,386,015