IP Library › Granted Patent US 11,536,851
Granted Patent B2
US 11,536,851 · App. 17/024,533 · Granted Dec 27, 2022

Highly scalable, low latency, GPU based GNSS simulation

Inventors: Felix Michael Krefft (Paignton, GB); Andrew Charles Baker (Bridgwater, GB); Rafal Waclaw Zbikowski (Paignton, GB); Mark Geoffrey Holbrow (Paignton, GB)
Assignee: Spirent Communications PLC
G01S19/23G01S19/37
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 11,536,851
App. No.
17/024,533
Granted
Dec 27, 2022
Kind
B2
Abstract

The disclosed technology for preparing digital samples for synthesis of RF to simulate channels and GNSS satellites using GPUs includes receiving simulated position and velocity of an antenna, dividing the cycle into points to be converted into the synthesized signal, and computing the points. A first LUT includes pseudo random sequences combinable to produce a code that varies over time for encoding the channel, and a second LUT specifies linear combinations of the pseudo random sequences in the first LUT that produce channel codes to produce the digital sample points. Also included is using GPUs to generate the channel code for a point by mapping the channel code and time position, combining the code with data to be encoded, repeatedly applying the using and combining to produce points, using multiple GPU cores to encode sample points concurrently in the cycle, and sending an ordered sequence of points to a converter.

Claims (60)

1. A method of preparing digital samples for synthesis of a radio frequency, abbreviated RF, signal encoded to simulate a channel of a Global Navigation Satellite System, abbreviated GNSS, satellite using a general processing unit, abbreviated GPU, instead of a field programmable gate array, abbreviated FPGA, including:

receiving a simulated position and velocity of a receiver antenna, for a simulation cycle, to which a synthesized RF signal is to be provided;

dividing the cycle into digital sample points that will be converted into the synthesized RF signal;

computing the digital sample points for the channel using a multiplicity of cores of a GPU, including

providing a first lookup table, abbreviated LUT, that includes pseudo random sequences that can be combined to produce a channel code that varies over time and is used for encoding the channel; and

providing a second LUT that specifies linear combinations of the pseudo random sequences in the first LUT that produce channel codes

to produce the digital sample points in the cycle,

using at least one core of the GPU to generate the channel code for a respective sample point by

mapping the channel code required to an entry in the second LUT that specifies the pseudo random sequences from the first LUT to combine to produce the channel code, and

mapping a time position of the respective sample point to one or more entries in the first LUT that are specified in the second LUT;

combining the channel code for the respective sample point with data to be encoded by the respective sample point; and

repeatedly applying the using and the combining to produce the digital sample points in the cycle, using a multiplicity of cores of the GPU to encode respective sample points concurrently in the cycle; and

sending an ordered sequence of the digital sample points for the cycle to a converter that is configured to synthesize the RF signal that simulates the channel of the GNSS satellite, from the digital sample points.

2. The method of claim 1 , wherein the first LUT includes between two and twenty-nine pseudorandom sequences per channel.

3. The method of claim 1 , wherein the first LUT includes between two and one hundred pseudorandom sequences per channel.

4. The method of claim 1 , wherein the second LUT specifies linear combinations of two to seven of the pseudo random sequences in the first LUT that produce channel codes.

5. The method of claim 1 , wherein the second LUT specifies linear combinations of two to fifteen of the pseudo random sequences in the first LUT that produce channel codes.

6. The method of claim 1 , wherein the data to be encoded by the respective sample point is one of almanac data or position data.

7. The method of claim 1 , wherein the multiplicity of cores of the GPU includes a range of 250 to 128,000 cores.

8. The method of claim 1 , further including preparing digital samples for synthesis of an RF signal with encoding that simulates multiple channels of a GNSS satellite, including:

producing multiple channel codes for the multiple channels, combining the channel codes for the respective channels at the sample point with data to be encoded in the respective channels at the sample point to produce the digital sample points for the channels; and

combining the data encoded for the multiple channels into a single encoded value for a respective digital sample point before sending the order sequence of the digital sample points for the cycle to the converter.

9. The method of claim 8 , wherein at least one complex code channel among the multiple channels can be encoded using a pseudo random sequence generated for the cycle by a pseudo random sequence generator running on one or more of the cores, and using at least the pseudo random sequence generated for the cycle in combination with data to be encoded on the respective sample point to produce the digital sample points in the cycle for the complex code channel.

10. The method of claim 8 , further including preparing digital samples for synthesis of an RF signal with encoding that simulates multiple GNSS satellites, including:

producing the digital sample points for the multiple channels of the GNSS satellite, and

combining the data encoded for the multiple channels into a single encoded value for a respective digital sample point before sending the order sequence of the digital sample points for the cycle to the converter producing the digital sample points for the multiple GNSS satellites.

11. A tangible non-transitory computer readable storage media impressed with computer program instructions that, when executed, implement a method of preparing digital samples for synthesis of a radio frequency, abbreviated RF, signal encoded to simulate a channel of a Global Navigation Satellite System, abbreviated GNSS, satellite using a general processing unit, abbreviated GPU, instead of a field programmable gate array, abbreviated FPGA, including:

receiving a simulated position and velocity of a receiver antenna, for a simulation cycle, to which a synthesized RF signal is to be provided;

dividing the cycle into digital sample points that will be converted into the synthesized RF signal;

computing the digital sample points for the channel using a multiplicity of cores of a GPU, including

providing a first lookup table, abbreviated LUT, that includes pseudo random sequences that can be combined to produce a channel code that varies over time and is used for encoding the channel; and

providing a second LUT that specifies linear combinations of the pseudo random sequences in the first LUT that produce channel codes

to produce the digital sample points in the cycle,

using at least one core of the GPU to generate the channel code for a respective sample point by

mapping the channel code required to an entry in the second LUT that specifies the pseudo random sequences from the first LUT to combine to produce the channel code, and

mapping a time position of the respective sample point to one or more entries in the first LUT that are specified in the second LUT;

combining the channel code for the respective sample point with data to be encoded by the respective sample point; and

repeatedly applying the using and the combining to produce the digital sample points in the cycle, using a multiplicity of cores of the GPU to encode respective sample points concurrently in the cycle; and

sending an ordered sequence of the digital sample points for the cycle to a converter that is configured to synthesize the RF signal that simulates the channel of the GNSS satellite, from the digital sample points.

12. The tangible non-transitory computer readable storage media of claim 11 , wherein the first LUT includes between two and twenty-nine pseudorandom sequences per channel.

13. The tangible non-transitory computer readable storage media of claim 11 , wherein the first LUT includes between two and one hundred pseudorandom sequences per channel.

14. The tangible non-transitory computer readable storage media of claim 11 , wherein the second LUT specifies linear combinations of two to seven of the pseudo random sequences in the first LUT that produce channel codes.

15. The tangible non-transitory computer readable storage media of claim 11 , wherein the second LUT specifies linear combinations of two to fifteen of the pseudo random sequences in the first LUT that produce channel codes.

16. The tangible non-transitory computer readable storage media of claim 11 , wherein the data to be encoded by the respective sample point is one of almanac data or position data.

17. The tangible non-transitory computer readable storage media of claim 11 , wherein the multiplicity of cores of the GPU includes a range of 250 to 128,000 cores.

18. The tangible non-transitory computer readable storage media of claim 11 , further including preparing digital samples for synthesis of an RF signal with encoding that simulates multiple channels of a GNSS satellite, including:

producing multiple channel codes for the multiple channels, combining the channel codes for the respective channels at the sample point with data to be encoded in the respective channels at the sample point to produce the digital sample points for the channels; and

combining the data encoded for the multiple channels into a single encoded value for a respective digital sample point before sending the order sequence of the digital sample points for the cycle to the converter.

19. The tangible non-transitory computer readable storage media of claim 18 , wherein at least one complex code channel among the multiple channels can be encoded using a pseudo random sequence generated for the cycle by a pseudo random sequence generator running on one or more of the cores, and using at least the pseudo random sequence generated for the cycle in combination with data to be encoded on the respective sample point to produce the digital sample points in the cycle for the complex code channel.

20. The tangible non-transitory computer readable storage media of claim 18 , further including preparing digital samples for synthesis of an RF signal with encoding that simulates multiple GNSS satellites, including:

producing the digital sample points for the multiple channels of the GNSS satellite, and

combining the data encoded for the multiple channels into a single encoded value for a respective digital sample point before sending the order sequence of the digital sample points for the cycle to the converter producing the digital sample points for the multiple GNSS satellites.

21. A system for preparing digital samples for synthesis of a radio frequency, abbreviated RF, signal encoded to simulate a channel of a Global Navigation Satellite System, abbreviated GNSS, satellite using a general processing unit, abbreviated GPU, instead of a field programmable gate array, abbreviated FPGA, includes one or more processors coupled to memory, the memory loaded with computer instructions, that when executed on the processors, implement the receiving, dividing, computing and sending of claim 11 .

22. The system of claim 21 , further including preparing digital samples for synthesis of an RF signal with encoding that simulates multiple channels of a GNSS satellite, including:

producing multiple channel codes for the multiple channels, combining the channel codes for the respective channels at the sample point with data to be encoded in the respective channels at the sample point to produce the digital sample points for the channels; and

combining the data encoded for the multiple channels into a single encoded value for a respective digital sample point before sending the order sequence of the digital sample points for the cycle to the converter.

23. The system of claim 22 , wherein at least one complex code channel among the multiple channels can be encoded using a pseudo random sequence generated for the cycle by a pseudo random sequence generator running on one or more of the cores, and using at least the pseudo random sequence generated for the cycle in combination with data to be encoded on the respective sample point to produce the digital sample points in the cycle for the complex code channel.

24. The system of claim 22 , further including preparing digital samples for synthesis of an RF signal with encoding that simulates multiple GNSS satellites, including:

producing the digital sample points for the multiple channels of the GNSS satellite, and

combining the data encoded for the multiple channels into a single encoded value for a respective digital sample point before sending the order sequence of the digital sample points for the cycle to the converter producing the digital sample points for the multiple GNSS satellites.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2020
From: KREFFT, FELIX MICHAEL; BAKER, ANDREW CHARLES; ZBIKOWSKI, RAFAL WACLAW; HOLBROW, MARK GEOFFREY
To: SPIRENT COMMUNICATIONS, PLC
Reel/Frame 054017/0355 →
Continuity (2)
Provisional Application 63073381 · Sep 1, 2020
Related Publication 20220066049A1 · Mar 3, 2022