IP Library Granted Patent US 10,491,262
Granted Patent B2
US 10,491,262 · App. 16/403,757 · Granted Nov 26, 2019

Reliable orthogonal spreading codes in wireless communication

Inventors: Matthew Brandon Robinson (Crownsville, MD); Andrew Keith Palmisano (Laurel, MD); Kregg Elliott Arms (Columbia, MD); Audrey Nichole Moore (Stevensville, MD)
Assignee: Rampart Communications, Inc.
H04B1/707H04J13/16
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,491,262
App. No.
16/403,757
Granted
Nov 26, 2019
Kind
B2
Abstract

Techniques of transmitting wireless communications involve generating orthogonal spreading codes for any number of user devices that are linear combinations of sinusoidal harmonics that match the frequencies within the spread bandwidth. Along these lines, prior to transmitting signals, processing circuitry may generate a set of initial code vectors that form an equiangular tight frame having small cross-correlations. From each of these rows, the processing circuitry produces a new spreading code vector using a code map that is a generalization of a discrete Fourier transform. The difference between the code map and a discrete Fourier transform is that the frequencies of the sinusoidal harmonics are chosen to match the particular frequencies within the spread bandwidth and differ from a center frequency by multiples of the original unspread bandwidth. Different transmitters may then modulate respective signals generated with different spreading code vectors.

Claims (43)

1. A method, comprising:

generating, via at least one processor, a plurality of initial vectors, each initial vector from the plurality of initial vectors including N elements, N being a positive integer;

applying, via the at least one processor, a code map to each initial vector from the plurality of initial vectors to produce an associated spreading code vector of a plurality of spreading code vectors, each spreading code vector from the plurality of spreading code vectors including M elements, M being a positive integer having a value of at least N, the code map defined such that an inner product of: (1) a first spreading code vector from the plurality of spreading code vectors, based on a first initial vector from the plurality of initial vectors; and (2) a second spreading code vector from the plurality of spreading code vectors, based on a second initial vector from the plurality of initial vectors, is equal to a product of (i) an inner product of the first initial vector and the second initial vector, and (ii) a positive constant;

performing, via the at least one processor and using the first spreading code vector, a spreading operation on a first complex baseband signal, to produce a first spread signal that includes M elements;

performing, via the at least one processor and using the second spreading code vector, a spreading operation on a second complex baseband signal, to produce a second spread signal that includes M elements;

storing at least one of the first spread signal or the second spread signal in a memory operably coupled to the processor;

transmitting the first spread signal, via a communications channel, to a first signal receiver that is configured to detect the first complex baseband signal based on the first spreading code vector; and

transmitting the second spread signal, via the communications channel, to a second signal receiver that is configured to detect the second complex baseband signal based on the second spreading code vector, the first receiver being different from the second receiver.

2. The method of claim 1 , wherein the transmitting the first spread signal is via a first transmitter, and the transmitting the second spread signal is performed via a second transmitter different from the first transmitter.

3. The method of claim 1 , wherein the transmitting the first spread signal and the transmitting the second spread signal are performed using multiple access communication.

4. The method of claim 1 , wherein the plurality of initial vectors is a matrix having rows that form one of an equiangular tight frame or a nearly equiangular tight frame.

5. The method of claim 1 , wherein the plurality of initial vectors is a unitary matrix.

6. The method of claim 1 , wherein performing the spreading operation on the first complex baseband signal includes multiplying each symbol from a set of symbols of the first complex baseband signal by the first spreading code vector.

7. The method of claim 1 , wherein the code map is a generalization of a discrete Fourier transform.

8. The method of claim 1 , wherein the plurality of initial vectors is a matrix having rows and columns that form an orthonormal basis over N , wherein is a field of complex numbers.

9. A system, comprising:

a plurality of signal receivers;

a signal transmitter; and

at least one processor configured to:

generate a plurality of initial vectors, each initial vector from the plurality of initial vectors including N elements, N being a positive integer;

apply a code map to each initial vector from the plurality of initial vectors to produce an associated spreading code vector including at least M elements, M being a positive integer having a value of at least N, the code map defined such that an inner product of: (1) a first spreading code vector from the plurality of spreading code vectors, based on a first initial vector from the plurality of initial vectors; and (2) a second spreading code vector from the plurality of spreading code vectors, based on a second initial vector from the plurality of initial vectors, is equal to a product of (i) an inner product of the first initial vector and the second initial vector, and (ii) a positive constant;

perform a spreading operation on a first complex baseband signal with the first spreading code vector to produce a first spread signal having M elements; and

perform a spreading operation on a second complex baseband signal with the second spreading code vector to produce a second spread signal having M elements,

the transmitter configured to transmit the first spread signal to a first signal receiver from the plurality of signal receivers via the signal transmitter, and to transmit the second spread signal to a second signal receiver from the plurality of signal receivers via the signal transmitter, the first signal receiver different from the second signal receiver, and

the plurality of signal receivers configured to:

receive the first and second spread signals; and

upon receipt of the first and second spread signals, detect the complex baseband signals associated therewith.

10. The system of claim 9 , wherein the plurality of signal transmitters is configured to transmit the first spread signal to the first signal receiver and the second spread signal to the second signal receiver using multiple access communication.

11. The system of claim 9 , wherein the plurality of initial vectors is a matrix having rows that form one of an equiangular tight frame or a nearly equiangular tight frame.

12. The system of claim 9 , wherein the plurality of initial vectors is a matrix having rows and columns that form an orthonormal basis over N , wherein is a field of complex numbers.

13. The system of claim 9 , wherein the plurality of initial vectors is a unitary matrix.

14. The system of claim 9 , wherein the at least one processor is further configured to prepend a cyclic prefix to at least one of the first spreading code vector and the second spreading code vector, and the plurality of signal receivers is further configured to remove the cyclic prefix from at least one spread signal from the received spread signals.

15. The system of claim 9 , wherein the code map is a generalization of a discrete Fourier transform.

16. The system of claim 9 , wherein the plurality of signal receivers is further configured to re-transmit the spread signals to a target device.

17. A non-transitory storage medium comprising code that, when executed by a processor, causes the processor to:

generate a plurality of initial vectors, each initial vector from the plurality of initial vectors including N elements, N being a positive integer;

apply a code map to each initial vector from the plurality of initial vectors to produce an associated spreading code vector of a plurality of spreading code vectors, each spreading code vector from the plurality of spreading code vectors including M elements, M being a positive integer having a value of at least N, the code map defined such that an inner product of: (1) a first spreading code vector from the plurality of spreading code vectors, based on a first initial vector of the plurality of initial vectors; and (2) a second spreading code vector from the plurality of spreading code vectors, based on a second initial vector of the plurality of initial vectors, is equal to a product of (i) an inner product of the first initial vectors and the second initial vector, and (ii) a positive constant;

send the first spreading code vector to a transmitter to spread an associated baseband signal over a frequency band for sending to a first receiver; and

send the second spreading code vector to the transmitter to spread an associated baseband signal over the frequency band for sending to a second receiver, the first receiver being different from the second receiver.

18. The non-transitory storage medium of claim 17 , wherein the plurality of initial vectors is a matrix having rows that form one of an equiangular tight frame or a nearly equiangular tight frame.

19. The non-transitory storage medium of claim 17 , wherein the plurality of initial vectors is a matrix having rows and columns that form an orthonormal basis over N , wherein is a field of complex numbers.

20. The non-transitory storage medium of claim 17 , wherein the plurality of initial vectors is a unitary matrix.

21. The non-transitory storage medium of claim 17 , wherein the code to spread the baseband signals over the frequency band includes code to multiply each symbol from a set of symbols of the associated complex baseband signal by the associated spreading code vector.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2019
From: ROBINSON, MATTHEW BRANDON; PALMISANO, ANDREW KEITH; ARMS, KREGG ELLIOTT; MOORE, AUDREY NICHOLE
To: RAMPART COMMUNICATIONS, LLC
Reel/Frame 049762/0467 →
CHANGE OF NAME Recorded Jul 16, 2019
From: RAMPART COMMUNICATIONS, LLC
To: RAMPART COMMUNICATIONS, INC.
Reel/Frame 049762/0503 →
Continuity (3)
Continuation PCTUS2017061489 · Nov 14, 2017
Continuation 15351428 · Nov 14, 2016
Related Publication 20190268035A1 · Aug 29, 2019
Cited By (1)
US 12,640,907