Blind despreading of civil GNSS signals for resilient PNT applications
20170350985 · 2017-12-07
Inventors
Cpc classification
International classification
Abstract
A method, system and apparatus are claimed for receiving, blindly despreading, and determining geo-observables, of true civil Global Navigation Satellite Systems (GNSS) navigation signals generated by any of the set of satellite vehicles and ground beacons, amongst false echoes and malicious GNSS signals from spoofers and repeaters; for identifying malicious GNSS signals, and preventing those signals from corrupting or capturing Pointing, Navigation, and Timing tracking operations; and for geolocating malicious GNSS signals. The invention also provides time-to-first-fix over much smaller time intervals than existing GNSS methods and can operate both in the presence of signals with much wider disparity in received power than existing techniques, and in the presence of arbitrary multipath. Further embodiments employing spatial/polarization diverse receivers that remove non-GNSS jammers received by the system, as well as targeted GNSS spoofers that can otherwise emulate GNSS signals received at victim receivers, are also claimed.
Claims
1. A blind, adaptive, despreading, and anti-spoofing reception system for blindly detecting, differentiating, and separating civil Global Navigation Satellite System (GNSS) signals generated by satellite vehicles (SVs), pseudolites, and nontargeted spoofers, without prior knowledge of or search over the GNSS ranging code for those signals, said system comprising: at least one antenna and at least one receiver, receptive to energy in the Global Positioning System (GPS) L1 band; identifying means for receiving, amplifying, and filtering at least one signal-in-space containing coarse acquisition (C/A) code from any of the set of GPS satellites, pseudolites, spoofers, and repeaters, with said identifying means connected to said antenna and receiver; at least one frequency converter that converts the at least one signal-in-space to a frequency converted signal having any of an intermediate and complex baseband frequency, connected to said means for receiving, amplifying, and filtering; at least one analog-to-digital convertor (ADC) that converts that frequency converted signal to any of a real data stream and complex data stream, connected to said frequency converter; digital signal processing hardware (DSP), connected to said analog-to-digital convertor; memory capacity connected to any of the set of the receiver, the identifying means, the at least one frequency converter, the at least one ADC, and DSP; and any of the set of software, firmware, and hardware any of installed on and connected with said DSP that performs blind adaptive processing operations on that at least one real or complex data stream.
2. A method to be used in a blind, adaptive, despreading, and anti-spoofing reception system as described in claim 1, said method further comprising: receiving with the identifying means at least one signal-in-space that is all of common to any of a set of globally-available and public signals in the GPS L1 band, contains coarse acquisition code, and purports to be from a SV within that system's field of view (FOV); downconverting that signal; noting both physical and logical aspects of what is received; implementing an adaptive despreading algorithm on the logical aspect to blindly detect, demodulate, and determine geo-observables of the C/A code; and, implementing comparative analysis of the physical aspects of the signal and physical and logical aspects of the coarse acquisition code, to determine whether the received signal is from a legitimate source and not a spoofer.
3. A method to be used in a blind, adaptive, despreading, and anti-spoofing reception system as in claim 2, wherein the step of implementing comparative analysis of the physical aspects of the C/A code to determine whether the received signal is from a legitimate source and not a spoofer, further comprises: examining the received signal by: demodulating that signal's navigation (NAV) signal element to produce a demodulated NAV result; comparing the demodulated NAV result against a standard which may be any of stored in and retrieved from at least one spoofer database to which the system has access, known from current ongoing processing, and obtained from internet sources; using that comparison to (a) determine a current, site-specific, Signal-to-Interference-and-Noise Ratio (SINR) norm for the signal, and (b) more finely determine any distortions in the frequency of acquisition, and thereby determine a current and local deduced SINR; comparing the deduced SINR and a value for the context-specific and time-specific SINR experienced by the unit; noting any discrepancies from the comparison; examining the received signal and using any detected preamble to resolve its Binary Phase-Shift Keying (BPSK) sign and subframe timing; first obtaining, and then using, the respective values for the SV ephemeris, timing, and Pseudo-Random Noise (PRN) from the NAV fields of the signal, comparing with a spoofer database these values to detect whether any of no, one, and many SV's are using the same PRN; evaluating the perceived time of acquisition (TOA) and frequency of acquisition (FOA) of the received signal in a Nyquist zone against the respective values held in the spoofer database of what should be present from the purported source; determining any of whether, when, and how these respective values match and fail to match; validating the received signal by using that determination; periodically updating its Positioning, Navigation, and Timing (PNT) tracker by using common geo-observables and SV data, comparing and updating any elements against and within the spoofer database, thereby correcting for tracker error degraded by new SVs; effecting a geolocation of any spoofer through analysis of any set of differences between the characteristics of the received signal and those respectively in the spoofer database; determining any set of its sample rate, sample phase, and Local Oscillator (LO) offset and updating with that any of its evaluative and self-positioning functions; and, excluding any signal evidencing any discrepancy for any of its geo-observable and ephemeris data comprising NAV, SINR, PRN, TOA, FOA, and PNT, from any further processing, thus reducing the computational load; for any validated received signal, effecting an active despreading of the received signal to process the logical, contained message therein.
4. A method to be used in a blind, adaptive, despreading, and anti-spoofing reception system as in claim 3, further comprising: classifying each validated received signal as a candidate signal; associating each candidate signal with its purported emitter; for each candidate signal, computing any set of the fine-TOA, FOA Nyquist zone, and DOA using an copy-aided parameter estimation implementation; determining whether, when, and how these respective values match and fail to match with known, experienced, and discoverable values for said candidate signal's purported emitter; for any non-validated signal, analyzing it to effect a geolocation of the emitter, now identified as a spoofer, based on the receiving system's known PNT data; and, for any validated signal, effect effecting an active despreading to process its message, engaging channelization implementations of any of multiple, alternative, comparative and cross-validating processing.
5. A method to be used in a blind, adaptive, despreading, and anti-spoofing reception system as in claim 4, wherein the step of downconverting that signal further comprises: converting the signal to a complex digital data stream with a complex sampling rate of M.sub.ADC samples/ms, where M.sub.ADC is an integer; and, passing the complex digital data stream through a 1:M.sub.ADC serial-to-parallel (S/P) converter, resulting in an M.sub.ADC×1 vector sequence with a 1 ksps (kilo samples per second) data rate.
6. A method to be used in a blind, adaptive, despreading, and anti-spoofing reception system as in claim 5, for multifeed systems where the signal is received over M.sub.feed spatially or polarization diverse feeds (one from each antenna), further comprising coherently converting each signal to complex baseband, and digitizing it at an M.sub.ADC ksps data rate, resulting in M.sub.feed data streams, each with an M.sub.ADC ksps data rate; then passing each of the data streams through a 1:M.sub.ADC S/P converter, and combining the output into an M.sub.DoF×1 vector with a 1 ksps data rate, where M.sub.DoF=M.sub.feedM.sub.ADC is the degrees of freedom (DoF) of the receiver.
7. A blind, adaptive, despreading, anti-spoofing system for radio transmission comprising: at least one antenna and at least one receiver, each receptive to energy in the GPS L1 band; connected to identifying means for receiving, amplifying, and filtering at least one signal-in-space containing coarse acquisition (C/A) code from any of the set of GPS satellites, pseudolites, spoofers, and repeaters; said identifying means further comprising a frequency converter that converts the at least one signal-in-space to a frequency converted signal having any of an intermediate and complex baseband frequency, connected to said means for receiving, amplifying, and filtering; said frequency converter further comprising at least one analog-to-digital convertor that converts that frequency converted signal to any of a real data stream and complex data stream; said analog-to-digital converter connected with digital signal processing hardware; memory capacity for storing any of the real data stream and complex data stream connected to both said digital signal processing hardware and said analog-to-digital convertor; and, at least one processor with any of installed software and connected firmware that performs blind adaptive processing operations on any of that real data stream and complex data stream.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
DETAILED DESCRIPTION OF THE INVENTION
Overview
[0059] The invention described herein is a blind, adaptive, despreading, anti-spoofing system for radio transmission comprising at least one antenna and at least one receiver, each receptive to energy in the GPS L1 band, connected to identifying means for receiving, amplifying, and filtering at least one signal-in-space containing coarse acquisition (C/A) code from any of the set of GPS satellites, pseudolites, spoofers, and repeaters; said identifying means further comprising a frequency converter that converts the at least one signal-in-space to a frequency converted signal having any of an intermediate and complex baseband frequency, connected to said means for receiving, amplifying, and filtering; with said frequency converter further comprising at least one analog-to-digital convertor that converts that frequency converted signal to any of a real data stream and complex data stream; and said analog-to-digital converter connected with digital signal processing hardware, memory capacity connected to said digital signal processing hardware for storing any of the real data stream and complex data stream and said analog-to-digital convertor; and at least one processor with any of installed software or connected firmware, that performs blind adaptive processing operations on any of that real data stream and complex data stream.
[0060]
[0061] The SV and beacon signal TOA's adhere closely to a first-order drift model over 10 s intervals. However, the SV and beacon TOA's are distributed over distinctly different ranges, e.g., 68-86 ms for the SV's, and 0.21 to 1.01 ms for the sUAS beacons, consistent with 310 km ground horizon for a Reaper Unattended Aerial System (UAS, or high performance drone) flying at its operational altitude. Low-altitude platforms, e.g., small UAS's (sUAS's, e.g., commercial drones) and ground vehicular receivers will see beacon TOA's with even smaller ranges of value. In addition, the TOA drift rate is much lower for the beacons (0.16 μs/second median absolute drift rate) than for the SV's (1.3 μs/second median absolute drift rate), due to the much higher observed speed of the medium earth orbit (MEO) satellites.
[0062] The SV and beacon signal FDA's also adhere closely to a first-order drift model over 10 s intervals. However, the second-order difference is large enough to cause FOA shifts on the order of 1 Hz over a 10 s interval. Consequently, higher-order FOA models may be needed under some reception scenarios.
[0063] The SV and beacon signal RIP's adhere closely to a zero-order drift model over 10 s intervals, exhibiting a median first-order power drift of 0.00012 dB/s. However, the SV RIP's (−139 dBm median RIP) are much weaker than the beacon RIP's (−113 dBm median RIP), despite the 15 dB lower assumed transmit equivalent isotropic radiated power (EIRP, maximum directional energy) for the beacons.
[0064] The SV and beacon signal LOB's adhere to a zero-order azimuthal and elevation drift model over 10 s intervals, exhibiting a median absolute differential azimuth and elevation of 0.0076°/s and 0.0024°/s, respectively. However, the median absolute azimuth and elevation DOA drift rates jump to 0.31°/s and 0.012°/s, respectively. The azimuthal drift rate is nearly identical for all of the received signals, due to motion of the receiver, which completes a 360° circuit every 19 minutes in the scenario assumed here. The TOA and FOA drift will be substantive over reception intervals employed by invention. However, the effect of DOA drift will be minor if antennas that are isotropic in azimuth are employed by the receiver.
[0065] In an initial embodiment a single antenna receives a signal-in-space (SiS) and passes that through the identifying means that the system will use to frequency-convert the signal to complex baseband, and to convert the signal to a complex digital data stream with a complex sampling rate of M.sub.ADCf.sub.sym, where f.sub.sym is the symbol rate of the baseband data sequence being spread by the M.sub.chp-chip ranging code in
[0066] In alternative embodiments, the signal is received over M.sub.feed spatially or polarization diverse feeds (one feed for each antenna), coherently converted to complex baseband, and digitized at an M.sub.ADCf.sub.sym sampling rate, resulting in M.sub.feed data streams, each with an M.sub.ADCf.sub.sym data rate. In an optional further embodiment a beamforming network (BFN) is implemented between the antennas and the receivers. In this case, the antennas are coupled with M.sub.feed receivers through a BFN with an input port connected to each antenna, and with M.sub.feed output ports (generally not equal to the number of antennas, and typically less than the number of antennas). Each signal is then passed through a 1:M.sub.ADC serial-to-parallel (S/P) converter, and “stacked” into an M.sub.DoF×1 vector with a data rate of f.sub.sym, where M.sub.DoF=M.sub.feedM.sub.ADC is the degrees of freedom (DoF) of the receiver.
[0067] In theory, the resultant M.sub.DoF×1 signal sequence can be processed using fully-adaptive blind despreading methods that can achieve the maximum attainable signal-to-interference-and-noise ratio (SINR) of the despreader, allowing detection and demodulation of many more symbol sequences than conventional spread-spectrum receivers that use correlative or “matched filter” despreading methods, and successful demodulation at power differences that are much higher than the conventional jamming ratio of correlative despreaders. Moreover, blind despreading methods can acquire spread spectrum signals without a search over code family or timing offset, which can require acquisition times on the order of tens of minutes in cold-start scenarios.
[0068] Despite these advantages, however, the dimensionality of the linear combiner used in the adaptive despreader has generally entailed a computational processing cost that is too high for fully-adaptive blind despreading methods to be feasible or even possible. Gradient-based methods such as normalized least mean squares (NLMS) or normalized constant modulus algorithm (NCMA) with O(M.sub.DoF) complexity have been subject to extreme slow convergence in presence of strong jamming interference, due to the well-known wide eigenvalue spread condition that occurs in presence of strong interference. And rapidly-converging methods such as Affine Projections, block least-squares (BLS) and block least-square constant modulus algorithm (CMA; conjoined, BLS-CMA) have had prohibitively high O(M.sub.DoF.sup.2) complexity, and required adaptation over block sizes typically on the order of integer multiples of M.sub.DoF samples, e.g., multiple seconds, to be considered feasible for most uses or existing, non-specialized, commercially feasible hardware and firmware implementation(s).
[0069] However, as capabilities of modern digital signal processing equipment have continued to improve, fully adaptive blind despreading methods have become increasingly feasible. Motivated by these developments, the present invention and its implementation have been developed to realize the promise of these methods.
DETAILED DESCRIPTION OF THE DRAWINGS
[0070]
[0071]
[0072] With the exception of the GLONASS (Russian) GNSS signal, the transmit frequency employed by each SV is identical, such that f.sub.T(l)≡f.sub.T. In addition, for all of the civil GNSS signals, f.sub.T(l) is an integer multiple of the baseband symbol rate, such that f.sub.T(l)=M.sub.T(l)f.sub.sym for some positive integer M.sub.T(l). However, neither assumption need hold, or even be known in some instantiations, for the invention to be implemented.
[0073] The interpolation function used in the DAC is also typically a rectangular pulse. However, this assumption need not hold, or even be known in some instantiations, for the invention to be implemented.
[0074] It should be noted that the processing steps shown in
[0075] The processing steps shown in
[0076]
[0077] Both direct-conversion receivers shown in
[0083] The receiver structure shown in
[0084] In contrast, the receiver structure shown in
[0085]
[0086] The heterodyne receivers shown in
[0087] As will be discussed below, the ADC output signal provided by either the direct-conversion or the superheterodyne receivers can be used by the invention, without any change to the invention design except control parameters used in channelization operations immediately after that ADC. The invention can also be used with many other receiver front-ends known to the art. In many cases, the invention is itself blind to substantive differences between those receiver front-ends.
[0088]
[0089]
[0090]
[0091] In some scenarios, the spoofer may be emulating the targeted SV (l′.sub.SV=l.sub.SV), e.g., in order to corrupt the navigation solution for the GNSS receiver, and may be attempting to closely its spoofed geo-observables to that SV. This is referred to as an “aligned” spoofing scenario. In other scenarios, the spoofer may be emulating a different SV than the targeted SV (l′.sub.SV≢l.sub.SV), in order to deceive the receiver into thinking that it is in another location entirely. This is referred to as a “nonaligned” spoofing scenario. In the latter case, multiple SV's in the field of view of the receiver must be spoofed. For practical reasons, all of these spoofed signals may be transmitted from the same location.
[0092] In some scenarios, the spoofer power level may be closely aligned with (but strong enough to jam) the power level of the targeted SV, in order to prevent the receiver from detecting the spoofing based on simple power-level differences between the SV and spoofer RIP. This is referred to as a “covert” spoofing scenario. In some scenarios, it may suffice to overwhelm the receiver with the spoofed SV signals, for example, if the spoofer is used in a “personal privacy spoofer (PPS)” to deceive a GNSS logger that is co-located with the PPS. Indeed, in such a case, it may not be feasible to closely align the RIP's of the spoofer and targeted SV signals.
[0093]
[0094]
[0098]
[0099]
[0100]
[0103] The data rate of x.sub.DoF(n.sub.sym) is nominally equal to the symbol rate of the GNSS signal of interest to the system (less offset due to nonideal error in the ADC clock), e.g., 1 ksps for the signals listed in
[0104]
[0105] In one embodiment, the output channelizer bins are preselected, e.g., to avoid known receiver impairments such as LO leakage, or to reduce complexity of the channelization operation, e.g., using sparse FFT methods. In other embodiments, the output channelizer bins are adaptively selected, e.g., to avoid dynamic narrowband co-channel interferers (NBCCI).
[0106]
[0107] The approach extends easily to polyphase filters, given generally by x.sub.DoF(n.sub.sym)=
where {w.sub.sym(m.sub.sym)}.sub.m.sub.
is the M.sub.DoF×M.sub.ADC matrix that implements an unpadded, unwindowed FFT with M.sub.ADC input samples and M.sub.DoF output bins. This channelizer is especially useful in environments subject to very strong NBCCI. However, it affects dispersion added to the channelizer output signal.
[0108] The general transform T.sub.DoF and its FFT instantiation including the bin selection operation, are used in ways unique and novel to the invention.
[0109]
[0110]
where M.sub.DoF=M.sub.feedM.sub.chn is the total number of receiver DoF's.
[0111] The multifeed receiver structure shown in
[0112] To overcome this complexity issue, in one embodiment, the baseline channelizer method is adjusted to provide the same number of DoF's for the multifeed receiver as the single-feed receiver, for example, by reducing M.sub.chn or the ADC sampling rate by 1/M.sub.feed, such that M.sub.DoF remains constant as M.sub.feed is increased. This is easily accomplished using the thinned-FFT channelizer shown in
[0113] Importantly, while the TOA and FOA of a GNSS transmitter can be easily spoofed in the targeted spoofing scenario shown in
[0114]
[0117] The copy-aided analyzer then passes any of the set of demodulated SV ID's, ephemeres, observed TOA, FOA, DFOA, CCP, RIP—the geo-observables—for each detected signal to a pointing, navigation and timing (PNT) computation element (190), implemented using methods well known to those skilled in the art. In some embodiments, the PNT computation element (190) further sends timing and clock offset adjustment parameters back to the receiver front-end (170), in order to remove any FOA or TOA offset due to error between the receiver and GNSS transmitter clocks.
[0118]
[0119] The channelizer output signal is then passed to a blind despreader (180), which implements the same operations performed in
[0120] The copy-aided analyzer then passes any of the set of demodulated SV ID's, ephemeres, and geo-observables (including DOA) for each detected signal to a pointing, navigation and timing (PNT) computation element (190), implemented using methods well known to those skilled in the art. In some embodiments, the PNT computation element (190) further sends timing and clock offset adjustment parameters back to the receiver front-end (170), in order to remove any FOA or TOA offset due to error between the receiver and GNSS transmitter clocks.
[0121] Among other advantages, if coupled to a spatial/polarization diverse antenna array as shown in
[0122] The copy-aided analyzer shown in
[0123] The despreading structures shown in
[0124]
[0125] The first stage (blind despreading component) of this process comprises the following key processing operations: [0126] A channelized data whitening operation (220), described in more detail below, in which the data block is separated into a whitened data component and a set of autocorrelation statistics using highly regular and well-known linear algebraic operations, e.g., QR decompositions, implemented as a means for reducing complexity of subsequent processing steps. [0127] An emitter detection substage (221), which detects received data modes due to presence of GNSS signals in the environment, using known properties of the underlying symbol sequence, and provides preliminary estimates of the fine fractional FOA's and DFOA's of those modes. In presence of TOA blur due to nonzero DTOA, each GNSS signal can generate multiple modes due to TOA drift over the batch reception interval. [0128] A FOA refinement substage (223), in exemplary embodiments performed as part of the emitter detection stage, which further refines fine FOA's and DFOA's of modes associated with the GNSS signals. [0129] A mode association substage (225), which associates those modes with specific GNSS transmissions based on commonality of the FDA's and DFOA's for those modes. [0130] A despreader refinement substage (227), which refines the despreading solution and fine FOA and DFOA estimates of the detected GNSS signals based on additional properties of the underlying symbol sequence. [0131] A navigation (NAV) stream demodulation substage (228), which identifies the navigation stream timing phase (coarse TOA) within each GNSS symbol stream, and extracts the navigation symbols from the symbol stream. [0132] Optional despreader and FOA refinement substages (229) that further refine despreading solutions, fine FOA, DFOA, and coarse TOA of the detected and demodulated GNSS signals, e.g., using decision feedback operations. [0133] An optional MIMO link signature estimation substage (231), which blindly estimates the MIMO link signatures of the detected GNSS signals, for use in subsequent copy-aided analysis stages.
[0134] If needed, the spatial signatures and NAV data are then passed to a copy-aided DOA estimation stage (230), implemented if the invention is implemented using a multifeed receiver such as that shown in
[0135] Processing stages (221), (223) and (225) are typically only performed in “cold start” scenarios (218) where no information about the GNSS signals in the received data band are available to the receiver. Example use scenarios include those where the receiver has just been turned on; where the receiver has been idle for an extended period (co-called “warm start” scenarios); or where the receiver has tuned to a new band to assess availability of GNSS signals within that band. These processing stages can be eliminated or simplified if prior information can be made available to the receiver, e.g., known FOA's or NAV data, through a memory database (222).
[0136] These approaches are referred to here as fully-blind and partially-blind despreading strategies. In both approaches, the channel signature matrix, and therefore the ranging codes underlying that signature matrix, are assumed to be unknown (e.g., “Type C3” blind reception strategies as defined in the prior art). This assumption allows the use of broad ranges of methods that can operate without prior knowledge of the GNSS ranging code, or elements of the channel or receiver that can modulate that code, including FOA, TOA, or multipath induced by the channel; frequency, sampling, and timing offsets induced by the receiver front-end; and potentially severe filtering induced by the receiver. This assumption also allows the use of methods that can approach or achieve the maximum-attainable SINR (max-SINR) of the despreader, using linear algebraic methods that do not require complex prior information about the GNSS signals or interferers in the field of view of the receiver.
[0137] Neither ranging codes (232) nor (for multifeed receivers) array manifold data (230) is required until the copy-aided TOA (241) and DOA (240) analysis stages. In particular, the navigation data can be demodulated without ever searching over that data. This is a marked departure from both conventional correlative or despreading methods, which require identification and search over the ranging code before the navigation signal can be demodulated, and “codeless despreading” algorithms that cannot demodulate that data.
[0138]
[0139] The first stage (blind despreading component) of this process comprises the following key processing operations: [0140] A channelized data whitening operation (220), in which the data block is separated into a whitened data component and a set of autocorrelation statistics using highly regular and well-known linear algebraic operations, e.g., QR decompositions, implemented as a means for reducing complexity of subsequent processing steps. [0141] An emitter detection operation (251), which detects GNSS emitters in the environment using a phase-SCORE algorithm such as those described in the prior art, that exploits the high single-lag correlation of the 1 ksps baseband GNSS symbol streams. [0142] A FOA vector refinement operation (253), which refines the FOA vectors provided by each detected phase-SCORE mode, using a generalized frequency doubler spectrum that exploits the BPSK structure of the GNSS symbol streams, and prunes the detected modes based on statistics generated during the FOA vector optimization procedure. [0143] A mode association operation (255), which associates confirmed phase-SCORE modes with specific emitters based on commonality of the FOA vectors for modes induced by each emitter. [0144] A further despreader refinement procedure (256), which refines FOA vectors and generates refined 1 ksps FOA-compensated symbol data, using a generalized conjugate-SCORE algorithm. [0145] A navigation stream demodulation algorithm (257), which estimates the coarse (1 ms granularity) TOA of the despread 1 ksps symbol data and extracts the 50 bps NAV sequence from that data. [0146] If sufficient data is available, analyze the demodulated navigation stream to detect the telemetry (TLM) preamble transmitted every 6 seconds within the NAV stream, and use that preamble to resolve ambiguities induced by the blind adaptation procedures (±1 BPSK ambiguity, modulo-20 TOA symbol ambiguity), and to extract additional navigation information needed to complete a navigation solution for the receiver, e.g., the handover word (HOW) message, and the SV ephemeres (258). [0147] Further refine parameters based on the demodulated NAV message, e.g., using maximum-likelihood (MI) estimation (MLE) strategies (259). [0148] Estimate MIMO link signatures (231) for use in subsequent copy aided DOA (240) and copy-aided TOA (241) operations, if needed for use scenarios that the invention is being applied to.
[0149] As in the more general flow diagram shown in
[0150]
[0151] Observations that can be made from this Figure are as follows: [0152] The channelization and whitening operations contribute less than 0.2% of the total operations in the and are easily implemented using low-cost DSP equipment, e.g., commensurate with current-generation Cortex M4 ARM processors. [0153] The total operations needed to detect and determine preliminary geo-observables using phase SCORE contribute less than 20% of the total operations in the processor, and are implementable using low-to-medium cost DSP equipment, e.g., Cortex M4 or A8 ARM processors, for most of the processing scenarios shown in this Table. [0154] All of the operations shown in these scenarios are implementable using currently available DSP equipment, e.g., Cortex A18 ARM processors. Moreover, although the complexity of conjugate SCORE can be high, it scales linearly with the number of emitters detected in using phase-SCORE, and is dominated by highly regular operations, such as the CCM computation, that can be implemented in FPGA or ASIC's.
[0155] It should be noted as well that many of these operations, or operations of similar complexity, are performed in the general civil GNSS flow diagram shown in
DETAILED DESCRIPTION OF VARIOUS ASPECTS OF THE INVENTION
Baseline Single-Antenna Reception
[0156] The Blind Despreading Anti-Spoofing (BDAS) approach for the baseline single-feed reception scenario is shown in
where v.sub.TR(t; l)=v.sub.T(t; l)−v.sub.R(t) and a.sub.TR(t; l)=a.sub.T(t; l)−a.sub.R(t) are the observed velocity and acceleration of transmitter l within the frame of reference of the receiver, and where |t−t.sub.0| is small.
[0157] Each GNSS transmitter generates a short civil GNSS signal-in-space (SiS), given by √{square root over (2P.sub.T(l))}Re{s.sub.T(t−τ.sub.T(l); l)e.sup.j(2πf.sup.
[0158] As shown in
where d.sub.T(n.sub.sym; l) is a civil GNSS baseband symbol stream with symbol rate f.sub.sym=1/T.sub.sym, and h.sub.T(t; l) is a spread symbol given by
and where {c.sub.T(m.sub.chp; l)}.sub.m.sub.
[0159] For the L1 GPS C/A signal, the symbol period is 1 millisecond (ms) and the baseband symbol rate is 1 kilosample/second (ksps), the ranging code is a Gold code with pseudorandom noise (PRN) index k.sub.PRN(l) and length M.sub.chp=1,023, and the chip-shaping is a rectangular pulse with duration T.sub.chp=1/1,023 ms, modulated by digital and analog processing elements in the transmission chain. The L1 GPS symbol stream also possess additional exploitable structure, as it is constructed from a 50 bit/second (bps) BPSK (real) navigation signal b.sub.T(n.sub.NAV; l), repeated 20 times per MOS-DSSS symbol to generated the 1 ksps baseband MOS-DSSS symbol sequence d.sub.T(n.sub.sym; l), i.e., d.sub.T(n.sub.sym; l)=b.sub.T(└n.sub.sym/M.sub.NAV┘; l) where M.sub.NAV=20 and └•┘ denotes the integer truncation operation. Moreover, the navigation signal possess internal fields that can be exploited to aid the demodulation process, e.g., the TLM Word Preamble transmitted every 6 seconds, i.e., within every 300-bit Navigation subframe.
[0160] This model ignores other SiS's that may be transmitted simultaneously with civil GNSS signals, e.g., the GPS P(Y), M, and L1C SiS's. In practice, these signals are largely outside the band occupied by the civil GNSS signals, and are moreover received well below the noise floor. Therefore, their effect on the despreading methods described herein should be small. An important exception is military GNSS signals that may be generated by ground pseudolites, as those signal components may be above the noise floor within the civil GNSS passband in some use scenarios.
[0161] A list of civil GNSS signals that possess MOS-DSSS modulation format is provided in
[0162] Using either of the single-feed receiver front-ends shown in
[0163] The receiver frequency shift f.sub.R need not be equal to the civil GNSS transmit frequency f.sub.T (or f.sub.T(l)), and the receiver bandwidth may encompass only a portion of the civil GNSS band of interest to the receiver. Moreover, the ADC symbol multiplier M.sub.ADC need not bear any relationship to the spreading factor M.sub.chp shown in
[0164] Assuming the direct-conversion receiver structure shown in
where i.sub.R(t) is the noise and interference received in the receiver passband and s.sub.R(t; l) is the complex-baseband representation of the signal received from transmitter l. In absence of multipath, and ignoring atmospheric propagation effects, s.sub.R(t; l) is modeled by
s.sub.R(t;l)=g.sub.TR(t;l)e.sup.j2π(f.sup.
g.sub.Tr(t;l)=√{square root over (P.sub.R(t;l))}e.sup.j(φ.sup.
where
and P.sub.R(t; l) are the observed time-of-arrival (TOA) (defined separately from the aggregate delay τ.sub.T(l) induced in the transmitter electronics) and received incident power (RIP) of GNSS signal l at the receiver, respectively, and where ∥•∥.sub.2 denotes the Euclidean L-2 norm. The time-varying TOA also induces a Doppler shift in s.sub.R(t; l), given by frequency of arrival (FOA)
α.sub.TR(t;l)=−f.sub.T(l)τ.sub.TR.sup.(1)(t;l), Eqn. (10)
defined separately from the frequency offset f.sub.T(l)−f.sub.R induced by difference between the transmit and target receive frequency, where τ.sub.TR.sup.(1)(t; l) is the first derivative of τ.sub.TR(t; l),
where u.sub.TR(t; l)=p.sub.TR(t; l)/∥p.sub.TR(t; l∥.sub.2 is the line-of-bearing (LOB) direction vector from the receiver to transmitter l, which can be expressed in azimuth relative to East and elevation relative to the plane of the Earth using well-known directional transformations. The local direction-of-arrival (DOA) of the signal received from transmitter l is then represented by local DOA direction vector u.sub.R(t; l)=Ψ.sub.R(t)u.sub.TR(t; l), which can be converted to azimuth relative to the local receiver heading and elevation relative to the plane of receiver motion using well-known directional transformations. Lastly, if the transmitter and receiver phases (assumed constant over the reception interval) can be calibrated and removed from the end-to-end phase measurement, then the calibrated carrier phase (CCP) φ.sub.TR(t; l)=−2πf.sub.T(l)τ.sub.TR(t; l) can be used to provide a precise estimate of range from the transmitter to the receiver.
[0165] The TOA, RIP, FOA, LOB, DOA, and CCP are summarized in
[0166] In this regard, the following reception scenarios are particularly pertinent to the invention: [0167] SDR reception scenarios, in which the invention is used to rapidly scan all of the GNSS bands, and assess availability of GNSS resources for dedicated GNSS receivers already on board the receiver platform. A feature of the invention that is particularly useful in this scenario is its ability to provide a fast and robust time-to-first-fix (TTFF) from a cold start, through its ability to detect all of the GNSS transmitters in the receiver's field of view (FoV), and to determine usable geo-observables of signals received from those transmitters, without a search over timing or ranging codes, using a flexible SDR receiver with a standardized reception bandwidth. [0168] Beacon reception scenarios, in which the invention is used to separate signals from terrestrial beacons. This can include mixed GNSS SV, beacon reception scenarios, in which the terrestrial beacons are operating in the same band as the GNSS SV's, as well as scenarios in which the beacons are operating in separate bands. A feature of the invention that is particularly useful in this scenario is its ability to detect, separate, and determine usable geo-observables of GNSS signals with extreme wide disparity in RIP, and with receive signal-to-interference ratios that are strong enough to substantively degrade performance of conventional correlative signal detection methods. [0169] Targeted spoofing scenarios, in which the invention is used to separate signals from GNSS SV's and spoofers that are attempting to deceive the receiver, by generating signals that jam the legitimate GNSS SV's and emulate those SV's (aligned spoofers) or SV's in other geographical locations. A feature of the invention that is particularly useful in this scenario is its ability to detect and separate GNSS signals with close (covert spoofing) or wide (non-covert spoofing) disparity in RIP, and to estimate geo-observables that can be used to both detect spoofing, and (with appropriate ancillary information) identify which signals are emanating from spoofers or legitimate GNSS transmitters.
[0170] Detection and geo-observable parameter estimation methods developed in the context of these applications are referred to here as resilient PNT analytics.
[0171] As shown in
P.sub.R(t;l)=P.sub.R(t.sub.0;l), Eqn (12)
τ.sub.TR(t;l)≈τ.sub.TR(t.sub.0;l)+τ.sub.TR.sup.(1)(t.sub.0;l)(t−t.sub.0), Eqn. (13)
α.sub.TR(t;l)≈α.sub.TR(t.sub.0;l)+α.sub.TR.sup.(1)(t.sub.0;l)(t−t.sub.0), Eqn. (14)
for t.sub.0≦t≦t.sub.0+10 s. Taking all of the phase and delay shifts induced in the transmitter and receiver hardware together yields received link l GNSS signal model
at the input to the dual-ADC's shown in
g.sub.TR(l)√{square root over (P.sub.R(t.sub.0;l))}exp(jφ.sub.TR(l)), end-to-end complex channel gain Eqn (16)
φ.sub.TR(l)φ.sub.T(l)−φ.sub.R−2πf.sub.T(l)τ.sub.TR(t.sub.0;l), end-to-end channel phase Eqn (17)
τ.sub.TR(l)τ.sub.T(l)+τ.sub.R+τ.sub.TR(t.sub.0;l), end-to-end observed TOA Eqn (18)
α.sub.TR(l)f.sub.T(l)+f.sub.R+α.sub.TR(t.sub.0;l), end-to-end observed FOA Eqn (19)
τ.sub.TR.sup.(1)(l)τ.sub.TR.sup.(1)(t.sub.0;l), observed differential TOA (DTOA) Eqn (20)
α.sub.TR.sup.(1)(l)α.sub.TR.sup.(1)(t.sub.0;l), observed differential FOA (DFOA). Eqn (21)
Similarly, GNSS signal l can be approximated by
{tilde over (s)}.sub.R(t.sub.0+t;l)≈√{square root over (2)}Re{e.sup.j2πf.sup.
at the input to the ADC shown in
[0172] As shown in
[0173] As shown in
[0174]
The output bins can be preselected, e.g., to avoid known receiver impairments such as LO leakage, or to reduce complexity of the channelization operation, e.g., using sparse FFT methods; or adaptively selected, e.g., to avoid dynamic narrowband co-channel interferers (NBCCI).
[0175] In one embodiment, the approach is extended polyphase filtering operation x.sub.DoF(n.sub.sym)=
where {w.sub.sym(w.sub.sym(m.sub.sym)}.sub.m.sub.
implements an unpadded, unwindowed FFT with M.sub.ADC input samples and M.sub.DoF output bins. This channelizer is especially useful in environments subject to very strong NBCCI. However, it affects dispersion added to the channelizer output signal.
[0176] Given the reception scenario described in
where i.sub.DoF(n.sub.sym)=T.sub.DoFi.sub.sym(n.sub.sym) and s.sub.DoF(n.sub.sym; l)=T.sub.DoFs.sub.sym(n.sub.sym; l) are the M.sub.DoF×1 interference and GNSS signal l channelizer output signals, respectively, and where
are the M.sub.ADC×1 interference and GNSS signal l S/P output vectors, respectively. Assuming the RIP, TOA, and FOA time variation models given in Eqn (12)-Eqn (14), decomposing τ.sub.TR(l) and α.sub.TR(l) into symbol-normalized FOA and TOA components
and defining dimensionless symbol-normalized DFOA {tilde over (α)}.sub.TR.sup.(l)(l) α.sub.TR.sup.(1)(l)T.sub.sym.sup.2, then over short (<10 s) reception intervals s.sub.DoF(n.sub.sym; l) can be modeled by
where d.sub.T(n.sub.sym; l) is a Q.sub.sym(l)×1 transmitted symbol delay-line vector given by
such that {d.sub.T(n.sub.sym−q.sub.sym−n.sub.TR(l); l)}.sub.q.sub.
and where Q.sub.sym(l)=Q.sub.max(l)−Q.sub.min(l)+1. Note that Eqn (30) is a function of the symbol-normalized normalized DFOA {tilde over (α)}.sub.TR.sup.(1)(l) and fine fractional FOA {tilde over (α)}.sub.TR(l), while Eqn (31) is a function of the DTOA τ.sub.TR.sup.(1)(l) and symbol-normalized TOA {tilde over (τ)}.sub.TR(l).
[0177] Over short observation intervals, and assuming the single-symbol channelization approach shown in
[0178] Defining observed GNSS signal l received symbol vector
and substituting Eqn (26) into Eqn (23), yields channelizer output signal model
where d.sub.R(n.sub.sym) is the Q.sub.net×1 dispersive network received symbol vector and A.sub.DoF(n.sub.sym) is the slowly time-varying, dispersive M.sub.chn×Q.sub.net MIMO network signature matrix between all of the GNSS transmitted and the received symbols, given by
respectively, and where
is the total network loading induced by the GNSS signals.
[0179] If M.sub.DoF≧Q.sub.net and the GNSS signals are received with high despread SINR, the entire network symbol stream can be extracted from the channel, i.e., the interfering GNSS symbol streams can be excised from each GNSS symbol, using purely linear combining operations. This can include methods well known to the signal processing community, e.g., blind adaptive baseband extraction methods described in the prior art, and linear minimum-mean-square-error (LMMSE) methods described in the prior art. For signals transmitted from MEO GNSS SV's, and in the absence of pseudolites or spoofers operating in the same band as those SV's, no more than 12 SV's are likely to be within the field of view of a GNSS receiver at any one time (L.sub.T≦12). Over short observation intervals, Q.sub.sym(l)≈2, and the maximum substantive rank of the MIMO network signature matrix is therefore likely to be 24. This number can grow to 48 in the presence of 12 spoofers “assigned” to each legitimate GNSS signal. In both cases, Q.sub.net is much less than the number of channels available for any GNSS signals listed in
[0180] This channel response is also exactly analogous to channel responses induced in massive MIMO networks currently under investigation for next-generation (5G) cellular communication systems. However, it achieves this response using only a single-feed receiver front-end, thereby bypassing the most challenging aspect of massive MIMO transceiver technology. And it provides an output signal with an effective data rate of 1 ksps for all of the signals listed in
[0181] Lastly, the digital signal processing (DSP) operations needed to exploit this channel response are expected to be very similar to operations needed for 5G data reception, albeit at a 3-4 order-of-magnitude lower switching rate. Given the massive investment expected in 5G communications over the next decade, and the ongoing exponential improvements in cost and performance of DSP processing and memory, e.g., Moore's and Kryder's Laws, the ability to fully exploit this channel response will become increasingly easier over time.
Modeling Link Signature Blur
[0182] Over long observation intervals, the time-varying components of Eqn (30) and Eqn (31) results in “FOA blur” and “TOA blur” of the link signature matrix, exactly analogous to “signature blur” caused by change in observed direction-of-arrival (DOA) of moving platforms in conventional MIMO networks. Over moderate observation intervals, e.g., 0≦t<T.sub.symN.sub.sym where {tilde over (α)}.sub.TR.sup.(1)(l)N.sub.sym<1 in Eqn (30) and τ.sub.TR.sup.(1)(l)T.sub.symN.sub.sym<1 in Eqn (31), this can be quantified by expanding Δ.sub.R(n.sub.sym; l) and H.sub.R(n.sub.sym; l) in Taylor-series expansions
where h.sub.T.sup.(q)(t; l)=d.sup.qh.sub.T(t; l)/dt.sup.q. For the range of DTOA and DFOA values measured over the reception scenario shown in
where {g.sub.blur.sup.(q.sup.
where g.sub.blur(n.sub.sym; l)=[g.sub.blur.sup.(q.sup.” denotes the Kronecker product operation. A more useful form of Eqn (41) can be developed by reversing the order of the Kronecker product order, yielding link model
s.sub.DoF(n.sub.sym;l)≈A′.sub.DoF(l)d′.sub.R(n.sub.sym;l), Eqn (42)
d′.sub.R(n.sub.sym;l)=d.sub.R(n.sub.sym;l)g.sub.blur(n.sub.sym;l), Eqn (43)
A′.sub.DoF(l)=[A′.sub.DoF(Q.sub.min(l);l) . . . A′.sub.DoF(Q.sub.max(l);l)], Eqn (44)
where A′.sub.DoF(q; l)=[a.sub.DoF.sup.(0)(:,q;l) . . . a.sub.DoF.sup.(Q.sup.
[0183] The rank of the MIMO link and network matrices grow to Q′.sub.sym(l)=Q.sub.sym(l)(1+Q.sub.blur(l)) and
respectively. Regression analysis of A.sub.DoF(n.sub.sym; l) for GPS C/A ranging codes and a channelizer output bandwidth of 250 kHz (M.sub.DoF˜250) shows that A.sub.DoF(n.sub.sym; l) is well modeled by Eqn (40) over observation intervals on the order of 2 seconds using a 1.sup.st-order polynomial sequence, i.e., Q.sub.blur(l)=1, if the signal is transmitted from a MEO SV, and using a 0.sup.th-order polynomial sequence, i.e., Q.sub.blur(l)=0, if the receiver is fixed and the symbol stream is transmitted from a pseudolite or ground beacon. Thus over long observation intervals the rank of the MIMO network matrix can double, e.g., to 48 in non-spoofing scenarios, or 96 in spoofing scenarios, which is still much lower than channelization factors commensurate with full-band or even partial-band reception of any of the civil GNSS signals listed in
Extension to More Complex Channels
[0184] This signal description, or model, is also now more effectively and easily extensible to more complex channels. Two simple extensions include local multipath channels, in which the simple direct path link model shown in
where h.sub.R(t; l) is the impulse response of the channel local to the receiver and “*” denotes the convolution operation. The GNSS link l channel model is then adjusted by replacing h.sub.T(t; l) with
in Eqn (39), where H.sub.T(f; l), H.sub.R(f; l), and H.sub.TR(f; l) are the Fourier transforms of h.sub.T(t; l), h.sub.R(t; l), and h.sub.TR(t; l), respectively.
[0185] In the latter case, assuming fractional clock rate offset of ε.sub.R and timing offset of t.sub.R, such that the LO downconversion frequency is given by f.sub.R=(1+ε.sub.R)f.sub.T and the ADC sampling times are given by t(n.sub.ADC)=t.sub.R+T.sub.ADCn.sub.ADC, where T.sub.ADC=T.sub.sym/(1+ε.sub.R)M.sub.ADC, then the description derived here is revised by replacing φ.sub.TR(l), τ.sub.TR(l), τ.sub.TR.sup.(1)(l), α.sub.TR(l), and α.sub.TR.sup.(1)(l) with
in all channel descriptions given after the ADC operation.
Extension to Multifeed Reception
[0186] The single-feed reception can be extended simply to multifeed reception shown in
[0187] Assuming coherent downconversion of the received signals, the complex M.sub.feed×1 signal generated at the input to the dual-ADC band is modeled as
where i.sub.R(t) comprises the M.sub.feed×1 vector of background noise and CCI present in the GNSS band, and s.sub.R(t−τ.sub.R; l) is M.sub.feed×1 vector of GNSS signals received from transmitted l. In the absence of nonlocal multipath, and over narrow receiver bandwidth, s.sub.R(t; l) is modeled by
where a.sub.TR(t; l) is the M.sub.feed×1 time-varying spatial signature of the signal, which is also assumed to adhere to a first-order DOA blur model due to movement of the receiver over the reception interval.
[0188] Assuming the antennas have nonzero gain along right-hand and left-hand circular polarizations, and in absence of local scattering multipath, a.sub.TR(t; l) can be modeled as
a.sub.TR(t; l)=A.sub.R(Ψ.sub.R(t)u.sub.TR(t; l))ρ.sub.Tr(t;l), Eqn (54)
where {A.sub.R(u)}.sub.∥u∥.sub.
[0189] As discussed for the scenario shown in da.sub.TR(t; l)/dt is the first derivative of a.sub.TR(t; l). Using this approximation, then the GNSS signal l MIMO link matrix is given by
A.sub.DoF(n.sub.sym;l)=(a.sub.TR(t.sub.0;l)+a.sub.TR.sup.(1)(t.sub.0;l)T.sub.symn.sub.sym)A.sub.chn(n.sub.sym;l)+a.sub.TR.sup.(1)(t.sub.0;l)T.sub.sym
A.sub.chn.sup.(1)(n.sub.sym;l), Eqn (55)
where
and where A.sub.sym(n.sub.sym; l) is given by Eqn (29)-Eqn (31). Equation Eqn (55) also admits low-order regression model Eqn (40) for A.sub.DoF(n.sub.sym; l), allowing s.sub.DoF(n.sub.sym; l) to be modeled by Eqn (42)-Eqn (44). This receiver model also extends to dispersive channels in which the feeds are subject to local multipath, including local multipath that is substantively different on each feed, using channel modifications given in Eqn (46)-Eqn (47); and to receivers with clocks that are not synchronized to UTC, using channel modifications given in Eqn (48)-Eqn (52).
[0190] Note that the structure of the end-to-end multifeed MIMO network model is identical to the structure of the single-feed MIMO network model given in Eqn (33) and Eqn (45). Any differences lie only in the internal structure of the MIMO link matrix A.sub.DoF(n.sub.sym; l) and A′.sub.DoF(l), and the structure of the co-channel interference added to those signals. Therefore, any algorithm that blindly exploits the network model given in Eqn (33) or Eqn (45) can be applied to either a single-feed or a multifeed receiver with no change in structure, albeit with differences in implementation complexity if M.sub.DoF varies as a function of M.sub.feed, and with differences in performance, e.g., if the additional spatial/polarization of the received signals allows the processor to better separate GNSS signals or remove CCI.
[0191] To overcome this complexity issue, the baseline channelizer method can be adjusted to provide the same number of DoF's for the multifeed receiver as the single-feed receiver, by reducing M.sub.chn or the ADC sampling rate by 1/M.sub.feed, such that M.sub.DoF remains constant as M.sub.feed is increased. This is easily accomplished using the thinned-FFT channelizer shown in
[0192] Importantly, while the TOA and FOA of a GNSS transmitter can be easily spoofed in a covert or “aligned” spoofing scenario, the DOA (and, to a lesser degree, the polarization) of that transmitter cannot be easily spoofed. In addition, the multifeed receiver can null any CCI impinging on the array, if the array has sufficient degrees of freedom to separate that CCI from the GNSS signals.
Blind Civil GNSS Despreading Method
Adaptive Despreader Structures
[0193] The single-feed and multifeed adaptive despreader structures are shown in
[0197] The PNT solution can also be used to provide clock offset estimates to synchronize the receiver(s) to UTC, possibly on a per-feed basis if the receivers in
[0198] The despreading structures can be adapted on either a continuous basis, in which geo-observables are updated rapidly over time, or on a batch processing basis, in which a block of N.sub.sym channelized data symbols {x.sub.DoF(n.sub.sym)}.sub.n.sub.
Batch Adaptive Despreading Procedure for General Civil GNSS Signals
[0199] An exemplary adaptation procedure generally applicable to batch processing of any of the MOS-DSSS civil GNSS signals described in
[0200] The first 8 steps of
[0201] This procedure enables a great deal of refinement and accurate discrimination to more closely constrain and limit the processing necessary to accurately interpret the signal's content, before the copy-aided analysis phase begins. In some use scenarios, the blind despreading stage can in fact obviate the copy-aided analysis phase, e.g., if the invention is developing resilient PNT analytics to aid a primary navigation system, or it can be used to substantively thin the number of transmissions that must be analyzed. This procedure can thereby reduce the processing complexity and considerable feedback lag, enabling quicker, more effective signal discrimination without requiring the full processing and analysis of the signal be completed first (or even together).
Batch Adaptive Despreadinq Procedure Implementation for GPS C/A Signals
[0202] An exemplary adaptation procedure applicable to the GPS C/A signal, and that improves any set of the efficiency and speed of the signal processing is shown in
[0203] The first 8 steps of
[0204] This procedure enables a great deal of refinement and accurate discrimination to more closely constrain and limit the processing necessary to accurately interpret the signal's content, before the copy-aided analysis phase begins. In some use scenarios, the blind despreading stage can in fact obviate the copy-aided analysis phase, e.g., if the invention is developing resilient PNT analytics to aid a primary navigation system, or it can be used to substantively thin the number of transmissions that must be analyzed. This procedure can thereby reduce the processing complexity and considerable feedback lag, enabling quicker, more effective signal discrimination without requiring the full processing and analysis of the signal be completed first (or even together).
Data Whitening Operation
[0205] The batch processing procedures shown in
where {ω.sub.DoF(n.sub.sym)}.sub.n.sub.
denotes the conjugate-transpose (Hermitian) operation, then the QRD of X.sub.DoF, denoted {Q.sub.DoF, R.sub.DoF}=QRD(X.sub.DoF), solves
where chol(•) is the Cholesky factorization operation, such that X.sub.DoF=Q.sub.DoFR.sub.DoF and Q.sub.DoF.sup.HQ.sub.DoF=I.sub.M.sub.
Blind GPS C/A Despreading Algorithms
[0206] The blind GPS C/A despreading flow diagram shown in
[0211] These operations are described in more detail in the subsections below.
Phase-SCORE Detection Implementation
Phase-SCORE Eigenequation
[0212] The phase-SCORE implementation exploits the autocorrelation function R.sub.d.sub.d.sub.T(n.sub.sym)d*.sub.T(n.sub.sym−m.sub.lag)
induced by the 1:M.sub.NAV interpolation of the transmitted (BPSK) GPC C/A symbol stream, i.e., d.sub.T(n.sub.sym)=b.sub.T(└n.sub.sym/M.sub.NAV┘), given by
for general 1:M.sub.NAV interpolation, where •
denotes infinite time-averaging over n.sub.sym and (•)* denotes the conjugation operation (unused here for BPSK symbol sequences). The phase-SCORE implementation exploits this property, by solving the generalized eigenequation
λ.sub.PSC(m){circumflex over (R)}.sub.x.sub.
where {circumflex over (R)}.sub.x.sub.
and where zero-lag ACM {circumflex over (R)}.sub.x.sub. {circumflex over (R)}.sub.x.sub.
[0213] Using the QRD described in Eqn (56)-Eqn (58), the phase-SCORE eigenequation given in Eqn (60) is compactly expressed as
where u.sub.PSC(m)=R.sub.DoFw.sub.PSC(m)/∥R.sub.DoFw.sub.PSC(m)∥.sub.2 is the unit-norm whitened phase-SCORE eigenvector for mode m, which forms mode m windowed despread output signal z.sub.PSC(n.sub.sym; m)=u.sub.PSC.sup.H(m)q.sub.DoF(n.sub.sym)=√{square root over (ω.sub.DoF(n.sub.sym))}y.sub.PSC(n.sub.sym; m), and where y.sub.PSC(n.sub.sym; m)=w.sub.PSC.sup.H(m)x.sub.DoF(n.sub.sym). The whitening operation efficiently implements many additional operations performed in the system, reducing computational complexity and load.
[0214] In the presence of TOA blur, and under the same conditions described above, the phase-SCORE eigenequation provides Q′.sub.net signal-capture solutions, separated into L.sub.T sets of eigenequations for each GNSS signal. The signal-capture set for GNSS signal l comprises Q′.sub.sym(l) solutions in which the eigenvalue phase is approximately proportional to the fine fractional FOA {tilde over (α)}.sub.TR(l), and the eigenvector nulls the other GNSS symbol streams {d′.sub.R(n.sub.sym; l′)}.sub.l′≠l={d.sub.R(n.sub.sym; l′)g.sub.blur(n.sub.sym; l′)}.sub.l′≠l, suppresses the received non-GNSS interference, and extracts a linear combination of the elements of d′.sub.R(n.sub.sym; l)=d.sub.R(n.sub.sym; l)
g.sub.blur(n.sub.sym; l). This allows phase-SCORE modes to be associated with specific emitters, based on the phase of the phase-SCORE eigenvalues. In practice, phase-SCORE should detect 1+Q.sub.blur(l) modes per GNSS signal, associated with the single-lag symbol stream.
[0215] In the presence of FOA blur due to nonzero DFOA, the lag correlation statistic exploited by the eigenequation is degraded. However, if |{tilde over (α)}.sub.TR.sup.(1)m.sub.lag|N.sub.sym<<1, this degradation will be small. Examination of
[0216] The autocorrelation function given in Equation Eqn (59) is a well known property of the GPS C/A signal, and has been explicitly exploited to design algorithms for adaptation of spatial antijam arrays using the closely-related cross-SCORE algorithm. Yet, while as shown in the prior art the cross-SCORE algorithm also possesses an eigensorting property, it fails to sort signals with the same correlation strength. In contrast, the phase-SCORE algorithm can eigensort signals with differing autocorrelation phase, even if they have the same strength. And, if the receiver front-end is spatially diverse, it can provide the same ability to null wideband CCI as the spatial antijam methods in the prior art.
[0217] Note that the GNSS signal capture solutions also automatically reject narrowband CCI (NBCCI), if that NBCCI occupies a small number of output channels. However, in the limiting case where the NBCCI is a CW tone, the phase-SCORE algorithm will also possess a single tone capture solution that extracts that tone from the received data. In that case, additional screening algorithms must used to identify and remove those tones ahead of any subsequent demodulation operations. Also, even in that case, the system should possess sufficient degrees of freedom to remove literally dozens of those tones from the GNSS signal capture solutions.
[0218] With the geo-observables (Frequency, Timing, and Direction of Arrival) distinguished for a received signal, any set of those values can be compared against a set for such which are known to be correct, i.e. associated with an authorized transmitter—just as a phone number, or Caller ID text link, can be compared against a listing of authorized callers—all without reference to the content of the incoming signal, or message. Signals with the wrong metadata can then be dropped from any further processing, improving the efficiency of the receiver. Only those with correct metadata or not-proven-wrong-yet metadata, need to be further processed to examine the content and structure of the message. This is akin to hearing a shout across a field from a direction (or time) where (or when) no friendly speaker can be calling; or receiving a phone call, text, or email purporting to be from the IRS but originating in Ghana. You don't need to understand any such message to know it's a fake.
Phase-SCORE Detection Operations
[0219] The phase-SCORE detection operations comprise the following steps: [0220] A whitened correlation matrix computation operation to compute M.sub.DoF×M.sub.DoF matrix {circumflex over (R)}.sub.q.sub.
comprising the fine fractional FOA and symbol-normalized DFOA for each detected GNSS signal.
[0227] In some embodiments, additional processing is performed to further optimize GNSS signal capture weights for each detected GNSS signal.
[0228] Exemplary mode selection, FOA optimization, mode screening, and mode association operations are described below.
Preliminary Mode Selection Operations
[0229] Exemplary methods for selecting M.sub.PSC preliminary signal-capture modes include the following: [0230] Mode cutoff sorting procedures, in M.sub.PSC-strongest eigenvalues computed using Eqn (62)-Eqn (63), where M.sub.PSC is a preset cutoff parameter, and {λ.sub.PSC(m), u.sub.PSC(m)}.sub.m=1.sup.M.sup.
where {b(m)}.sub.m=1.sup.M.sup.
(B.sub.⊥.sup.T(:,1:M.sub.PSC)B.sub.⊥(:,1:M.sub.PSC)).sup.−1B.sub.⊥.sup.T(:,1:M.sub.PSC) is the M.sub.PSC×(M.sub.DoF−Q.sub.fit−1) pseudoinverse of the first M.sub.PSC columns of B.sub.⊥. [0234] Initialize:
[0238] The mode cutoff procedure works particularly well in environments where the number of potential candidate modes is small and/or predictable, especially if reliable confirmation methods can be used to prune modes developed under the procedure.
FOA Vector Optimization Operations
[0239] Once M.sub.PSC preliminary candidate phase-SCORE signal capture modes have been identified, and the M.sub.PSC whitened eigenvectors {u.sub.PSC(m)}.sub.m=1.sup.M.sub.PSC associated with those modes have been computed, the FOA vectors of the signal captured by each candidate mode are determined by maximizing the magnitude of the generalized frequency-doubler spectrum, given by
for general despreader output signal y(n.sub.sym) w.sup.Hx.sub.DoF (n.sub.sym) and associated whitened despreader output signal z(n.sub.sym)=u.sup.Hq.sub.DoF(n.sub.sym), where u=R.sub.DoFw, and where g.sub.FOA(n.sub.sym)=[g.sub.FOA.sup.(q.sup.
referred to here as the polynomial basis, then α(1)={tilde over (α)}.sub.TR (and is the fine fractional FOA), and α(2)={tilde over (α)}.sub.TR.sup.(1) (and is the symbol-normalized first-order DFOA); however, Eqn (65) can be used to estimate the signal FOA and DFOA's of arbitrarily high-order. Eqn (65) can also be defined using other FOA bases, if warranted based on characteristics of the transmission channel. If Q.sub.FOA=1 and g.sub.FOA.sup.(1)(n.sub.sym)=n.sub.sym, then Eqn (65) reduces to the conventional frequency-doubler spectrum described in the prior art, and referred to as the zero-lag conjugate-cyclic autocorrelation function {circumflex over (R)}.sub.yy*.sup.2α described in the prior art as a well-known means for detection and “open-loop” carrier recovery of BPSK and BPSK-DSSS signals.
[0240] The generalized frequency-doubler spectrum can be derived as a maximum-likelihood estimator, by modeling y(n.sub.sym) as
y(n.sub.sym)=ε(n.sub.sym)+d(n.sub.sym)e.sup.jφ(n.sup.
where ε(n.sub.sym) is an independent, identically-distributed (i.i.d.) circularly-symmetric complex-Gaussian (CSCG) noise sequence with mean zero and unknown nonnegative variance σ.sup.2, d(n.sub.sym) is an unknown real signal sequence, and φ(n.sub.sym)=φ+2πg.sub.FOA.sup.T(n.sub.sym)α is a time-varying phase sequence, and where φ is an unknown real signal phase. The joint ML estimate of α, φ, σ.sup.2, and d(n.sub.sym) under these assumptions is then given by
[0241] Note that {circumflex over (φ)}.sub.ML possesses an ambiguity of 0 or π, resulting in a sign ambiguity of ±1 in {circumflex over (d)}.sub.ML(n.sub.sym). Similarly, the polynomial basis induces an ambiguity of 0 or ±½ in {circumflex over (α)}.sub.ML(1), since {circumflex over (R)}.sub.yy*(α′)={circumflex over (R)}.sub.yy*(α) if g.sub.FOA.sup.(1)(n.sub.sym)=n.sub.sym and
resulting in a further frequency modulation ambiguity of 1 or (−1).sup.n.sup.
[0242] In one embodiment, the maximal value of Eqn (65) is robustly found for the polynomial basis and Q.sub.FOA=2 using the following procedure: [0243] Compute the generalized discrete frequency doubler spectrum given by
for l=−L−1, . . . , L+1 and k=0, . . . , K.sub.FFT−1 where FFT.sub.K.sub.
and refine each index to sub-bin accuracy using a quadratic-fit algorithm, e.g.,
where wrap(f) f−round(f) maps frequency f to
and {circumflex over (α)}.sub.max(q.sub.FOA)≡0 for q.sub.FOA>2 if higher-order DFOA's are desired/needed to fully track the time-varying signal FOA. [0244] Optimize {circumflex over (α)} using a Newton recursion, given by
for general basis function g.sub.FOA(n.sub.sym). Recursion Eqn (72)-Eqn (78) maximizes |{circumflex over (R)}.sub.yy*(α)|.sup.2=|r.sub.0|.sup.2 with gradient ∇.sub.α|{circumflex over (R)}.sub.yy*(α)|.sup.2=G that converges quadratically to zero over multiple iterations, if {circumflex over (α)} is initialized sufficiently closely to the global maximum of |{circumflex over (R)}.sub.yy*(α)|.sup.2. The Hessian ∇.sub.α∇.sub.α.sup.T|{circumflex over (R)}.sub.yy*(α)|.sup.2=H can also be adjusted to prevent {circumflex over (α)} from converging to non-maximum point of |{circumflex over (R)}.sub.yy*(α)|.sup.2.
[0245] Once maximal value {circumflex over (α)}.sub.max(m)=[{circumflex over (α)}.sub.max(q.sub.foa; m)].sub.q.sub.
where the initial value of {circumflex over (α)}.sub.PSC(m) is set from the phase-SCORE algorithm. This resolves the frequency ambiguity in the frequency-doubler spectrum. However, it does not resolve the scalar ±1 sign ambiguity.
Mode Screening Operations
[0246] Once the generalized frequency-doubler spectra are computed, and the FOA vectors that maximize those spectra are computed, those spectra are used to confirm successful capture of GNSS signals by candidate modes, and to identify and remove modes that fail to capture such signals. In one embodiment, this is accomplished by computing deflection
where median(•) is the sample median operation, and then classifying modes as signal-capture or signal rejection modes based on a threshold test against Eqn (80).
[0247] Additional screening methods can also be developed to identify and remove tone-capture solutions from the loaded phase-SCORE modes. These methods can exploit both the structure of the despread signal, which will appear as a pure complex sinusoid at the despreader output, or the despreader solution itself. A simple exemplary test is the despreader output correlation lag function
which has near-constant strength for all values of m.sub.lag if z(n.sub.sym) is a (windowed) tonal signal.
Mode Association Operations
[0248] Once {circumflex over (M)}.sub.PSC finalized maximal FOA vectors
and quality metrics, e.g., deflections
are calculated for each confirmed phase-SCORE mode, these estimates are used to associate confirmed modes with candidate GNSS signals. In one exemplary approach, loaded phase-SCORE mode indices {1, . . . , {circumflex over (M)}.sub.PSC} are organized into {circumflex over (L)}.sub.T complete nonoverlapping mode sets
based on distance measurement strategy
where
is the generalized frequency-doubler spectrum for phase-SCORE mode m, such that .sub.PSC(l)∩
.sub.PSC(l′)={ } for
A symbol-normalized FOA vector is then computed for each mode set by optimizing
e.g., using a multimode extension of the Newton recursion given in Eqn (72)-Eqn (78). A simple weighted average is also given by
[0249] Criterion Eqn (82) can be further adjusted to modify both
e.g., to maximize MDL-like criterion
which can be developed based on maximum-likelihood estimation principles. Criterion Eqn (84) can also be used to resolve any overlap between mode sets.
[0250] The outcome of the association algorithm is an estimate of the number of GNSS transmitter {circumflex over (L)}.sub.T present in the received data set, and an estimate of the symbol-normalized FOA vectors
for each of these transmitters. These fine FOA estimates are then forwarded to the generalized conjugate-SCORE refinement algorithm to optimize the despreading weights, described below.
Conjugate-SCORE Refinement Implementation
Generalized Conjugate-SCORE Eiqenequation
[0251] The conjugate-SCORE algorithm further exploits the BPSK (more generally, real) GPS C/A symbol stream, by adapting linear combiner weights to optimize the frequency-doubler spectrum for each estimated symbol-normalized FOA vector {circumflex over (α)}.sub.TR(l). The optimized weights are the solutions to the generalized conjugate-SCORE pseudo-eigenequation given by
λ.sub.CSC(m; α){circumflex over (R)}.sub.x.sub.
where λ.sub.CSC(m; α)≧λ.sub.CSC(m+1; α)≧0 (λ.sub.CSC(m; α)), and {circumflex over (R)}.sub.x.sub.
and where g.sub.FOA(n.sub.sym) is the Q.sub.FOA×1 basis function used in the generalized frequency doubler, and x.sub.DoF(n.sub.sym; α) is the FOA-compensated channelized received signal given by
x.sub.DoF(n.sub.sym; α)x.sub.DoF(n.sub.sym)exp(−j2πg.sub.FOA.sup.T(n.sub.sym)α). Eqn (87)
If
[0252]
reduces to the conventional CCCM with cycle frequency 2α(1), and <Eq. 86> reduces to the conventional conjugate-SCORE algorithm described in the prior art.
[0253] Using the data QRD given in Eqn (57)-Eqn (58), the generalized conjugate-SCORE eigenequation is compactly expressed as
where v.sub.CSC(m; α)=R.sub.DoFw.sub.CSC(m; α), and q.sub.DoF(n.sub.sym; α)=q.sub.DoF(n.sub.sym)exp(−j2πg.sub.FOA.sup.T(n.sub.sym)α) is the FOA-compensated whitened channelized data vector, such that
Q.sub.DoF(α)=Δ(α)Q.sub.DoF, Eqn (90)
Δ(α)diag{exp(j2πg.sub.FOA.sup.T(n.sub.sym)α)}.sub.n.sub.
The whitened pseudo-eigenvectors are additionally set to unity, i.e., ∥v.sub.CSC(m; α)∥.sub.2≡1 to maintain unity output-power on FOA-compensated despreader output signal v.sub.CSC.sup.H(m; α)q.sub.DoF(n.sub.sym; α). Noting that
has a singular-value decomposition (SVD)
where Λ.sub.CSC(α)=diag{λ.sub.CSC(m; α)}.sub.m=1.sup.M.sup.
respectively, and where {λ.sub.CSC(m; α), v.sub.CSC(m; α)}.sub.m=1.sup.M.sup.
such that
the SVD of {tilde over (Q)}.sub.DoF(α) is further given by
which is used in certain processing steps to improve the computational processing effectiveness.
[0254] In presence of TOA blur, using the link and channel model given in Eqn (45), the conjugate-SCORE algorithm provides Q′.sub.sym(l) signal-capture solutions for each GNSS signal. The signal-capture solutions are a linear combination of the weights that extract d′.sub.T(n.sub.sym−n.sub.TR(l); l)=d.sub.T(n.sub.sym−n.sub.TR(l); l)g.sub.blur(n.sub.sym; l) from the received data, and optimally excise the CCI and other GNSS signals received with different FOA's.
Generalized Conjugate-SCORE Refinement Operations
[0255] In one embodiment, the generalized conjugate-SCORE refinement operations are performed independently for each trial link l FOA vector {circumflex over (α)}.sub.TR(l). These operations comprise the following: [0256] A whitened channelized-data FOA compensation operation, to form Q.sub.DoF({circumflex over (α)}.sub.TR(l))=Δ({circumflex over (α)}.sub.TR(l))Q.sub.DoF({circumflex over (α)}.sub.TR(l)) using Eqn (90). [0257] A whitened conjugate-correlation matrix computation, to form
where Q.sub.CSC({circumflex over (α)}.sub.TR(l)) is a predetermined or adapted loading factor for trial link l, and where λ.sub.CSC(q; {circumflex over (α)}.sub.TR(l))≧λ.sub.CSC(q+1; {circumflex over (α)}.sub.TR(l)). [0259] A generalized conjugate-SCORE FOA-compensated despreading operation, to form FOA-compensated despreader output signal {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.CSC({circumflex over (α)}.sub.TR(l)) from the Q.sub.CSC({circumflex over (α)}.sub.TR(l)) dominant modes provided by the partial SVD operation. [0260] In some embodiments, a generalized conjugate-SCORE refinement operation, to further refine {circumflex over (α)}.sub.TR(l) and {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)). [0261] In some embodiments, a symbol extraction operation, to extract the 1 ksps symbol sequence d.sub.T(n.sub.sym−n.sub.TR(l)) from {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)).
[0262] Pertinent elements of the operations summarized above are described below.
Partial SVD Computation Operations
[0263] Assuming Q.sub.CSC<<M.sub.DoF significant modes, such that λ.sub.CSC(m; α)<<1 for m>Q.sub.CSC, then the first Q.sub.CSC singular values and left-singular vectors of
are efficiently calculated using the complex-symmetric QR method given by
where {circumflex over (V)}.sub.CSC(α) is an M.sub.DoF×Q.sub.CSC initial left-singular matrix estimate. Over multiple iterations of Eqn (102), {circumflex over (V)}.sub.CSC(α) and {circumflex over (Λ)}.sub.CSC(α) converge to [v.sub.CSC(q; α)].sub.q=1.sup.Q.sup.
Generalized Conjugate-SCORE FOA-Compensated Despreading Operations
[0264] The FOA-compensated despreader output signal is given by
{circumflex over (D)}.sub.CSC(α)=Re[Q.sub.DoF(α).Math..sub.CSC(α)], Eqn (103)
.Math..sub.CSC(α)=√{square root over (2)}{circumflex over (V)}.sub.CSC(α)(I.sub.Q.sub.
which satisfies orthonormality condition {circumflex over (D)}.sub.CSC.sup.T(α){circumflex over (D)}.sub.CSC(α)=I.sub.Q.sub.
Generalized Conjugate-SCORE Refinement Operations
[0265] In some embodiments, the FOA vector {circumflex over (α)}.sub.TR(l) and despreader output signal {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)) are further refined to optimize ML-like objective function
S.sub.CSC(D,α|Q.sub.CSC)=ln|D.sup.TD|−ln|I.sub.Q.sub.
by alternately adjusting {circumflex over (α)}.sub.TR(l) to maximize S.sub.CSC({circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)), α|Q.sub.CSC) over α, and adjusting {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)) to maximize S.sub.CSC(D,{circumflex over (α)}.sub.TR(l)|Q.sub.CSC) over D. In one embodiment, optimization of {circumflex over (α)}.sub.TR(l) is performed using multi-port Newton recursion
where p,q=1, . . . , Q.sub.FOA in Eqn (109)-Eqn (112). The ML objective function, gradient, and curvature (Hessian) of S.sub.CSC ({circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)), α|Q.sub.CSC) immediately prior to step Eqn (113) is then given by
and H.sub.ML({circumflex over (α)}.sub.TR(l))=8π.sup.2N.sub.symH, respectively. In this case, Eqn (106)-Eqn (114) exhibits quadratic convergence to a stationary point of S.sub.CSC({circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)), α|Q.sub.CSC). More robust methods such as coarse-search or quadratic fit can be used to adjust {circumflex over (α)}.sub.TR(l) if Eqn (106)-Eqn (114) fails to converge to a maximal value, or converges to a false maximum of S.sub.CSC({circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)), α|Q.sub.CSC) is found.
[0266] The conjugate-SCORE despreader output data is then updated by setting {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)) given {circumflex over (α)}.sub.TR(l) using
[0267] In one embodiment, Eqn (106)-Eqn (114) is repeated multiple times with {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)) held constant, after which Eqn (115)-Eqn (118) is used to update {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)).
[0268] In some embodiments, the channel loading factor Q.sub.CSC is also updated using MDL-like model order estimator
Symbol Extraction Algorithm
[0269] In some embodiments, additional processing is performed to extract the 1 kbps symbol stream d.sub.T(n.sub.sym−n.sub.TR(l); l) from the FOA-compensated despreader output data {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)). While the generalized conjugate-SCORE algorithm can remove interference from the target signal, the rows of {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)) provide a linear combination of the elements of the Q.sub.sym(l)×1 delayed symbol vector d.sub.T(n.sub.sym−n.sub.TR(l); l), or linear combinations of the Q′.sub.sym(l)×1 blurred and delayed symbol vector d′.sub.T(n.sub.sym−n.sub.TR(l); l)=d.sub.T(n.sub.sym−n.sub.TR(l); l)g.sub.blur(n.sub.sym; l).
[0270] In one embodiment, a real least-squares constant-modulus algorithm (RLSCME) adjusts Q.sub.CSC×1 real linear combiner weight vector u to minimize objective function
F.sub.RCMA(u; l)=∥abs({circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l))u)−1.sub.N.sub.
where abs(•) is the element-wise real absolute-value operation and 1.sub.N is the N×1 all-ones vector. The weight vector is initialized to u=e.sub.Q.sub.
The RLSCMA implements recursion
u←({circumflex over (D)}.sub.CSC.sup.T({circumflex over (α)}.sub.TR(l)){circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l))).sup.−1{circumflex over (D)}.sub.CSC.sup.T({circumflex over (α)}.sub.TR(l))sgn({circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l))u)={circumflex over (D)}.sub.CSC.sup.T({circumflex over (α)}.sub.TR(l))sgn({circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l))u), Eqn (123)
where sgn(•) is the element-wise real-sign operation. The RLSCMA output signal is then given by N.sub.sym×1 vector {circumflex over (d)}.sub.RLSCMA={circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l))u.
[0271] In an alternate embodiment, M.sub.DoF×1 complex linear combiner weight vector w is initialized to U.sub.CSC(α.sub.TR(l))e.sub.Q.sub.
where {tilde over (Q)}.sub.DoF(α) is given by Eqn (93). Using the SVD of {tilde over (Q)}.sub.DoF(α) given Eqn (95)-Eqn (101), then Eqn (124) can be re-expressed without loss of generality as
F.sub.RCMA(j; l)=∥abs({tilde over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l))u)−1.sub.N.sub.
where u is a 2M.sub.DoF×1 real combiner weight vector, initialized to e.sub.2M.sub.
u←{tilde over (D)}.sub.CSC.sup.T({circumflex over (α)}.sub.TR(l))sgn({tilde over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l))u). Eqn (126)
The RLSCMA output signal is then given by N.sub.sym×1 vector {circumflex over (d)}.sub.RLSCMA={circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l))u. Further noting that {circumflex over (D)}.sub.CSC(α) is the first {circumflex over (Q)}.sub.sym(l) columns of {tilde over (D)}.sub.CSC(α), then Eqn (121) can be interpreted as Eqn (125) subject to the constraint
[0272] In presence of substantive channel blur, e.g., due to TOA or DOA drift over the reception interval, Eqn (121) and Eqn (125) can be extended to model effects of deterministic blur function a In one embodiment, an ML-like estimator is implemented to minimize cost function g.sub.blur (n.sub.sym; l) on {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)). In one embodiment, an ML-like estimator is implemented to minimize cost function
F.sub.CSC(D′.sub.CSC(l))=Tr[(D′.sub.CSC(l)−{circumflex over (D)}′.sub.CSC({circumflex over (α)}.sub.TR(l))).sup.H(D′.sub.CSC(l)−{circumflex over (D)}′.sub.CSC({circumflex over (α)}.sub.TR(l)))], Eqn (127)
where
and where {circumflex over (D)}.sub.CSC({circumflex over (α)}.sub.TR(l)) is given by Eqn (103)-Eqn (104). D′.sub.CSC(l) is assumed to have structure
D′.sub.CSC(l)=Δ′.sub.CSC(l)G′.sub.blurG′.sub.CSC(l), Eqn. (130)
Δ′.sub.CSC(l)=[diag{d.sub.CSC(n.sub.sym; l)}.sub.n.sub.
G′.sub.blur=I.sub.2G.sub.blur, Eqn (132)
where {d.sub.CSC(n.sub.sym; l)}.sub.n.sub.
[0273] Criterion Eqn (127) leads to an optimization algorithm that alternately optimizes G′.sub.CSC(l) given {d.sub.CSC(n.sub.sym; l)}.sub.n.sub.
G′.sub.CSC(l)=(G′.sub.blur.sup.TΔ′.sub.CSC.sup.T(l)Δ′.sub.CSC(l)G′.sub.blur).sup.−1G′.sub.blur.sup.TΔ′.sub.CSC.sup.T(l){circumflex over (D)}′.sub.CSC({circumflex over (α)}.sub.TR(l)). Eqn (133)
and optimizes {d.sub.CSC(n.sub.sym; l)}.sub.n.sub.
then after removal of constant terms Eqn (127) can be expressed as
[0274] In one embodiment, d.sub.CSC(n.sub.sym; l) is assumed to be a BPSK sequence, and Eqn (135) is optimized using decision-feedback algorithm
d.sub.CSC(n.sub.sym; l)=sgn(g.sub.0.sup.T(n.sub.sym; l)({circumflex over (d)}′.sub.CSC(n.sub.sym; l)−g.sub.1(n.sub.sym; l)d.sub.CSC(n.sub.sym−1;l))). Eqn. (136)
[0275] In another embodiments, the cross-term in Eqn (135) is ignored, and Eqn (135) is minimized over the data block by setting
d.sub.CSC(n.sub.sym;l)=sgn(y.sub.CSC(n.sub.sym;l)), Eqn (137)
y.sub.CSC(n.sub.sym;l)=g.sub.0.sup.T(n.sub.sym;l){circumflex over (d)}′.sub.CSC(n.sub.sym;l)+g.sub.1.sup.T(n.sub.sym+1;l){circumflex over (d)}′.sub.CSC(n.sub.sym+1;l) Eqn (138)
where {circumflex over (d)}′.sub.CSC(n.sub.sym; l) is further assumed to be zero for n.sub.sym<0 and n.sub.sym≧N.sub.sym. Other embodiments assume more robust structure for d.sub.CSC(n.sub.sym; l), suitable for extreme low-SINR environments where the sign operation is likely to induce significant errors.
[0276] Extensions of this approach that can also be used to improve performance of the symbol extraction algorithm described above include the following: [0277] Means for computing kurtosis and duty cycle metrics, in order to select appropriate conjugate-SCORE modes for subsequent NAV stream demodulation operations, and in order to further screen and remove tonal interferers captured by the algorithm. [0278] Implementing means for computing conjugate-SCORE channel signatures and interference statistics, for use in subsequent processing stages, and to assess quality of the blind despreading method.
[0279] The methods described above can also be extended to the navigation stream demodulator, described in the next section.
NAV Stream Demodulation Implementation
[0280] The navigation stream demodulator exploits the BPSK structure of the navigation (NAV) signal b.sub.T(n.sub.NAV; l), and the 1:M.sub.NAV interpolation used to form d.sub.T(n.sub.sym; l)=b.sub.T(└n.sub.sym/M.sub.NAV┘; l), to identify the TOA symbol offset to modulo-M.sub.NAV ambiguity, i.e., n.sub.lag(l)=n.sub.TR(l)modM.sub.NAV, and to demodulate the NAV signal with factor-of-M.sub.NAV further despreading gain.
[0281] In one embodiment, demodulation is accomplished by minimizing cost function Eqn (127), subject to d.sub.CSC(n.sub.sym; l) having structure
where b.sub.T(n.sub.NAV; l) is an unknown BPSK sequence, by alternately optimizing G′.sub.CSC(l) given {d.sub.CSC(n.sub.sym; l)}.sub.n.sub.
where y.sub.CSC(n.sub.sym; l) is given by Eqn (138). The estimated modulo-M.sub.NAV coarse TOA is then given by
and the estimated navigation signal is given by {circumflex over (b)}.sub.T(n.sub.NAV; l)=b.sub.NAV(n.sub.NAV; {circumflex over (n)}.sub.TR(l), l).
[0282] Once the NAV signal has been demodulated, internals of the NAV stream can be used to remove final ambiguities in the signal. In particular, for the GPS C/A signal, detection of the TLM Preamble, transmitted within every 300-bit (6 second) Navigation Subframe, can be used to remove the modulo-M.sub.NAV ambiguity in the estimated delay {circumflex over (n)}.sub.TR(l), and to remove the ±1 sign ambiguity in the conjugate-SCORE output signal.
[0283] The demodulated NAV signal, FOA vector, and coarse TOA can also be used to refine the overall despreader, by remodulating the received GNSS symbols using the channel model developed here, e.g., using the formula
and then using
in single-target or multitarget ML estimation (MLE) or decision feedback procedures.
Exemplary Refinement Procedures Include:
[0284] Single-target despreader refinement procedures in which the remodulated signals are used to refine the FOA vectors, TOAs, and navigation signals. In one embodiment, the single-target methods are developed from single-target ML estimators in which each individual GNSS signal matrix {circumflex over (D)}′.sub.R(l)=[√{square root over (ω.sub.DoF(n.sub.sym))}{circumflex over (d)}′.sub.R(n.sub.sym; l)].sub.n.sub.
is used to estimate the full channel signature of the detected signals. In one embodiment, this is accomplished using the ML network signature estimator given by
[0286] A particular advantage of this refinement is ability to remove “signature contamination” due to presence of strong received signals, e.g., ground beacons. [0287] Adaptive cancellation methods, which remove the detected signals are cancelled from the received data, and the despreader is applied to the residual interference data. In one embodiment, the residual interference data is given by
.sub.DoF=X.sub.DoF−{circumflex over (D)}′.sub.RÂ′.sub.DoF.sup.H, Eqn (148) [0288] where Â′.sub.DoF is given by Eqn (147). A particular advantage of this refinement is ability to detect signals and demodulate signals subject to loosely aligned spoofing. [0289] Multitarget despreader refinement procedures in which the full remodulated network signal matrix {circumflex over (D)}′.sub.R is used to jointly refine the despreader output signals, and to attempt to detect additional signals lying under those signals. A particular advantage of this refinement is ability to detect signals and demodulate signals subject to closely aligned spoofing
[0290] In addition, methods that exploit the virtual cyclic prefix added by the interpolation can be used to greatly simplify processing in beacon environments, due to the sub-millisecond spacing in observed TOA between ground beacons that are likely to be within the receiver's field of view.
Copy-Aided Analysis Algorithms
[0291] Once the signals have been blindly detected and demodulated, in a further embodiment any of a set of mature (well-known to the prior art) copy-aided analysis algorithms can be used (as needed and desired) to alternatively determine or further refine TOA, FOA Nyquist zone, and DOA values for any received signal, to determine whether such is a candidate for further processing for its message content. Advantages of these methods include: [0292] Adherence to lower Cramer-Rao bounds (thus higher efficiency) than correlative methods, and ability to estimate the gain (carrier phase tracking advantage) as well as search parameters. [0293] Additional performance and complexity advantages specific to the PNT problem. This includes ability to search over channel signature estimates that have been extracted at high precision during the blind despreading operations, and reduced parameter set allowed by prior estimation procedure. Prior estimation of fine fractional FOA is particular helpful, as it allows FOA to be searched over discrete Nyquist zone, which should change very slowly over reception intervals and may be known ahead of the estimation procedure. [0294] Both single-target and multitarget copy-aided fine TOA and FOA Nyquist zone estimators can be implemented for single-feed receivers, and joint TOA, FOA Nyquist-zone, and DOA estimators can be implemented for multi-feed receivers. As an advantage, once the SV's and receiver locations are known, the FOA estimates (which are a function of the emitter LOB's) and the DOA estimates (which are a function of the LOB's and the common receiver orientation) can be used to estimate the orientation of the receiver. [0295] Particular extensions applicable to multi-feed receivers include: [0296] Joint TOA, FOA, DOA, and channel phase estimators, which provide a precise estimate of all three geo-observables. [0297] Focused TOA and FOA estimators, in which the spatial signature is assumed to be an unknown complex vector and optimized out, thereby greatly simplifying the TOA/FOA estimation procedure. [0298] Focused DOA estimators, in which the underlying nonspatial channel signature is assumed to be unknown and optimized out, thereby simplifying the DOA estimation procedure.
[0299] The focused DOA estimator also provides a means for quickly detecting spoofers, based on elevation angle of the spoofer DOA, commonality of DOA's for the spoofers, e.g., if they are all transmitted from the same platform. This can simplify subsequent TOA/FOA finalization steps, by eliminating the spoofers from further consideration by the system. In all three cases, however, inconsistency between the DOA and TOA/FOA solutions can be used to identify spoofers when they occur.
[0300] The simplest instantiation of the copy-aided analysis processor is implemented by passing the spatial signature estimates computed in the blind despreader stage to a conventional matched-filter correlator. The correlator uses a ranging code that has itself been channelized to emulate effects of the symbol-rate synchronous vector channelizer on the received spreading code, in order to provide a version of the ranging code that will correlate against the ranging code possessed by the detected emitters. In one dedicated reception embodiment, these channelized ranging codes are precomputed and available in memory (232).
[0301] In one embodiment in which TOA blurring is present over the reception interval, the time-varying spatial signature is reconstituted from the extended spatial signature, and applied to early-late gates in the matched-filter correlator. This can maximizes utility of existing means for TOA estimation using prior art methods.
[0302] In more sophisticated methods based on ML-like copy-aided methods, the complex gain of the channel response is estimated as a side parameter of the method. If the transmitter and receiver phases are calibrated using other processing methods, this gain can be used to determine the CCP of the detected emissions, thereby allowing high-precision PNT operation.
[0303] In all of these instantiations, the analyzer can exploit the processing gain provided by integration over the reception interval, as well as interference excision inherent to the blind despreading algorithms, to substantively boost the precision of the geo-observable estimates.
Extension to Other Civil GNSS Signals
[0304] The signal structure developed here can be exploited to demodulate all of the civil GNSS signals listed in
[0308] The baseline approach can be implemented for all of these signals types with minimal changes to receiver and channelizer architecture. In most cases, features exploited by these methods can in fact be implemented at a substantive reduction in complexity.
[0309] While this invention is susceptible of embodiment in many different forms, there are shown in the drawings and described in detail in the text of “Interference Resistant Signal Reception Using Blind Linear Adaptive Processing” (a copy of which is attached to and specifically incorporated herein by reference) several specific embodiments, with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the invention to the embodiments illustrated.
[0310] In an embodiment applicable to all of the approaches above, the invention obtains snapshots of baseband navigation data covering the time interval of data collected by the receiver, and symbol-synchronously channelized by the invention, and uses that baseband navigation data to implement non-fully-blind demodulation algorithms. The resultant embodiment can provide extreme high precision of FOA, TOA, and DFOA/DTOA drift estimates; assess integrity of data collected by the host platform; and provide other functions of interest to the user. When coupled with a communication channel allowing the receive data to be transported to a central processor, the invention can also allow implementation of all functions at off-line resources, thereby eliminating all DSP complexity associated with the algorithms. The embodiment can also be used to implement signal cancellation algorithms that detect signals under the known navigation signals, e.g., for purposes of spoofer and jammer detection.
[0311] Any reception operation used in the invention can be implemented using any of the set of one or more dedicated receivers and software defined radios (SDR) either separate from or integrated with antennas, amplifiers, mixers, filters, analog-to-digital converters (ADC's) and signal processing gear.
[0312] Operations Processing used in each of the inventions above can be implemented in any combination of hardware and software, from special-purpose hardware including any of application -specific integrated circuits (ASIC's) and field-programmable gate arrays (FPGA's); firmware instructions in a lesser-specialized set of hardware; embedded digital signal processors (e.g. Texas Instrument or Advanced Risc Machine DSP's); graphical processing units (CPU's); vector, polynomic, quantum, and other processors; and in any combination or sole use of serial or parallel processing; and on general-purpose computers using software instructions.
[0313] Operations Processing used in each of the inventions above can be further implemented using any set of resources that are on-board, locally accessible to, and remotely accessible by the receiver after transport of the data and instructions to be processed by any of a single computer, server, and set of servers, and then directed onwards, using any number of wired or wireless means for such transport.
[0314] Some of the above-described functions may be composed of instructions, or depend upon and use data, that are stored on storage media (e.g., computer-readable medium). Some of the above-described functions may be comprised in EEPROMs, ASICs, or other combinations of digital circuitry for digital signal processing, connecting and operating with the adaptive processor. The instructions and/or data may be retrieved and executed by the adaptive processor. Some examples of storage media are memory devices, tapes, disks, and the like. The instructions are operational when executed by the adaptive processor to direct the adaptive processor to operate in accord with the invention; and the data is used when it forms part of any instruction or result therefrom.
[0315] The terms “computer-readable storage medium” and “computer-readable storage media” as used herein refer to any medium or media that participate in providing instructions to a CPU for execution. Such media can take many forms, including, but not limited to, non-volatile (also known as ‘static’ or ‘long-term’) media, volatile media and transmission media. Non-volatile media include, for example, one or more optical or magnetic disks, such as a fixed disk, or a hard drive. Volatile media include dynamic memory, such as system RAM or transmission or bus ‘buffers’. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, any other physical medium with patterns of marks or holes.
[0316] Memory, as used herein when referencing to computers, is the functional hardware that for the period of use retains a specific structure which can be and is used by the computer to represent the coding, whether data or instruction, which the computer uses to perform its function. Memory thus can be volatile or static, and be any of a RAM, a PROM, an EPROM, an EEPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read data, instructions, or both.
[0317] I/O, or ‘input/output’, is any means whereby the computer can exchange information with the world external to the computer. This can include a wired, wireless, acoustic, infrared, or other communications link (including specifically voice or data telephony); a keyboard, tablet, camera, video input, audio input, pen, or other sensor; and a display (2D or 3D, plasma, LED, CRT, tactile, or audio). That which allows another device, or a human, to interact with and exchange data with, or control and command, a computer, is an I/O device, without which any computer (or human) is essentially in a solipsistic state.
[0318] While this invention has been described in reference to illustrative embodiments, this description is not to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments as well as other embodiments of the invention will be apparent to those skilled in the art upon referencing this disclosure. It is therefore intended this disclosure encompass any such modifications or embodiments.
[0319] The scope of this invention includes any combination of the elements from the different embodiments disclosed in this specification, and is not limited to the specifics of the preferred embodiment or any of the alternative embodiments mentioned above. Individual user configurations and embodiments of this invention may contain all, or less than all, of the elements disclosed in the specification according to the needs and desires of that user. The claims stated herein should be read as including those elements which are not necessary to the invention yet are in the prior art and are necessary to the overall function of that particular claim, and should be read as including, to the maximum extent permissible by law, known functional equivalents to the elements disclosed in the specification, even though those functional equivalents are not exhaustively detailed herein.
[0320] Although the present invention has been described chiefly in terms of the presently preferred embodiment, it is to be understood that the disclosure is not to be interpreted as limiting. Various alterations and modifications will no doubt become apparent to those skilled in the art after having read the above disclosure. Such modifications may involve other features which are already known in the design, manufacture and use of wireless electromagnetic communications networks, systems and MIMO networks and systems therefore, and which may be used instead of or in addition to features already described herein. The algorithms and equations herein are not limiting but instructive of the embodiment of the invention, and variations which are readily derived through programming or mathematical transformations which are standard or known to the appropriate art are not excluded by omission. Accordingly, it is intended that the appended claims are interpreted as covering all alterations and modifications as fall within the true spirit and scope of the invention in light of the prior art.
[0321] Additionally, although claims have been formulated in this application to particular combinations of elements, it should be understood that the scope of the disclosure of the present application also includes any single novel element or any novel combination of elements disclosed herein, either explicitly or implicitly, whether or not it relates to the same invention as presently claimed in any claim and whether or not it mitigates any or all of the same technical problems as does the present invention. The applicants hereby give notice that new claims may be formulated to such features and/or combinations of such features during the prosecution of the present application or of any further application derived therefrom.