Global navigation satellite system (GNSS) hostile environment simulation
11402512 · 2022-08-02
Assignee
Inventors
- Brian Filarsky (Tucson, AZ, US)
- Jason Kyle (Tucson, AZ, US)
- Arnaldo J. Colon (Tucson, AZ, US)
- William F. Dixon (Tucson, AZ, US)
- Ender Barillas (Orlando, FL, US)
Cpc classification
G06F17/142
PHYSICS
G01S19/03
PHYSICS
G01S19/015
PHYSICS
G01S19/256
PHYSICS
G01S19/23
PHYSICS
H04K3/90
ELECTRICITY
International classification
G01S19/23
PHYSICS
G01S19/01
PHYSICS
G01S19/21
PHYSICS
G06F9/38
PHYSICS
G01S19/25
PHYSICS
G06F17/14
PHYSICS
Abstract
A GNSS hostile environment simulator for accurate real-time processor & hardware in the loop (PHIL) simulations of a multiple antenna GNSSR/AJ system models antenna effects over the entire signal bandwidth allowing direct injection of the RF into the GNSSR. Computational efficiency is achieved by applying the antenna patterns in the frequency domain. To preserve the integrity of the antenna signals, the transmitter signals are generated over an extended period to push any residual ringing outside the update window. Efficiency is further enhanced by using a combination of single-precision and double-precision floating-point units to generate the samples of the transmitter signals with single-precision floating-point. All subsequent calculations are then computed in single-precision.
Claims
1. A Global Navigation Satellite System (GNSS) hostile environment simulator for a unit under test (UUT) having an RF receiver, comprising: one or more processors configured to receive simulated trajectory data for the UUT and calculate geometry between the UUT and each of a plurality of simulated signal transmitters and configured to (a) based on the geometry, calculate a time-domain digital transmitter signal for each said simulated signal transmitter, (b) perform a frequency transformation on each transmitter signal, (c) apply a frequency-dependent antenna pattern for each of a plurality of RF antennas to each of the plurality of transmitter signals in the frequency domain by multiplying each transmitter signal at each frequency by a complex value representing the antenna pattern at the corresponding frequency for each RF antenna, (d) for each said RF antenna, accumulate the frequency components for all of the signal transmitters to form frequency-domain digital antenna signals, and (e) perform an inverse frequency transformation on each said antenna signal to generate time-domain digital antenna signals for each said RF antenna at baseband frequencies; and a software defined radio (SDR) that converts the time-domain digital antenna signals from baseband to RF signals to drive the UUT's RF receiver.
2. A Global Navigation Satellite System (GNSS) hostile environment simulator, for a unit under test (UUT) having an RF receiver, comprising: one or more processors configured to receive simulated trajectory data for the UUT and calculate geometry between the UUT and each of a plurality of simulated signal transmitters and configured to (a) based on the geometry, calculate a time-domain digital transmitter signal for each said simulated signal transmitter, (b) perform a frequency transformation on each transmitter signal, (c) apply a frequency-dependent antenna pattern for each of a plurality of RF antennas to each of the plurality of transmitter signals in the frequency domain by multiplying each transmitter signal at each frequency by a complex value representing the antenna pattern at the corresponding frequency for each RF antenna, (d) for each said RF antenna, accumulate the frequency components for all of the signal transmitters to form frequency-domain digital antenna signals, and (e) perform an inverse frequency transformation on each said antenna signal to generate time-domain digital antenna signals for each said RF antenna at baseband frequencies; and a software defined radio (SDR) that converts the time-domain digital antenna signals from baseband to RF signals to drive the UUT's RF receiver, wherein the one or more processors are configured to output the time-domain digital antenna signals over an update window, wherein the one or more processors are further configured in step (a) to calculate the time-domain digital transmitter signals over an extended period both before and after the update window and after performing the inverse transformation in step (e) to retain only the portion of the time-domain digital antenna signals within the update window to eliminate ringing in the retained antenna signals.
3. The GNSS hostile environment simulator of claim 2, wherein the frequency domain transform has a length equal to a power of two, wherein a minimum extension period is specified to eliminate ringing, wherein the one or more processors are configured in step (a) to calculate a number of samples for the time domain digital transmitter signals equal to the next power of two beyond the minimum extension period and in step (b) perform the frequency domain transform with a length equal to the next power of two.
4. The GNSS hostile environment simulator of claim 1, wherein the one or more processors are configured to perform an FFT in step b and an inverse FFT in step e.
5. A Global Navigation Satellite System (GNSS) hostile environment simulator for a unit under test (UUT) having an RF receiver, comprising: one or more processors configured to receive simulated trajectory data for the UUT and calculate geometry between the UUT and each of a plurality of simulated signal transmitters and configured to (a) based on the geometry, calculate a time-domain digital transmitter signal for each said simulated signal transmitter, (b) perform an FFT frequency transformation on each transmitter signal, (c) apply a frequency-dependent antenna pattern for each of a plurality of RF antennas to each of the plurality of transmitter signals in the frequency domain by multiplying each transmitter signal at each frequency by a complex value representing the antenna pattern at the corresponding frequency for each RF antenna, (d) for each said RF antenna, accumulate the frequency components for all of the signal transmitters to form frequency-domain digital antenna signals, and (e) perform an inverse FFT frequency transformation on each said antenna signal to generate time-domain digital antenna signals for each said RF antenna at baseband frequencies; and a software defined radio (SDR) that converts the time-domain digital antenna signals from baseband to RF signals to drive the UUT's RF receiver, wherein an update rate of the simulated trajectory data defines an update window and a sampling rate defines a number of samples over the update window, a minimum extension period is established to eliminate ringing in the samples of the antenna signals over the update window, wherein the one or more processors are configured in step (a) to calculate a number of samples for the time domain digital transmitter signals equal to the next power of two beyond the minimum extension period and in step b to perform the FFT with a length equal to the next power of two.
6. The GNSS hostile environment simulator of claim 1, wherein the one or more processors are configured to generate transmitter signals and apply the frequency-dependent antenna patterns over the band.
7. The GNSS hostile environment simulator of claim 1, wherein the one or more processors comprise a plurality of central processing unit (CPU) cores and a graphics processing unit (GPU).
8. The GNSS hostile environment simulator of claim 7, wherein the CPU cores are configured to compute the geometry and the GPU is configured to compute the transmitter signals, perform the frequency transformation, apply the antenna patterns and perform the inverse frequency transformation.
9. A Global Navigation Satellite System (GNSS) hostile environment simulator for a unit under test (UUT) having an RF receiver, comprising: one or more processors configured to receive simulated trajectory data for the UUT and calculate geometry between the UUT and each of a plurality of simulated signal transmitters and configured to (a) based on the geometry, calculate a time-domain digital transmitter signal for each said simulated signal transmitter, (b) perform a frequency transformation on each transmitter signal, (c) apply a frequency-dependent antenna pattern for each of a plurality of RF antennas to each of the plurality of transmitter signals in the frequency domain by multiplying each transmitter signal at each frequency by a complex value representing the antenna pattern at the corresponding frequency for each RF antenna, (d) for each said RF antenna, accumulate the frequency components for all of the signal transmitters to form frequency-domain digital antenna signals, and (e) perform an inverse frequency transformation on each said antenna signal to generate time-domain digital antenna signals for each said RF antenna at baseband frequencies; and a software defined radio (SDR) that converts the time-domain digital antenna signals from baseband to RF signals to drive the UUT's RF receiver, wherein the one or more processors comprise double-precision floating point units configured to compute samples of a sinusoidal time-domain digital transmitter signal, wherein for each sample number the double-precision floating point unit computes a phase based on that sample number and then computes a sinusoid based on that phase, wherein the one or more processors are configured to perform all subsequent computations in steps (b)-(e) are performed in double-precision floating point.
10. A Global Navigation Satellite System (GNSS) hostile environment simulator for a unit under test (UUT) having an RF receiver, comprising: one or more processors configured to receive simulated trajectory data for the UUT and calculate geometry between the UUT and each of a plurality of simulated signal transmitters and configured to (a) based on the geometry, calculate a time-domain digital transmitter signal for each said simulated signal transmitter, (b) perform a frequency transformation on each transmitter signal, (c) apply a frequency-dependent antenna pattern for each of a plurality of RF antennas to each of the plurality of transmitter signals in the frequency domain by multiplying each transmitter signal at each frequency by a complex value representing the antenna pattern at the corresponding frequency for each RF antenna, (d) for each said RF antenna, accumulate the frequency components for all of the signal transmitters to form frequency-domain digital antenna signals, and (e) perform an inverse frequency transformation on each said antenna signal to generate time-domain digital antenna signals for each said RF antenna at baseband frequencies; and a software defined radio (SDR) that converts the time-domain digital antenna signals from baseband to RF signals to drive the UUT's RF receiver, wherein the one or more processors comprise single-precision and double-precision floating point units configured to calculate the time-domain transmitter signal with single precision, wherein the one or more processors are configured to perform all subsequent computations in steps (b)-(e) are performed in single-precision floating point.
11. The GNSS hostile environment simulator of claim 10, wherein the one or more processors comprise single-precision and double-precision floating point units configured to calculate the transmitter signals as one or more sinusoidal signals, wherein for each sample number and a reference sample number the single-precision floating point unit computes a phase based on the reference sample number and a reference phase and then computes the sinusoidal signal based on that phase, increments the sample number and the reference sample number and if the reference sample number does not exceed a threshold computes a next phase, if the threshold is exceeded, the double-precision floating point unit updates the reference phase for the incremented sample number, resets the reference sample number and returns control to the single-precision floating point unit to compute the phase for the next sample number.
12. A Global Navigation Satellite System (GNSS) hostile environment simulator for a unit under test (UUT) having an RF receiver, comprising: one or more processors configured to receive simulated trajectory data for the UUT and calculate geometry between the UUT and each of a plurality of simulated signal transmitters and configured to (a) based on the geometry, calculate a time-domain digital transmitter signal for each said simulated signal transmitter, (b) perform a frequency transformation on each transmitter signal, (c) apply a frequency-dependent antenna pattern for each of a plurality of RF antennas to each of the plurality of transmitter signals in the frequency domain by multiplying each transmitter signal at each frequency by a complex value representing the antenna pattern at the corresponding frequency for each RF antenna, (d) for each said RF antenna, accumulate the frequency components for all of the signal transmitters to form frequency-domain digital antenna signals, and (e) perform an inverse frequency transformation on each said antenna signal to generate time-domain digital antenna signals for each said RF antenna at baseband frequencies; and a software defined radio (SDR) that converts the time-domain digital antenna signals from baseband to RF signals to drive the UUT's RF receiver, wherein the one or more processors comprise single-precision and double-precision floating point units configured to calculate the time-domain transmitter signals as one or more sinusoidal signals, wherein for each sample number and a reference sample number the single-precision floating point unit computes a phase based on the reference sample number and a reference phase and then computes the sinusoidal signal based on that phase, increments the sample number and the reference sample number and if the reference sample number does not exceed a threshold computes a next phase, if the threshold is exceeded, the double-precision floating point unit updates the reference phase for the incremented sample number, resets the reference sample number and returns control to the single-precision floating point unit to compute the phase for the next sample number.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION OF THE INVENTION
(10) The present invention provides a GNSS hostile environment simulator for accurate real-time processor & hardware in the loop (PHIL) simulations of a multiple antenna GNSSR/AJ system in a dynamic or static trajectory. Antenna effects are modeled over the entire signal bandwidth allowing direct injection of the RF into the GNSSR. Computational efficiency allowing for real-time simulation is achieved by applying the antenna patterns in the frequency domain instead of the time-domain. To preserve the integrity of the antenna signals, the transmitter signals are generated over an extended period to push any residual ringing outside the update window in which the signals are generated. Efficiency is further enhanced by using a combination of single-precision and double-precision floating-point units to generate the samples of the transmitter signals with single-precision floating-point. All subsequent calculations are then computed in single-precision. The use of double-precision to calculate a reference phase for generating the samples of the transmitter signals establishes an initial higher level of accuracy. The resulting antenna signals are more accurate than they would otherwise be using single-precision throughout.
(11) Without loss of generality, an embodiment of a GNSS hostile environment simulator will be presented where L is the number of simulated transmitter signals TX, M is the number of RF antennas (receivers) and simulated antenna signals RX, O is the number of delivered samples per update window and N is the number of samples calculated and the length of the FFT. L is an integer of one or more. M is an integer of one or more e.g. 4. O is an integer determined by the update rate fur of the trajectory data and a sampling rate fs of the transmitter signals. N is typically a power of two (2.sup.P where P is an integer) such as N=2048 or 4096 (P=11 or 12).
(12) Referring now to
(13) Based on the update rate fur, which defines an “update window”, and the sampling rate fs, the processor(s) calculate the number of delivered samples O=fs/fur and number of calculated samples N (step 108). For FFT efficiency, the length N of the FFT is an integer power of two. Accordingly the simulator is configured to compute N>O samples. This is a common occurrence in signal analysis. Typically, the actual number of signal samples O is “zero padded” up to the length N of the FFT. As will be discussed in detail below, zero padding will induce “ringing” that distorts the antenna signals delivered to the GNSSR receiver. Any degradation of the antenna signals is to be avoided. To preserve the integrity of the antenna signals, the transmitter signals are generated over an extended period before and after the update window to push any residual ringing outside the update window in which the signals are generated and then retain only those O samples within the update window. This is possible because in a simulation we control the generation of the transmit signals.
(14) Based on the geometry, the processor(s) calculate 110 a time-domain digital transmitter signal TX0(t).sub.n, TX1(t).sub.n, . . . TXL−1(t).sub.n 112 for each said simulated signal transmitter where sample number n=0 to N−1. The transmitter signal from each simulated signal transmitter is calculated as seen at a fixed reference point relative to the UUT. The processor(s) perform a frequency transformation (e.g. an FFT of length N) 114 on each transmitter signal 112 and output transform coefficients TX0(f).sub.l, TX1(f).sub.l, . . . TXN−1(f).sub.l 116 equal in number to the number of samples N of the time-domain transmitter signals where the transmitter index 1=0 to L−1. The processor(s) apply a frequency-dependent antenna pattern 118 for each of a plurality (M) of RF antennas to each of the plurality of transmitter signals in the frequency domain to output complex valued (e.g., gain and phase) transform coefficients.
(15) For each RF antenna, the processor(s) accumulate 122 the frequency components for all L of the signal transmitters to form frequency-domain digital antenna signals RX0(f), RX1(f), . . . RXM−1(f) 124, and perform an inverse frequency transformation 126 (e.g. IFFT) on each antenna signal to generate time-domain digital antenna signals RX0(t), RX1(t), . . . RXM−1(t) 128 for each RF antenna at baseband frequencies. The processor(s) retain only the O samples in the update window 130, quantize 132 each of the antenna signals RX0(t), RX1(t), . . . RXM−1(t) and transfer the data 134 via an external connection (e.g., a 10 to 40 G Ethernet connection) to a Software Defined Radio (SDR) 136 that converts the time-domain digital antenna signals RX0(t), RX1(t), . . . RXM−1(t) from baseband to RF antenna signals 138 (e.g., GNSS or threat) to drive the UUT's RF receiver.
(16) The UUT's GNSSR processes signals in a band typically spanning 20 MHz. The one or more GNSS hostile environment simulator processors 102 are configured to generate transmitter signals and apply the frequency-dependent antenna patterns over the entire band allowing direct injection of the RF into the GNSSR. The processor(s) suitably include a central processing unit (CPU) 140 and a graphics processing unit (GPU) 142. A CPU typically has a few dozen processing cores. By contrast a GPU typically has thousands of processing courses and uses Single Instruction Multiple Data (SIMD). In this embodiment, the CPU 140 supports six threads running specific tasks (e.g., one to receive trajectory and five to calculate geometry for the L transmitters) and one thread to coordinate calculations and data movement. The GPU 142 supports thousands of threads to perform the N×M×L calculations to apply the antenna patterns to the transmit signals for each receiver in parallel.
(17) Referring now to
(18) Referring now to
(19) As shown in
(20)
(step 232) for an initial sample number n=0 where f.sub.c is the signal frequency and f.sub.s is the sampling frequency, computes a sinusoid 233 S=A*cos(θ) or S=A*(cos(θ)+sin(θ)) (step 234), increments the sample number n=n+1 (step 236) and repeats for the specified number of samples N. All subsequent calculations are performed with double-precision. This approach maintains the accuracy of double-precision but at the computation burden of double-precision. In this example, the double-precision floating point units are part of a GPU 238.
(21) As shown in
(22) For each sample number n and a reference sample number r, the single-precision floating point unit 240 computes a phase
(23)
(step 250) based on the reference sample number and a reference phase where f.sub.c is the signal frequency and f.sub.s is the sampling frequency and then computes the sinusoidal signal 251 S=A*cos(θ) or S=A*(cos(θ)+sin(θ)) (step 252) based on that phase. An arithmetic logic unit (ALU) of the CPU increments the sample number and the reference sample number (step 254) and if the reference sample number does not exceed a threshold (step 256) and returns control to the single-precision floating point unit 240 to compute a next phase (step 250). If the threshold is exceeded, the double-precision floating point unit 242 updates the reference phase
(24)
(step 258) for the incremented sample number, the ALU resets the reference sample number r=0 and returns control to the single-precision floating point unit 240 to compute the phase for the next sample number. The threshold is determined by the signal frequency f.sub.e, which is a measure of how fast the phase is increasing. The idea is to keep the phase value bounded.
(25) This mixed-precision technique is valid for any signal that repeats in 2π, which includes any sinusoidal signal. Therefore, any transmitter signal that repeats in 2π may be represented as one or more sinusoidal signals to represent, for example, continuous wave, amplitude modulated, frequency modulated, broadband noise, or Doppler shifted signals. Any signal of interest may be represented using the mixed-precision technique.
(26) For any floating point representation of a number, the smallest difference between any two numbers is known as the machine epsilon. The machine epsilon is dependent on the base of the number system, the magnitude of the value, and the size of the significand. The machine epsilon of a base-2 floating point number (ε.sub.2) of value n with significand size p is:
(27)
(28) The smallest possible range the phase can always be maintained is [0, 2π). As machine epsilon of base-2 floating point numbers is dependent on integer powers of 2, the range can be expanded to [0,8) without an increase in machine epsilon, which will then be bounded by ε.sub.2≤2.sup.3-p.
(29)
(30) Alternatively, for a desired machine epsilon ϵ.sub.max.sup.2 with precision p, the upper limit for phase value is:
θ.sub.max=2.sup.┌log.sup.
(31) Referring now to
(32) As is commonly done for signal analysis, the O samples of a signal may be “zero padded” up to the length N of the FFT. Conventional zero padding of the simulated transmit signals is problematic. The application of the antenna patterns to the frequency domain signals causes a ringing effect at the window edges in the resulting time domain signal. As shown in
(33) Referring now to
(34) The preferred “signal extension” of the O samples of a signal up to the length N of the FFT eliminates the ringing inherent in the FFT and IFFT and preserves the integrity of the antenna signals within the update window. As shown in
(35) While several illustrative embodiments of the invention have been shown and described, numerous variations and alternate embodiments will occur to those skilled in the art. Such variations and alternate embodiments are contemplated, and can be made without departing from the spirit and scope of the invention as defined in the appended claims.