WO2015142985A1 - Gnss satellite signal spoofer direction determination - Google Patents

Gnss satellite signal spoofer direction determination Download PDF

Info

Publication number
WO2015142985A1
WO2015142985A1 PCT/US2015/021154 US2015021154W WO2015142985A1 WO 2015142985 A1 WO2015142985 A1 WO 2015142985A1 US 2015021154 W US2015021154 W US 2015021154W WO 2015142985 A1 WO2015142985 A1 WO 2015142985A1
Authority
WO
WIPO (PCT)
Prior art keywords
gnss
antenna
gnss satellite
false
satellite signal
Prior art date
Application number
PCT/US2015/021154
Other languages
French (fr)
Inventor
Michael Whitehead
Original Assignee
Hemisphere Gnss Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/645,971 external-priority patent/US10234564B2/en
Application filed by Hemisphere Gnss Inc. filed Critical Hemisphere Gnss Inc.
Publication of WO2015142985A1 publication Critical patent/WO2015142985A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/14Determining absolute distances from a plurality of spaced points of known location
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/21Interference related issues ; Issues related to cross-correlation, spoofing or other methods of denial of service
    • G01S19/215Interference related issues ; Issues related to cross-correlation, spoofing or other methods of denial of service issues related to spoofing

Definitions

  • This invention relates generally to a Global Navigation Satellite System (GNSS), and more specifically to a system and method for detecting false GNSS satellite signals, and for determining the direction of the transmitter of the false GNSS satellite signals.
  • GNSS Global Navigation Satellite System
  • a GNSS includes a network of satellites that broadcast GNSS radio signals.
  • GNSS satellite signals allow a user to determine, with a high degree of accuracy, the location of a receiving antenna, the time of signal reception, and/or the attitude of a body that has a pair of receiving antennas fixed to it.
  • Location is determined by receiving GNSS satellite signals from multiple satellites in known positions, determining the transition time for each of the signals, and solving for the position of the receiving antenna based on the known data.
  • the location of two or more receiving antennas that have known placements relative to an object can be used to determine the attitude of the object.
  • GNSS systems include Navsiar Global Positioning System (GPS), established by the United States; Globalnaya Navigatsionnay Sputnikovaya Mama, or Global Orbiting Navigation Satellite System (GLONASS), established by the Russian Federation and similar in concept to GPS; the BeiDou Navigation Satellite System (BDS) created by the Chinese; and Galileo, also similar to GPS but created by the European Community and slated for full operational capacity in the near future.
  • GPS Global Positioning System
  • GLONASS Global Orbiting Navigation Satellite System
  • BDS BeiDou Navigation Satellite System
  • Galileo also similar to GPS but created by the European Community and slated for full operational capacity in the near future.
  • the GNSS is used extensively to navigate vehicles such as cars, boats, farm machinery, aisplanes, and space vehicles.
  • a problem is that 'false' GNSS signals can be used to 'spoof, or trick, a GNSS navigational system into straying off course or to provide an inaccurate time.
  • Sophisticated GNSS spoofing systems can be used to take control of a navigational system and reroute a vehicle to an unintended location. Spoofing systems can be used for malevolent pmposes - to steal, harm, reroute, or destroy important vehicles and machinery, or to allow false transactions to occur. Tims, what is needed is a system to detect the presence of false G SS satellite signals.
  • the navigational system can be prevented from being influenced by the false GNSS satellite signals. Also needed is a system and method for determining the direction of the false GNSS satellite signal transmitter. Knowing the direction of the false GNSS signal transmitter will aid in disabling the device.
  • FIG. 1 is a depiction of a vessel that is the target of a spoofing system
  • FIG. 2 is an example embodiment of a spoofing system for creating false GNSS satellite signals
  • FIG, 3 shows an illustration of one embodiment of a system for detecting the presence of false GNSS satellite signals
  • FIG, 4 illustrates method 400 of detecting false GNSS satellite signals
  • FTG.5 illustrates two antennas and their overlapping locational margin of error
  • FIG, 6 illustrates an attitude determining system for detecting the presence of false GNSS satellite signals
  • FIG. 7 shows a block diagram of an embodiment of a receiver of an attitude determining system
  • FIG. 8 shows a flow chart of method 500 of detecting false GNSS satellite signals
  • FIG. 9 shows a flow chart of one embodiment of element 550 of method 500
  • FIG. 10 shows a flow chart of one embodiment of element 554 of element 550;
  • FIG. 1 1 depicts the reception of a GNSS satellite signal by a first and a second antenna;
  • FIG. 12 illustrates range vectors extending from a satellite to a first and a second antenna, and a baseline vector extending between the first and the second antenna;
  • FIG. 13 shows the system of FIG. 12 with a geometry consistent with its use in a GNSS
  • FIG. 14 illustrates three angles yaw, pitch and roll that can be used in attitude determination of an object
  • FIG. 15 illustrates geometrically the range vectors and pha se differences of three GNSS satellite signals being received by a first and a second antenna:
  • FIG. 16 illustrates the phase differences of a spoofing signal that includes three GNSS satellite signals as received by a first and a second antenna;
  • FIG, 17 is a perspective view of an embodiment of a device for determining the direction of a false GNSS satellite signal transmitter
  • FIG. 18 is a simplified block diagram of an embodiment of a receiver of a device device for determining the direction of a false GNSS satellite signal transmitter;
  • FIG, 20 is a simplified depiction of a vessel with device 690 for determining the direction of a false GNSS satellite signal transmitter of FIG. 17, recei ving false GNSS satellite signals from a transmitter;
  • FIG. 23 shows a top view of GNSS antenna 601 and GNSS antenna 622 of device 690 of FIG. 20 receiving false GNSS satellite signals from transmitter 141 ;
  • FIG. 24 shows a top view of GNSS antenna 601 and GNSS antenna 622 of device 690 of FIG. 20 receiving false GNSS satellite signals from transmitter 141, with several of the positions of antenna 622 along rotation path 695 shown;
  • FIG 25 shows a plot 630, of a path difference distance d 688 versus rotation angle 0 696;
  • FIG 26 shows a plot 632, of travel-time differential bias BAB versus rotation angle ⁇ 696;
  • FIG, 27 shows a perspective view of a GNSS device 790 for determining the direction of a false GNSS satellite signal transmitter
  • FIG. 28 shows a simplified top view of device 790 of FIG. 27;
  • FIG. 29 illustrates a method 800 of determining the direction of a false GNSS satellite signal transmitter
  • FIG. 30 shows a top view of GNSS device 890 for determining the direction of a false GNSS satellite signal transmitter
  • the phase of the GNSS satellite signal can be the code phase or the carrier phase of the GN SS satellite signal
  • a GNSS attitude determining system computes the carrier phase differences of a GNSS satellite signal at two or more antennas.
  • the carrier phase difference is used in some embodiments to determine if the antennas are receiving a false GN SS satellite signal.
  • the code phase difference is used to detect false GNSS satellite signals instead of the carrier phase.
  • a first measured carrier phase difference is used to compute a second geometrical carrier phase difference of the GN SS satellite signal at the same antennas. The amount of agreement or error between the first measured and the second geometric computation of the carrier phase difference of the GNSS satellite signal at the two antennas is used to determine whether the system is receiving false GNSS satellite signals.
  • False GNSS satellite signals need not originate from any GNSS, and need not originate from any earth-orbiting satellite. False GNSS satellite signals include signals that are simulated - in other words they do not ever originate from a GNSS satellite, although they are formed to simulate a GNSS satellite signal and, ultimately, be accepted by a receiving antenna as a real GNSS satellite signal. False GNSS satellite signals also include those signals that originate from a GNSS satellite, but they are unaware! y or maliciously received and re -broadcast such that they can no longer be used to measure an antenna location or provide an accurate timing signal. In a.
  • false GNSS signals include any signal which contains invalid satellite data, but is of a form thai will be accepted by a GNSS antenna and receiver and, without intervention, will be used by the GNSS receiver to perform a. (false) location or attitude computation.
  • a GNSS includes a network of satellites that broadcast GNSS radio signals, enabling a user to determine the location of a receiving antenna with a high degree of accuracy.
  • a GNSS can also be used to determine the attitude of an object, by determining the position of two or more receiving antennas that have known placements relative to the object.
  • the United States' GPS system which is currently the longest running of the available GNSS, was developed by the United States government and has a constellation of 24 satellites in 6 orbital planes at an altitude of approximately 26,500 km. The first satellite was launched in February 1978. Initial Operational Capability (IOC) for the GPS was declared in December 1993. Each satellite continuously transmits microwave L-band radio signals in two frequency bands, L I (1575.42 MHz) and L2 (1227.6 MHz). The LI and L2 signals are phase shifted, or modulated, by one or more binary codes.
  • IOC Initial Operational Capability
  • These binary codes provide timing patterns relative to the satellite's onboard precision clock (synchronized to other satellites and to a ground reference through a ground-based control segment), in addition to a navigation message giving the precise orbital position of each satellite, clock correction information, and other system parameters. It is to be understood that this system is constantly being upgraded and modified, thus the specific details and frequencies provided herein may change over time.
  • GNSS navigation or attitude systems use measurements of a GNSS satellite signal phase - either code phase or carrier phase - in order to perform their computations.
  • the binary codes providing the timing information are called the C/A Code, or coarse acquisition code, and the P-code, or precise code.
  • the C/A Code is a l MHz Pseudo Random Noise (PRN) code modulating the phase of the LI signal, and repeating eve ⁇ ? 1023 bits (one millisecond).
  • PRN Pseudo Random Noise
  • the P-Code is also a PRN code, but modulates the phase of both the LI and L2 signals, and is a 10MHz code repeating every seven days.
  • the GNSS receiver is able to compute an unambiguous range to each satellite by determining the time-shift necessary to align the internal code phase to the broadcast code phase. Since both the C/A Code and the P-Code have a relatively long "wavelength" - approximately 300 meters (or 1 microsecond) for the C/A Code, and 30 meters (or 1/10 microsecond) for the P-Code ⁇ positions computed using them have a relatively coarse level of resolution. Code phase measurements are used in some embodiments of the inventions described herein to detect false GNSS satellite signals.
  • FIG. 1 depicts a situation where a vessel 100 using GNSS navigation is subjected to spoofing - or in other words is receiving false GNSS satellite signals.
  • Vessel 100 receives real GNSS satellite signals 106, 107, and 108 from a plurality of GNSS satellites 103, 104 and 105, respectively.
  • GNSS satellite signals 106, 107 and 108 are received by an antenna 101 located at physical location A.
  • a GNSS receiver 121 which is electrically connected to antenna 101 , receives signals 106, 107, and 108, and computes the GNSS location coordinates of location A based on measurements of ranging information contained within GNSS signals 106, 107 and 108.
  • Vessel 100 in this embodiment has an autopilot system that steers vessel 100 over a prescribed course using the computed GNSS coordinates of location A. It is to be understood that while antenna 101 is shown receiving GNSS satellite signals 106, 107, and 108 from three GNSS satellites 103, 104, and 105, antenna 101 can be receiving GNSS satellite signals from any number of GNSS satellites. Antenna 101 receives GNSS satellite signals from a plurality of GNSS satellites, where a plurality is any number greater than one.
  • Antenna 101 in the embodiment shown in FIG. 1 is also receiving a spoofing signal 142 from a spoofing system 140 (also shown in FIG. 2).
  • Spoofing signal 142 is a composite signal which contains a plurality of false GNSS satellite signals.
  • Spoofing signal 142 is generated so as to mimic real GNSS satellite signals.
  • Spoofing system 140 transmits spoofing signal 142 through a cable 139 to a transmitter 141.
  • Transmitter 141 broadcasts spoofing signal 142 to antenna 101.
  • GNSS signal spoofing system 140 can be designed to create false GNSS satellite signals in many ways.
  • spoofing system 140 creates spoofing signal 142 by simulating real GNSS satellite signals programmed with the desired false satellite data.
  • FIG. 2 is an example embodiment of spoofing system 140 of FIG. 1 , which in this embodiment captures real GNSS signals 1 16, 117, and 118 at an antenna 1 11, and then rebroadcasts these signals with transmitter 141.
  • spoofing system 140 creates spoofing signal 142 by re-broadcasting live GNSS signals received at a location different from the GNSS navigational system that is to be spoofed. It is to be understood that spoofing system 140 can create and broadcast spoofing signal 142 using any method that creates a spoofing signal 142 that includes data meant to be accepted as real GNSS satellite signals.
  • spoofing system 140 includes spoof antenna 1 1 1, and transmitter 141.
  • Spoofing system 140 generates spoofing signal 142 by re-broadcasting GNSS satellite signals 116, 117 and 1 18 recei ved at spoof antenna 1 11 from live GNSS satellites 113, 114 and 1 15 (FIG. 2).
  • Satellites 1 13, 1 14, and 1 15, can be the same or different GN SS satellites as satellites 103, 104, and 105.
  • Spoof antenna 1 11 is located at a spoof location D (FIG. 1).
  • the power level of spoofing signal 142 is set such that when spoofing signal 142 is received by antenna 101 , spoofing signal 142 overpowers real GNSS satellite signals 106, 107 and 108. Consequently receiver 121 uses spoofing signal 142 to compute a GNSS location based on false GNSS satellite signals 1 16, 1 17, and 118.
  • receiver 121 will measure the G SS sateliite signal phase (code phase and/or carrier phase) ⁇ values of false GN SS satellite signals 116, 1 17, and 118, will use the code phase and/or the carrier phase ⁇ values to compute GNSS location coordinates for location D, and will report, that vessel 100 is at location D instead of its tme location A.
  • This false location D will be offset from tme location A by vectors 133 and 134, for a total positional error given by vector 135.
  • the navigational system of vessel 100 will believe it is at location D and plot its course accordingly.
  • spoofing systeml40 in some embodiments, to make receiver 121 believe, and report, that vessel 100 is at false location D that is offset relative to the known or assumed location A of the GNSS system to be spoofed.
  • Spoofing of a navigational system can also be performed in order to make a navigational device provide false timing data.
  • GNSS devices are often used in critical timing applications. Thus, in some embodiments, detection of false GNSS satellite signals is performed to prevent a spoofing system from causing false timing data to be provided by a GNSS device.
  • any transmission delay of spoofing signal 142 along cable 139, or due to being rebroadcast, is seen as a common clock delay on all GNSS spoofing signals, and this delay is solved for as part of the receiver 121 computations. ' The delay causes a small, often undetectable recei ver clock offset, but computation of the false GN SS location still takes place.
  • GNSS satellite signals such as spoofing signal 142
  • spoofing signal 142 comprises false data that represents itself as one or more than one GNSS satellite signal from one or more than one GNSS satellite.
  • the system and method for detecting false GNSS satellite signals uses a plurality of GN SS antennas for determining that at least one of the GN SS satellite signals received is a false GNSS satellite signal, in other words it contains false data.
  • the system disclosed herein for detecting false GNSS satellite signals is in some embodiments a GNSS attitude system.
  • GNSS attitude systems use two or more GNSS antennas attached to a rigid body for determining the attitude of the body.
  • Described herein and shown in FIG. 17 through FIG. 31 are systems and methods for determining the direction of a false GNSS satellite signal transmitter such as transmitter 141.
  • the systems and methods for determining the direction of the false GNSS satellite signal transmitter uses at least two GNSS antennas to compute a plurality of range differences, where each range difference corresponds to a rotation angle of a baseline vector extending between the two GNSS antennas. The range differences are compared to determine the angle that corresponds to a direction of the false GNSS satellite signal transmitter such as transmitter 141.
  • the system disclosed herein for determining the direction of the false GNSS satellite signal transmitter 141 is in some embodiments a GNSS attitude system.
  • GNSS attitude systems use two or more GNSS antennas attached to a rigid body for determining the attitude of a body.
  • FIG. 3 shows an embodiment of a system 190 for detecting false GN SS satellite signals.
  • vessel 100 of FIG. 1 includes system 190 for detecting false GNSS satellite signals.
  • system 190 has two GNSS antennas, a first antenna 101 and a second antenna 122. Both first antenna 101 and second antenna 122 are receiving a plurality of GNSS satellite signals, which in this embodiment includes GNSS satellite signals 106, 107, and 108.
  • System 190 for detecting false GNSS satellite signals also includes a receiver 121 connected to both first antenna 101 and second antenna 122.
  • Receiver 121 receives GNSS satellite signals 106, 107, and 108 from first antenna 101 and second antenna 122, measures GNSS satellite signal phase ⁇ values (either code or carrier phase) of the GNSS satellite signals, and performs the range, location and attitude computations as required.
  • GNSS spoofing is taking place to system 190 on vessel 100 of FIG. 1.
  • Spoofing signal 142 is being received by first antenna 101 of vessel 100, just as shown and described in FIG. 1 and FIG. 2, except in the embodiment shown in FIG. 3, vessel 100 includes system 190 for detecting false GNSS satellite systems.
  • Antennas 101 and 122 are both fixed to vessel 100 of FIG. 1, at locations A and B respectively. Vessel 100 is not shown in FIG.
  • Antennas 101 and 122 receive both the intended GNSS satellite signals 106, 107, and 108, and spoofing signal 142.
  • Spoofing system 140 sends spoofing signal 142 along cable 139 and broadcasts spoofing signal 142 over transmitter 141.
  • Spoofing system 140 generates spoofing signal 142 by rebroadcasting GNSS satellite signals 1 16, 117, and 118 from GNSS satellites 113, 1 14, and 115 as received by antenna 1 11 at GNSS location D, as shown in FIG. 2.
  • GNSS satellite signals 1 16, 1 17, and 1 18 contain timing information that enable the computation of ranges Rj, R 2 , and R 3 represen ting the distance between satellites 113, 1 14, and 1 15, respectively, and antenna 11 1, as shown in FIG. 3.
  • Ranges R x , R 2 , and R 3 are denoted 216, 217, and 218 in FIG, 3.
  • Rj , R 3 ⁇ 4 and R 3 are made by receiver 121 of attitude system 190 from measurements of GNSS satellite signal phase ⁇ of GNSS satellite signals 1 16, 1 17, and 1 18 as received by antenna 1 11. Note that range measurements Rj , R 2 , and R 3 will be computed by any GNSS receiver that is receiving and processing spoofing signal 142.
  • the intended, real GNSS satellite signals 106, 107, and 108 are broadcast by satellites 103, 104 and 105 as shown in FIG. 1 and FIG. 3.
  • GNSS satellite signals 106, 107, and 108 travel from satellites 103, 104, and 106, respectively, to antenna 10 ! that is located at A.
  • GNSS receiver 121 connected to antenna 101 would measure GNSS satellite signal code or carrier phase ⁇ values for GNSS satellite signals 106, 107, and 108 as received by antenna 101, and compute ranges ri, r 2 , and ⁇ 3 (denoted 206, 207, and 208 in FIG. 3) representing the distance between satellites 103, 104, and 105 and antenna 101.
  • GNSS satellite signals 106, 107, and 108 from GNSS satellites 103, 104 and 105 travel to antenna 122 at a location B.
  • GNSS receiver 121 connected to antenna 122 would measure GNSS satellite signal code or carrier phase ⁇ values for GNSS satellite signals 106, 107, and 108 as received by antenna 122, and compute ranges r , r' 2 , and r' 3 (denoted 209, 210, and 211 in FIG. 3) as the distance between GNSS satellites 103, 104, and 105 and antenna 122.
  • GNSS receiver 121 uses the range ri, r 2 , and r 3 computations to compute GNSS location A for the location of antenna 101 , where GNSS location A approximately coincides with the location of antenna 101 to the accuracy of receiver 121.
  • GNSS receiver 121 connected to antenna 122 uses the r'i, r' 2 , and r' 3 range values and computes a GNSS location B that approximately coincides with the location of antenna 122.
  • Computed ranges r'i, r' 2 , and r' 3 are different from ⁇ , ⁇ 2, and r 3 .
  • the two GNSS locations A and B computed by receiver 121 connected to antennas 101 and 122 are different GNSS locations under normal operation, because locations A and B are not physically co-located.
  • the measured range differences r. - r'j , r? - r' 2 , and r _ r'3, rather than the computed ranges are used to compute GNSS locations.
  • signal 142 overpowers real GNSS satellite signals 106, 107, and 108.
  • Signal 142 is received by both antenna 101 and antenna 122.
  • GNSS receiver 121 connected to first antenna 101 and second antenna 122 measures GNSS satellite signal carrier phase ⁇ values and computes ranges of R 3 , R 2 , and R 3 as if received by antenna 1 11 instead of the intended ranges (ri, r 2 , r ? and r'i, r'3 ⁇ 4 r' 3 ).
  • GNSS receiver 121 measures identical ranges of Ri, R 2 , and R 3 for what receiver 121 believes to be the path length to satellites 103, 104, and 105 from both antenna 101 and antenna 122.
  • one method for system 190 to use to detect false GNSS satellite signals is to compute one or more range differences, where a range difference is the difference between the range to a speciiic GNSS satellite from a first antenna, and the range to the same specific GNSS satellite from a second antenna. Because the range is calculated to two different antennas, the two ranges should be different and the range difference should be larger than a predetermined threshold range difference value. If the ranges are the same or close to the same value, the range difference will be small or zero. If the range difference is small or zero - smaller than the predetermined threshold range difference value, for example - then this can be used as an indication that one or more of the GNSS satellite signals is a false GNSS satellite signal.
  • FIG. 4 illustrates a method 400 of detecting false GNSS satellite signals according to embodiments of the invention, using measured range differences as described above.
  • Method 400 includes an element 410 of receiving a plurality of GNSS satellite signals with each one of a plurality of antennas.
  • FIG. 3 shows two antennas 101 and 122, but the plurality of antennas can include any number of antennas greater than one.
  • FIG. 3 shows three GNSS satellite signals 106, 107, and 108 in the normal non-spoofing environment, or GNSS satellite signals 1 16, 117, and 1 18 in the spoofed environment, but the plurality of GNSS satellite signals can include any number of satellite signals greater than one,
  • Method 400 includes an element 420 of measuring a plurality of GNSS satellite signal phase ⁇ values.
  • the plurality of GNSS satellite signal phase ⁇ values includes a GNSS satellite signal phase ⁇ value for each of the plurality of GN SS satellite signals at each of the plurality of antennas.
  • Method 400 also includes an element 430 of computing a range to a first GNSS satellite from a first one of the plurality of antennas, using the plurality of GNSS satellite signal ph ase ⁇ values. Each range is the distance between one of the plurality of antennas and one of a. plurality of GN SS satellites.
  • the plurality of GNSS satellites are the GNSS satellites broadcasting the plurality of GNSS satellite signals. In FIG.
  • the plurality of GNSS satellites is shown as three GNSS satellites 103, 104, and 105, broadcasting the plurality of real GN SS satellite signals 106, 107, and 108.
  • the plurality of GNSS satellites is shown as three GNSS satellites 113, 1 14, and 115 broadcasting the plurality of GNSS satellite signals 116, 1 1 7, and 1 18, which are combined into spoofing signal 142.
  • Each of the above pluralities can be any number greater than one.
  • element 430 will include receiver 121 of system 190 of FI G. 3 computing range rj from first antenna 101 to GNSS satellite 103.
  • element 430 will include receiver 121 computing range Ri from first antenna 101 to GNSS satellite 103.
  • Method 400 also includes an element 440 of computing a range to the first GNSS satellite from a second one of the plurality of antennas, using the plurality of GNSS satellite signal phase ⁇ values.
  • element 440 will include receiver 121 computing range r'-. from second antenna 122 to GNSS satellite 103.
  • element 440 will include receiver 121 computing range Rj from second antenna 122 to GNSS satellite 103. Note that in the non-spoofing
  • the ranges r-. and r'i are different because the antennas 101 and 122 are in different locations and thus the path lengths r3 ⁇ 4 and . are different.
  • receiver 121 will compute range 3 ⁇ 4 - the same range value - for the range between both first antenna 101 and second antenna 122, and GNSS satellite 103, because the data received by both first antenna 101 and second antenna 122 reflects a range 3 ⁇ 4 from spoofing antenna 11 1 and GNSS satellite signal 113,
  • Method 400 also includes an element 450 of computing a range difference, where the range difference is the difference between the range to the first GNSS satellite from the first antenna, and the range to the first GNSS satellite from the second antenna.
  • element 440 in the normal, non- spoofing environment will include computing the difference between r 3 and r'i . This difference should reflect the feet that the antennas 101 and 122 are in different locations.
  • element 440 will include computing the difference between Ri and Rj . Since the range measurements in the spoofing environment are the same within computational accuracy, the range difference in the spoofing environment should be zero or some small number that results from a small amount of computational error in each range calculation.
  • Method 400 also includes an element 460 of using the range differences to determine whether the plurality of GNSS satellite signals includes a false GNSS satellite signal.
  • the range difference is compared to a predetermined threshold range difference. If the range difference is smaller than the predetermined threshold range difference, then it is determined that the plurality of GNSS satellite signals includes a false GNSS satellite signal If the range difference is larger than the predetermined threshold range difference, then it is determined that the plurality of GNSS satellite signals does not include a false GNSS satellite signal.
  • a plurality of range differences is computed, using the plurality of GN SS satellite signals as received by the plurality of antennas to measure and difference a plurality of ranges.
  • Element 460 can include many different ways and methods of comparing the range difference or differences.
  • Method 400 can include many other elements.
  • method 400 includes the element of preventing the system from outputting a iocational output in response to determining that the plurality of GNSS satellite signals includes at least one false GNSS satellite signal
  • Preventing the Iocational data from being output is one way to keep false GNSS satellite signals from being successful in taking over control of a navigational system or other system that is using the antennas for a purpose.
  • GNSS receiver 121 measures the same or similar ranges 3 ⁇ 4 , R?, and R 3 for the path length to satellites 103, 104, and 105 (because the data is really from GNSS satellites 1 13, 1 14, and 1 15) from both antenna 101 and antenna 122. Receiver 121 will use these values to compute substantially the same GNSS location, within a Iocational margin of error, for both GN SS location A of antenna 101 and GN SS location B of antenna 122.
  • Receiver 121 of system 190 does not know the GNSS location of point A and point B beforehand, but it may know the relative distance between point A and point B, Therefore a second method for system 190 to use to detect false GN SS satellite signals is to compare the computed GN SS locations A and B, System 1 0 will determine that it is receiving a false GNSS satellite signal in response to the computed GNSS locations of antennas 101 and 122 being the same GNSS Iocational value within a iocational margin of error.
  • this method includes computing a GN SS location for each of the plurality of antennas using the plurality of ranges, and determining that the plurality of GNSS satellite signals includes a false GNSS satellite signal in response to the computed GNSS locations for each of the plurality of antennas being the same GNSS Iocational value within a Iocational margin of error.
  • two-antenna GN SS system 190 is able to detect spoofing in many cases.
  • spoofing signal 142 may transverse different paths, 221 and 222 to travel to antennas .101 and 122.
  • the difference in path length and thus signal travel time of spoofing signal 142 along paths 221 and 222 will result in receiver 121 connected to antennas 101 and 122 computing different receiver clock offsets.
  • this will not affect the range or location calculations.
  • system 190 will compute ranges and GNSS locations A and B that are the same values to within the accuracy of receiver 121 .
  • first antenna 101 and second antenna 122 are shown connected to one common receiver 121 , each antenna could have its own GNSS receiver, with a common processor comparing the data to determine that the computed GNSS locations A and B are the same locational value within a locational margin of error.
  • This method of detecting false GNSS satellite signals by comparing the computed GNSS locations of two or more antennas can have issues in some cases.
  • the distance between the first and the second antennas 101 and 122 is smaller than the locational margin of error as computed by each receiver, then it may not be possible to determine whether the locations are the same within the locational margin of error.
  • FIG. 5 shows antenna 101 of FIG. 3 at location A, and antenna 122 of FIG. 3 at location B.
  • Each antenna is receiving GNSS satellite signals 106, 107, and 108 from GNSS satellites 103, 104, and 105 respectively.
  • Receiver 121 (FIG.
  • a locational margin of error is the area of uncertainty which surrounds the GNSS location calculation due to error and imprecision in the measurements of range.
  • Locational margin of errors 160 and 162 are shown as two- dimensional ovals in FIG. 5, but it is to be understood that they are three-dimensional areas such as spheres, ovoids, or other three-dimensional areas.
  • Cross-hatched area 164 as shown in FIG. 5 represents area of overlap 164 of the two locational margins of error 160 and 162.
  • antenna 101 and antenna 122 are close enough to each other that they both reside within area of overlap 164 as shown in FIG. 5, it is not possible to determine accurately whether the computed GN SS locations of location A and location B are the same GNSS location or not, because their locational margins of error overlap.
  • One way to alleviate the potential for false detection using the two antenna method is to ensure that the distance from antenna 101 to antenna 122 is sufficiently large that their respective locational margins of error 160 and 162 do not intersect.
  • a disadvantage of doing this is that it requires more installation space and possibly longer cables, and thus a less compact system.
  • Minimizing the size of the locational margins of error 160 and 162 is a viable solution, which can be done with a GNSS attitude system, as will be discussed shortly.
  • GNSS satellite signal code or carrier phase ⁇ , range, location, and attitude measurements and computations where a plurality is any number larger than one.
  • a plurality of GN SS satellites are used by system 190, which results in each antenna receiving a plurality of GNSS satellite signals.
  • first and second antennas 101 and 122 are shown and described, in general a plurality of antennas are used by system 190, where a plurality is any number greater than one.
  • GNSS satellites sets of two or three GNSS satellites, GNSS satellite signals, and antennas are shown and described to simplify the drawings and the explanation, but it is to be understood that often the numbers of satellites, satellite signals, and/or antennas is a number greater than two or three, and in fact can be any number greater than one.
  • a GNSS attitude system (also referred to as a GNSS attitude determining system) has the capability of executing a. variety of measurements and computations which allow it to determine with high accuracy whether GNSS satellite signals are false GNSS satellite signals, while minimizing the limitations of using the measured ranges or computed GNSS locations as described above.
  • a GNSS attitude system has a minimum of two antennas and computes ranging differences by differencing the GNSS satellite signal code or carrier phase ⁇ values measured at the two or more antennas.
  • a basic GNSS attitude system and method of using the GNSS attitude system to detect false GNSS satellite signals is described below. More details on GN SS attitude systems and the computation of carrier phase differences can be found in related United States Patent No. 7,292, 185 to Whitehead.
  • FIG. 6 depicts an attitude determining system 390 (also called attitude system 390 or system 390) for determining the presence of false GNSS satellite signals.
  • System 390 is shown tracking a plurality of GNSS satellites 303, 304, and 305, also referred to as S I , S2, and S3, respectively.
  • System 390 includes a plurality of antennas 301 , 322, and 324 at locations A, B, and C to receive GNSS satellite signals. Satellites 303, 304, and 305 broadcast radio frequency GNSS satellite signals 306, 307 and 308, respectively.
  • GNSS satellite signals 306, 307 and 308 are received by the plurality of antennas 301, 322 and 324.
  • Each GNSS satellite signal 306, 307, and 308 travels from each antenna 301, 322 or 324 to a receiver unit 321 via connections 314, 315, or 316 respectively, where it is down-converted and digitally sampled so that it may be tracked by digital tracking loops of receiver 321 ,
  • Various timing and navigation information is readily extracted while tracking each of the plurality of GNSS satellite signals 306, 307, and 308, including the phase of a Pseudo Random N oise (PRN) code timing pattern (often called code phase) that is modulated on each of the plurality of GNSS satellite signals 306, 307, and 308, the carrier phase ⁇ of each GNSS satellite signal's carrier, and navigation data from which the location of each GNSS satellite may be computed.
  • PRN Pseudo Random N oise
  • receiver 321 may include, but not be limited to, a processor(s), computer(s), memory, storage, register(s), timing, interrupts), communication interface(s), and input/output signal interfaces, and the like, as well as combinations comprising at least one of the foregoing.
  • receiver 321 may include signal interlaces to enable accurate down-conversion and digital sampling and tracking of GNSS satellite signals as needed, and to facilitate extracting the various timing and navigation information, including, but not limited to, the phase of the PRN code timing pattern.
  • FIG, 7 shows an example embodiment of receiver 321 of attitude determining system 390 of FIG. 6 that can be used for detecting the presence of false GNSS satellite signals.
  • System 390 of FIG. 6 and FIG. 7 uses single receiver unit 321 containing multiple synchronized tracking devices 202, 203 and 204.
  • Each tracking device 202, 203 and 204 is associated with exactly one antenna 301 , 322 or 324, respectively.
  • Each tracking device 202, 203 and 204 is capable of tracking a plurality of GNSS satellites.
  • each tracking device 202, 203 and 204 is tracking each satellite 303, 304 and 305, respectively.
  • Tracking devices 202, 203, and 204 serve the function of down converting the received Radio Frequency (RF) GNSS satellite signals 306, 307 and 308 arriving from the plurality of satellites 303, 304 and 305, sampling the composite signal, and performing high-speed digital processing on the composite signal (such as correlations with a PRN reference signal) that allow the code and carrier phase ⁇ of each satellite to be tracked.
  • RF Radio Frequency
  • Examples and further description of synchronized tracking devices such as tracking de vices 202, 203 and 204 are described in commonly assigned U.S. Patent 7,292,186 entitled Method and System for Synchronizing Multiple Tracking Devices For A Geo-location System, filed J anuary 5, 2005 , the contents of which are incorporated by reference herein in their entirety.
  • Each tracking device 202, 203 and 204 is connected to a single shared computer processing unit (CPU) 31 8 in this embodiment.
  • CPU 318, or processor 318 sends control commands 310, 31 1 and 312 to the plurality of tracking devices 202, 203 and 204, respectively.
  • Control commands 310, 311 and 312 enable tracking devices 202, 203 and 204 to track the plurality of GNSS satellites 303, 304 and 305.
  • CPU 318 receives back from each tracking device 202, 203 and 204 code and carrier phase ⁇ measurements of the plurality of GNSS satellite signals 306, 307 and 308.
  • central processing unit CPU
  • processor processor
  • microprocessor are using in this document interchangeably and are meant to mean a computing device that can perform hardware and or software processing steps, calculations and/or processes.
  • the items referred to by these terms can include any one or all of a processor(s), computers), memory, storage, register(s), timing, interrupt(s), communication interface(s), software and/or processing code loaded onto a memory, or any other combination of hardware and/or software that is used for computations and/or executing steps.
  • a synchronization signal 214 is sent from master tracking device 202 to slave tracking devices 203 and 204.
  • Sync signal 214 allows master tracking device 202 and slave tracking devices 203 and 204 to measure the code and carrier phase ⁇ of each of the plurality of GNSS satellite signals 306, 307 and 308 simultaneously.
  • the RF down conversion within each tracking device 202, 203 and 204 and the sampling of data by each tracking device 202, 203 and 204 is done using a common clock signal 320.
  • attitude determining system 390 can produce an output using one fewer GNSS satellites than a system that must continually estimate clock error. Or, if a Kalman filter is utilized, the process noise for the clock state may be lowered substantially, allowing the Kalman filter to strengthen its estimate of the other states such as the angles of attitude. Finally, cycle slips are easier to detect since clock jumps can be ruled out.
  • GNSS satellite signal code or carrier phase differences ⁇ of GNSS satellite signals received by each of the two antennas of the pair may be computed.
  • a GNSS satellite signal code or carrier phase difference ⁇ (also called phase difference or differential phase) is the difference between the GNSS satellite signal code or carrier phase ⁇ value of a specific GNSS satellite signal measured at a first antenna, and the GNSS satellite signal code or carrier phase ⁇ value of the same GNSS satellite signal measured at a second antenna.
  • the pairs AB, AC and BC are possible combinations of antenna pairs from which to compute phase differences ⁇ .
  • Attitude determining system 390 as shown in FIG. 6 and FIG. 7 uses
  • FIG. 8 through FIG. 10 illustrate embodiments of a method 500 of detecting false GNSS satellite signals.
  • FIG. 1 1 through FIG. 16 and the corresponding discussion show and describe the various elements included in the embodiments of method 500 shown in FIG. 8 through FIG. 10.
  • a GNSS attitude system such as system 390 is used to perform method 500.
  • a two-antenna system such as system 190 shown in FIG. 3 is used to perform method 500 of detecting false GNSS satellite signals.
  • the system for using method 500 of detecting false GNSS satellite systems includes at least a first antenna, a second antenna, and a receiver.
  • the first and the second antenna receive a plurality of GNSS satellite signals.
  • the receiver is electrically connected to the first and the second antenna, and receives the plurality of GNSS satellite signals received by each of the first and the second antenna.
  • the receiver executes the elements included in the various embodiments of method 500 as illustrated in FIG, 8 through FIG. 10 and described below.
  • the description below illustrates and describes how GNSS attitude determining system 390 of FIG, 6 through FIG. 7 and FIG. 1 1 through FIG. 16 is used to perform embodiments of method 500 to detect false GNSS satellite signals,
  • FIG. 8 illustrates one embodiment of method 500 of using a GNSS attitude system to detect false GNSS satellite signals.
  • Method 500 includes an element 510 of receiving a plurality of GNSS satellite signals with each one of a plurality of antennas.
  • each of the plurality of antennas belongs to the GNSS attitude system.
  • GNSS attitude determining system 390 is performing method 500.
  • the plurality of GNSS satellite signals includes GNSS satellite signals 306, 307, and 308 from GNSS satellites 303, 304, and 305 respectively.
  • the plurality of antennas includes first antenna 301, second antenna 322, and third antenna 324. Each one of the plurality of antennas 301 , 322, and 324 receives each one of the plurality of GNSS satellite signals 306, 307, and 308.
  • Method 500 includes an element 530 of measuring a plurality of GN SS satellite signal code or carrier phase ⁇ values.
  • Receiver 321 of attitude determining system 390 executes element 530 of measuring a plurality of GNSS satellite signal code or carrier phase ⁇ values in the embodiment shown in FIG. 6 and FIG. 7.
  • Each GNSS satellite signal code or carrier phase ⁇ value is a GNSS satellite signal code or carrier phase ⁇ value for each one of the plurality of GNSS satellite signals 306, 307, and 308 at each one of the plurality of antennas 301, 322, and 324.
  • system 390 is measuring GNSS satellite signal carrier phase ⁇ values.
  • Carrier phase ⁇ values are used by attitude system 390 because the carrier signal component has a wavelength that is small as compared to the code length and therefore provides greater accuracy in range, location, and attitude calculations. It is to be understood that code phase measurements can be used in place of carrier phase measurements in the calculations.
  • FIG. 1 1 illustrates elements of the measurement of carrier phase ⁇ values for a GNSS satellite signal.
  • FIG. 11 shows a portion of system 390 of FIG. 6 and FIG. 7, including GNSS satellite 303, also referred to as satellite SI, first antenna 301, second antenna 322 and receiver 321. The remaining items included in the plurality of GNSS satellites and the plurality of antennas of FIG. 6 and FIG. 7 have been left out of FIG. 11 for simplicity.
  • FIG. 1 1 depicts the reception of GNSS satellite signal 306 containing a carrier 307 component by antennas 301 and 322 of attitude determining system 390 of FIG. 6 and FIG. 7, where GNSS satellite signal 306 is then routed from each antenna to receiver unit 321.
  • First antenna 301 and second antenna 322 receive GNSS satellite signal 306 from GNSS satellite 303 S I .
  • GNSS satellite signal 306 received at each antenna 301 and 322 is routed via cables 314 and 315 to receiver unit 321.
  • Receiver unit 321 tracks GNSS satellite signal 306 using tracking devices 202 and 203 associated with antennas 301 and 322 (FIG, 7).
  • Code and carrier phase ⁇ measurements of GNSS satellite signal 306 are made at regular intervals.
  • the carrier phase ⁇ is the measure of the particular point in the wavelength cycle that the GNSS satellite signal is at when it reaches an antenna.
  • the range to GNSS satellite 303 may be expressed in terms of the number of carrier wavelengths ⁇ 309 that will divide it.
  • carrier wavelength ⁇ 309 is approximately 19 cm for the LI carrier and 24 cm for the L2 carrier.
  • the tracking loops within receiver 321 typically track the carrier phase ⁇ to an accuracy of less than three percent of the carrier's wavelength ⁇ . This equates to 5mm or less when tracking the LI carrier signal in the GPS form of GNSS.
  • the carrier phase value of GNSS satellite signal 306 as measured at first antenna 301 is designated ⁇ $'
  • the carrier phase value of GNSS satellite signal 306 as measured at second antenna 322 is designated ⁇ ⁇ .
  • the naming convention used herein for carrier phase ⁇ is such that the SI superscript designates the satellite that originated the GNSS satellite signal that is having its phase measured, and the subscript designates the location of the antenna at which the carrier phase ⁇ is measured.
  • Element 530 of measuring a plurality of GNSS satellite signal code or carrier phase ⁇ values can include many other elements.
  • Element 530 of measuring a plurality of GNSS satellite signal code or carrier phase ⁇ values can be performed by any method known in the art now or discovered in the future for measuring GNSS satellite signal code or carrier phase ⁇ values of GNSS satellite signals,
  • the embodiment of method 500 shown in FIG. 8 also includes an element 550 of using the plurality of GNSS satellite signal code or carrier phase ⁇ values to determine whether the plurality of GNSS satellite signals 306, 307, and 308 includes a false GNSS satellite signal
  • Element 550 is executed by receiver 321 in the embodiment shown in FIG. 6 and FIG. 7.
  • the measured GNSS satellite signal code or carrier phase ⁇ values can be used in any number of ways to determine whether the plurality of GNSS satellite signals 306, 307, and 308 comprises one or more than one false GNSS satellite signal. Several of these ways are described below.
  • the GNSS satellite signal code or carrier phase ⁇ values are used to measure ranges and GNSS locations of the plurality of antennas as explained earlier with respect to FIG. 3 and FIG.4.
  • FIG. 9 and FIG. 10, which are to be discussed shortly, sho and describe a number of further embodiments of element 550 of method 500 as shown in FIG. 8.
  • Method 500 of using a GNSS attitude system to detect false GNSS satellite signals can include many other elements.
  • method 500 includes an element 570 of preventing the attitude system from outputting a positional output in response to determining that the plurality of GNSS satellite signals includes a false GNSS satellite signal. This element is shown in dotted lines in FIG, 8 because it is optional in method 500 of FIG. 8.
  • the system for detecting false GNSS satellite signals such as attitude determining system 190 or 390 described in this document provides a warning once false GNSS satellite signals are detected.
  • the system for detecting false GNSS satellite signals such as attitude determining system 190 or 390 described in this document excludes the detected false GNSS satellite signals from the location calculation.
  • Element 570 includes any elements or steps performed, or executed, to provide a warning or to prevent the attitude system from outputting false navigational data. The false navigational data could allow the false GNSS satellite signals to take over navigation of a vehicle, for example.
  • element 570 includes preventing locationai data, from being output from attitude determining system 390.
  • element 570 includes preventing attitude data from being output from attitude determining system 390.
  • element 570 includes preventing range data from being output from attitude determining system 390.
  • element 570 includes preventing a National Marine Electronics Association (NMEA) output message such as the NMEA GPGGA output message from being delivered from attitude determining system 390. Preventing the attitude system from providing navigational data such as range, location, and attitude will prevent the false GNSS satellite signals from taking control of the equipment that is using the attitude system.
  • method 500 includes outputting a warning signal in response to detecting false GNSS satellite signals. In some embodiments, method 500 includes excluding false GNSS satellite signals from computations suc as location, attitude, or time.
  • NMEA National Marine Electronics Association
  • method 500 includes excluding a particular type of GNSS satellite signals (GPS, GLONASS, BDS) from computations in response to detecting a false GNSS satellite signal of the particular type. For example, if a GPS satellite signal is detected to be false, the attitude system can use GLONASS satellite signals for computations, excluding the GPS signals.
  • GPS Globalstar Satellite System
  • GLONASS GLONASS Satellite Signal
  • FIG. 9 shows embodiments of element 550, including two embodiments of element 554 of element 550.
  • FIG. 10 shows a further embodiment of element 554 of element 550.
  • Element 550 of FIG. 9 includes an element 552 of computing a plurality of first carrier phase differences ⁇ from the plurality of carrier phase ⁇ values.
  • code phase values are measured instead of carrier phase ⁇ values, and code phase differences computed instead of carrier phase ⁇ differences. It is to be understood that code phase values and differences can be used in place of carrier phase values and differences by attitude system 390.
  • the first carrier phase difference is designated as ⁇ , and is defined as the difference between the measured carrier phase ⁇ of a specific one of the plurality of GNSS satellite signals at a first antenna (A) and the measured carrier phase ⁇ of that same specific one of the plurality of GNSS satellite signals at a second antenna (B), and is given by:
  • First carrier phase difference ⁇ [ in this embodiment is a measured carrier phase difference because it is determined from the measured carrier phase ⁇ values. This is in contrast with the second estimated carrier phase difference ⁇ 2 to be discussed shortly, which is an estimated carrier phase difference value computed based on geometric considerations.
  • Equation 1 provides one method of executing element 552 of FIG. 9 of computing a plurality of first carrier phase differences ⁇ from the plurality of carrier phase ⁇ values.
  • the first carrier phase differences ⁇ are computed according to Equation 1 and element 552 of method 500.
  • First carrier phase differences A ⁇ are determined for each antenna pair and for each GNSS satellite signal. These first carrier phase differences ⁇ 3 are then used to determine whether the plurality of GNSS satellite signals includes false GNSS satellite signals, as detailed as element 554 in FIG. 9 and FIG. 10.
  • computing a plurality of first carrier phase differences includes subtracting a measured carrier phase ⁇ value of each individual one of the plurality of satellite signals as received at a first one of the plurality of antennas from a corresponding meas ured carrier phase ⁇ value of each individual one of the plurality of satellite signals as received at a second one of the plurality of antennas.
  • Element 550 of method 500 in the embodiment shown in FIG. 9 includes an element 554 of using the plurality of first carrier phase differences A ⁇ to determine whether the plurality of GNSS satellite signals includes a false GNSS satellite signal.
  • the first carrier phase differences ⁇ can be used in many ways to determine whether the plurality of GNSS satellite signals includes a false GNSS satellite signal. Described below are the details of a number of example steps, elements, methods, and computations for executing element 554 of using the plurality of first carrier phase differences ⁇ to determine whether the plurality of GNSS satellite signals includes a false GNSS satellite signal using attitude determining system 390 of FIG. 6, and FIG. 7.
  • element 554 includes computations of the attitude of a baseline vector connecting two of the antennas (element 556 and element 564 to be described shortly ), and the computation of second estimated carrier phase differences ⁇ 2 (element 558 and 566 to be described shortly). The results of these computations using the plurality of carrier phase ⁇ values and the plurality of first carrier phase differences ⁇ are used to determine whether the plurality of GNSS satellite signals include a false GNSS satellite signal.
  • Embodiments of element 554 of method 500 of detecting false GNSS satellite signals as shown in FIG, 9 and FIG. 10, and as used by system 390 rely on determining both a measured and an estimated carrier phase difference ⁇ value, and then comparing the measured and the estimated carrier phase difference ⁇ values to determine whether system 390 is receiving false GNSS satellite signals.
  • System 390 according to embodiments of the invention computes a first measured carrier phase difference ⁇ [, and a second estimated carrier phase difference ⁇ 2. Computation of the first carrier phase difference ⁇ ; comprise element 552 as described above according to Equation 1. Computation of the second carrier phase difference ⁇ 2 comprise element 558 shown in FIG. 9 and FIG. 10 and will be discussed in further detail shortly.
  • first carrier phase difference ⁇ > is in this embodiment a measured carrier phase difference, computed from measured carrier phase ⁇ values using Equation 1.
  • Second carrier phase difference ⁇ 2 is an estimated value based on the assumed geometry of the GNSS satellites and the antennas. In a normal - non-spoofed GNSS system it is expected that the estimated second carrier phase difference ⁇ 2 will match the measured first carrier phase difference ⁇ 3 ⁇ 4 ,
  • the residual error is the difference between first measured carrier phase difference ⁇ and second estimated carrier phase difference ⁇ 2, in other words the residual error is the difference between the measured and the estimated calculations of carrier phase difference ⁇ , When false GNSS satellite signals are present, the two values ⁇ -. and ⁇ ? will not agree.
  • first measured carrier phase difference ⁇ 3 ⁇ 4 values and second estimated carrier phase difference ⁇ 2 values is the basis of some embodiments of element 554 of method 500 of detecting false GNSS satellite signals according to the invention.
  • a third carrier phase difference ⁇ ⁇ - another estimated value - is computed and compared to the first and second carrier phase differences ⁇ and ⁇ 2 .
  • Computation and use of third carrier phase difference ⁇ 3 comprises elements 566 and 568 of element 554 of FIG. 10 and will be discussed shortly.
  • Element 554 of FIG. 9 includes element 556 of computing an attitude of a baseline vector between a first one of the plurality of antennas and a second one of the plurality of antennas using the plurality of first carrier phase differences ⁇ 3 ⁇ 4 .
  • the attitude of the baseline vector is used to compute the second carrier phase difference ⁇ 2 .
  • FIG. 12 through FIG.15 illustrate elements important to the computation of the attitude of a baseline vector and the computation of the second carrier phase difference ⁇ 2 .
  • FIG. 12 and FIG. 13 show components of attitude determining system 390 for detecting false GNSS satellite systems of FIG. 6, FIG. 7, and FIG. 1 1 , with some of the components not shown for simplicity.
  • FIG. 12 and FIG. 13 show first and second antennas 301 and 322 of FIG.
  • Range vector R extends from satellite 303 (SI ) to antenna 301 at point A.
  • the range vector naming convention used herein is such that the superscript designates the satellite that the vector extends from, and the subscript designates the antenna that the vector extends to. Therefore range vector R extends from satellite SI (303) to antenna 301 at point A.
  • Range vector R extends from sateilite S I (303) to antenna 322 at point B.
  • Vector R i9 extends between first antenna 301 and second antenna 322, joining points A and B.
  • baseline vector R M any vector, such as vector R 49 , thai joins two antennas will be termed a baseline vector.
  • baseline vector R M also denoted as 370 in the figures, is shown significantly large relative to the distance to sateilite 303.
  • FIG. 13 depicts the scenario that is more diagrammaiicaily and geometrically accurate, where sateliite 303 S I (not shown in FIG. 13) is significantly far away relative to the length of R AB , so that range vectors R" and R are essentially parallel.
  • the difference in the length of range vector R and the length of range vector R g is a value that is equivalent to the carrier phase difference ⁇ -, of a GNSS satellite signal that is being received by both antenna 301 A and antenna 322 B. , Thus, in the system shown in FIG. 12 and FIG. 13, the difference in the length of range vector i?
  • the length of range vector R can foe used to estimate the carrier phase difference ⁇ 3 ⁇ 4 between the carrier phase ⁇ value of GNSS satellite signal 306 from GNSS satellite 303 (SI) as received at second antenna 322 ( f/ ⁇ 1 ) and the carrier phase ⁇ of signal 306 as received at first antenna 301 ( ), and is defined as the geometric or estimated carrier phase difference ⁇ ' ⁇ , as shown in FIG. 13 denoted as 350.
  • the naming convention used herein for geometric or estimated carrier phase difference is such that the S I superscript designates the satellite that originated the GNSS satellite signal that is having its phase difference ⁇ estimated, and the AB subscript designates the antennas that are receiving the GNSS satellite signal
  • Attitude systems such as attitude determining system 390 routinely compute the attitude, or orientation of an object's axes relative to a reference system, based on the computed GNSS location of two or more receiving antennas such as antenna 310 at location A and antenna 322 at location B shown in FIG. 13, FIG. 14 illustrates baseline vector 370 R i; relative to earth base reference system 358. It is to be understood that often the attitude of objects is computed relative to a body-fixed reference system that is different than the earth-base reference system 358 shown, but the transformation from one reference system to another is a standard computation. Earth-base reference system 358 shown in FIG.
  • attitude of baseline vector 370 R M can be defined using yaw angle ⁇ 366, also known as heading, or azimuth angle, pitch angle ⁇ 368, roll angle ⁇ 369, and length L 380. With a two-dimensional object only two angles are needed, pitch angle ⁇ 368 and roll angle ⁇ 369. In many attitude determining systems length
  • the computation of the attitude of the baseline vector includes computing the attitude of the baseline vector using a predetermined length of the baseline vector, where the predetermined length is the distance between the two antennas defining the baseline vector.
  • the computation of attitude of baseline vectors is routinely performed by GNSS attitude systems such as system 390.
  • Method 500 takes advantage of this capability of attitude determining systems, and applies it to the problem of detecting false GNSS satellite signals. Details of the computation of the attitude of a baseline vector is described in more detail in United States Patent No. 7, 292, 185 to Whitehead, et al, which the contents thereof are incorporated entirely herein by reference. It is to be understood that other angles and variables can be used to specify the attitude of a vector.
  • the estimated, or geometrically defined, carrier phase difference A S 4 ] B 350 as described earlier is defined based on geometric considerations as shown in FIG.13.
  • This geometric carrier phase difference ⁇ ' ⁇ , 350 is in general the dot product of a unit vector from a GNSS satellite and the baseline vector R AJS between the two antennas at location A and B that are receiving the GNSS satellite signal, given by: where fi [ is the unit vector from satellite 303 S I (denoted 330 in FIG. 13) and R /W is the baseline vector 370 from antenna 301 at location A and antenna 322 at location B.
  • the geometric carrier phase difference ⁇ is an estimated value for the measured carrier phase difference ⁇ , as determine by equation 1. Substituting equation 2 into Equation 1 gives Equation 3 :
  • Equation 3 is used by attitude determining system 390 to execute element 556, solving for baseline vector R 4g using multiple measurements of first carrier phase differences ⁇ from multiple satellites. This is illustrated in FIG. 15.
  • Unit vector ? ' ' 330 is determined by attitude determining sy stem 390 using the known location of the originating satellite and the receiving antenna, as is known in the art of attitude determination.
  • FIG. 15 shows the locations A and B of first and second antenna 301 and 32.2. of attitude system 390 of FIG. 6 and FIG. 7 and FIG. 1 1 through FIG. 13. Antennas 301 and 322 are not shown for simplicity of FIG. 13.
  • GNSS satellites 303 Shown also are the three GNSS satellites 303 (S I), 304 (82), and 305 (S3) of FIG, 6 and FIG. 7 and FIG. 1 1 through FIG, 13, the range vectors extending from each of GNSS satellites 303, 304, and 305 and locations A of first antenna 301 and location B of second antenna 322.
  • GNSS satellites 303 , 304, and 305 are broadcasting GNSS satellite signals 306, 307, and 308 respectively as shown previously in FIG. 6.
  • R ange vectors R* 1 and R g are the range vectors from satellite 303 (S I) to locations A and B respectively.
  • Range vectors &y and _3 ⁇ 4j 2 are the range vectors from satellite 304 (S2) to locations A and B respectively.
  • Range vectors R J and R*-' are the range vectors from satellite 305 (S3) to locations A and B respectively.
  • the estimated geometric carrier phase differences for each of the GNSS satellite signals 303, 304, and 305 as recei ved by each of the first and the second antenna 301 and 302 are shown as 350, 352 and ⁇ " 7 3 ⁇ 4 354 respectively.
  • ⁇ , ⁇ , ⁇ 5 , and ⁇ i are the measured first carrier phase differences ⁇ computed using equation 1 and the measured carrier phase ⁇ values of GNSS satellite signals 306 (from satellite 303 S I), 307 (from satellite 304 S2), and 308 (from satellite 305 S3) measured at antenna 301 A and 322 B.
  • GNSS satellite signals 306 from satellite 303 S I
  • 307 from satellite 304 S2
  • 308 from satellite 305 S3
  • the attitude of a second baseline vector is computed, where the second baseline vector extends between a first one of the plurality of antennas and a third one of the plurality of antennas.
  • the second baseline vector extending between a first one of the plurality of antennas and a. third one of the piuralityof antennas is baseline vector R iC 372 between antenna A 301 and antenna 324 at location C, for example.
  • a s B 2 , ⁇ * ⁇ 2 and ⁇ 2 are the second or estimated carrier phase differences ⁇ 2 values. It is to be understood that in some embodiments there will be more sets of baseline vectors, GNSS satellite signals, and corresponding measurements of carrier phase differences ⁇ and ⁇ 2 .
  • computing a plurality of second carrier phase differences ⁇ 2 using the attitude of the baseline vector extending between a first and a second antenna includes computing the dot product of the baseline vector extending between the first and the second antenna and each one of a plurality of unit vectors, wherein each of the plurality of unit vectors corresponds to each of a corresponding one of the plurality of GNSS satellites and GNSS satellite signals.
  • the result is a set of second, or geometric, carrier phase differences ⁇ ? ,
  • the second carrier phase differences ⁇ 2 are computed based on the assumed geometry of the system, the GNSS satellite locations and the attitude of the baseline vector R /W .
  • One of skill in the art will recognize that the calculation of first and second carrier phase differences is an iterative process which can be repeated to minimize error in the calculations, which will increase the reliability of the detection of false GNSS satellite signals.
  • Step 560 of element 554 as shown in FIG. 9 includes comparing the plurality of second estimated geometric carrier phase differences ⁇ 2 to the first measured carrier phase differences ⁇ .
  • the first carrier phase differences ⁇ and the second carrier phase differences ⁇ 2 can be compared to each other.
  • the corresponding first and second carrier phase differences ⁇ and ⁇ 2 are differenced and the differences squared and averaged or summed.
  • this element involves subtracting the first carrier phase difference ⁇ for each one of the plurality of GNSS satellite signals from the second carrier phase difference ⁇ 2 for the corresponding same one of the plurality of GNSS satellite signals.
  • a residual error value is computed using the differences between the first and second carrier phase differences ⁇ and ⁇ 2 .
  • the first carrier phase differences ⁇ >. and the second carrier phase differences ⁇ 2 are compared in a way that results in a computation of a number or set of numbers that provides a measure of the size of the difference between the first and second carrier phase differences ⁇ and ⁇ 2 .
  • Step 562 of element 554 in the embodiment of element 550 shown in FIG 8 includes using the comparison of the pluralities of first carrier phase differences ⁇ -. and second carrier phase difference ⁇ 2 to determine whether the plurality of GNSS satellite signals includes a false GNSS satellite signal
  • the second estimated or geometric carrier phase differences ⁇ 2 should match the first or measured carrier phase differences ⁇
  • the computed residual error between the first carrier phase differences ⁇ and second carrier phase differences ⁇ 2 can be compared to a threshold residual error value to determine if the difference between the first and second carrier phase differences ⁇ [ and ⁇ ? are large enough to indicate that the plurality of GNSS satellite signals comprises at least one false GNSS satellite signal
  • the first and second carrier phase difference ⁇ and ⁇ 2 can be compared in any way which allows a
  • FIG. 1 6 shows the situation of FIG. 15 except first antenna 301 at location A and second antenna 322 at location B are receiving spoofing signal 142 of FIG. 1 through FIG. 3.
  • Spoofing signal 142 in this embodiment contains three false GNSS satellite signals 1 16, 1 17, and 1 18 which result in range values of Rl (216), R2 (217), and R3 (21 8) being computed by receiver 321, as shown in the figures.
  • the carrier phase ⁇ of these signals 1 16, 1 1 7, and 1 18 is measured and differenced, the first measured canier phase difference values ⁇ for each different false GNSS satellite signal will be the same value or nearly the same value within the accuracy of the computation, and will not match well with the corresponding second estimated or geometric carrier phase difference value ⁇ 2 , which assumes the satellite signals are originating from the sky where they would be originating from under normal non- spoofing circumstances.
  • the signal path length differences between first antenna 301 at location A and second antenna. 322 at location B depend on the angle that the GNSS satellite signal's path makes with respect to the baseline vector R U! as can be seen in FIG. 15. Satellites are typically at different points in the sky, and thus make different angles with respect to each baseline vector.
  • both the first measured carrier phase differences ⁇ 3 ⁇ 4 and the second geometric carrier phase differences ⁇ 2 will be approximately the same value for each GNSS satellite signal, and each GNSS satellite signal will all have different phase difference values, as seen in FIG. 15 by the differing length of (350), (352) and &% (354).
  • the second estimated or geometrically computed carrier phase differences ⁇ 2 will match the first or measured carrier phase differences ⁇ with little residual error
  • the first carrier phase differences ⁇ [ and the second carrier phase differences ⁇ 2 will not match each other.
  • the second carrier phase differences ⁇ 2 will be different values for each GNSS satellite signal, as shown in FIG, 13 as (350), ⁇ (352) and (354), because attitude determining system 390 assumes the GNSS satellite signals are originating from different satellites in the sky, and will compute different second or geometric carrier phase differences ⁇ ? for each GNSS satellite signal.
  • the first carrier phase differences ⁇ -. will be the same values for each G SS satellite signal as shown in FIG. 16, and will be equal to the common path length difference A D 4B (356) as shown in FIG. 16.
  • the false GNSS satellite signals have the same path length difference, and hence the same first measured carrier phase difference ⁇ values as measured at each of the antennas at location A and B, because the false GNSS satellite signals are originating from the same transmitter 141.
  • and A> will be large in this situation.
  • there will be no solution for the attitude of the baseline vector R iB that will result in both small residual error between the first measured and second geometric carrier phase differences ⁇ and ⁇ 2 and yield the correct, known baseline distance under spoofing conditions - when false GNSS satellite signals are being received.
  • receiver 321 of system 390 executes a computation resulting in a comparison of the first measured and second estimated carrier phase differences ⁇ and ⁇ ?, and makes a determination of whether system 390 is receiving false GNSS satellite signals based on the result of the computation.
  • a residual error is computed based on the differences between the first and second carrier phase differences ⁇ ] and ⁇ 2 .
  • System 390 determines that false GNSS satellite signals are being received by system 390 when the residual error between the first and second carrier phase differences At and ⁇ 2 is larger than a predetermined threshold residual error value.
  • a way to check this determination that the attitude system is receiving false GNSS satellite signals is to solve for the attitude of the baseline vector using a predetermined length L (380 in FIG. 14) of zero for the baseline vector.
  • the solution of this attitude computation is called a zero-length baseline solution.
  • the receiver will compute approximately the same GNSS location for each of the receiving antennas. Setting the length of the baseline vector between two antennas to zero is equivalent to the antennas being in the same location. Therefore, computing the attitude of the baseline vector between two antennas using a length of zero will result in a set of third estimated earner phase differences ⁇ 3 that better match the first earner phase differences ⁇ ; that are measured using the false GNSS satellite signals.
  • ⁇ 3 will be zero, or exhibit a term that is common to all satellite phase differences.
  • the zero baseline solution means that the ranges at both antennas are assumed to foe the same (or contain a common clock/delay term), and thus the ranges differences, ⁇ 3 , are zero or share a common value for all spoofed satellite signals.
  • Element 564 involves computing the zero-length baseline solution between the first antenna and the second antenna using the plurality of first earner phase differences and a predetermined value of zero for the length L of the baseline vector.
  • zero-length attitude vector R M zero will be solved for using Equation 4, 5 , and 6 and a value of zero for the length L 380 of attitude vector R iB .
  • this solution is used in Equation 7, 8, and 9 to compute a plurality of third estimated carrier phase differences A 3 .
  • Element 566 includes computing a plurality of third carrier phase differences ⁇ 3 using the zero-length baseline solution between the first and the second antenna. For this element the zero-length baseline solution R U! zero will be used in Equations 7, 8 and 9 above to compute a plurality of third estimated carrier phase differences ⁇ 3 .
  • Element 568 includes comparing the plurality of first carrier phase differences ⁇ to the plurality of third carrier phase differences ⁇ 3 .
  • the third carrier phase difference ⁇ 3 values will match well, with little residual error, to the first carrier phase differences ⁇ .
  • the first and third carrier phase differences ⁇ and ⁇ 3 can be compared using any number of computations.
  • element 568 includes computing a zero-length residual error between the plurality of first carrier phase differences ⁇ and the plurality of third carrier phase differences ⁇ 3 .
  • System 390 will determine whether false GNSS satellite signals are present based on the results of these computations.
  • Receiver 321 of system 390 determines that false GNSS satellite signals are being received by system 390 when the residual error between the first and second carrier phase differences ⁇ and ⁇ 2 is greater than a predetermined threshold residual error value, and the zero-length baseline residual error between the first and third carrier phase differences ⁇ and ⁇ 3 is less than the predetermined threshold residual error value.
  • the computation of the zero-length baseline solution, the resulting third carrier phase differences ⁇ 3 ⁇ 4 and the zero- length residual error is used in this embodiment to confirm the determination that false GNSS satellite signals are present.
  • the system uses at least two antennas to receive a plurality of GNSS satellite signals from a plurality of GNSS satellites. Measurements of GNSS satellite code or carrier phase ⁇ of the GNSS satellite signals are made. The GNSS satellite code or carrier phase ⁇ measurements are used in a number of computations to detect the presence of false GNSS satellite signals.
  • Various embodiments of the method of detecting GNSS satellite systems include
  • FIG. 17 through FIG. 31 show and describe embodiments of systems and methods for determining the direction of a false GNSS satellite signal transmitter.
  • a navigational device Once it is determined that a navigational device is receiving false GNSS satellite signals, it may be useful to determine which direction the false GNSS satellite signals are coming from. This direction information can be used to block the false signals, for example, or to help in finding and disabling the false GN SS satellite signal transmitter.
  • devices 690, 790 and 890 both detect the presence of the false GNSS satellite signals, and determine the direction of the false GN SS satellite signal transmitter that is transmitting the false GNSS satellite signals. It is to be understood thai these actions could be performed by two (or more) different GNSS devices in some embodiments.
  • FIG. 17 shows a perspective view of an embodiment of a GNSS device 690 for determining the direction of a false GNSS satellite signal transmitter.
  • GNSS device 690 includes a device body 691, a. first antenna 601, a second antenna 622, and a. rotation apparatus 693.
  • GNSS device 690 also includes a receiver 621 as shown in block diagram form in FIG. 18.
  • Receiver 621 is inside device body 691 in this embodiment. In some embodiments, receiver 621 is external to device body 691.
  • Device body 691 has a direction axis 694.
  • Direction axis 694 is used as the reference direction when determining the direction of the false GNSS satellite signal transmitter.
  • Direction axis 694 can be aligned with, or correlated to, a direction on a rigid body that GNSS device 690 is mounted to.
  • First antenna 601 and second antenna 622 are GNSS satellite signal receiver antennas similar to antennas 101 and 122 and 301 and 322 discussed earlier.
  • GNSS device 690 is similar to GNSS devices 190 and 390 discussed earlier, except that GNSS device 690 includes rotation apparatus 693 as shown in the figures and described herein. Rotation apparatus 693 moves, or rotates, second antenna 622 around first antenna 601. Rotation apparatus 693 rotates second antenna 622 around first antenna 601 so that GNSS device 690 can determine the direction of a false GNSS satellite signal transmitter, as will be explained shortly.
  • Rotation apparatus 693 moves second antenna 622 such that baseline vector 670 extending from first antenna 601 to second antenna 622 has a constant length, and rotates through a plurality of rotation angles ⁇ 696.
  • Rotation angle ⁇ 696 is measured with respect to direction axis 694, as shown in FIG. 17 and FIG. 19.
  • FIG. 19 shows a simplified top view of first antenna 601 and second antenna 622 (drawn in simplified form), baseline vector 670 extending from first antenna 601 to second antenna 622, and direction axis 694.
  • Second antenna 622 follows rotation path 695 around first antenna 601 as shown in FIG. 17 and FIG. 19.
  • First antenna 601 is fixed at location A in this embodiment.
  • Rotation angle 0 696 is the angle between baseline vector 670 and direction axis 694.
  • Rotation angle ⁇ 696 varies from 0 to 360 degrees as antenna 622 rotates in a 360 degree circle about first antenna 601 on rotation path 695.
  • rotation device 693 is designed such that second antenna 622 rotates in a sphere or other rotation surface around first antenna 601.
  • Embodiments of rotation device 693 can be designed to rotate second antenna 622 in any desired rotation surface around first antenna 601 , according to the rotation angle set within which it is desired to look for a direction of a false GNSS satellite transmitter.
  • GNSS device 690 also includes a processor 618, which in this embodiment is a part of receiver 621 (See FIG. 18).
  • Processor 618 computes range differences AR for different rotation angles ⁇ 696 of baseline v ector 670, and uses the computed range differences ⁇ to determine the direction of the false GNSS satellite signal transmitter, as explained below.
  • FIG.18 shows an example embodiment of receiver 621 of GNSS device 690 of FIG. 17 that can be used for determining the direction of a false GNSS satellite signal transmitter.
  • GNSS device 690 of FIG. 18 uses single receiver unit 621 of FIG. 18, containing multiple synchronized tracking devices 602 and 603.
  • receiver unit 621 uses more than two tracking units, such as tracking unit 604 or additional tracking units coupled to additional antennas such as antenna 624. These optional devices are shown in dotted lines in FIG. 18 to show that embodiments of receiver 621 can be coupled to, and track, more than first antenna 601 and second antenna 622.
  • Each tracking device 602 and 603 is associated with exactly one antenna 601 and 622 respectively.
  • Each tracking device 602 and 603 is capable of tracking a. plurality of GNSS satellites.
  • Tracking devices 602 and 603 serve the function of down converting the received Radio Frequency (RF) GNSS satellite signals arriving from a plurality of GNSS satellites, sampling the composite signal, and performing high-speed digital processing on the composite signal (such as correlations with a PRN reference signal) that allow the code and carrier phase ⁇ of each satellite to be tracked, and range calculation to be made between each antenna 601 and 622 and each of the GNSS satellites being tracked.
  • RF Radio Frequency
  • Examples and further description of synchronized tracking devices such as tracking devices 602 and 603 are described in commonly assigned U.S. Patent 7,292,186 entitled Method and System for Synchronizing Multiple Tracking Devices For A Geo-location System, filed January 5, 2005, the contents of which are incorporated by reference herein in their entirety.
  • Each tracking device 602 and 603 is connected to a single shared processor 618 in this embodiment.
  • Processor 618 sends control commands 682 and 683 (and optionally 684 and/or additional control signals) to the plurality of tracking de v ices 602 and 603, respectively.
  • Control commands 682 and 683 enable tracking devices 602 and 603 to track a plurality of GNSS satellites.
  • Processor 618 receives back from each tracking device 602 and 603 code and carrier phase ⁇ measurements of the plurality of GNSS satellite signals received from the plurality of GNSS satellites being tracked.
  • Synchronization signal 685 is sent from master tracking device 602 to slave tracking device 603.
  • Sync signal 685 allows master tracking device 602 and slave tracking devices 603 (and other slave tracking devices such as slave 604 in some embodiments) to measure the code and carrier phase ⁇ of each of a plurality of GNSS satellite signals simultaneously.
  • the RF down conversion within each tracking device 602 and 603 and the sampling of data by each tracking device 602 and 603 is done using common clock signal 620.
  • a single- difference phase observation is formed by subtracting the carrier (or code) phase ⁇ measured by one tracking device with that measured by another tracking device for the same GNSS satellite, the portion of the phase due to receiver 621 's clock error is essentially eliminated in the difference.
  • the single-difference clock error is a small, nearly constant bias that is due to different effective RF path lengths (possibly resulting from different cable lengths, slightly different filter group-delays, and the like). Consequently, the clock error may be estimated infrequently compared to other more important quantities such as heading, pitch, or roll.
  • FIG. 20 and FIG. 21 shows device 690 for determining the direction of a false GNSS satellite signal transmitter of FIG. 17 through FIG. 19 mounted to vessel 100 of FIG. 1 and FIG. 3.
  • FIG. 1 and FIG. 3 show an embodiment of system 190 for detecting false GNSS satellite signals mounted to vessel 100.
  • vessel 100 of FIG, 1 includes device 690 for determining a direction 698 of false GNSS satellite signal transmitter 141.
  • GNSS device 690 has replaced GNSS system 190 on vessel 100.
  • GNSS device 690 has the features and capabilities of system 190 as shown and described in FIG. 1 through FIG. 10 and the associated text, with similar numbers used to denote similar features.
  • Device 690 in this embodiment detects the presence of false GNSS satellite signals, the same or similar to system 190 and'or system 390 described earlier. GNSS device 690 also determines the direction 698 of the false GNSS satellite signal transmitter, such as false GNSS satellite signal transmitter 141 shown in the figures. [001 18] In the embodiment of device 690 shown in FIG. 17 through FIG. 23, device 690 has two GNSS antennas, first antenna 601 and second antenna 622. Both first antenna 601 and second antenna 622 are receiving a plurality of GNSS satellite signals, which in this embodiment includes GNSS satellite signals 106, 107, and 108.
  • Device 690 for detecting false G SS satellite signals and determining the direction of a false GNSS satellite signal transmitter also includes receiver 62 connected to both first antenna 601 and second antenna 622 (see FIG. 18 for a block diagram of receiver 621).
  • each tracking device 602 and 603 is tracking each satellite SI 103, S2 104 and S3 105.
  • Receiver 621 receives GNSS satellite signals 106, 107, and 108 from first antenna 601 and second antenna 622, measures GNSS satellite signal phase ⁇ values (either code or earner phase) of the GNSS satellite signals, and performs the range, location and attitude computations as required.
  • GNSS device 690 is being spoofed with spoofing system 140, as described earlier with GNSS system 190 and GNSS system 390.
  • False GNSS satellite signal 142 (spoofing signal 142) is being received by first antenna 601 of GN SS device 690 for detecting false GNSS satellite systems and determining the direction of false GNSS transmitter 141.
  • GNSS device 690 is fixed to vessel 100 of FIG. 1.
  • Antenna 601 is fixed to vessel 100 at location A as shown in the figures, because GNSS device 690 is fixed to vessel 100.
  • Antenna. 622 rotates around antenna. 601 in rotation path 695 as shown in FIG. 17 and FIG. 19.
  • Antennas 601 and 622 receive both the intended GNSS satellite signals 106, 107, and 108, and false GNSS satellite signal 142.
  • Spoofing system 140 sends false GNSS satellite signal 142 along cable 139 and broadcasts false GNSS satellite signal 142 over false GNSS satellite signal transmitter 141 at location E.
  • Spoofing system 140 may generate false GNSS satellite signal 142 by rebroadcasting GNSS satellite signals 1 16, 1 17, and 1 18 from GNSS satellites 113, 114, and 1 15 as received by antenna 11 1 at GNSS location D, as shown in FIG. 20 and FIG. 21 , and as described earlier for system 190 shown in FIG 1 through FIG. 3.
  • GNSS satellite signals 1 16, 1 17, and 1 18 contain timing information that enable the computation of ranges Ri, R 2 , and R 3 representing the distance between satellites 1 13, 1 14 and 115, respectively, and antenna 1 1 1.
  • Ranges Rj, R 2 , and R 3 are denoted 216, 217 and 218 in FIG. 21.
  • Range computations of R ⁇ , I3 ⁇ 4 and R 3 are made by receiver 621 of device 690 from meas urements of GNSS satellite signal phase ⁇ of GNSS satellite signals 116, 1 17 and 1 18 as received by antenna 1 1 1 of FIG. 20. Note that range measurements Ri, R 2 and R3 will be mistakenly computed by any GNSS receiver that is receiving and processing false GNSS satellite signal 142.
  • the intended, real GNSS satellite signals 106, 107, and 108 are broadcast by satellites SI 103, 82 104 and S3 105 as shown in FIG. 20 and FIG. 21, the same as shown in FIG. 1 and FIG. 3.
  • GNSS satellite signals 106, 107, and 108 travel from satellites SI 103, S2 104 and S3 105, respectively, to antenna 601 that, is located at A.
  • GNSS receiver 621 connected to antenna 601 would measure GNSS satellite signal code or carrier phase ⁇ values for GNSS satellite signals 106, 107 and 108 as received by antenna 101, and compute ranges 606, R * 607 and R b 608 representing the distance between satellites 103, 104, and 105 and antenna 601.
  • GNSS satellite signals 106, 107, and 108 from GNSS satellites SI 103, S2 104, and S3 105 travel to antenna 622 located at B in FIG. 21.
  • Location B is one available location of second antenna 622 along rotation path 695.
  • GNSS receiver 621 connected to antenna 622 would measure GNSS satellite signal code or earner phase ⁇ values for GNSS satellite signals 106, 107 and 108 as received by antenna
  • GNSS receiver 621 uses the range 606,
  • R , 607 and R S 608 computations to compute GNSS location A for the location of antenna 601, where GNSS location A approximately coincides with the location of antenna 601 to the accuracy of the receiver.
  • GNSS receiver 621 connected to antenna 622 uses the Rg ' 609, Rg 610 and J 611 range values and computes a GN SS location B that approximately coincides with the location B of antenna
  • GNSS locations A and B computed by receiver 621 connected to antennas 601 and 622 are different GNSS locations under normal operation, because locations A and B are not physically co-located. These ranges can be based on measurements of code phase or carrier phase, with carrier phase measurements providing more accurate results. Range differences AR are then computed by differencing the ranges measured at antenna 622 from those measured at antenna 601.
  • signal 142 overpowers real GNSS satellite signals 106, 107, and 108.
  • Signal 142 is received by both antenna 601 and antenna 622.
  • GNSS receiver 621 connected to first antenna 601 and second antenna 622 measures GNSS satellite signal carrier phase ⁇ values and computes ranges of Rj 216, R 2 217 and R 3 218 as if received by antenna
  • G SS receiver 621 measures identical ranges of Rj 216, R 2 217 and R 3 218 for what receiver 621 believes to be the path length to satellites 103 S I , 104 82 and 105 S3 from both antenna 601 and antenna 622.
  • Navigation and timing calculation performed by device 690 are now based on false ranges R ⁇ 216, R? 217 and R 3 218, which purposely are designed to cause GNSS receive 621 to produce an incorrect location and/or time.
  • Baseline vector R M 670 extends from antenna 601 to antenna 622.
  • GNSS 690 determines the length and attitude of baseline vector R iB 670 and uses this information to determine the presence of false GNSS satellite signal 142 as described earlier using GNSS system 190 and/or GNSS system 390.
  • GNSS device 690 for determining the direction of false GNSS satellite signal transmitter 141 uses rotation mechanism 693 to rotate baseline vector R AB 670 with respect to direction axis 694 and determine which rotation angle ⁇ 696 corresponds to the direction 698 of false GNSS satellite signal transmitter 141 , as explained below and shown in FIG. 22 through 26.
  • FIG 22 and FIG. 23 show antenna 601 and antenna 622 of GNSS device 690 being spoofed as shown in FIG. 20 and FIG. 21 , In FIG. 22 and FIG. 2.3, some elements of device 690 are not shown for simplicity.
  • FIG. 22 shows a perspective view of antenna 601 and 622 receiving false GNSS satellite signal 142 from false GNSS transmitter 141 at a location E.
  • FIG. 23 shows a top view of antenna 601 and 622 of FIG.
  • Direction 698 is referenced to direction axis 694.
  • Direction 698 is often a direction angle given by the angle between direction axis 694 and direction 698 of false GNSS satellite signal transmitter 141. But this is not meant to be limiting. In some embodiments both direction axis 694 and direction 698 are heading coordinates or other means of measuring direction.
  • Antenna 601 and antenna 622 are under the influence of false GNSS satellite signal 142, which is broadcast by false GNSS satellite signal transmitter 141 , as shown in FIG. 20 and 21.
  • Real GNSS satellites 103, 104 and 105, and their associated GNSS satellite signals are not shown because false GNSS satellite signal 142 is overpowering the real signals, thus GNSS device 690 is responding to false GNSS satellite signal 142.
  • False GNSS satellite signal transmitter 141 located at location E is located sufficiently far from antenna
  • Receiver 621 measures a range ⁇ a false range ⁇ ⁇ for each false GNSS satellite signal 1 16, 117 and 118 (FIG. 21).
  • the false ranges measured include ranges R[ 216, R2 217 and R3 218, but also include additional distances for travel time through cables and components.
  • Receiver 621 measures each range by measuring a time difference between clock 620 of receiver 621 at the time a particular antenna receives a GNSS satellite signal, and the satellite clock at the time of transmission of the received GNSS satellite signal, which in this case is false GNSS satellite signals 1 16, 117, and 118 of spoofing system 140.
  • the time difference between clock 620 of receiver 621 and the satellite clock at the time of transmission of the received satellite signal has a number of constituents. Travel-time from false GNSS satellite signal transmitter 141 to receiving antennas 601 and 622 is only one component. There is also the travel-time along the RF cables 614 and 615, and delays that arise due to RF component delays within receiver 621. The time difference is converted to distance (range) by multiplying the time difference by the speed of light.
  • the spoofing system 140 of FIG. 21 includes three false ranges: Ri 216, R 2 217 and R3 218.
  • R IA , 2A, a d R 3A are the total ranges measured by receiver 621 for signals received at antenna 601 at location A;
  • R T , R 2 , and R 3 are the ranges represented by false GNSS satellite signal 142, which are the ranges from antenna 1 11 to GNSS satellites 1 13, 1 14, and 1 15, as shown in FIG. 20 and FIG. 21;
  • C is the speed of light;
  • TT A is the total signal travel time of false GNSS satellite signal 142 through antenna 601 along cable 614 and into and through receiver 621.
  • R 2 B R 2 + C * TT B ;
  • R.3B K « + C * TT B ;
  • the travel-time differential bias B A B is the difference between the time it takes a GNSS satellite signal takes to travel from the GNSS satellite to receiver 621 through first GNSS antenna 601 , and the time it takes the G SS satellite signal to travel from the GNSS satellite to receiver 621 through second GNSS antenna 622.
  • Multiplying by the speed of light, C converts the travel-time differential bias to units of distance rather than units of time.
  • Travel time differential bias B AB can be divided up into its constituent components, given by:
  • path difference distance d labeled as element 688 in FIG. 22 and FIG. 23, is the difference in distance travelled by false GNSS satellite signal 142 travelling from transmitter 141 to antenna 601 and the distance travelled by false GNSS satellite signal 142 travelling from transmitter 141 to antenna 622, as shown in FIG. 23.
  • Other_de3ays is RF cable, component delays, and possibly clock differences if multiple clocks are employed.
  • Path difference distance d 688 is equal to the travel time from spoofing transmitter 141 to antenna. 622, minus the travel time from spoofing transmitter 141 to antenna 601, multiplied by the speed of light. The travel-time from spoofing transmitter 141 to receiving antennas 601 and
  • 602 will vary as a function of how the antenna's baseline vector R AB 670, is oriented with respect to false GNSS satellite signal 142.
  • other delays including RF cable delays along 614 and 615 and RF component delays, will be nearly constant, and if changing, will be slowly changing.
  • other__delays is a constant for a particular system, whereas path difference distance d 688 will vary as a function of how the antenna's baseline vector R AB 670, is oriented with respect to false GNSS satellite signal 142.
  • path difference distance d 688 can be used to determine direction 698 of false GNSS satellite signal transmitter 141 as described below.
  • a perpendicular line 687 is shown in FIG. 22 and FIG. 23 originating at location A of antenna 101, extending between and perpendicular to spoofing signal path 221 and 222.
  • the path difference distance d 688 is the distance between the union of perpendicular line 687 and signal path 222, and antenna 622, as shown in FIG. 22 and FIG. 23.
  • the path difference distance d 688 is the difference in false GNSS satellite signal travel-time between antennas 601 and 622.
  • Rotation path 695 is a circle centered about location A (the location of antenna 601), as shown in FIG. 22 and FIG. 23, and with a radius equal to the length of baseline vector R AB 670. Rotation path 695 represents all possible locations of antenna 622 with respect to antenna 601 when moving in one plane and keeping the length of baseline v ector
  • FIG. 22 shows a perspective view, so rotation path 695 appears as an ellipse in FIG. 22, but is shown as a circle in FIG. 23, which is a top view of location A and rotation path 695. It is to be understood that rotation path 695 does not have to be circular and can form a three-dimensional rotation path such as a sphere, for example.
  • Path difference distance d 688 varies depending on the orientation of the baseline vector R AS 670 with respect to the arriving false GNSS satellite signal travel paths 221 and 222. When the baseline vector R AB 670 is orthogonal to the false GNSS satellite signal propagating paths 221 and 222, path difference distance d 688 will be zero.
  • FIG. 24 depicts the same scenario as FIG 23 but shows some of the various locations of second antenna 622 along rotation path 695.
  • Second antenna 622 rotates around first antenna 601 location A.
  • Location A is at the center of rotation path 695.
  • the radius of rotation path 695 is the length of baseline vector R AB 670, which remains constant.
  • Angle ⁇ is the same scenario as FIG 23 but shows some of the various locations of second antenna 622 along rotation path 695.
  • Second antenna 622 rotates around first antenna 601 location A.
  • Location A is at the center of rotation path 695.
  • the radius of rotation path 695 is the length of baseline vector R AB 670, which remains constant.
  • Angle ⁇ is the length of baseline vector R AB 670, which remains constant.
  • angle ⁇ 696 is the angle between baseline vector R AB 670 and direction axis 694, as shown in FIG. 17, FIG. 19, FIG. 23 and FIG. 24.
  • angle ⁇ 696 varies accordingly.
  • angle ⁇ 696 is ⁇ . as shown in FIG. 25.
  • angle ⁇ 696 is ⁇ .
  • angle ⁇ 696 is ⁇ .
  • angle ⁇ 696 is ⁇ .
  • angle ⁇ 696 is 9G.
  • Direction axis 694 can be referenced to a .known direction on the rigid body that device 690 is mounted to, in this embodiment vessel 100.
  • R AB 670 is aligned with the spoofing signal path 221 and pointed towards the false GNSS satellite signal source, false GNSS satellite signal transmitter 141.
  • path difference distance d 688 will take on its most negative value, denoted -d max 626, and rotation angle ⁇ 696 is Op.
  • R AB 670 is aligned with the spoofing signal path 221 and pointed away from the spoofing signal source, false GNSS satellite signal transmitter 141.
  • path difference distance d 688 will take on its most positive value, denoted d max 628, and rotation angle ⁇ 696 is ⁇
  • baseline vector R AB 670 has a constant, magnitude equal to d max .
  • R AB 670 is perpendicular to signal paths 221 and 222, and path difference distance d 688 has a value of zero.
  • Rotation angle ⁇ 696 is Op. When GNSS antenna 622 is at location E along rotation path 695, path difference distance d 688 has a negative value, but not its most negative value. Rotation angle ⁇ 696 is ⁇ When GNSS antenna 622 is at location B along rotation path 695, distance d 688 has a positive value, but not its most positive value.
  • Rotation angle ⁇ 696 is ⁇ .
  • FIG. 25 shows plot 630, of path difference distance d 688 on the vertical axis, versus rotation angle ⁇ 696 on the horizontal axis.
  • Plot 630 shows how path difference distance d 688 varies sinusoidaily as antenna 622 rotates on rotation path 695 around antenna 601 at location A.
  • Plot 630 has a sinusoidal shape and ranges from -dmax 626 to +dmax 628.
  • FIG. 25 shows the same rotation angles ⁇ 696 as shown in FIG. 24.
  • Rotation angle OF for example, corresponds to a path difference distance d 688 of - ⁇ and is the path difference distance d 688 when antenna 622 is positioned at location F along rotation path 695, as shown in FIG. 24.
  • Rotation angle £ ⁇ 2 corresponds to a path difference distance d 688 between zero and - duAK , and is the path difference distance d 688 when antenna 622 is positioned at location E along rotation path 695, as shown in FIG. 24.
  • Rotation angle ⁇ corresponds to a path difference distance d 688 of zero, and is the path difference distance d 688 when antenna 622 is positioned at location P along rotation path 695, as shown in FIG. 24.
  • Rotation angle ⁇ corresponds to a path difference distance d 688 between zero and dw x , and is the path difference distance d 688 when antenna 622 is positioned at location B along rotation path 695, as shown in FIG. 24.
  • Rotation angle ⁇ corresponds to a path difference distance d 688 of -rdviAX, and is the path difference distance d 688 when antenna 622 is positioned at location G along rotation path 695, as shown in FIG. 24.
  • path difference distance d 688 can be used to indicate the rotation angle that corresponds to the direction of false GNSS satellite signal transmitter 141.
  • Path different distance d 688 is a maximum when baseline vector R AB 670 is pointed away from false GNSS satellite signal transmitierl41.
  • the value of path difference distance d 688 is a minimum when baseline vector R AB 670 is pointed towards false GNSS satellite signal transmitter 141.
  • Path difference distance d 688 is zero when baseline vector R AB 670 is perpendicular to direction 698 of false GNSS satellite signal transmitter 141.
  • baseline vector rotation angle 0 696 corresponds to a maximum path difference distance d 688
  • this specific baseline vector rotation angle ⁇ 696 is called the maximum baseline vector rotation angle ⁇
  • direction 698 of false G SS satellite signal transmitter is equal to the maximum baseline vector rotation angle ⁇ plus 180 degrees.
  • baseline vector rotation angle ⁇ is the maximum baseline vector rotation angle ⁇
  • direction 698 of false GNSS satellite signal transmitter 141 is baseline vector rotation angle ⁇ (OG) + 80 degrees.
  • baseline vector rotation angle ⁇ 696 corresponds to a minimum path difference distance d 688
  • this specific baseline vector rotation angle ⁇ 696 is called the minimum baseline vector rotation angle ⁇ ⁇
  • direction 698 of false GNSS satellite signal transmitter 141 is equal to the minimum baseline vector rotation angle ⁇
  • baseline vector rotation angle OF is the minimum baseline vector rotation angle ⁇
  • an direction 698 of false GNSS satellite signal transmitter 141 is equal to baseline vector rotation angle OF ;
  • baseline vector rotation angle ⁇ 696 corresponds to the mean path difference distance d 688, which in this embodiment is zero
  • this specific baseline vector rotation angle ⁇ 696 is called the mean baseline vector rotation angle ⁇
  • direction 698 of false GN SS satellite signal transmitter 141 is equal to the mean baseline vector rotation angle ⁇ lus or minus (+ ⁇ /-) 90 degrees.
  • baseline vector rotation angle Op is the mean baseline vector rotation angle OMEAN
  • direction 698 of false GN SS satellite signal transmitter 141 is equal to baseline vector rotation angle ⁇ ( ⁇ ) +/- 90 degrees.
  • each of range difference AR and travel-time differential bias BAB will take on a minimum value when path difference distance d 688 is at its minimum value, and the values of each of range difference AR and travel-time differential bias BAB will take on their mean value when path difference distance d 688 is at its mean value.
  • measurements of range difference AR which are equal to travel-time differential bias B B when false GNSS satellite signals are being received, are used to identify the maximum, minimum, and mean baseline vector rotation angles and determine the direction of false GNSS satellite signal transmitter 141.
  • Travel-time differential bias BAB then become the difference between the time at which the GN SS satellite signal reached second GNSS antenna 622 and the time at which the GNSS satellite signal reached the first antenna.
  • This time difference equal to travel-time differential bias BAB, can be computed by cross- correlation between the GNSS satellite signal received at first GNSS antenna 601 and the GNSS satellite signal received at second GNSS antenna 622. This is done by inserting a time offset into one of the two received GN SS satellite signals, then computing a correlation between the two signals with the time offset inserted in one of them.
  • Travel- time differential bias BAB can be set to be the inserted time offset which results in the maximum correlation between the two received GNSS satellite signals.
  • Travel- time differential bias BAB is given on the vertical axis, and rotation angle ⁇ 696 on the horizontal axis.
  • Plot 632 has a constant offset 634 as compared to plot 632, where the offset 634 is equal to the value of other delays.
  • offset 634 can take on a positive or a negative value, depending on RF cables, RF components and clock delays, but this is of little consequence.
  • Maximum and minimum values of travel-time differential bias B A B occur at values of rotation angle ⁇ 696 in which baseline vector R 4B 670 is aligned to direction 698 of the spoofing signal source, false GNSS satellite signal transmitter 141.
  • Travel-time differential bias BAB takes on a value equal to offset 634 when baseline vector R AB 670 is perpendicular to direction 698 of false GNSS satellite signal transmitter 141. These characteristics allow determination of direction 698 of false GNSS satellite signal transmitter 141.
  • the value of travel-time differential bias BAB is readily obtained from any of the range difference AR. equations such as equation 16, 17, and 18. All range difference AR equations should produce the same value (to within measurement noise imcertainty) of travel- time differential bias BAB when spoofing is occurring, meaning, in the example shown in the figures, when device 690 including first GNSS antenna 601 and second GNSS antenna 622 are receiving false GNSS satellite signals. If carrier phase measurements are used to compute ranges, which are preferred due to their accuracy as compared to code phase measurements, integer ambiguities may be determined and accounted for in the range difference AR equations. Determining the integer ambiguities is only necessary to get agreement in values of travel-time differential bias B A B for each range difference equation.
  • is the carrier phase wavelength and the integer ambiguity differences are denoted by ⁇ , ⁇ ?, and ⁇ 3 .
  • Integer ambiguities ⁇ -. , ⁇ 2 , and ⁇ 3 can be determined by well-known integer ambiguity search techniques. These integer unknowns arise because the exact number of integer wavelengths ⁇ in the carrier phase derived range cannot be readily measured.
  • integer ambiguities ⁇ , ⁇ 2 , and ⁇ ⁇ need not be solved when locating the direction of a false GNSS satellite signal transmitter such as direction 698 of false GNSS satellite signal transmitter 141 ,
  • the ambiguity will act, mathematically, as a delay and can be taken as part of the term other delays. This will simply cause a different offset 634 to the sinusoidal plot 632 as shown in FIG 26.
  • processor 618 in receiver 621 includes software 625 (see FIG. 18) loaded onto a memory that computes the range differences AR.
  • Software 625 determines travel-time differential bias BAB by computing range differences AR as described earlier and as given by Equation 16 through Equation 18 or Equation 21 through Equation 23.
  • software 625 computes travel-time differential bias B AB by cross-correlating the GNSS satellite signal received at second antenna 622 with the same signal received at first antenna 601 , finding the time offset that gives the maximum correlation.
  • Receiver 621 can output values of travel-time differential bias B B, for example, or internally set an indicator when maximum or minimum values of travel-time differential bias BAB are reached.
  • software 625 computes path difference distance d 688,
  • software 625 computes direction 698 of false GNSS satellite signal transmitter 141.
  • device 690 outputs direction 698 of false GNSS satellite signal transmitter 141.
  • rotation apparatus 693 of device 690 is rotated manually, with an operator noting the rotation angle ⁇ 696 when the maximum, minimum, or mean travel-time differential bias B AB occurs. In some embodiments rotation apparatus 693 of device 690 is rotated by machine.
  • device 690 includes an angular resolver to measure rotation angle ⁇ 696, and software 625 reads rotation angle ⁇ 696 and correlates rotation angle ⁇ 696 with computed v alues of travel-time differential bias B AB - Software 625 in this embodiment automatically reports direction 698 of false GNSS satellite signal transmitter 141 .
  • R AB 670 or, in other words, there are many different methods of rotating second antenna 622 with respect to first antenna 601 according to the invention. Several examples are described in this document, but these are not meant to be limiting.
  • FIG, 27 and FIG. 28 show an embodiment of a GNSS device 790 for determining the direction of a false GN SS satellite signal transmitter.
  • GNSS device 790 is similar to G SS device 690 and similar numbers are meant to represent similar elements.
  • a rotation device 793 in this embodiment is a bar that rotates about a center point 727 with a first GNSS antenna 701 and a second GNSS antenna 722 at either end.
  • both first GNSS antenna 701 and second GNSS antenna 722 rotate about center point 727. This is different from GNSS device 690 because with GNSS device 690, second GNSS device 622 rotated about first GNSS antenna 601.
  • first antenna 701 and second antenna 722 are coupled to opposing ends of a rotating bar rotation device 793.
  • Rotation device 793 rotates about center point 727 of rotation device 793, such that both first antenna 701, second antenna 722, and a baseline vector 770 that extends between first antenna 701 and second antenna 722 rotate about center point 727, Rotation device 793 and baseline vector 770 have a constant length.
  • baseline vector 770 that extends between first antenna 701 and second antenna 722 rotates through a 360 degree range of baseline vector rotation angles ⁇ 796, as shown in FIG. 27.
  • First antenna 701 and second antenna 722 travel along rotation path 795 in a circle with a constant radius around center point 727.
  • Rotation device 793 is coupled to device body 791.
  • Device body 791 include direction axis 794, which is correlated to a direction on the vehicle or rigid body that GNSS device 790 is mounted to.
  • GNSS device 790 which includes device body 791 with direction axis 794, first antenna 701 , second antenna 722, and rotation apparatus 793 as shown in FIG. 27 and FIG. 28, is used to determine a direction of a false GNSS satellite signal transmitter such as false GNSS satellite signal transmitter 141.
  • GNSS device 790 determines the direction of the false GNSS satellite signal transmitter by rotating baseline vector 770 through a range of baseline vector rotation angles ⁇ 796, and computing a range difference AR for a plurality of baseline vector rotation angles ⁇ 796.
  • the plurality of range differences AR can be used to determine the direction of a false GNSS satellite signal transmitter as explained above for GNSS device 690.
  • first and second GN SS antennas and their
  • corresponding baseline vectors can be made to rotate through a plurality of rotation angles in many different geometric shapes and configurations.
  • second antenna 622 or 722 rotates in a three-dimensional spherical shape about first antenna 601 or 701 , or about a center point or other point. Any method which results in a plurality of range difference AR measurements, where each one of the plurality of range difference AR measurement corresponds to one of a plurality of rotation angles of a baseline vector, can be used to determine the direction of a false GNSS satellite signal transmitter according to the invention.
  • FIG. 29 shows method 800 of determining the direction of a false GNSS satellite signal transmitter.
  • Method 800 of determining a direction of a false Global Navigation Satellite System (GNSS) satellite signal transmitter comprises a step 810 of rotating a baseline vector through a plurality of rotation angles, wherein the plurality of rotation angles are measured with respect to a fixed reference body.
  • Method 800 also includes a step 820 of calculating a plurality of range differences, wherein each one of the plurality of range differences corresponds to one of the plurality of rotation angles.
  • Method 800 also includes a step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences.
  • the baseline vector extends from a first GNSS antenna to a second GNSS antenna.
  • method 800 includes detecting thai a false GNSS satellite signal is being received.
  • method 800 includes indicating the direction of the false GNSS satellite signal transmitter.
  • Method 800 cars include many other steps.
  • Step 810 of rotating a baseline vector through a plurality of rotation angles can comprise many other steps.
  • rotating the baseline vector through the plurality of rotation angles comprises rotationally moving the second GNSS antenna around the first GNSS antenna.
  • the first GNSS antenna is in a location that is fixed with respect to the fixed reference body.
  • the second GNSS antenna is in a location that is fixed with respect to the fixed reference body.
  • step 810 of rotating the baseline vector through the plurality of rotation angles comprises rotationally moving the first and the second GNSS antenna around a center point, wherein the baseline vector extends through the center point.
  • the center point is fixed in location with respect to the fixed reference body.
  • Step 820 of calculating a plurality of range differences can include many other steps.
  • step 820 of calculating the plurality of range differences includes calculating a first range from a first GNSS satellite signal received by a first GNSS antenna.
  • step 820 of calculating the plurality of range differences includes calculating a second range from the first GNSS satellite signal received by a second GNSS antemia, wherein a baseline vector extends from the first GNSS antenna to the second GNSS antenna.
  • step 820 of calculating the plurality of range differences includes calculating a first range difference by subtracting the first range from the second range.
  • Step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences can include many other steps.
  • step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a maximum baseline vector rotation angle, wherein the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of range difference.
  • step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the maximum baseline vector ro ation angle plus 180 degrees.
  • step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a minimum baseline vector rotation angle, wherein the minimum baseline vector rotation angle comprises a. baseline vector rotation angle that corresponds to a minimum value of range difference.
  • step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the minimum baseline vector rotation angle.
  • step 8.30 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a. mean baseline vector rotation angle, wherein the mean baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a mean value of range difference.
  • step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the mean baseline vector rotation angle plus 90 degrees.
  • step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes computing the travel time differential bias for each one of the plurality of range differences.
  • the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of travel time differential bias.
  • the minimum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a minimum value of travel time differential bias.
  • the mean baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a. mean value of travel time differential bias,
  • the processor determines which one of the plurality of baseline vector rotation angles corresponds to a maximum, minimum, or mean travel-time differential bias. In some embodiments the processor outputs a false GNSS satellite signal transmitter direction. In some embodiments the processor determines the direction of the false GNSS satellite signal transmitter based on the plurality of range differences. In some embodiments the processor determines the direction of the false GNSS satellite signal transmitter based on computing a plurality of path difference differences. In some embodiments the processor determines the direction of the false GNSS sateliite signal transmitter based on computing a plurality of travel-time differential biases..
  • FIG. 30 shows a simplified pictorial illustration of an embodiment of a GNSS device 890 for determining the direction of a false GNSS satellite signal transmitter.
  • GNSS device 890 is similar to GNSS device 690 and 790, and similar numbers are meant to represent similar elements. The difference is that there are no moving antennas with GNSS device 890.
  • GNSS device 890 includes a device body 891 with a direction axis 894.
  • Direction axis 894 is correlated to a direction on the vehicle or body that device 890 is mounted to.
  • a false GNSS satellite signal transmitter such as false GNSS satellite signal transmitter 141 is located a direction 898 from GNSS device 890.
  • GNSS device 890 has a plurality of antenna pairs fixedly coupled to device body 891 instead of a first fixed antenna and a second moving antenna, as in device 690, or two moving antennas, as in device 790.
  • the plurality of antenna pairs include a GNSS antenna 801 and a GNSS antenna 822, which have a baseline vector 870 extending between them.
  • GNSS antenna 801 is fixed at location H
  • GNSS antenna 822 is fixed at location L.
  • the plurality of antenna pairs also includes a GNSS antenna 823 and a GNSS antenna 824, which have a. baseline vector 872 extending between them.
  • GN SS antenna. 823 is fixed at location I
  • GNSS antenna 824 is fixed at location M.
  • the plurality of antenna pairs also includes a GNSS antenna 825 and a GNSS antenna 826, which have a baseline vector 874 extending between them.
  • GNSS antenna 825 is fixed at location J
  • GNSS antenna 826 is fixed at location N.
  • the plurality of antenna pairs also includes a GNSS antenna 827 and a GNSS antenna 828, which have a baseline vector 876 extending between them.
  • GNSS antenna 827 is fixed at location K
  • GNSS antenna 828 is fixed at location O.
  • Each of the plurali ty of baseline vectors 870, 872, 874, and 876 form a different baseline vector rotation angle ⁇ with respect to direction axis 894.
  • Baseline vector 870 forms baseline vector rotation angle 862 with respect to direction axis 894.
  • Baseline vector 872 forms baseline vector rotation angle 864 with respect to direction axis 894.
  • Baseline vector 874 forms baseline vector rotation angle 866 with respect to direction axis 894.
  • Baseline vector 876 forms baseline vector rotation angle 868 with respect to direction axis 894,
  • GNSS device 890 computes a range difference AR for each of the antenna, pairs and its corresponding baseline vector rotation angle ⁇ , creating a plurality of range differences AR, where each range difference corresponds to one of a plurality of baseline vector rotation angles ⁇ , as described above for GNSS device 690 and 790.
  • the plurality of range differences All is used to determine the direction of the false GN SS satellite signal transmitter as described above for GNSS device 690 and 790.
  • baseline vector 870 corresponding to baseline vector rotation angle 862 would be determined to have the maximum range difference AR, and or the maximum travel-time differential boas BAB, and/or the maximum path difference distance d.
  • baseline vector rotation angle 862 would be determined to be the maximum baseline vector rotation angle.
  • Direction 898 would therefore be determined to be the maximum baseline vector rotation angle 862 plus 180 degrees.
  • direction 898 would be determined to be pointing in a direction opposite from baseline vector 870 in this example.
  • FIG. 31 shows a method 850 of determining the direction of a false GNSS satellite signal transmitter.
  • Method 850 of determining a direction of a false Global Navigation Satellite System (GNSS) satellite signal transmitter comprises step 855 of calculating a plurality of range differences.
  • each one of the plurality of range differences corresponds to one of a plurality of baseline vector rotation angles, in some embodiments the baseline vector rotation angle is measured with respect to a fixed reference body.
  • Method 850 also includes step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences.
  • GNSS Global Navigation Satellite System
  • each of the plurality of baseline vectors extends between a pair of GNSS antennas
  • method 850 includes detecting that a false GNSS satellite signal is being received.
  • method 850 includes indicating the direction of the false GNSS satellite signal transmitter.
  • Method 850 can include many other steps.
  • Step 855 of calculating a plurality of range differences can include many other steps.
  • step 855 of calculating the plurality of range differences includes calculating a first range from a first GNSS satellite signal received by a first GNSS antenna.
  • step 855 of calculating the plurality of range differences includes calculating a second range from the first GNSS satellite signal received by a second GNSS antenna, wherein a baseline vector extends from the first GNSS antenna to the second GNSS antenna.
  • step 855 of calculating the plurality of range differences includes calculating a first range difference by subtracting the first range from the second range.
  • Step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences can include many other steps.
  • step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a maximum baseline vector rotation angle, wherein the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of range difference.
  • step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the maximum baseline vector rotation angle plus 180 degrees.
  • step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a minimum baseline vector rotation angle, wherein the minimum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a minimum value of range difference. In some embodiments step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the minimum baseline vector rotation angle.
  • step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes computing the travel time differential bias for each one of the plurality of range differences.
  • the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of travel time differential bias.
  • the minimum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a minimum value of travel time differential bias.
  • the mean baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a mean value of travel time differential bias.
  • a microprocessor or processor computes the plurality of range differences.
  • software computes the plurality of range differences.
  • software coupled to a processor or microprocessor computes the plurality of range differences.
  • the microprocessor or processor includes the software.
  • the term "processor" as used here can include any microprocessor, microcontroller, microprocessor or microcontroller coupled to or including software, or any other combination of computing hardware or computing software.
  • the processor determines which one of the plurali ty of baseline vector rotation angles corresponds to a maximum, minimum, or mean range difference. In some embodiments the processor determines which one of the plurality of baseline vector rotation angles corresponds to a maximum, minimum, or mean path difference distance.
  • the processor determines which one of the plurality of baseline vector rotation angles corresponds to a maximum, minimum, or mean travel-time differential bias. In some embodiments the processor outputs a false GNSS satellite signal transmitter direction. In some embodiments the processor determines the direction of the false GNSS satellite signal transmitter based on the plurality of range differences. In some embodiments the processor determines the direction of the false GNSS satellite signal transmitter based on computing a pl urality of path di fference differences. In some embodiments the processor determines the direction of the false GN SS satellite signal transmitter based on computing a plurality of travel-time differential biases. [00179] Described herein are several methods for implementing a device for determining the direction of a.
  • the key to any implementation, as disclosed herein, is the concept of determining a maximum or a minimum range difference AR or its constituent components such as travel-time differential bias BAB, or path difference distance d, and correlating baseline vector rotation angle to the maximum or minimum range difference AR, or in some way monitoring these term and how they vary for different alignments of antenna baseline vectors.
  • one GNSS system may be spoofed - receiving a false GNSS satellite signal, while the other may not be spoofed.
  • a GPS-GLONASS attitude system may experience only GPS spoofing. So it is important to detect false GNSS satellite signals independently for each GNSS system, and then use only the signals that are determined to have been false when locating the false GNSS satellite signal transmitter.

Abstract

Disclosed is a device and method for determining the direction of a false Global Navigation Satellite System (GNSS) satellite signal transmitter. False GNSS satellite signals can be used malevolently to take control of a rigid body such as a vehicle or ship that is using GNSS satellite signals for navigation. The GNSS device according to the invention computes a plurality of range differences, where each range difference is the difference between a range from a first GNSS satellite to a first GNSS antenna, and the range from the first GNSs satellite to a second GNSS antenna. Each of the plurality of range differences is correlated to a rotation angle of a baseline vector extending from the first GNSS antenna to the second GNSS antenna. The rotation angles and their corresponding range differences can be used to indicate the direction of the false GNSS satellite signal transmitter.

Description

GNSS SATELLITE SIGNAL SPOOFER DIRECTION DETERMINATION
BACKGROUND OF THE INVENTION
Technical Field
[0001 ] This invention relates generally to a Global Navigation Satellite System (GNSS), and more specifically to a system and method for detecting false GNSS satellite signals, and for determining the direction of the transmitter of the false GNSS satellite signals.
State of the Art
[0002] Global Navigation Satellite Systems are in widespread use to determine the location and/or attitude of a body. A GNSS includes a network of satellites that broadcast GNSS radio signals. GNSS satellite signals allow a user to determine, with a high degree of accuracy, the location of a receiving antenna, the time of signal reception, and/or the attitude of a body that has a pair of receiving antennas fixed to it. Location is determined by receiving GNSS satellite signals from multiple satellites in known positions, determining the transition time for each of the signals, and solving for the position of the receiving antenna based on the known data. The location of two or more receiving antennas that have known placements relative to an object can be used to determine the attitude of the object. Examples of GNSS systems include Navsiar Global Positioning System (GPS), established by the United States; Globalnaya Navigatsionnay Sputnikovaya Sistema, or Global Orbiting Navigation Satellite System (GLONASS), established by the Russian Federation and similar in concept to GPS; the BeiDou Navigation Satellite System (BDS) created by the Chinese; and Galileo, also similar to GPS but created by the European Community and slated for full operational capacity in the near future.
[00031 The GNSS is used extensively to navigate vehicles such as cars, boats, farm machinery, aisplanes, and space vehicles. A problem is that 'false' GNSS signals can be used to 'spoof, or trick, a GNSS navigational system into straying off course or to provide an inaccurate time. Sophisticated GNSS spoofing systems can be used to take control of a navigational system and reroute a vehicle to an unintended location. Spoofing systems can be used for malevolent pmposes - to steal, harm, reroute, or destroy important vehicles and machinery, or to allow false transactions to occur. Tims, what is needed is a system to detect the presence of false G SS satellite signals. Once the presence of false GNSS satellite signals is detected, the navigational system can be prevented from being influenced by the false GNSS satellite signals. Also needed is a system and method for determining the direction of the false GNSS satellite signal transmitter. Knowing the direction of the false GNSS signal transmitter will aid in disabling the device.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] FIG. 1 is a depiction of a vessel that is the target of a spoofing system;
[0005] FIG. 2 is an example embodiment of a spoofing system for creating false GNSS satellite signals;
[0006] FIG, 3 shows an illustration of one embodiment of a system for detecting the presence of false GNSS satellite signals;
[0007] FIG, 4 illustrates method 400 of detecting false GNSS satellite signals;
[0008] FTG.5 illustrates two antennas and their overlapping locational margin of error;
[0009] FIG, 6 illustrates an attitude determining system for detecting the presence of false GNSS satellite signals;
[0010] FIG. 7 shows a block diagram of an embodiment of a receiver of an attitude determining system;
[001 1 ] FIG. 8 shows a flow chart of method 500 of detecting false GNSS satellite signals;
[0012] FIG. 9 shows a flow chart of one embodiment of element 550 of method 500;
[0013] FIG. 10 shows a flow chart of one embodiment of element 554 of element 550; [0014] FIG. 1 1 depicts the reception of a GNSS satellite signal by a first and a second antenna;
[00151 FIG. 12 illustrates range vectors extending from a satellite to a first and a second antenna, and a baseline vector extending between the first and the second antenna;
[0016] FIG. 13 shows the system of FIG. 12 with a geometry consistent with its use in a GNSS;
[0017] FIG. 14 illustrates three angles yaw, pitch and roll that can be used in attitude determination of an object;
[0018] FIG. 15 illustrates geometrically the range vectors and pha se differences of three GNSS satellite signals being received by a first and a second antenna:
[0019] FIG. 16 illustrates the phase differences of a spoofing signal that includes three GNSS satellite signals as received by a first and a second antenna;
[0020] FIG, 17 is a perspective view of an embodiment of a device for determining the direction of a false GNSS satellite signal transmitter;
[0021] FIG. 18 is a simplified block diagram of an embodiment of a receiver of a device device for determining the direction of a false GNSS satellite signal transmitter;
[0022] FIG. 19 is a simplified top view of a first and a second antenna of the device of FIG. 17;
[0023] FIG, 20 is a simplified depiction of a vessel with device 690 for determining the direction of a false GNSS satellite signal transmitter of FIG. 17, recei ving false GNSS satellite signals from a transmitter;
[0024] FIG. 21 shows antenna 601 and antenna 622 of device 690 of FIG. 20 receiving real GNSS satellite signal and false GNSS satellite signals; [0025] FIG. 22 shows a perspective view of GNSS antenna 601 and GNSS antenna 622 of device 690 of FIG. 20 receiving false GNSS satellite signals from transmitter 141 ;
[00261 FIG. 23 shows a top view of GNSS antenna 601 and GNSS antenna 622 of device 690 of FIG. 20 receiving false GNSS satellite signals from transmitter 141 ;
[0027] FIG. 24 shows a top view of GNSS antenna 601 and GNSS antenna 622 of device 690 of FIG. 20 receiving false GNSS satellite signals from transmitter 141, with several of the positions of antenna 622 along rotation path 695 shown;
[0028] FIG 25 shows a plot 630, of a path difference distance d 688 versus rotation angle 0 696;
[0029] FIG 26 shows a plot 632, of travel-time differential bias BAB versus rotation angle Θ 696;
[0030] FIG, 27 shows a perspective view of a GNSS device 790 for determining the direction of a false GNSS satellite signal transmitter;
[00311 FIG. 28 shows a simplified top view of device 790 of FIG. 27;
[0032] FIG. 29 illustrates a method 800 of determining the direction of a false GNSS satellite signal transmitter;
[0033] FIG. 30 shows a top view of GNSS device 890 for determining the direction of a false GNSS satellite signal transmitter; and
[0034] FIG, 31 illustrates a method 850 of determining the direction of a false GNSS satellite signal transmitter.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTIO [0035] As discussed above, embodiments of the invention relate to a Global Navigation Satellite System (GNSS) and more specifically to a system and method for detecting false GNSS satellite signals, and for determining the direction of the false GNSS satellite signal transmitter. Some disclosed embodiments use a GNSS-based navigational system to measure the phase of a GNSS satellite signal at two or more antennas. The phase is used in some embodiments to determine if the antennas are receiving a false GNSS satellite signal. The phase of the GNSS satellite signal can be the code phase or the carrier phase of the GN SS satellite signal In some embodiments a GNSS attitude determining system computes the carrier phase differences of a GNSS satellite signal at two or more antennas. The carrier phase difference is used in some embodiments to determine if the antennas are receiving a false GN SS satellite signal. In some embodiments the code phase difference is used to detect false GNSS satellite signals instead of the carrier phase. In some embodiments a first measured carrier phase difference is used to compute a second geometrical carrier phase difference of the GN SS satellite signal at the same antennas. The amount of agreement or error between the first measured and the second geometric computation of the carrier phase difference of the GNSS satellite signal at the two antennas is used to determine whether the system is receiving false GNSS satellite signals.
[0036] Disclosed are embodiments of the invention which compute range differences between satellite signals received at two or more antennas, and use the range differences to determine the direction of a false GNSS satellite signal transmitter.
[0037] False GNSS satellite signals are GNSS satellite signals which contain incorrect data. Incorrect data means the data in the signal does not correctly identify the satellite it came from, or the transit time from the satellite to the antenna, or it has other false or misleading data included in the false GNSS satellite signal. This incorrect data will result in incorrect range, location, timing or attitude calculations. A false GNSS satellite signal with incorrect data can be used to mislead, or "spoof a GNSS navigational system and/or a GNSS timing system.
[0038] False GNSS satellite signals need not originate from any GNSS, and need not originate from any earth-orbiting satellite. False GNSS satellite signals include signals that are simulated - in other words they do not ever originate from a GNSS satellite, although they are formed to simulate a GNSS satellite signal and, ultimately, be accepted by a receiving antenna as a real GNSS satellite signal. False GNSS satellite signals also include those signals that originate from a GNSS satellite, but they are ignorant! y or maliciously received and re -broadcast such that they can no longer be used to measure an antenna location or provide an accurate timing signal. In a. general sense, false GNSS signals include any signal which contains invalid satellite data, but is of a form thai will be accepted by a GNSS antenna and receiver and, without intervention, will be used by the GNSS receiver to perform a. (false) location or attitude computation. Once the system and method for detecting false GNSS satellite signals disclosed herein detects a false GNSS satellite signal, intervention can occur, preventing the navigational system being spoofed from providing false location or navigational data. Also disclosed is an apparatus and method of determining the direction of a false GNSS satellite signal transmitter.
[0039] A GNSS includes a network of satellites that broadcast GNSS radio signals, enabling a user to determine the location of a receiving antenna with a high degree of accuracy. A GNSS can also be used to determine the attitude of an object, by determining the position of two or more receiving antennas that have known placements relative to the object.
[0040] The United States' GPS system, which is currently the longest running of the available GNSS, was developed by the United States government and has a constellation of 24 satellites in 6 orbital planes at an altitude of approximately 26,500 km. The first satellite was launched in February 1978. Initial Operational Capability (IOC) for the GPS was declared in December 1993. Each satellite continuously transmits microwave L-band radio signals in two frequency bands, L I (1575.42 MHz) and L2 (1227.6 MHz). The LI and L2 signals are phase shifted, or modulated, by one or more binary codes. These binary codes provide timing patterns relative to the satellite's onboard precision clock (synchronized to other satellites and to a ground reference through a ground-based control segment), in addition to a navigation message giving the precise orbital position of each satellite, clock correction information, and other system parameters. It is to be understood that this system is constantly being upgraded and modified, thus the specific details and frequencies provided herein may change over time.
[0041] GNSS navigation or attitude systems use measurements of a GNSS satellite signal phase - either code phase or carrier phase - in order to perform their computations. The binary codes providing the timing information are called the C/A Code, or coarse acquisition code, and the P-code, or precise code. The C/A Code is a l MHz Pseudo Random Noise (PRN) code modulating the phase of the LI signal, and repeating eve }? 1023 bits (one millisecond). The P-Code is also a PRN code, but modulates the phase of both the LI and L2 signals, and is a 10MHz code repeating every seven days. These PRN codes are known patterns that can be compared to internal versions in the receiver. The GNSS receiver is able to compute an unambiguous range to each satellite by determining the time-shift necessary to align the internal code phase to the broadcast code phase. Since both the C/A Code and the P-Code have a relatively long "wavelength" - approximately 300 meters (or 1 microsecond) for the C/A Code, and 30 meters (or 1/10 microsecond) for the P-Code■■ positions computed using them have a relatively coarse level of resolution. Code phase measurements are used in some embodiments of the inventions described herein to detect false GNSS satellite signals.
[0042] To improve the positional accuracy provided by use of the C/A Code and the P- Code, a receiver may take advantage of the carrier component of the LI or L2 signal. The term "carrier", as used herein, refers to the dominant spectral component remaining in the radio signal after the spectral content resulting from the modulating PRN digital codes has been removed (e.g., from the C/A Code and the P-Code). The L I and L2 carrier signals have wavelengths of about 1 9 centimeters and 24 centimeters, respectively. The GPS receiver is able to track these carrier signals and measure the carrier phase φ to a small fraction of a complete wavelength, permitting range measurement to an accuracy of less than a centimeter. These carrier phase φ measurements are used by embodimen ts of the invention described herein to detect false GNSS satellite signals.
[0043] FIG. 1 depicts a situation where a vessel 100 using GNSS navigation is subjected to spoofing - or in other words is receiving false GNSS satellite signals. Vessel 100 receives real GNSS satellite signals 106, 107, and 108 from a plurality of GNSS satellites 103, 104 and 105, respectively. GNSS satellite signals 106, 107 and 108 are received by an antenna 101 located at physical location A. A GNSS receiver 121 , which is electrically connected to antenna 101 , receives signals 106, 107, and 108, and computes the GNSS location coordinates of location A based on measurements of ranging information contained within GNSS signals 106, 107 and 108. Vessel 100 in this embodiment has an autopilot system that steers vessel 100 over a prescribed course using the computed GNSS coordinates of location A. It is to be understood that while antenna 101 is shown receiving GNSS satellite signals 106, 107, and 108 from three GNSS satellites 103, 104, and 105, antenna 101 can be receiving GNSS satellite signals from any number of GNSS satellites. Antenna 101 receives GNSS satellite signals from a plurality of GNSS satellites, where a plurality is any number greater than one.
[0044] Antenna 101 in the embodiment shown in FIG. 1 is also receiving a spoofing signal 142 from a spoofing system 140 (also shown in FIG. 2). Spoofing signal 142 is a composite signal which contains a plurality of false GNSS satellite signals. Spoofing signal 142 is generated so as to mimic real GNSS satellite signals. Spoofing system 140 transmits spoofing signal 142 through a cable 139 to a transmitter 141. Transmitter 141 broadcasts spoofing signal 142 to antenna 101.
[0045] GNSS signal spoofing system 140 can be designed to create false GNSS satellite signals in many ways. In some embodiments, spoofing system 140 creates spoofing signal 142 by simulating real GNSS satellite signals programmed with the desired false satellite data. FIG. 2 is an example embodiment of spoofing system 140 of FIG. 1 , which in this embodiment captures real GNSS signals 1 16, 117, and 118 at an antenna 1 11, and then rebroadcasts these signals with transmitter 141. In the embodiment shown in FIG. 1 and FIG. 2, spoofing system 140 creates spoofing signal 142 by re-broadcasting live GNSS signals received at a location different from the GNSS navigational system that is to be spoofed. It is to be understood that spoofing system 140 can create and broadcast spoofing signal 142 using any method that creates a spoofing signal 142 that includes data meant to be accepted as real GNSS satellite signals.
[0046] In the embodiment shown in FIG. 1 through FIG. 2 spoofing system 140 includes spoof antenna 1 1 1, and transmitter 141. Spoofing system 140 generates spoofing signal 142 by re-broadcasting GNSS satellite signals 116, 117 and 1 18 recei ved at spoof antenna 1 11 from live GNSS satellites 113, 114 and 1 15 (FIG. 2). Satellites 1 13, 1 14, and 1 15, can be the same or different GN SS satellites as satellites 103, 104, and 105. Spoof antenna 1 11 is located at a spoof location D (FIG. 1). In this embodiment, spoof location D is offset from vessel location A by vectors 133 and 134, creating a total locational offset shown by vector 135. Real GNSS satellite signals 1 16, 1 17, and 118 are combined into composite spoofing signal 142 and rebroadcast by transmitter 141. Note that spoofing signal 142 is a composite of a plurality of GNSS satellite signals 1 16, 1 17, and 1 18, as received by antenna 11 1. When GNSS satellite signals 1 16, 1 17, and 118 are rebroadcast from transmitter 141 , they become false G SS satellite signals because they contain data as received by antenna 1 11 at location D. Spoofing signal 142 in this embodiment contains three false GNSS satellite signals, but it is to be understood that spoofing signal 142 can contain any number of false GNSS satellite signals.
[0047] The power level of spoofing signal 142 is set such that when spoofing signal 142 is received by antenna 101 , spoofing signal 142 overpowers real GNSS satellite signals 106, 107 and 108. Consequently receiver 121 uses spoofing signal 142 to compute a GNSS location based on false GNSS satellite signals 1 16, 1 17, and 118. Specifically, receiver 121 will measure the G SS sateliite signal phase (code phase and/or carrier phase) φ values of false GN SS satellite signals 116, 1 17, and 118, will use the code phase and/or the carrier phase φ values to compute GNSS location coordinates for location D, and will report, that vessel 100 is at location D instead of its tme location A. This false location D will be offset from tme location A by vectors 133 and 134, for a total positional error given by vector 135. The navigational system of vessel 100 will believe it is at location D and plot its course accordingly. This is the intent of spoofing systeml40 in some embodiments, to make receiver 121 believe, and report, that vessel 100 is at false location D that is offset relative to the known or assumed location A of the GNSS system to be spoofed. Spoofing of a navigational system can also be performed in order to make a navigational device provide false timing data. GNSS devices are often used in critical timing applications. Thus, in some embodiments, detection of false GNSS satellite signals is performed to prevent a spoofing system from causing false timing data to be provided by a GNSS device.
[0048] Note that any transmission delay of spoofing signal 142 along cable 139, or due to being rebroadcast, is seen as a common clock delay on all GNSS spoofing signals, and this delay is solved for as part of the receiver 121 computations. 'The delay causes a small, often undetectable recei ver clock offset, but computation of the false GN SS location still takes place.
[0049] Described herein and shown in FIG. 3 through FIG. 16 is a system and method for detecting the presence of false GNSS satellite signals such as spoofing signal 142, where spoofing signal 142 comprises false data that represents itself as one or more than one GNSS satellite signal from one or more than one GNSS satellite. The system and method for detecting false GNSS satellite signals, described herein in example embodiments, uses a plurality of GN SS antennas for determining that at least one of the GN SS satellite signals received is a false GNSS satellite signal, in other words it contains false data. The system disclosed herein for detecting false GNSS satellite signals is in some embodiments a GNSS attitude system. GNSS attitude systems use two or more GNSS antennas attached to a rigid body for determining the attitude of the body.
[0050] Described herein and shown in FIG. 17 through FIG. 31 are systems and methods for determining the direction of a false GNSS satellite signal transmitter such as transmitter 141. The systems and methods for determining the direction of the false GNSS satellite signal transmitter, as described herein in example embodiments, uses at least two GNSS antennas to compute a plurality of range differences, where each range difference corresponds to a rotation angle of a baseline vector extending between the two GNSS antennas. The range differences are compared to determine the angle that corresponds to a direction of the false GNSS satellite signal transmitter such as transmitter 141. The system disclosed herein for determining the direction of the false GNSS satellite signal transmitter 141 is in some embodiments a GNSS attitude system. GNSS attitude systems use two or more GNSS antennas attached to a rigid body for determining the attitude of a body.
[0051] FIG. 3 shows an embodiment of a system 190 for detecting false GN SS satellite signals. In the embodiment shown in FIG. 3, vessel 100 of FIG. 1 includes system 190 for detecting false GNSS satellite signals. In the embodiment of the invention shown in FIG, 3, system 190 has two GNSS antennas, a first antenna 101 and a second antenna 122. Both first antenna 101 and second antenna 122 are receiving a plurality of GNSS satellite signals, which in this embodiment includes GNSS satellite signals 106, 107, and 108. System 190 for detecting false GNSS satellite signals also includes a receiver 121 connected to both first antenna 101 and second antenna 122. Receiver 121 receives GNSS satellite signals 106, 107, and 108 from first antenna 101 and second antenna 122, measures GNSS satellite signal phase φ values (either code or carrier phase) of the GNSS satellite signals, and performs the range, location and attitude computations as required. [0052] As shown in FIG. 3, GNSS spoofing is taking place to system 190 on vessel 100 of FIG. 1. Spoofing signal 142 is being received by first antenna 101 of vessel 100, just as shown and described in FIG. 1 and FIG. 2, except in the embodiment shown in FIG. 3, vessel 100 includes system 190 for detecting false GNSS satellite systems. Antennas 101 and 122 are both fixed to vessel 100 of FIG. 1, at locations A and B respectively. Vessel 100 is not shown in FIG. 3 for simplicity. Antennas 101 and 122 receive both the intended GNSS satellite signals 106, 107, and 108, and spoofing signal 142. Spoofing system 140 sends spoofing signal 142 along cable 139 and broadcasts spoofing signal 142 over transmitter 141. Spoofing system 140 generates spoofing signal 142 by rebroadcasting GNSS satellite signals 1 16, 117, and 118 from GNSS satellites 113, 1 14, and 115 as received by antenna 1 11 at GNSS location D, as shown in FIG. 2. GNSS satellite signals 1 16, 1 17, and 1 18 contain timing information that enable the computation of ranges Rj, R2, and R3 represen ting the distance between satellites 113, 1 14, and 1 15, respectively, and antenna 11 1, as shown in FIG. 3. Ranges Rx, R2, and R3 are denoted 216, 217, and 218 in FIG, 3. Range
computations of Rj , R¾ and R3 are made by receiver 121 of attitude system 190 from measurements of GNSS satellite signal phase φ of GNSS satellite signals 1 16, 1 17, and 1 18 as received by antenna 1 11. Note that range measurements Rj , R2, and R3 will be computed by any GNSS receiver that is receiving and processing spoofing signal 142.
[0053] The intended, real GNSS satellite signals 106, 107, and 108, are broadcast by satellites 103, 104 and 105 as shown in FIG. 1 and FIG. 3. GNSS satellite signals 106, 107, and 108 travel from satellites 103, 104, and 106, respectively, to antenna 10 ! that is located at A. Under normal (non-spoofed) operation, GNSS receiver 121 connected to antenna 101 would measure GNSS satellite signal code or carrier phase φ values for GNSS satellite signals 106, 107, and 108 as received by antenna 101, and compute ranges ri, r2, and Γ3 (denoted 206, 207, and 208 in FIG. 3) representing the distance between satellites 103, 104, and 105 and antenna 101.
[0054] Additionally, GNSS satellite signals 106, 107, and 108 from GNSS satellites 103, 104 and 105, travel to antenna 122 at a location B. Under normal operation, GNSS receiver 121 connected to antenna 122 would measure GNSS satellite signal code or carrier phase φ values for GNSS satellite signals 106, 107, and 108 as received by antenna 122, and compute ranges r , r'2, and r'3 (denoted 209, 210, and 211 in FIG. 3) as the distance between GNSS satellites 103, 104, and 105 and antenna 122.
[00551 Again under normal operation, GNSS receiver 121 uses the range ri, r2, and r3 computations to compute GNSS location A for the location of antenna 101 , where GNSS location A approximately coincides with the location of antenna 101 to the accuracy of receiver 121. As well, under normal operation, GNSS receiver 121 connected to antenna 122 uses the r'i, r'2, and r'3 range values and computes a GNSS location B that approximately coincides with the location of antenna 122. Computed ranges r'i, r'2, and r'3 are different from η, Γ2, and r3. And the two GNSS locations A and B computed by receiver 121 connected to antennas 101 and 122 are different GNSS locations under normal operation, because locations A and B are not physically co-located. In some embodiments, the measured range differences r. - r'j , r? - r'2, and r _ r'3, rather than the computed ranges are used to compute GNSS locations.
[0056] During spoofing, signal 142 overpowers real GNSS satellite signals 106, 107, and 108. Signal 142 is received by both antenna 101 and antenna 122. GNSS receiver 121 connected to first antenna 101 and second antenna 122 measures GNSS satellite signal carrier phase φ values and computes ranges of R3 , R2, and R3 as if received by antenna 1 11 instead of the intended ranges (ri, r2, r? and r'i, r'¾ r'3). GNSS receiver 121 measures identical ranges of Ri, R2, and R3 for what receiver 121 believes to be the path length to satellites 103, 104, and 105 from both antenna 101 and antenna 122. Therefore, one method for system 190 to use to detect false GNSS satellite signals is to compute one or more range differences, where a range difference is the difference between the range to a speciiic GNSS satellite from a first antenna, and the range to the same specific GNSS satellite from a second antenna. Because the range is calculated to two different antennas, the two ranges should be different and the range difference should be larger than a predetermined threshold range difference value. If the ranges are the same or close to the same value, the range difference will be small or zero. If the range difference is small or zero - smaller than the predetermined threshold range difference value, for example - then this can be used as an indication that one or more of the GNSS satellite signals is a false GNSS satellite signal. Or, if all pseudo range differences have roughly the same value - due to receiver clock differences or transmission delay, then the system is being spoofed. Transmission delay between antennas is the same for all false GMSS satellite signals (spoofing signals) since they follow the same path. Pseudo ranges are ranges that still have clock or delay components present.
[00571 FIG. 4 illustrates a method 400 of detecting false GNSS satellite signals according to embodiments of the invention, using measured range differences as described above. Method 400 includes an element 410 of receiving a plurality of GNSS satellite signals with each one of a plurality of antennas. FIG. 3 shows two antennas 101 and 122, but the plurality of antennas can include any number of antennas greater than one. FIG. 3 shows three GNSS satellite signals 106, 107, and 108 in the normal non-spoofing environment, or GNSS satellite signals 1 16, 117, and 1 18 in the spoofed environment, but the plurality of GNSS satellite signals can include any number of satellite signals greater than one,
[0058] Method 400 includes an element 420 of measuring a plurality of GNSS satellite signal phase φ values. The plurality of GNSS satellite signal phase φ values includes a GNSS satellite signal phase φ value for each of the plurality of GN SS satellite signals at each of the plurality of antennas. Method 400 also includes an element 430 of computing a range to a first GNSS satellite from a first one of the plurality of antennas, using the plurality of GNSS satellite signal ph ase φ values. Each range is the distance between one of the plurality of antennas and one of a. plurality of GN SS satellites. The plurality of GNSS satellites are the GNSS satellites broadcasting the plurality of GNSS satellite signals. In FIG. 3 in the non- spoofing situation, the plurality of GNSS satellites is shown as three GNSS satellites 103, 104, and 105, broadcasting the plurality of real GN SS satellite signals 106, 107, and 108. In the spoofing situation the plurality of GNSS satellites is shown as three GNSS satellites 113, 1 14, and 115 broadcasting the plurality of GNSS satellite signals 116, 1 1 7, and 1 18, which are combined into spoofing signal 142. Each of the above pluralities can be any number greater than one. For example, in a. normal situation with no false GN SS satellite signals, element 430 will include receiver 121 of system 190 of FI G. 3 computing range rj from first antenna 101 to GNSS satellite 103. In a spoofing environment where first antenna 101 is receiving spoofing signal 142, element 430 will include receiver 121 computing range Ri from first antenna 101 to GNSS satellite 103.
[0059] Method 400 also includes an element 440 of computing a range to the first GNSS satellite from a second one of the plurality of antennas, using the plurality of GNSS satellite signal phase φ values. Continuing with the example above, in a normal situation with no false GNSS satellite signals, element 440 will include receiver 121 computing range r'-. from second antenna 122 to GNSS satellite 103. In a spoofing environment where second antenna 122 is receiving spoofing signal 142, element 440 will include receiver 121 computing range Rj from second antenna 122 to GNSS satellite 103. Note that in the non-spoofing
environment the ranges r-. and r'i are different because the antennas 101 and 122 are in different locations and thus the path lengths r¾ and . are different. But in the spoofing environment where first and second antennas 101 and 122 are receiving false GNSS satellite signals 1 16, 117, and 1 18 in spoofing signal 142, receiver 121 will compute range ¾ - the same range value - for the range between both first antenna 101 and second antenna 122, and GNSS satellite 103, because the data received by both first antenna 101 and second antenna 122 reflects a range ¾ from spoofing antenna 11 1 and GNSS satellite signal 113,
[0060] Method 400 according to embodiments of the invention also includes an element 450 of computing a range difference, where the range difference is the difference between the range to the first GNSS satellite from the first antenna, and the range to the first GNSS satellite from the second antenna. Continuing the example, element 440 in the normal, non- spoofing environment will include computing the difference between r3 and r'i . This difference should reflect the feet that the antennas 101 and 122 are in different locations. In the spoofing environment element 440 will include computing the difference between Ri and Rj . Since the range measurements in the spoofing environment are the same within computational accuracy, the range difference in the spoofing environment should be zero or some small number that results from a small amount of computational error in each range calculation.
[0061] Method 400 also includes an element 460 of using the range differences to determine whether the plurality of GNSS satellite signals includes a false GNSS satellite signal. In some embodiments the range difference is compared to a predetermined threshold range difference. If the range difference is smaller than the predetermined threshold range difference, then it is determined that the plurality of GNSS satellite signals includes a false GNSS satellite signal If the range difference is larger than the predetermined threshold range difference, then it is determined that the plurality of GNSS satellite signals does not include a false GNSS satellite signal. In some embodiments, a plurality of range differences is computed, using the plurality of GN SS satellite signals as received by the plurality of antennas to measure and difference a plurality of ranges. Element 460 can include many different ways and methods of comparing the range difference or differences. Method 400 can include many other elements. In some embodiments method 400 includes the element of preventing the system from outputting a iocational output in response to determining that the plurality of GNSS satellite signals includes at least one false GNSS satellite signal
Preventing the Iocational data from being output is one way to keep false GNSS satellite signals from being successful in taking over control of a navigational system or other system that is using the antennas for a purpose.
[0062] In the spoofed environment, where first antenna 101 and second antenna 122 are receiving spoofing signal 142 containing GNSS satellite signals 1 16, 1 17, and 1 1 8 as in the embodiment shown in FIG. 3, GNSS receiver 121 measures the same or similar ranges ¾ , R?, and R3 for the path length to satellites 103, 104, and 105 (because the data is really from GNSS satellites 1 13, 1 14, and 1 15) from both antenna 101 and antenna 122. Receiver 121 will use these values to compute substantially the same GNSS location, within a Iocational margin of error, for both GN SS location A of antenna 101 and GN SS location B of antenna 122. Receiver 121 of system 190 does not know the GNSS location of point A and point B beforehand, but it may know the relative distance between point A and point B, Therefore a second method for system 190 to use to detect false GN SS satellite signals is to compare the computed GN SS locations A and B, System 1 0 will determine that it is receiving a false GNSS satellite signal in response to the computed GNSS locations of antennas 101 and 122 being the same GNSS Iocational value within a iocational margin of error. In some embodiments this method includes computing a GN SS location for each of the plurality of antennas using the plurality of ranges, and determining that the plurality of GNSS satellite signals includes a false GNSS satellite signal in response to the computed GNSS locations for each of the plurality of antennas being the same GNSS Iocational value within a Iocational margin of error.
[0063] Thus, two-antenna GN SS system 190 according to an embodiment of the invention as shown in FIG. 3 is able to detect spoofing in many cases. Note that spoofing signal 142 may transverse different paths, 221 and 222 to travel to antennas .101 and 122. The difference in path length and thus signal travel time of spoofing signal 142 along paths 221 and 222 will result in receiver 121 connected to antennas 101 and 122 computing different receiver clock offsets. However, this will not affect the range or location calculations. When receiving spoofing signal 142, system 190 will compute ranges and GNSS locations A and B that are the same values to within the accuracy of receiver 121 . It is to be understood that while first antenna 101 and second antenna 122 are shown connected to one common receiver 121 , each antenna could have its own GNSS receiver, with a common processor comparing the data to determine that the computed GNSS locations A and B are the same locational value within a locational margin of error.
[0064] This method of detecting false GNSS satellite signals by comparing the computed GNSS locations of two or more antennas can have issues in some cases. In particular, if the distance between the first and the second antennas 101 and 122 is smaller than the locational margin of error as computed by each receiver, then it may not be possible to determine whether the locations are the same within the locational margin of error. This is illustrated in FIG. 5. FIG . 5 shows antenna 101 of FIG. 3 at location A, and antenna 122 of FIG. 3 at location B. Each antenna is receiving GNSS satellite signals 106, 107, and 108 from GNSS satellites 103, 104, and 105 respectively. Receiver 121 (FIG. 3) calculates the GNSS location of receiver 101, which is accurate to within a location margin of error 160 as shown in FIG. 5. Receiver 121 also calculates the GNSS location of receiver 122 which is accurate to within a location margin of error 162 as showrn in FIG. 5. A locational margin of error is the area of uncertainty which surrounds the GNSS location calculation due to error and imprecision in the measurements of range. Locational margin of errors 160 and 162 are shown as two- dimensional ovals in FIG. 5, but it is to be understood that they are three-dimensional areas such as spheres, ovoids, or other three-dimensional areas. Cross-hatched area 164 as shown in FIG. 5 represents area of overlap 164 of the two locational margins of error 160 and 162. When antenna 101 and antenna 122 are close enough to each other that they both reside within area of overlap 164 as shown in FIG. 5, it is not possible to determine accurately whether the computed GN SS locations of location A and location B are the same GNSS location or not, because their locational margins of error overlap.
[0065] One way to alleviate the potential for false detection using the two antenna method is to ensure that the distance from antenna 101 to antenna 122 is sufficiently large that their respective locational margins of error 160 and 162 do not intersect. A disadvantage of doing this, however, is that it requires more installation space and possibly longer cables, and thus a less compact system. Minimizing the size of the locational margins of error 160 and 162 is a viable solution, which can be done with a GNSS attitude system, as will be discussed shortly.
[0066] It is to be understood that while sets of three satellites are shown and described in FIG, 1 through FIG. 5, resulting in a set of three GNSS satellite signals being sent, the set of three is an example only. In general a plurality of GNSS satellites is used for GNSS satellite signal code or carrier phase φ, range, location, and attitude measurements and computations, where a plurality is any number larger than one. A plurality of GN SS satellites are used by system 190, which results in each antenna receiving a plurality of GNSS satellite signals. And while first and second antennas 101 and 122 are shown and described, in general a plurality of antennas are used by system 190, where a plurality is any number greater than one. Throughout this document, sets of two or three GNSS satellites, GNSS satellite signals, and antennas are shown and described to simplify the drawings and the explanation, but it is to be understood that often the numbers of satellites, satellite signals, and/or antennas is a number greater than two or three, and in fact can be any number greater than one.
[0067] A GNSS attitude system (also referred to as a GNSS attitude determining system) has the capability of executing a. variety of measurements and computations which allow it to determine with high accuracy whether GNSS satellite signals are false GNSS satellite signals, while minimizing the limitations of using the measured ranges or computed GNSS locations as described above. A GNSS attitude system has a minimum of two antennas and computes ranging differences by differencing the GNSS satellite signal code or carrier phase φ values measured at the two or more antennas. A basic GNSS attitude system and method of using the GNSS attitude system to detect false GNSS satellite signals is described below. More details on GN SS attitude systems and the computation of carrier phase differences can be found in related United States Patent No. 7,292, 185 to Whitehead.
[0068] FIG. 6 depicts an attitude determining system 390 (also called attitude system 390 or system 390) for determining the presence of false GNSS satellite signals. System 390 is shown tracking a plurality of GNSS satellites 303, 304, and 305, also referred to as S I , S2, and S3, respectively. System 390 includes a plurality of antennas 301 , 322, and 324 at locations A, B, and C to receive GNSS satellite signals. Satellites 303, 304, and 305 broadcast radio frequency GNSS satellite signals 306, 307 and 308, respectively. GNSS satellite signals 306, 307 and 308 are received by the plurality of antennas 301, 322 and 324. Each GNSS satellite signal 306, 307, and 308 travels from each antenna 301, 322 or 324 to a receiver unit 321 via connections 314, 315, or 316 respectively, where it is down-converted and digitally sampled so that it may be tracked by digital tracking loops of receiver 321 , Various timing and navigation information is readily extracted while tracking each of the plurality of GNSS satellite signals 306, 307, and 308, including the phase of a Pseudo Random N oise (PRN) code timing pattern (often called code phase) that is modulated on each of the plurality of GNSS satellite signals 306, 307, and 308, the carrier phase φ of each GNSS satellite signal's carrier, and navigation data from which the location of each GNSS satellite may be computed. It will be appreciated that while three antennas 301, 322, and 324, three GNSS satellites 303, 304, and 305 and three GNSS satellite signals 306, 307 and 308 are used to depict the plurality of antennas, the plurality of GNSS satellites and the plurality of GNSS satellite signals in FIG. 6, a greater or lesser number of antennas, satellites and satellite signals can be used if desired.
[0069] In order to perform the prescribed functions and desired processing, as well as the computations therefor (e.g., the attitude determination processes, and the like), receiver 321 may include, but not be limited to, a processor(s), computer(s), memory, storage, register(s), timing, interrupts), communication interface(s), and input/output signal interfaces, and the like, as well as combinations comprising at least one of the foregoing. For example, receiver 321 may include signal interlaces to enable accurate down-conversion and digital sampling and tracking of GNSS satellite signals as needed, and to facilitate extracting the various timing and navigation information, including, but not limited to, the phase of the PRN code timing pattern.
[0070] FIG, 7 shows an example embodiment of receiver 321 of attitude determining system 390 of FIG. 6 that can be used for detecting the presence of false GNSS satellite signals. System 390 of FIG. 6 and FIG. 7 uses single receiver unit 321 containing multiple synchronized tracking devices 202, 203 and 204. Each tracking device 202, 203 and 204 is associated with exactly one antenna 301 , 322 or 324, respectively. Each tracking device 202, 203 and 204 is capable of tracking a plurality of GNSS satellites. In this embodiment each tracking device 202, 203 and 204 is tracking each satellite 303, 304 and 305, respectively. Tracking devices 202, 203, and 204 serve the function of down converting the received Radio Frequency (RF) GNSS satellite signals 306, 307 and 308 arriving from the plurality of satellites 303, 304 and 305, sampling the composite signal, and performing high-speed digital processing on the composite signal (such as correlations with a PRN reference signal) that allow the code and carrier phase φ of each satellite to be tracked. Examples and further description of synchronized tracking devices such as tracking de vices 202, 203 and 204 are described in commonly assigned U.S. Patent 7,292,186 entitled Method and System for Synchronizing Multiple Tracking Devices For A Geo-location System, filed J anuary 5, 2005 , the contents of which are incorporated by reference herein in their entirety. Each tracking device 202, 203 and 204 is connected to a single shared computer processing unit (CPU) 31 8 in this embodiment. CPU 318, or processor 318, sends control commands 310, 31 1 and 312 to the plurality of tracking devices 202, 203 and 204, respectively. Control commands 310, 311 and 312 enable tracking devices 202, 203 and 204 to track the plurality of GNSS satellites 303, 304 and 305. CPU 318 receives back from each tracking device 202, 203 and 204 code and carrier phase φ measurements of the plurality of GNSS satellite signals 306, 307 and 308.
[00711 The terms "central processing unit", "CPU", "processor", "microprocessor", are using in this document interchangeably and are meant to mean a computing device that can perform hardware and or software processing steps, calculations and/or processes. The items referred to by these terms can include any one or all of a processor(s), computers), memory, storage, register(s), timing, interrupt(s), communication interface(s), software and/or processing code loaded onto a memory, or any other combination of hardware and/or software that is used for computations and/or executing steps.
[0072] A synchronization signal 214 is sent from master tracking device 202 to slave tracking devices 203 and 204. Sync signal 214 allows master tracking device 202 and slave tracking devices 203 and 204 to measure the code and carrier phase φ of each of the plurality of GNSS satellite signals 306, 307 and 308 simultaneously. Furthermore, the RF down conversion within each tracking device 202, 203 and 204 and the sampling of data by each tracking device 202, 203 and 204 is done using a common clock signal 320. When a single- difference phase observation is formed by subtracting the carrier (or code) phase φ measured by one tracking device with that measured by another tracking device for the same GNSS satellite, the portion of the phase due to receiver 321 's clock error is essentially eliminated in the difference. Thereafter, all thai remains of the single-difference clock error is a small, nearly constant bias that is due to different effective RF path lengths (possibly resulting from different cable lengths, slightly different filter group-delays, and the like). Consequently, the clock error may be estimated infrequently compared to other more important quantities such as heading, pitch, or roll. During the times thai the clock error is not estimated, attitude determining system 390 can produce an output using one fewer GNSS satellites than a system that must continually estimate clock error. Or, if a Kalman filter is utilized, the process noise for the clock state may be lowered substantially, allowing the Kalman filter to strengthen its estimate of the other states such as the angles of attitude. Finally, cycle slips are easier to detect since clock jumps can be ruled out.
[0073] Referring again to FIG. 6, selected pairs of antennas are grouped together so that GNSS satellite signal code or carrier phase differences Δ of GNSS satellite signals received by each of the two antennas of the pair may be computed. A GNSS satellite signal code or carrier phase difference Δ (also called phase difference or differential phase) is the difference between the GNSS satellite signal code or carrier phase φ value of a specific GNSS satellite signal measured at a first antenna, and the GNSS satellite signal code or carrier phase φ value of the same GNSS satellite signal measured at a second antenna. For example, in FIG. 6, the pairs AB, AC and BC are possible combinations of antenna pairs from which to compute phase differences Δ.
[0074] Attitude determining system 390 as shown in FIG. 6 and FIG. 7 uses
measurements of carrier phase φ values and computations of carrier phase differences Δ to detect false GN SS satellite signals. It is to be understood that code phase values and differences can be used in place of carrier phase values and differences in the computations described for attitude determining system .390. Carrier phase measurements are used in these embodiments because the carrier signal component has a higher precision than the code signal components, and therefore results in more precise location and attitude computations. FIG. 8 through FIG. 10 illustrate embodiments of a method 500 of detecting false GNSS satellite signals. FIG. 1 1 through FIG. 16 and the corresponding discussion show and describe the various elements included in the embodiments of method 500 shown in FIG. 8 through FIG. 10. In some embodiments of the invention, a GNSS attitude system such as system 390 is used to perform method 500. In some embodiments, a two-antenna system such as system 190 shown in FIG. 3 is used to perform method 500 of detecting false GNSS satellite signals. In some embodiments, the system for using method 500 of detecting false GNSS satellite systems includes at least a first antenna, a second antenna, and a receiver. The first and the second antenna receive a plurality of GNSS satellite signals. The receiver is electrically connected to the first and the second antenna, and receives the plurality of GNSS satellite signals received by each of the first and the second antenna. The receiver executes the elements included in the various embodiments of method 500 as illustrated in FIG, 8 through FIG. 10 and described below. The description below illustrates and describes how GNSS attitude determining system 390 of FIG, 6 through FIG. 7 and FIG. 1 1 through FIG. 16 is used to perform embodiments of method 500 to detect false GNSS satellite signals,
[0075] FIG. 8 illustrates one embodiment of method 500 of using a GNSS attitude system to detect false GNSS satellite signals. Method 500 includes an element 510 of receiving a plurality of GNSS satellite signals with each one of a plurality of antennas. In some embodiments each of the plurality of antennas belongs to the GNSS attitude system. In the embodiment shown in FIG. 6 and FIG. 7, GNSS attitude determining system 390 is performing method 500. In this embodiment the plurality of GNSS satellite signals includes GNSS satellite signals 306, 307, and 308 from GNSS satellites 303, 304, and 305 respectively. The plurality of antennas includes first antenna 301, second antenna 322, and third antenna 324. Each one of the plurality of antennas 301 , 322, and 324 receives each one of the plurality of GNSS satellite signals 306, 307, and 308.
[0076] Method 500 includes an element 530 of measuring a plurality of GN SS satellite signal code or carrier phase φ values. Receiver 321 of attitude determining system 390 executes element 530 of measuring a plurality of GNSS satellite signal code or carrier phase φ values in the embodiment shown in FIG. 6 and FIG. 7. Each GNSS satellite signal code or carrier phase φ value is a GNSS satellite signal code or carrier phase φ value for each one of the plurality of GNSS satellite signals 306, 307, and 308 at each one of the plurality of antennas 301, 322, and 324. In the embodiment of system 390 shown in the figures and in the description below, system 390 is measuring GNSS satellite signal carrier phase φ values. Carrier phase φ values are used by attitude system 390 because the carrier signal component has a wavelength that is small as compared to the code length and therefore provides greater accuracy in range, location, and attitude calculations. It is to be understood that code phase measurements can be used in place of carrier phase measurements in the calculations.
[0077] FIG. 1 1 illustrates elements of the measurement of carrier phase φ values for a GNSS satellite signal. FIG. 11 shows a portion of system 390 of FIG. 6 and FIG. 7, including GNSS satellite 303, also referred to as satellite SI, first antenna 301, second antenna 322 and receiver 321. The remaining items included in the plurality of GNSS satellites and the plurality of antennas of FIG. 6 and FIG. 7 have been left out of FIG. 11 for simplicity. FIG. 1 1 depicts the reception of GNSS satellite signal 306 containing a carrier 307 component by antennas 301 and 322 of attitude determining system 390 of FIG. 6 and FIG. 7, where GNSS satellite signal 306 is then routed from each antenna to receiver unit 321. First antenna 301 and second antenna 322 receive GNSS satellite signal 306 from GNSS satellite 303 S I . GNSS satellite signal 306 received at each antenna 301 and 322 is routed via cables 314 and 315 to receiver unit 321. Receiver unit 321 tracks GNSS satellite signal 306 using tracking devices 202 and 203 associated with antennas 301 and 322 (FIG, 7). Code and carrier phase φ measurements of GNSS satellite signal 306 are made at regular intervals. Of particular importance to some embodiments of this invention is the phase φ of the carrier 307 of GNSS satellite signal 306, which is related to the range to the satellite by the carrier's wavelength λ 309. The carrier phase φ is the measure of the particular point in the wavelength cycle that the GNSS satellite signal is at when it reaches an antenna. The range to GNSS satellite 303 may be expressed in terms of the number of carrier wavelengths λ 309 that will divide it. For GPS satellites, carrier wavelength λ 309 is approximately 19 cm for the LI carrier and 24 cm for the L2 carrier. The tracking loops within receiver 321 typically track the carrier phase φ to an accuracy of less than three percent of the carrier's wavelength λ. This equates to 5mm or less when tracking the LI carrier signal in the GPS form of GNSS. The carrier phase value of GNSS satellite signal 306 as measured at first antenna 301 is designated φ$' , and the carrier phase value of GNSS satellite signal 306 as measured at second antenna 322 is designated φζι . The naming convention used herein for carrier phase φ is such that the SI superscript designates the satellite that originated the GNSS satellite signal that is having its phase measured, and the subscript designates the location of the antenna at which the carrier phase φ is measured.
[0078] Element 530 of measuring a plurality of GNSS satellite signal code or carrier phase φ values according to embodiments of the invention can include many other elements. Element 530 of measuring a plurality of GNSS satellite signal code or carrier phase φ values can be performed by any method known in the art now or discovered in the future for measuring GNSS satellite signal code or carrier phase φ values of GNSS satellite signals,
[0079] The embodiment of method 500 shown in FIG. 8 also includes an element 550 of using the plurality of GNSS satellite signal code or carrier phase φ values to determine whether the plurality of GNSS satellite signals 306, 307, and 308 includes a false GNSS satellite signal Element 550 is executed by receiver 321 in the embodiment shown in FIG. 6 and FIG. 7. The measured GNSS satellite signal code or carrier phase φ values can be used in any number of ways to determine whether the plurality of GNSS satellite signals 306, 307, and 308 comprises one or more than one false GNSS satellite signal. Several of these ways are described below. In some embodiments the GNSS satellite signal code or carrier phase φ values are used to measure ranges and GNSS locations of the plurality of antennas as explained earlier with respect to FIG. 3 and FIG.4. FIG. 9 and FIG. 10, which are to be discussed shortly, sho and describe a number of further embodiments of element 550 of method 500 as shown in FIG. 8.
[0080] Method 500 of using a GNSS attitude system to detect false GNSS satellite signals can include many other elements. In some embodiments method 500 includes an element 570 of preventing the attitude system from outputting a positional output in response to determining that the plurality of GNSS satellite signals includes a false GNSS satellite signal. This element is shown in dotted lines in FIG, 8 because it is optional in method 500 of FIG. 8. In some embodiments, the system for detecting false GNSS satellite signals such as attitude determining system 190 or 390 described in this document provides a warning once false GNSS satellite signals are detected. In other embodiments, the system for detecting false GNSS satellite signals such as attitude determining system 190 or 390 described in this document excludes the detected false GNSS satellite signals from the location calculation. Element 570 includes any elements or steps performed, or executed, to provide a warning or to prevent the attitude system from outputting false navigational data. The false navigational data could allow the false GNSS satellite signals to take over navigation of a vehicle, for example. In some embodiments, element 570 includes preventing locationai data, from being output from attitude determining system 390. In some embodiments, element 570 includes preventing attitude data from being output from attitude determining system 390. In some embodiments, element 570 includes preventing range data from being output from attitude determining system 390. In some embodiments, element 570 includes preventing a National Marine Electronics Association (NMEA) output message such as the NMEA GPGGA output message from being delivered from attitude determining system 390. Preventing the attitude system from providing navigational data such as range, location, and attitude will prevent the false GNSS satellite signals from taking control of the equipment that is using the attitude system. In some embodiments, method 500 includes outputting a warning signal in response to detecting false GNSS satellite signals. In some embodiments, method 500 includes excluding false GNSS satellite signals from computations suc as location, attitude, or time. In some embodiments, method 500 includes excluding a particular type of GNSS satellite signals (GPS, GLONASS, BDS) from computations in response to detecting a false GNSS satellite signal of the particular type. For example, if a GPS satellite signal is detected to be false, the attitude system can use GLONASS satellite signals for computations, excluding the GPS signals.
[00811 Several embodiments of element 550 of using the plurality of GNSS satellite code or carrier phase φ values to determine whether the plurality of GNSS satellite signals comprise a false GNSS satellite signal are shown in FIG. 9 and FIG. 10 and described below. FIG. 9 shows embodiments of element 550, including two embodiments of element 554 of element 550. FIG. 10 shows a further embodiment of element 554 of element 550.
[0082] Element 550 of FIG. 9 includes an element 552 of computing a plurality of first carrier phase differences Δι from the plurality of carrier phase φ values. In some
embodiments code phase values are measured instead of carrier phase φ values, and code phase differences computed instead of carrier phase φ differences. It is to be understood that code phase values and differences can be used in place of carrier phase values and differences by attitude system 390. In this document the first carrier phase difference is designated as Δι, and is defined as the difference between the measured carrier phase φ of a specific one of the plurality of GNSS satellite signals at a first antenna (A) and the measured carrier phase φ of that same specific one of the plurality of GNSS satellite signals at a second antenna (B), and is given by:
( 1) where φΒ is the measured carrier phase of the GNSS satellite signal originating at satellite S and having its earner phase measured at antenna B, and
Figure imgf000026_0001
is the measured carrier phase of the same GNSS satellite signal originating at satellite S but having is carrier phase measured at antenna A. First carrier phase difference Δ[ in this embodiment is a measured carrier phase difference because it is determined from the measured carrier phase φ values. This is in contrast with the second estimated carrier phase difference Δ2 to be discussed shortly, which is an estimated carrier phase difference value computed based on geometric considerations.
[0083] Equation 1 provides one method of executing element 552 of FIG. 9 of computing a plurality of first carrier phase differences Δι from the plurality of carrier phase φ values. Once a plurality of carrier phase φ values are measured by receiver 321 of system 390 for a plurality of GNSS satellite signals at a plurality of antennas (element 530), the first carrier phase differences Δι are computed according to Equation 1 and element 552 of method 500. First carrier phase differences A\ are determined for each antenna pair and for each GNSS satellite signal. These first carrier phase differences Δ3 are then used to determine whether the plurality of GNSS satellite signals includes false GNSS satellite signals, as detailed as element 554 in FIG. 9 and FIG. 10. Thus, in some embodiments, computing a plurality of first carrier phase differences includes subtracting a measured carrier phase φ value of each individual one of the plurality of satellite signals as received at a first one of the plurality of antennas from a corresponding meas ured carrier phase φ value of each individual one of the plurality of satellite signals as received at a second one of the plurality of antennas.
[0084] Element 550 of method 500 in the embodiment shown in FIG. 9 includes an element 554 of using the plurality of first carrier phase differences A\ to determine whether the plurality of GNSS satellite signals includes a false GNSS satellite signal. The first carrier phase differences Δι can be used in many ways to determine whether the plurality of GNSS satellite signals includes a false GNSS satellite signal. Described below are the details of a number of example steps, elements, methods, and computations for executing element 554 of using the plurality of first carrier phase differences Δι to determine whether the plurality of GNSS satellite signals includes a false GNSS satellite signal using attitude determining system 390 of FIG. 6, and FIG. 7. These embodiments of element 554 include computations of the attitude of a baseline vector connecting two of the antennas (element 556 and element 564 to be described shortly ), and the computation of second estimated carrier phase differences Δ2 (element 558 and 566 to be described shortly). The results of these computations using the plurality of carrier phase φ values and the plurality of first carrier phase differences Δι are used to determine whether the plurality of GNSS satellite signals include a false GNSS satellite signal.
[0085] Embodiments of element 554 of method 500 of detecting false GNSS satellite signals as shown in FIG, 9 and FIG. 10, and as used by system 390 rely on determining both a measured and an estimated carrier phase difference Δ value, and then comparing the measured and the estimated carrier phase difference Δ values to determine whether system 390 is receiving false GNSS satellite signals. System 390 according to embodiments of the invention computes a first measured carrier phase difference Δ[, and a second estimated carrier phase difference Δ2. Computation of the first carrier phase difference Δ; comprise element 552 as described above according to Equation 1. Computation of the second carrier phase difference Δ2 comprise element 558 shown in FIG. 9 and FIG. 10 and will be discussed in further detail shortly. As mentioned earlier, first carrier phase difference Δ>, is in this embodiment a measured carrier phase difference, computed from measured carrier phase φ values using Equation 1. Second carrier phase difference Δ2 is an estimated value based on the assumed geometry of the GNSS satellites and the antennas. In a normal - non-spoofed GNSS system it is expected that the estimated second carrier phase difference Δ2 will match the measured first carrier phase difference Δ¾ , The residual error is the difference between first measured carrier phase difference Δχ and second estimated carrier phase difference Δ2, in other words the residual error is the difference between the measured and the estimated calculations of carrier phase difference Δ, When false GNSS satellite signals are present, the two values Δ-. and Δ? will not agree. Thus false GNSS satellite signals can be detected by comparing the two carrier phase differences Δι and Δ2, because the residual error or amount of difference between the two carrier phase difference values Δχ and Δ2 will often be large when false GNSS satellite signals are received. When false GNSS satellite signals are not present, the two values Δι andA2 will often match with little residual error. The mismatch of first measured carrier phase difference Δ¾ values and second estimated carrier phase difference Δ2 values is the basis of some embodiments of element 554 of method 500 of detecting false GNSS satellite signals according to the invention. In some embodiments a third carrier phase difference Δ< - another estimated value - is computed and compared to the first and second carrier phase differences Δχ and Δ2. Computation and use of third carrier phase difference Δ3 comprises elements 566 and 568 of element 554 of FIG. 10 and will be discussed shortly.
[0086] Element 554 of FIG. 9 includes element 556 of computing an attitude of a baseline vector between a first one of the plurality of antennas and a second one of the plurality of antennas using the plurality of first carrier phase differences Δ¾ . The attitude of the baseline vector is used to compute the second carrier phase difference Δ2. FIG. 12 through FIG.15 illustrate elements important to the computation of the attitude of a baseline vector and the computation of the second carrier phase difference Δ2. FIG. 12 and FIG. 13 show components of attitude determining system 390 for detecting false GNSS satellite systems of FIG. 6, FIG. 7, and FIG. 1 1 , with some of the components not shown for simplicity. FIG. 12 and FIG. 13 show first and second antennas 301 and 322 of FIG. 6, FIG. 7, and FIG. 1 1 located at points A and B. Antennas 301 and 322 each receive GNSS satellite signal 306 from GNSS satellite 303 SI , Range vector R extends from satellite 303 (SI ) to antenna 301 at point A. The range vector naming convention used herein is such that the superscript designates the satellite that the vector extends from, and the subscript designates the antenna that the vector extends to. Therefore range vector R extends from satellite SI (303) to antenna 301 at point A. Range vector R extends from sateilite S I (303) to antenna 322 at point B. Vector Ri9 extends between first antenna 301 and second antenna 322, joining points A and B. Any vector, such as vector R49 , thai joins two antennas will be termed a baseline vector. For the purpose of illustration, in FIG. 12, baseline vector RM , also denoted as 370 in the figures, is shown significantly large relative to the distance to sateilite 303. FIG. 13 depicts the scenario that is more diagrammaiicaily and geometrically accurate, where sateliite 303 S I (not shown in FIG. 13) is significantly far away relative to the length of RAB , so that range vectors R" and R are essentially parallel.
[0087] The difference in the length of range vector R and the length of range vector Rg is a value that is equivalent to the carrier phase difference Δ-, of a GNSS satellite signal that is being received by both antenna 301 A and antenna 322 B. , Thus, in the system shown in FIG. 12 and FIG. 13, the difference in the length of range vector i? and the length of range vector R can foe used to estimate the carrier phase difference Δ¾ between the carrier phase φ value of GNSS satellite signal 306 from GNSS satellite 303 (SI) as received at second antenna 322 ( f/^1 ) and the carrier phase φ of signal 306 as received at first antenna 301 ( ), and is defined as the geometric or estimated carrier phase difference Δ'^ , as shown in FIG. 13 denoted as 350. The naming convention used herein for geometric or estimated carrier phase difference is such that the S I superscript designates the satellite that originated the GNSS satellite signal that is having its phase difference Δ estimated, and the AB subscript designates the antennas that are receiving the GNSS satellite signal
[0088] Attitude systems such as attitude determining system 390 routinely compute the attitude, or orientation of an object's axes relative to a reference system, based on the computed GNSS location of two or more receiving antennas such as antenna 310 at location A and antenna 322 at location B shown in FIG. 13, FIG. 14 illustrates baseline vector 370 R i; relative to earth base reference system 358. It is to be understood that often the attitude of objects is computed relative to a body-fixed reference system that is different than the earth-base reference system 358 shown, but the transformation from one reference system to another is a standard computation. Earth-base reference system 358 shown in FIG. 14 includes X axis 360 which points North, Y axis 364 which points East, and Z axis 362 which points down, towards the center of the earth. The attitude of baseline vector 370 RM can be defined using yaw angle ψ 366, also known as heading, or azimuth angle, pitch angle Θ 368, roll angle φ 369, and length L 380. With a two-dimensional object only two angles are needed, pitch angle Θ 368 and roll angle φ 369. In many attitude determining systems length
L 380 of baseline vector 370 RM is known because it is the distance between the two antennas 301 and 322, which is known or can be determined. Thus in some embodiments the computation of the attitude of the baseline vector includes computing the attitude of the baseline vector using a predetermined length of the baseline vector, where the predetermined length is the distance between the two antennas defining the baseline vector. The fewer the elements to be determined computationally, the fewer the number of equations that are needed to solve, and the more robust the computation. The computation of attitude of baseline vectors is routinely performed by GNSS attitude systems such as system 390.
Method 500 takes advantage of this capability of attitude determining systems, and applies it to the problem of detecting false GNSS satellite signals. Details of the computation of the attitude of a baseline vector is described in more detail in United States Patent No. 7, 292, 185 to Whitehead, et al, which the contents thereof are incorporated entirely herein by reference. It is to be understood that other angles and variables can be used to specify the attitude of a vector.
[0089] The estimated, or geometrically defined, carrier phase difference AS 4 ] B 350 as described earlier is defined based on geometric considerations as shown in FIG.13. This geometric carrier phase difference Δ'^, 350 is in general the dot product of a unit vector from a GNSS satellite and the baseline vector RAJS between the two antennas at location A and B that are receiving the GNSS satellite signal, given by:
Figure imgf000030_0001
where fi [ is the unit vector from satellite 303 S I (denoted 330 in FIG. 13) and R/W is the baseline vector 370 from antenna 301 at location A and antenna 322 at location B. The geometric carrier phase difference Δ^, is an estimated value for the measured carrier phase difference Δ , as determine by equation 1. Substituting equation 2 into Equation 1 gives Equation 3 :
Figure imgf000030_0002
[0090] Equation 3 is used by attitude determining system 390 to execute element 556, solving for baseline vector R4g using multiple measurements of first carrier phase differences Δι from multiple satellites. This is illustrated in FIG. 15. Unit vector ?'' 330 is determined by attitude determining sy stem 390 using the known location of the originating satellite and the receiving antenna, as is known in the art of attitude determination. FIG. 15 shows the locations A and B of first and second antenna 301 and 32.2. of attitude system 390 of FIG. 6 and FIG. 7 and FIG. 1 1 through FIG. 13. Antennas 301 and 322 are not shown for simplicity of FIG. 13. Shown also are the three GNSS satellites 303 (S I), 304 (82), and 305 (S3) of FIG, 6 and FIG. 7 and FIG. 1 1 through FIG, 13, the range vectors extending from each of GNSS satellites 303, 304, and 305 and locations A of first antenna 301 and location B of second antenna 322. GNSS satellites 303 , 304, and 305 are broadcasting GNSS satellite signals 306, 307, and 308 respectively as shown previously in FIG. 6. R ange vectors R*1 and Rg are the range vectors from satellite 303 (S I) to locations A and B respectively. Range vectors &y and _¾j2 are the range vectors from satellite 304 (S2) to locations A and B respectively. Range vectors R J and R*-' are the range vectors from satellite 305 (S3) to locations A and B respectively. The estimated geometric carrier phase differences for each of the GNSS satellite signals 303, 304, and 305 as recei ved by each of the first and the second antenna 301 and 302 are shown as 350, 352 and Δ"7¾ 354 respectively.
[0091 ] Attitude determining system 390 executes element 556 in some embodiments by creating an Equation 3 for each GNSS satellite signal and each baseline vector, then using the multiple equations to solve for the attitude of the baseline vector. Algebraic least -squares method or Kaiman filter methods may be used to sol ve for the attitude of the baseline vector using the measured first carrier phase differences Δι. Attitude determining systems such as attitude determining system 390 of embodiments of the invention routinely perform calculations of the attitude of unit vectors and baseline vectors, as mentioned earlier. Further details about the calculation of unit vectors and baseline vectors can be found in United States Patent No. 7,292, 185 to Whitehead.
[0092] For the system shown in FIG. 13, the set of equations to be solved would be given by:
(4)
(5)
and
Figure imgf000031_0001
where Δ^, ι, Δ^ 5, and Δ^ i are the measured first carrier phase differences Δι computed using equation 1 and the measured carrier phase φ values of GNSS satellite signals 306 (from satellite 303 S I), 307 (from satellite 304 S2), and 308 (from satellite 305 S3) measured at antenna 301 A and 322 B. These three equations are simultaneously solved to determine the attitude of the baseline vector R/W 370. It is to be understood that in some embodiments more GNSS satellite signals are used, which provide a greater number of measured first carrier phase difference Δι values. Often, the greater the number of equations that are solved simultaneously, the greater the resulting accuracy of the calculation of the attitude of baseline vector RAS . In some embodiments the attitude of a second baseline vector is computed, where the second baseline vector extends between a first one of the plurality of antennas and a third one of the plurality of antennas. For attitude system 390 of FIG. 6, the second baseline vector extending between a first one of the plurality of antennas and a. third one of the piuralityof antennas is baseline vector RiC 372 between antenna A 301 and antenna 324 at location C, for example.
[0093] In this way the plurality of first carrier phase differences Δ| are used to perform element 556 of computing an attitude of a baseline vector between a first one of the plurality of antennas and a second one of the plurality of antennas. Element 556 is one of the elements that comprise element 554 in the embodiment of element 550 as shown in FIG. 9 and FIG. 10, and element 550 is one of the elements of method 500 according to embodiments of the invention of FIG. 8.
[0094] The next step in element 554 of using the plurality of first carrier phase differences Δι to determine whether the plurality of GNSS satellite signals comprises a false GNSS satellite signal of element 550 as detailed in FIG. 9, is element 558 of computing a plurality of second carrier phase differences Δ2 using the attitude of the baseline vector. For each of the first measured carrier phase difference Δι values, a corresponding second, or estimated, carrier phase difference Δ2 is computed using Equation 2 and the known attitude of the baseline vector and the unit vector from the solution to Equation 3. For the system shown in FIG. 15 the equations would be:
A 2 = RAB ^ (7)
Figure imgf000032_0001
and where As B 2, Δ*^ 2 and Δ 2 are the second or estimated carrier phase differences Δ2 values. It is to be understood that in some embodiments there will be more sets of baseline vectors, GNSS satellite signals, and corresponding measurements of carrier phase differences Δι and Δ2. In general computing a plurality of second carrier phase differences Δ2 using the attitude of the baseline vector extending between a first and a second antenna includes computing the dot product of the baseline vector extending between the first and the second antenna and each one of a plurality of unit vectors, wherein each of the plurality of unit vectors corresponds to each of a corresponding one of the plurality of GNSS satellites and GNSS satellite signals. The result is a set of second, or geometric, carrier phase differences Δ? , The second carrier phase differences Δ2 are computed based on the assumed geometry of the system, the GNSS satellite locations and the attitude of the baseline vector R/W . One of skill in the art will recognize that the calculation of first and second carrier phase differences is an iterative process which can be repeated to minimize error in the calculations, which will increase the reliability of the detection of false GNSS satellite signals.
[0095] Step 560 of element 554 as shown in FIG. 9 includes comparing the plurality of second estimated geometric carrier phase differences Δ2 to the first measured carrier phase differences Δι . There are many ways that the first carrier phase differences Δ , and the second carrier phase differences Δ2 can be compared to each other. In some embodiments the corresponding first and second carrier phase differences Δι and Δ2 are differenced and the differences squared and averaged or summed. In some embodiments this element involves subtracting the first carrier phase difference Δχ for each one of the plurality of GNSS satellite signals from the second carrier phase difference Δ2 for the corresponding same one of the plurality of GNSS satellite signals. In some embodiments a residual error value is computed using the differences between the first and second carrier phase differences Δχ and Δ2. In some embodiments the first carrier phase differences Δ>. and the second carrier phase differences Δ2 are compared in a way that results in a computation of a number or set of numbers that provides a measure of the size of the difference between the first and second carrier phase differences Δι and Δ2.
[0096] Step 562 of element 554 in the embodiment of element 550 shown in FIG 8 includes using the comparison of the pluralities of first carrier phase differences Δ-. and second carrier phase difference Δ2 to determine whether the plurality of GNSS satellite signals includes a false GNSS satellite signal Under normal operation of a GNSS navigational system, the second estimated or geometric carrier phase differences Δ2 should match the first or measured carrier phase differences Δ| to within some threshold residual error value or margin of error. In some embodiments the computed residual error between the first carrier phase differences Δι and second carrier phase differences Δ2 can be compared to a threshold residual error value to determine if the difference between the first and second carrier phase differences Δ[ and Δ? are large enough to indicate that the plurality of GNSS satellite signals comprises at least one false GNSS satellite signal The first and second carrier phase difference Δι and Δ2 can be compared in any way which allows a
determination of whether the differences between the two sets of values is large enough to indicate the presence of false GNSS satellite signals.
[00971 The difference between the first earner phase differences Δι and the second carrier phase differences Δ2 will be large when there are false GNSS satellite signals present - the attitude system is being spoofed - because each of the false GNSS satellite signals will result in approximately the same first carrier phase difference At value for each satellite signal. This will not be the case when the attitude system is receiving real GNSS satellite signals. This is illustrated in FIG. 16. FIG. 1 6 shows the situation of FIG. 15 except first antenna 301 at location A and second antenna 322 at location B are receiving spoofing signal 142 of FIG. 1 through FIG. 3. Spoofing signal 142 in this embodiment contains three false GNSS satellite signals 1 16, 1 17, and 1 18 which result in range values of Rl (216), R2 (217), and R3 (21 8) being computed by receiver 321, as shown in the figures. When the carrier phase φ of these signals 1 16, 1 1 7, and 1 18 is measured and differenced, the first measured canier phase difference values Δι for each different false GNSS satellite signal will be the same value or nearly the same value within the accuracy of the computation, and will not match well with the corresponding second estimated or geometric carrier phase difference value Δ2, which assumes the satellite signals are originating from the sky where they would be originating from under normal non- spoofing circumstances.
[0098] For example and as shown in FIG. 13 through FIG. 16, the signal path length differences between first antenna 301 at location A and second antenna. 322 at location B, depend on the angle that the GNSS satellite signal's path makes with respect to the baseline vector RU! as can be seen in FIG. 15. Satellites are typically at different points in the sky, and thus make different angles with respect to each baseline vector. In a normal system without false GNSS satellite signals such as shown in FIG. 15, both the first measured carrier phase differences Δ¾ and the second geometric carrier phase differences Δ2 will be approximately the same value for each GNSS satellite signal, and each GNSS satellite signal will all have different phase difference values, as seen in FIG. 15 by the differing length of (350), (352) and &% (354). In other words, in a normal non-spoofed system, the second estimated or geometrically computed carrier phase differences Δ2 will match the first or measured carrier phase differences Δι with little residual error,
[0099] When the attitude system is receiving false GNSS satellite signals, however, the first carrier phase differences Δ[ and the second carrier phase differences Δ2 will not match each other. The second carrier phase differences Δ2 will be different values for each GNSS satellite signal, as shown in FIG, 13 as (350), Δ^ (352) and (354), because attitude determining system 390 assumes the GNSS satellite signals are originating from different satellites in the sky, and will compute different second or geometric carrier phase differences Δ? for each GNSS satellite signal. However, the first carrier phase differences Δ-. will be the same values for each G SS satellite signal as shown in FIG. 16, and will be equal to the common path length difference AD 4B (356) as shown in FIG. 16. The false GNSS satellite signals have the same path length difference, and hence the same first measured carrier phase difference Δι values as measured at each of the antennas at location A and B, because the false GNSS satellite signals are originating from the same transmitter 141. Thus, the residual errors between the first and second carrier phase differences Δ| and A> will be large in this situation. Thus, there will be no solution for the attitude of the baseline vector R iB that will result in both small residual error between the first measured and second geometric carrier phase differences Δχ and Δ2 and yield the correct, known baseline distance under spoofing conditions - when false GNSS satellite signals are being received.
[001001 This large difference between the first measured and second estimated carrier phase differences Δι and Δ2 is used in element 562 to determine that attitude determining system 390 is receiving at least one false GNSS satellite signal. When an attitude system such as system 390 is being spoofed with false GNSS satellite signals, the residual error between the first and second carrier phase differences Δχ and Δ2 will be large. The residual error being larger than a threshold residual error value is an indication that false GNSS satellite signals are being received. It will be determined that at least one of the plurality of GNSS satellite signals are false GNSS satellite signals in response to the residual error value being larger than a threshold residual error value.
[00101] Thus receiver 321 of system 390 executes a computation resulting in a comparison of the first measured and second estimated carrier phase differences Δχ and Δ?, and makes a determination of whether system 390 is receiving false GNSS satellite signals based on the result of the computation. In some embodiments a residual error is computed based on the differences between the first and second carrier phase differences Δ] and Δ2. System 390 determines that false GNSS satellite signals are being received by system 390 when the residual error between the first and second carrier phase differences At and Δ2 is larger than a predetermined threshold residual error value.
[00102] A way to check this determination that the attitude system is receiving false GNSS satellite signals is to solve for the attitude of the baseline vector using a predetermined length L (380 in FIG. 14) of zero for the baseline vector. The solution of this attitude computation is called a zero-length baseline solution. As mentioned earlier, when a system is spoofed, the receiver will compute approximately the same GNSS location for each of the receiving antennas. Setting the length of the baseline vector between two antennas to zero is equivalent to the antennas being in the same location. Therefore, computing the attitude of the baseline vector between two antennas using a length of zero will result in a set of third estimated earner phase differences Δ3 that better match the first earner phase differences Δ; that are measured using the false GNSS satellite signals. Here, Δ3 will be zero, or exhibit a term that is common to all satellite phase differences. The zero baseline solution means that the ranges at both antennas are assumed to foe the same (or contain a common clock/delay term), and thus the ranges differences, Δ3 , are zero or share a common value for all spoofed satellite signals.
[00103] This technique is embodied in element 554 as shown in FIG. 10. Elements 556, 558, 560 and 562 are as described earlier. Element 564 involves computing the zero-length baseline solution between the first antenna and the second antenna using the plurality of first earner phase differences and a predetermined value of zero for the length L of the baseline vector. For attitude determining system 390 of FIG.5 and FIG. 7 zero-length attitude vector RM zero will be solved for using Equation 4, 5 , and 6 and a value of zero for the length L 380 of attitude vector R iB . Once the zero -length baseline solution R iB zero is determined, this solution is used in Equation 7, 8, and 9 to compute a plurality of third estimated carrier phase differences A3.
[00104] Element 566 includes computing a plurality of third carrier phase differences Δ3 using the zero-length baseline solution between the first and the second antenna. For this element the zero-length baseline solution RU! zero will be used in Equations 7, 8 and 9 above to compute a plurality of third estimated carrier phase differences Δ3.
[00105] Element 568 includes comparing the plurality of first carrier phase differences Δι to the plurality of third carrier phase differences Δ3. For computations with an attitude system such as attitude determining system 390 that is receiving false GNSS satellite signals, the third carrier phase difference Δ3 values will match well, with little residual error, to the first carrier phase differences Δχ . The first and third carrier phase differences Δι and Δ3 can be compared using any number of computations. In some embodiments, element 568 includes computing a zero-length residual error between the plurality of first carrier phase differences Δι and the plurality of third carrier phase differences Δ3. System 390 will determine whether false GNSS satellite signals are present based on the results of these computations. Receiver 321 of system 390 determines that false GNSS satellite signals are being received by system 390 when the residual error between the first and second carrier phase differences Δχ and Δ2 is greater than a predetermined threshold residual error value, and the zero-length baseline residual error between the first and third carrier phase differences Δι and Δ3 is less than the predetermined threshold residual error value. The computation of the zero-length baseline solution, the resulting third carrier phase differences Δ¾ and the zero- length residual error is used in this embodiment to confirm the determination that false GNSS satellite signals are present.
[00106] Thus, when an attitude determining system such as system 390 is being spoofed with false G SS satellite signals, the residual error between the first measured and second estimated carrier phase differences Δχ and Δ? will be large. When the residual error is greater than a threshold residual error value it will be used as an indication of false GNSS satellite signals. When an attitude determining system such as system 390 is being spoofed with false GNSS satellite signals, the zero-length residual error between the first measured and third estimated carrier phase differences Δι and Δ3 will be small. When both the residual error is greater than a threshold residual error value AND the zero-length residual error is less than the threshold residual error value, it will be used as an indication of false GNSS satellite signals.
[00107] Described above is a number of systems and methods for determining the presence of false GNSS satellite systems. The system according to some embodiments of the invention uses at least two antennas to receive a plurality of GNSS satellite signals from a plurality of GNSS satellites. Measurements of GNSS satellite code or carrier phase φ of the GNSS satellite signals are made. The GNSS satellite code or carrier phase φ measurements are used in a number of computations to detect the presence of false GNSS satellite signals. Various embodiments of the method of detecting GNSS satellite systems include
computations of the range to the GNSS satellites, the GN SS locations of the antennas, the attitude of baseline vectors between pairs of antennas, and first measured and second estimated carrier phase differences for the GNSS satellite signals at pairs of antennas. These meas urements and computations are used to detect the presence of false GNSS satellite signals so that the vehicle or device that is using the system is not mis-directed by the false GNSS satellite signals, or does not provide incorrect time data. It is to be understood that the systems, methods, computations, and elements described herein can be used in many different forms according to embodiments of the invention, and is not limited to the examples described in this document. Many variations will be apparent to those skilled in the art based upon the examples and descriptions in this document.
[00108] FIG. 17 through FIG. 31 show and describe embodiments of systems and methods for determining the direction of a false GNSS satellite signal transmitter. Once it is determined that a navigational device is receiving false GNSS satellite signals, it may be useful to determine which direction the false GNSS satellite signals are coming from. This direction information can be used to block the false signals, for example, or to help in finding and disabling the false GN SS satellite signal transmitter. In the example embodiment described below, devices 690, 790 and 890 both detect the presence of the false GNSS satellite signals, and determine the direction of the false GN SS satellite signal transmitter that is transmitting the false GNSS satellite signals. It is to be understood thai these actions could be performed by two (or more) different GNSS devices in some embodiments.
[00109] FIG. 17 shows a perspective view of an embodiment of a GNSS device 690 for determining the direction of a false GNSS satellite signal transmitter. GNSS device 690 includes a device body 691, a. first antenna 601, a second antenna 622, and a. rotation apparatus 693. GNSS device 690 also includes a receiver 621 as shown in block diagram form in FIG. 18. Receiver 621 is inside device body 691 in this embodiment. In some embodiments, receiver 621 is external to device body 691. Device body 691 has a direction axis 694. Direction axis 694 is used as the reference direction when determining the direction of the false GNSS satellite signal transmitter. Direction axis 694 can be aligned with, or correlated to, a direction on a rigid body that GNSS device 690 is mounted to.
[001 10] First antenna 601 and second antenna 622 are GNSS satellite signal receiver antennas similar to antennas 101 and 122 and 301 and 322 discussed earlier. GNSS device 690 is similar to GNSS devices 190 and 390 discussed earlier, except that GNSS device 690 includes rotation apparatus 693 as shown in the figures and described herein. Rotation apparatus 693 moves, or rotates, second antenna 622 around first antenna 601. Rotation apparatus 693 rotates second antenna 622 around first antenna 601 so that GNSS device 690 can determine the direction of a false GNSS satellite signal transmitter, as will be explained shortly. Rotation apparatus 693 moves second antenna 622 such that baseline vector 670 extending from first antenna 601 to second antenna 622 has a constant length, and rotates through a plurality of rotation angles Θ 696. Rotation angle Θ 696 is measured with respect to direction axis 694, as shown in FIG. 17 and FIG. 19.
[0011 1] FIG. 19 shows a simplified top view of first antenna 601 and second antenna 622 (drawn in simplified form), baseline vector 670 extending from first antenna 601 to second antenna 622, and direction axis 694. Second antenna 622 follows rotation path 695 around first antenna 601 as shown in FIG. 17 and FIG. 19. First antenna 601 is fixed at location A in this embodiment. Rotation angle 0 696 is the angle between baseline vector 670 and direction axis 694. Rotation angle Θ 696 varies from 0 to 360 degrees as antenna 622 rotates in a 360 degree circle about first antenna 601 on rotation path 695. It is to be understood that in some embodiments rotation device 693 is designed such that second antenna 622 rotates in a sphere or other rotation surface around first antenna 601. Embodiments of rotation device 693 can be designed to rotate second antenna 622 in any desired rotation surface around first antenna 601 , according to the rotation angle set within which it is desired to look for a direction of a false GNSS satellite transmitter.
[001 12] GNSS device 690 also includes a processor 618, which in this embodiment is a part of receiver 621 (See FIG. 18). Processor 618 computes range differences AR for different rotation angles Θ 696 of baseline v ector 670, and uses the computed range differences ΔΚ to determine the direction of the false GNSS satellite signal transmitter, as explained below.
[00113] FIG.18 shows an example embodiment of receiver 621 of GNSS device 690 of FIG. 17 that can be used for determining the direction of a false GNSS satellite signal transmitter. GNSS device 690 of FIG. 18 uses single receiver unit 621 of FIG. 18, containing multiple synchronized tracking devices 602 and 603. In some embodiments receiver unit 621 uses more than two tracking units, such as tracking unit 604 or additional tracking units coupled to additional antennas such as antenna 624. These optional devices are shown in dotted lines in FIG. 18 to show that embodiments of receiver 621 can be coupled to, and track, more than first antenna 601 and second antenna 622.
[00114] Each tracking device 602 and 603 is associated with exactly one antenna 601 and 622 respectively. Each tracking device 602 and 603 is capable of tracking a. plurality of GNSS satellites. Tracking devices 602 and 603 serve the function of down converting the received Radio Frequency (RF) GNSS satellite signals arriving from a plurality of GNSS satellites, sampling the composite signal, and performing high-speed digital processing on the composite signal (such as correlations with a PRN reference signal) that allow the code and carrier phase φ of each satellite to be tracked, and range calculation to be made between each antenna 601 and 622 and each of the GNSS satellites being tracked. Examples and further description of synchronized tracking devices such as tracking devices 602 and 603 are described in commonly assigned U.S. Patent 7,292,186 entitled Method and System for Synchronizing Multiple Tracking Devices For A Geo-location System, filed January 5, 2005, the contents of which are incorporated by reference herein in their entirety.
[001 15] Each tracking device 602 and 603 is connected to a single shared processor 618 in this embodiment. Processor 618 sends control commands 682 and 683 (and optionally 684 and/or additional control signals) to the plurality of tracking de v ices 602 and 603, respectively. Control commands 682 and 683 enable tracking devices 602 and 603 to track a plurality of GNSS satellites. Processor 618 receives back from each tracking device 602 and 603 code and carrier phase φ measurements of the plurality of GNSS satellite signals received from the plurality of GNSS satellites being tracked.
[00116] Synchronization signal 685 is sent from master tracking device 602 to slave tracking device 603. Sync signal 685 allows master tracking device 602 and slave tracking devices 603 (and other slave tracking devices such as slave 604 in some embodiments) to measure the code and carrier phase φ of each of a plurality of GNSS satellite signals simultaneously. Furthermore, the RF down conversion within each tracking device 602 and 603 and the sampling of data by each tracking device 602 and 603 is done using common clock signal 620. When a single- difference phase observation is formed by subtracting the carrier (or code) phase φ measured by one tracking device with that measured by another tracking device for the same GNSS satellite, the portion of the phase due to receiver 621 's clock error is essentially eliminated in the difference. Thereafter, all that remains of the single-difference clock error is a small, nearly constant bias that is due to different effective RF path lengths (possibly resulting from different cable lengths, slightly different filter group-delays, and the like). Consequently, the clock error may be estimated infrequently compared to other more important quantities such as heading, pitch, or roll.
[001 17] FIG. 20 and FIG. 21 shows device 690 for determining the direction of a false GNSS satellite signal transmitter of FIG. 17 through FIG. 19 mounted to vessel 100 of FIG. 1 and FIG. 3. FIG. 1 and FIG. 3 show an embodiment of system 190 for detecting false GNSS satellite signals mounted to vessel 100. In the embodiment shown in FIG. 20 and FIG. 21 , vessel 100 of FIG, 1 includes device 690 for determining a direction 698 of false GNSS satellite signal transmitter 141. GNSS device 690 has replaced GNSS system 190 on vessel 100. GNSS device 690 has the features and capabilities of system 190 as shown and described in FIG. 1 through FIG. 10 and the associated text, with similar numbers used to denote similar features. Device 690 in this embodiment detects the presence of false GNSS satellite signals, the same or similar to system 190 and'or system 390 described earlier. GNSS device 690 also determines the direction 698 of the false GN SS satellite signal transmitter, such as false GNSS satellite signal transmitter 141 shown in the figures. [001 18] In the embodiment of device 690 shown in FIG. 17 through FIG. 23, device 690 has two GNSS antennas, first antenna 601 and second antenna 622. Both first antenna 601 and second antenna 622 are receiving a plurality of GNSS satellite signals, which in this embodiment includes GNSS satellite signals 106, 107, and 108. Device 690 for detecting false G SS satellite signals and determining the direction of a false GNSS satellite signal transmitter also includes receiver 62 connected to both first antenna 601 and second antenna 622 (see FIG. 18 for a block diagram of receiver 621). In this embodiment each tracking device 602 and 603 is tracking each satellite SI 103, S2 104 and S3 105. Receiver 621 receives GNSS satellite signals 106, 107, and 108 from first antenna 601 and second antenna 622, measures GNSS satellite signal phase φ values (either code or earner phase) of the GNSS satellite signals, and performs the range, location and attitude computations as required.
[00119] In FIG. 20 and FIG. 21, GNSS device 690 is being spoofed with spoofing system 140, as described earlier with GNSS system 190 and GNSS system 390. False GNSS satellite signal 142 (spoofing signal 142) is being received by first antenna 601 of GN SS device 690 for detecting false GNSS satellite systems and determining the direction of false GNSS transmitter 141. GNSS device 690 is fixed to vessel 100 of FIG. 1. Antenna 601 is fixed to vessel 100 at location A as shown in the figures, because GNSS device 690 is fixed to vessel 100. Antenna. 622 rotates around antenna. 601 in rotation path 695 as shown in FIG. 17 and FIG. 19.
[00120] Antennas 601 and 622 receive both the intended GNSS satellite signals 106, 107, and 108, and false GNSS satellite signal 142. Spoofing system 140 sends false GNSS satellite signal 142 along cable 139 and broadcasts false GNSS satellite signal 142 over false GNSS satellite signal transmitter 141 at location E. Spoofing system 140 may generate false GNSS satellite signal 142 by rebroadcasting GNSS satellite signals 1 16, 1 17, and 1 18 from GNSS satellites 113, 114, and 1 15 as received by antenna 11 1 at GNSS location D, as shown in FIG. 20 and FIG. 21 , and as described earlier for system 190 shown in FIG 1 through FIG. 3. GNSS satellite signals 1 16, 1 17, and 1 18 contain timing information that enable the computation of ranges Ri, R2, and R3 representing the distance between satellites 1 13, 1 14 and 115, respectively, and antenna 1 1 1. Ranges Rj, R2, and R3 are denoted 216, 217 and 218 in FIG. 21. Range computations of R\, I¾ and R3 are made by receiver 621 of device 690 from meas urements of GNSS satellite signal phase φ of GNSS satellite signals 116, 1 17 and 1 18 as received by antenna 1 1 1 of FIG. 20. Note that range measurements Ri, R2 and R3 will be mistakenly computed by any GNSS receiver that is receiving and processing false GNSS satellite signal 142.
[00121] The intended, real GNSS satellite signals 106, 107, and 108, are broadcast by satellites SI 103, 82 104 and S3 105 as shown in FIG. 20 and FIG. 21, the same as shown in FIG. 1 and FIG. 3. GNSS satellite signals 106, 107, and 108 travel from satellites SI 103, S2 104 and S3 105, respectively, to antenna 601 that, is located at A. Under normal (non- spoofed) operation, GNSS receiver 621 connected to antenna 601 would measure GNSS satellite signal code or carrier phase φ values for GNSS satellite signals 106, 107 and 108 as received by antenna 101, and compute ranges 606, R * 607 and R b 608 representing the distance between satellites 103, 104, and 105 and antenna 601.
[00122] Additionally, GNSS satellite signals 106, 107, and 108 from GNSS satellites SI 103, S2 104, and S3 105, travel to antenna 622 located at B in FIG. 21. Location B is one available location of second antenna 622 along rotation path 695. Under normal operation, GNSS receiver 621 connected to antenna 622 would measure GNSS satellite signal code or earner phase φ values for GNSS satellite signals 106, 107 and 108 as received by antenna
622, and compute ranges R 3 609, Rg' 610 and gJ 611 as the distance between GNSS satellites 103, 104, and 105 and antenna 622.
[00123] Again under normal operation, GNSS receiver 621 uses the range 606,
R , 607 and R S 608 computations to compute GNSS location A for the location of antenna 601, where GNSS location A approximately coincides with the location of antenna 601 to the accuracy of the receiver. As well, under normal operation, GNSS receiver 621 connected to antenna 622 uses the Rg' 609, Rg 610 and J 611 range values and computes a GN SS location B that approximately coincides with the location B of antenna
622. Computed ranges Rg 609, 610 and g" 611 are different from RA 606,
A^ 607 and A A 608. And the two GNSS locations A and B computed by receiver 621 connected to antennas 601 and 622 are different GNSS locations under normal operation, because locations A and B are not physically co-located. These ranges can be based on measurements of code phase or carrier phase, with carrier phase measurements providing more accurate results. Range differences AR are then computed by differencing the ranges measured at antenna 622 from those measured at antenna 601.
[00124] During spoofing, signal 142 overpowers real GNSS satellite signals 106, 107, and 108. Signal 142 is received by both antenna 601 and antenna 622. GNSS receiver 621 connected to first antenna 601 and second antenna 622 measures GNSS satellite signal carrier phase φ values and computes ranges of Rj 216, R2 217 and R3 218 as if received by antenna
11 1 instead of the intended ranges ( i? 606, R 607 and RS 608, and i? 609,
KB ~ 610 and g 611 ). G SS receiver 621 measures identical ranges of Rj 216, R2 217 and R3 218 for what receiver 621 believes to be the path length to satellites 103 S I , 104 82 and 105 S3 from both antenna 601 and antenna 622. Navigation and timing calculation performed by device 690 are now based on false ranges R} 216, R? 217 and R3 218, which purposely are designed to cause GNSS receive 621 to produce an incorrect location and/or time.
[00125] Baseline vector RM 670 extends from antenna 601 to antenna 622. GNSS device
690 determines the length and attitude of baseline vector R iB 670 and uses this information to determine the presence of false GNSS satellite signal 142 as described earlier using GNSS system 190 and/or GNSS system 390.
[00126] GNSS device 690 for determining the direction of false GNSS satellite signal transmitter 141 uses rotation mechanism 693 to rotate baseline vector RAB 670 with respect to direction axis 694 and determine which rotation angle Θ 696 corresponds to the direction 698 of false GNSS satellite signal transmitter 141 , as explained below and shown in FIG. 22 through 26.
[00127] FIG 22 and FIG. 23 show antenna 601 and antenna 622 of GNSS device 690 being spoofed as shown in FIG. 20 and FIG. 21 , In FIG. 22 and FIG. 2.3, some elements of device 690 are not shown for simplicity. FIG. 22 shows a perspective view of antenna 601 and 622 receiving false GNSS satellite signal 142 from false GNSS transmitter 141 at a location E. FIG. 23 shows a top view of antenna 601 and 622 of FIG. 22 (in simplified form) receiving spoofing signal 142, with false GNSS satellite signal transmitter 141 left off for simplicity, but adding in direction axis 694, rotation angle Θ 696 and a direction 698 of false GNSS satellite signal transmitter 141, Direction 698 is referenced to direction axis 694. Direction 698 is often a direction angle given by the angle between direction axis 694 and direction 698 of false GNSS satellite signal transmitter 141. But this is not meant to be limiting. In some embodiments both direction axis 694 and direction 698 are heading coordinates or other means of measuring direction.
[00128] Antenna 601 and antenna 622 are under the influence of false GNSS satellite signal 142, which is broadcast by false GNSS satellite signal transmitter 141 , as shown in FIG. 20 and 21. Real GNSS satellites 103, 104 and 105, and their associated GNSS satellite signals, are not shown because false GNSS satellite signal 142 is overpowering the real signals, thus GNSS device 690 is responding to false GNSS satellite signal 142. False GNSS satellite signal transmitter 141 located at location E is located sufficiently far from antenna
601 and 622, as compared to baseline vector R 4B 670, that spoofing signal 142 transmission paths 221 and 222 are nearly parallel.
[00129] Receiver 621 measures a range ■■ a false range· for each false GNSS satellite signal 1 16, 117 and 118 (FIG. 21). The false ranges measured include ranges R[ 216, R2 217 and R3 218, but also include additional distances for travel time through cables and components. Receiver 621 measures each range by measuring a time difference between clock 620 of receiver 621 at the time a particular antenna receives a GNSS satellite signal, and the satellite clock at the time of transmission of the received GNSS satellite signal, which in this case is false GNSS satellite signals 1 16, 117, and 118 of spoofing system 140. The time difference between clock 620 of receiver 621 and the satellite clock at the time of transmission of the received satellite signal has a number of constituents. Travel-time from false GNSS satellite signal transmitter 141 to receiving antennas 601 and 622 is only one component. There is also the travel-time along the RF cables 614 and 615, and delays that arise due to RF component delays within receiver 621. The time difference is converted to distance (range) by multiplying the time difference by the speed of light. The spoofing system 140 of FIG. 21 includes three false ranges: Ri 216, R2 217 and R3 218. Added on to these ranges are the travel time of spoofing signal 142 to GNSS receiver 621, and through the RF components within receiver 621, multiplied by the speed of light. For a given antenna and RF path to the receiver, travel-time and the time through RF components will be the same for all GNSS signals, and will add a common offset to the measured ranges on that antenna, as detailed below.
[00130] The data arriving at antenna. 601 yields the following measured ranges:
RI A = RI + C * TTA; (10)
?A = + - * T I A; ( D 3A = 3 + C * I TA; (12)
Where RIA, 2A, a d R3A are the total ranges measured by receiver 621 for signals received at antenna 601 at location A; RT, R2, and R3 are the ranges represented by false GNSS satellite signal 142, which are the ranges from antenna 1 11 to GNSS satellites 1 13, 1 14, and 1 15, as shown in FIG. 20 and FIG. 21; C is the speed of light; and TTA is the total signal travel time of false GNSS satellite signal 142 through antenna 601 along cable 614 and into and through receiver 621.
[00131] Similarly, the data arriving at antenna 622 yields ranges given by:
RIB == R-T + C * TTB; ( 13)
R2B = R2 + C * TTB; ( 14) R.3B = K « + C * TTB; (15)
Where RIB, R2B, a d R3B are the total ranges measured by receiver 621 for signals received at antenna 622 at location B; R-. , R2, and R3 are the ranges represented by false GNSS satellite signal 142; C is the speed of light; and TTB is the total signal travel time of false GNSS satellite signal 142 through antenna 622 along cable 615 and into and through receiver 621. It is to be understood that any number of range measurements may be made by GNSS device 690, but we are showing three for the sake of example. [00132] Receiver 621 computes range differences AR by subtracting the ranges measured at antenna 622 from the ranges measured at antenna 601 , given by:
ARi - RIB - RIA = C(TTB - TTA) = BAB; ( i 6)
AR2 = R2B _ R2A = C(TTB - TTA) = BAB; ( 17)
AR < = R3B - RSA = C(TTB - TTA) = BAB; ( 1 ) where the travel-time differential bias, BAB is defined as
Figure imgf000047_0001
[00133] The travel-time differential bias BAB is the difference between the time it takes a GNSS satellite signal takes to travel from the GNSS satellite to receiver 621 through first GNSS antenna 601 , and the time it takes the G SS satellite signal to travel from the GNSS satellite to receiver 621 through second GNSS antenna 622. Multiplying by the speed of light, C, converts the travel-time differential bias to units of distance rather than units of time.
[00134] It can be seen that when computing range differences Ail on false GNSS satellite signals, the false ranges Rls R2, and R3 cancel, leaving only the signal travel-time differential bias BAB- More precisely, range differences ΔΚ of false GN SS satellite signals will take on the same value, BAB, t within the uncertainty of noise variances that may be present in the range measurements. FIG. 22 through FIG. 26 show how the range difference AR of false GNSS satellite signals can be used to determine direction 698 of false GNSS satellite signal transmitter 141.
[00135] Travel time differential bias BAB can be divided up into its constituent components, given by:
BAB = d + other delays; (20) where path difference distance d, labeled as element 688 in FIG. 22 and FIG. 23, is the difference in distance travelled by false GNSS satellite signal 142 travelling from transmitter 141 to antenna 601 and the distance travelled by false GNSS satellite signal 142 travelling from transmitter 141 to antenna 622, as shown in FIG. 23. Other_de3ays is RF cable, component delays, and possibly clock differences if multiple clocks are employed. Path difference distance d 688 is equal to the travel time from spoofing transmitter 141 to antenna. 622, minus the travel time from spoofing transmitter 141 to antenna 601, multiplied by the speed of light. The travel-time from spoofing transmitter 141 to receiving antennas 601 and
602 will vary as a function of how the antenna's baseline vector RAB 670, is oriented with respect to false GNSS satellite signal 142. On the other hand, other delays, including RF cable delays along 614 and 615 and RF component delays, will be nearly constant, and if changing, will be slowly changing. In other words, other__delays is a constant for a particular system, whereas path difference distance d 688 will vary as a function of how the antenna's baseline vector RAB 670, is oriented with respect to false GNSS satellite signal 142.
Therefore, path difference distance d 688 can be used to determine direction 698 of false GNSS satellite signal transmitter 141 as described below.
[00136] A perpendicular line 687 is shown in FIG. 22 and FIG. 23 originating at location A of antenna 101, extending between and perpendicular to spoofing signal path 221 and 222. The path difference distance d 688 is the distance between the union of perpendicular line 687 and signal path 222, and antenna 622, as shown in FIG. 22 and FIG. 23. The path difference distance d 688 is the difference in false GNSS satellite signal travel-time between antennas 601 and 622.
[00137] Rotation path 695 is a circle centered about location A (the location of antenna 601), as shown in FIG. 22 and FIG. 23, and with a radius equal to the length of baseline vector RAB 670. Rotation path 695 represents all possible locations of antenna 622 with respect to antenna 601 when moving in one plane and keeping the length of baseline v ector
RAB 670 constant. FIG. 22 shows a perspective view, so rotation path 695 appears as an ellipse in FIG. 22, but is shown as a circle in FIG. 23, which is a top view of location A and rotation path 695. It is to be understood that rotation path 695 does not have to be circular and can form a three-dimensional rotation path such as a sphere, for example. Path difference distance d 688 varies depending on the orientation of the baseline vector RAS 670 with respect to the arriving false GNSS satellite signal travel paths 221 and 222. When the baseline vector RAB 670 is orthogonal to the false GNSS satellite signal propagating paths 221 and 222, path difference distance d 688 will be zero.
[00138] FIG. 24 depicts the same scenario as FIG 23 but shows some of the various locations of second antenna 622 along rotation path 695. Second antenna 622 rotates around first antenna 601 location A. Location A is at the center of rotation path 695. The radius of rotation path 695 is the length of baseline vector R AB 670, which remains constant. Angle Θ
696 is the angle between baseline vector RAB 670 and direction axis 694, as shown in FIG. 17, FIG. 19, FIG. 23 and FIG. 24. As antenna 622 moves along rotation path 695, rotating around antenna 601 , angle Θ 696 varies accordingly. When antenna 622 is located at location B, angle Θ 696 is ΘΒ. as shown in FIG. 25. When antenna 622 is located at location F, angle Θ 696 is θρ. When antenna 622 is located at location E, angle Θ 696 is ΘΕ. When antenna 622 is located at location P, angle Θ 696 is θρ. When antenna. 622 is located at location G, angle Θ 696 is 9G. Direction axis 694 can be referenced to a .known direction on the rigid body that device 690 is mounted to, in this embodiment vessel 100.
[00139] When GNSS antenna 622 is at location F along rotation path 695, baseline vector
RAB 670 is aligned with the spoofing signal path 221 and pointed towards the false GNSS satellite signal source, false GNSS satellite signal transmitter 141. Here, path difference distance d 688 will take on its most negative value, denoted -dmax 626, and rotation angle Θ 696 is Op. When GNSS antenna 622 is at location G along rotation path 695, baseline vector
RAB 670 is aligned with the spoofing signal path 221 and pointed away from the spoofing signal source, false GNSS satellite signal transmitter 141. Here, path difference distance d 688 will take on its most positive value, denoted dmax 628, and rotation angle Θ 696 is θο·
Note that the length of baseline vector R AB 670 has a constant, magnitude equal to dmax.
[00140] When GNSS antenna 622 is at location P along rotation path 695, baseline vector
R AB 670 is perpendicular to signal paths 221 and 222, and path difference distance d 688 has a value of zero. Rotation angle Θ 696 is Op. When GNSS antenna 622 is at location E along rotation path 695, path difference distance d 688 has a negative value, but not its most negative value. Rotation angle Θ 696 is ΘΕ· When GNSS antenna 622 is at location B along rotation path 695, distance d 688 has a positive value, but not its most positive value.
Rotation angle Θ 696 is ΘΒ.
[00141] FIG. 25 shows plot 630, of path difference distance d 688 on the vertical axis, versus rotation angle Θ 696 on the horizontal axis. Plot 630 shows how path difference distance d 688 varies sinusoidaily as antenna 622 rotates on rotation path 695 around antenna 601 at location A. Plot 630 has a sinusoidal shape and ranges from -dmax 626 to +dmax 628. FIG. 25 shows the same rotation angles Θ 696 as shown in FIG. 24. Rotation angle OF, for example, corresponds to a path difference distance d 688 of - <ΪΜΑΧ and is the path difference distance d 688 when antenna 622 is positioned at location F along rotation path 695, as shown in FIG. 24. Rotation angle £½ corresponds to a path difference distance d 688 between zero and - duAK , and is the path difference distance d 688 when antenna 622 is positioned at location E along rotation path 695, as shown in FIG. 24. Rotation angle θρ corresponds to a path difference distance d 688 of zero, and is the path difference distance d 688 when antenna 622 is positioned at location P along rotation path 695, as shown in FIG. 24. Rotation angle ΘΒ corresponds to a path difference distance d 688 between zero and dw x , and is the path difference distance d 688 when antenna 622 is positioned at location B along rotation path 695, as shown in FIG. 24. Rotation angle θο corresponds to a path difference distance d 688 of -rdviAX, and is the path difference distance d 688 when antenna 622 is positioned at location G along rotation path 695, as shown in FIG. 24.
[00142] As GNSS antenna 622 rotates around antenna 601 on rotation path 695, the values of path difference distance d 688 can be used to indicate the rotation angle that corresponds to the direction of false GNSS satellite signal transmitter 141. Path different distance d 688 is a maximum when baseline vector RAB 670 is pointed away from false GNSS satellite signal transmitierl41. And the value of path difference distance d 688 is a minimum when baseline vector RAB 670 is pointed towards false GNSS satellite signal transmitter 141. Path difference distance d 688 is zero when baseline vector RAB 670 is perpendicular to direction 698 of false GNSS satellite signal transmitter 141. By monitoring the value of path difference distance d 688 and rotation angle 696, direction 698 of false GNSS satellite signal transmitter 141 can be determined. When baseline vector rotation angle 0 696 corresponds to a maximum path difference distance d 688, this specific baseline vector rotation angle Θ 696 is called the maximum baseline vector rotation angle ΘΜΑΧ, and direction 698 of false G SS satellite signal transmitter is equal to the maximum baseline vector rotation angle ΘΜΑΧ plus 180 degrees. In the example shown in FIG, 24, baseline vector rotation angle θο is the maximum baseline vector rotation angle ΘΜΑΧ, and direction 698 of false GNSS satellite signal transmitter 141 is baseline vector rotation angle ΘΜΑΧ (OG) + 80 degrees.
[00143] When baseline vector rotation angle Θ 696 corresponds to a minimum path difference distance d 688, this specific baseline vector rotation angle Θ 696 is called the minimum baseline vector rotation angle Θ ΪΝ, and direction 698 of false GNSS satellite signal transmitter 141 is equal to the minimum baseline vector rotation angle ΘΜΙΝ· In t e example shown in FIG. 24, baseline vector rotation angle OF is the minimum baseline vector rotation angle ΘΜΙΝ, an direction 698 of false GNSS satellite signal transmitter 141 is equal to baseline vector rotation angle OF ;;; OMIN-
[00144] When baseline vector rotation angle Θ 696 corresponds to the mean path difference distance d 688, which in this embodiment is zero, this specific baseline vector rotation angle Θ 696 is called the mean baseline vector rotation angle ΘΜΕΑ , and direction 698 of false GN SS satellite signal transmitter 141 is equal to the mean baseline vector rotation angle ΘΜΕΑΝ lus or minus (+/-) 90 degrees. In the example shown in FIG. 24, baseline vector rotation angle Op is the mean baseline vector rotation angle OMEAN, and direction 698 of false GN SS satellite signal transmitter 141 is equal to baseline vector rotation angle θρ (ΘΜΒΑΝ) +/- 90 degrees.
[00145] In practice, travel-time differential bias BAB rather than path difference distance d 688 is more readily available as a calculated value. A range measured at antenna 622 and then differenced with the corresponding range measured at antenna 601 gives BAB as shown in Equation 16 through Equation 19. Determining path difference distance d 688 would require calculating other delays as given in Equation 19. Calculating a value for
other_delays is possible, but is not necessary. In practice other_delays is nearly constant over periods of minutes or more, so that during rotation of antenna 62.2, other_delays will act as a constant offset to the sinusoidal characteristic found in path difference distance d 688. Given that other__delays is constant, it is clear that while rotating antenna 622 and baseline vector RAB 670 through a complete circle, the values of each of range difference Ail and travel-time differential bias BAB will take on a maximum value when path difference distance d 688 is at its maximum value. Similarly, the values of each of range difference AR and travel-time differential bias BAB will take on a minimum value when path difference distance d 688 is at its minimum value, and the values of each of range difference AR and travel-time differential bias BAB will take on their mean value when path difference distance d 688 is at its mean value. Thus measurements of range difference AR, which are equal to travel-time differential bias B B when false GNSS satellite signals are being received, are used to identify the maximum, minimum, and mean baseline vector rotation angles and determine the direction of false GNSS satellite signal transmitter 141.
[00146] There are many ways to measure the travel time differential bias BAB- In this particular application we are measuring two transit times of a GNSS satellite signal, a. first transit time, which is the time the GNSS satellite signal takes to travel from the GNSS satellite to first GNSS antenna 601, and a second transit time, which is the time the GNSS satellite signal takes to travel from the GNSS satellite to second GNSS antenna 622. We are then differencing these two travel times to compute BAB- When computing this time difference, the time that the signal originated at the GNSS antenna drops out of the equation, because it is the same origination time for each. Travel-time differential bias BAB then become the difference between the time at which the GN SS satellite signal reached second GNSS antenna 622 and the time at which the GNSS satellite signal reached the first antenna. This time difference, equal to travel-time differential bias BAB, can be computed by cross- correlation between the GNSS satellite signal received at first GNSS antenna 601 and the GNSS satellite signal received at second GNSS antenna 622. This is done by inserting a time offset into one of the two received GN SS satellite signals, then computing a correlation between the two signals with the time offset inserted in one of them. Travel- time differential bias BAB can be set to be the inserted time offset which results in the maximum correlation between the two received GNSS satellite signals.
[00147] FIG 26 shows a plot 632 of travel-time differential bias BAB versus rotation angle
Θ 696 of baseline vector RAB 670, for slightly more than one full circle of rotation. Travel- time differential bias BAB is given on the vertical axis, and rotation angle Θ 696 on the horizontal axis. Plot 632 has a constant offset 634 as compared to plot 632, where the offset 634 is equal to the value of other delays. Generally , offset 634 can take on a positive or a negative value, depending on RF cables, RF components and clock delays, but this is of little consequence. Maximum and minimum values of travel-time differential bias BAB occur at values of rotation angle Θ 696 in which baseline vector R 4B 670 is aligned to direction 698 of the spoofing signal source, false GNSS satellite signal transmitter 141. Travel-time differential bias BAB takes on a value equal to offset 634 when baseline vector RAB 670 is perpendicular to direction 698 of false GNSS satellite signal transmitter 141. These characteristics allow determination of direction 698 of false GNSS satellite signal transmitter 141.
[00148] The value of travel-time differential bias BAB is readily obtained from any of the range difference AR. equations such as equation 16, 17, and 18. All range difference AR equations should produce the same value (to within measurement noise imcertainty) of travel- time differential bias BAB when spoofing is occurring, meaning, in the example shown in the figures, when device 690 including first GNSS antenna 601 and second GNSS antenna 622 are receiving false GNSS satellite signals. If carrier phase measurements are used to compute ranges, which are preferred due to their accuracy as compared to code phase measurements, integer ambiguities may be determined and accounted for in the range difference AR equations. Determining the integer ambiguities is only necessary to get agreement in values of travel-time differential bias BAB for each range difference equation. Agreement is not necessary for determining direction 698 of false GNSS satellite signal transmitter 141, since only one equation is needed, but agreement of calculated values of travel-time differential bias BAB is desirable in detection of spoofing. A nearly common value of travel-time differential bias BAB computed for all range differences AR calculations for a particular GNSS system is indicative of spoofing taking place to the GNSS system.
[00149] A modification to the range difference AR equations 16 - 18 to account for the integer ambiguities is given by Ri - IB - RiA = BAB + λ * ΔΝι - d + other_delays + λ * ANi; (21 )
AR2 - R2B - R2A BAB + λ * AN2 - d + other delays + λ * AN2; (22) AR i - R3B - RSA BAB + λ * ΔΝ3 :==: d + other delays + λ * ΔΝ . (23)
[00150] Here, λ is the carrier phase wavelength and the integer ambiguity differences are denoted by ΔΝι, ΔΝ?, and ΔΝ3. Integer ambiguities ΔΝ-. , ΔΝ2, and ΔΝ3 can be determined by well-known integer ambiguity search techniques. These integer unknowns arise because the exact number of integer wavelengths λ in the carrier phase derived range cannot be readily measured.
[00151 ] As mentioned, integer ambiguities ΔΝχ, ΔΝ2, and ΔΝΪ need not be solved when locating the direction of a false GNSS satellite signal transmitter such as direction 698 of false GNSS satellite signal transmitter 141 , The ambiguity will act, mathematically, as a delay and can be taken as part of the term other delays. This will simply cause a different offset 634 to the sinusoidal plot 632 as shown in FIG 26.
[00152] There are many ways in which device 690 can use a calculation of range differences ΔΚ and/or travel-time differential bias BAB to determine the direction 698 of false GNSS satellite signal transmitter 141 according to the invention. Some examples will be provided here, but it is to be understood that many other methods are possible. In some embodiments processor 618 in receiver 621 includes software 625 (see FIG. 18) loaded onto a memory that computes the range differences AR. Software 625 determines travel-time differential bias BAB by computing range differences AR as described earlier and as given by Equation 16 through Equation 18 or Equation 21 through Equation 23. In some embodiments software 625 computes travel-time differential bias BAB by cross-correlating the GNSS satellite signal received at second antenna 622 with the same signal received at first antenna 601 , finding the time offset that gives the maximum correlation. Receiver 621 can output values of travel-time differential bias B B, for example, or internally set an indicator when maximum or minimum values of travel-time differential bias BAB are reached. In some embodiments software 625 computes path difference distance d 688, In some embodiments software 625 computes direction 698 of false GNSS satellite signal transmitter 141. In some embodiments device 690 outputs direction 698 of false GNSS satellite signal transmitter 141. [00153] It is also to be understood that the rotation of one or more than one baseline vector through a range of baseline vector rotation angles can be accomplished in many different ways according to the invention. In some embodiments rotation apparatus 693 of device 690 is rotated manually, with an operator noting the rotation angle Θ 696 when the maximum, minimum, or mean travel-time differential bias BAB occurs. In some embodiments rotation apparatus 693 of device 690 is rotated by machine. In some embodiments device 690 includes an angular resolver to measure rotation angle Θ 696, and software 625 reads rotation angle Θ 696 and correlates rotation angle Θ 696 with computed v alues of travel-time differential bias BAB- Software 625 in this embodiment automatically reports direction 698 of false GNSS satellite signal transmitter 141 .
[00154] It is to be noted that there are many different ways of rotating baseline vector
RAB 670, or, in other words, there are many different methods of rotating second antenna 622 with respect to first antenna 601 according to the invention. Several examples are described in this document, but these are not meant to be limiting.
[00155] FIG, 27 and FIG. 28 show an embodiment of a GNSS device 790 for determining the direction of a false GN SS satellite signal transmitter. GNSS device 790 is similar to G SS device 690 and similar numbers are meant to represent similar elements. The difference is that a rotation device 793 in this embodiment is a bar that rotates about a center point 727 with a first GNSS antenna 701 and a second GNSS antenna 722 at either end. Thus in this embodiment, both first GNSS antenna 701 and second GNSS antenna 722 rotate about center point 727. This is different from GNSS device 690 because with GNSS device 690, second GNSS device 622 rotated about first GNSS antenna 601. In GNSS device 690, first antenna 701 and second antenna 722 are coupled to opposing ends of a rotating bar rotation device 793. Rotation device 793 rotates about center point 727 of rotation device 793, such that both first antenna 701, second antenna 722, and a baseline vector 770 that extends between first antenna 701 and second antenna 722 rotate about center point 727, Rotation device 793 and baseline vector 770 have a constant length. As first antenna 701 and second antenna 722 rotate about center point 727, baseline vector 770 that extends between first antenna 701 and second antenna 722 rotates through a 360 degree range of baseline vector rotation angles Θ 796, as shown in FIG. 27. First antenna 701 and second antenna 722 travel along rotation path 795 in a circle with a constant radius around center point 727. Rotation device 793 is coupled to device body 791. Device body 791 include direction axis 794, which is correlated to a direction on the vehicle or rigid body that GNSS device 790 is mounted to.
[00156] GNSS device 790, which includes device body 791 with direction axis 794, first antenna 701 , second antenna 722, and rotation apparatus 793 as shown in FIG. 27 and FIG. 28, is used to determine a direction of a false GNSS satellite signal transmitter such as false GNSS satellite signal transmitter 141. GNSS device 790 determines the direction of the false GNSS satellite signal transmitter by rotating baseline vector 770 through a range of baseline vector rotation angles Θ 796, and computing a range difference AR for a plurality of baseline vector rotation angles Θ 796. The plurality of range differences AR can be used to determine the direction of a false GNSS satellite signal transmitter as explained above for GNSS device 690.
[00157] It is to be understood that first and second GN SS antennas, and their
corresponding baseline vectors, can be made to rotate through a plurality of rotation angles in many different geometric shapes and configurations. In some embodiments second antenna 622 or 722 rotates in a three-dimensional spherical shape about first antenna 601 or 701 , or about a center point or other point. Any method which results in a plurality of range difference AR measurements, where each one of the plurality of range difference AR measurement corresponds to one of a plurality of rotation angles of a baseline vector, can be used to determine the direction of a false GNSS satellite signal transmitter according to the invention.
[00158] FIG. 29 shows method 800 of determining the direction of a false GNSS satellite signal transmitter. Method 800 of determining a direction of a false Global Navigation Satellite System (GNSS) satellite signal transmitter comprises a step 810 of rotating a baseline vector through a plurality of rotation angles, wherein the plurality of rotation angles are measured with respect to a fixed reference body. Method 800 also includes a step 820 of calculating a plurality of range differences, wherein each one of the plurality of range differences corresponds to one of the plurality of rotation angles. Method 800 also includes a step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences. In some embodiments the baseline vector extends from a first GNSS antenna to a second GNSS antenna. In some embodiments method 800 includes detecting thai a false GNSS satellite signal is being received. In some embodiments method 800 includes indicating the direction of the false GNSS satellite signal transmitter. Method 800 cars include many other steps.
[00159] Step 810 of rotating a baseline vector through a plurality of rotation angles can comprise many other steps. In some embodiments rotating the baseline vector through the plurality of rotation angles comprises rotationally moving the second GNSS antenna around the first GNSS antenna. In some embodiments the first GNSS antenna is in a location that is fixed with respect to the fixed reference body. In some embodiments the second GNSS antenna is in a location that is fixed with respect to the fixed reference body. In some embodiments step 810 of rotating the baseline vector through the plurality of rotation angles comprises rotationally moving the first and the second GNSS antenna around a center point, wherein the baseline vector extends through the center point. In some embodiments the center point is fixed in location with respect to the fixed reference body.
[00160] Step 820 of calculating a plurality of range differences can include many other steps. In some embodiments step 820 of calculating the plurality of range differences includes calculating a first range from a first GNSS satellite signal received by a first GNSS antenna. In some embodiments step 820 of calculating the plurality of range differences includes calculating a second range from the first GNSS satellite signal received by a second GNSS antemia, wherein a baseline vector extends from the first GNSS antenna to the second GNSS antenna. In some embodiments step 820 of calculating the plurality of range differences includes calculating a first range difference by subtracting the first range from the second range.
[00161] Step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences can include many other steps. In some embodiments step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a maximum baseline vector rotation angle, wherein the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of range difference. In some embodiments step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the maximum baseline vector ro ation angle plus 180 degrees.
[00162] In some embodiments step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a minimum baseline vector rotation angle, wherein the minimum baseline vector rotation angle comprises a. baseline vector rotation angle that corresponds to a minimum value of range difference. In some embodiments step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the minimum baseline vector rotation angle.
[00163] In some embodiments step 8.30 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a. mean baseline vector rotation angle, wherein the mean baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a mean value of range difference. In some embodiments step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the mean baseline vector rotation angle plus 90 degrees.
[00164] In some embodiments step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes calculating a path difference distance for each one of the plurality of range differences. In some embodiments the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of path difference distance. In some embodiments the minimum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a minimum value of path difference distance. In some embodiments the mean baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a mean value of path difference distance.
[00165] In some embodiments step 830 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes computing the travel time differential bias for each one of the plurality of range differences. In some embodiments the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of travel time differential bias. In some embodiments the minimum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a minimum value of travel time differential bias. In some embodiments the mean baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a. mean value of travel time differential bias,
[00166] In some embodiments a microprocessor or processor computes the plurality of range differences. In some embodiments software computes the plurality of range differences. In some embodiments software coupled to a processor or microprocessor computes the plurality of range differences. In some embodiments the microprocessor or processor includes the software. The term "processor" as used here can include any microprocessor, microcontroller, microprocessor or microcontroller coupled to or including software, or any other combination of computing hardware or computing software. In some embodiments the processor determines which one of the plurality of baseline vector rotation angles corresponds to a maximum, minimum, or mean range difference. In some embodiments the processor determines which one of the plurali ty of baseline vector rotation angles corresponds to a maximum, minimum, or mean path difference distance. In some embodiments the processor determines which one of the plurality of baseline vector rotation angles corresponds to a maximum, minimum, or mean travel-time differential bias. In some embodiments the processor outputs a false GNSS satellite signal transmitter direction. In some embodiments the processor determines the direction of the false GNSS satellite signal transmitter based on the plurality of range differences. In some embodiments the processor determines the direction of the false GNSS satellite signal transmitter based on computing a plurality of path difference differences. In some embodiments the processor determines the direction of the false GNSS sateliite signal transmitter based on computing a plurality of travel-time differential biases..
[00167] FIG. 30 shows a simplified pictorial illustration of an embodiment of a GNSS device 890 for determining the direction of a false GNSS satellite signal transmitter. GNSS device 890 is similar to GNSS device 690 and 790, and similar numbers are meant to represent similar elements. The difference is that there are no moving antennas with GNSS device 890. GNSS device 890 includes a device body 891 with a direction axis 894.
Direction axis 894 is correlated to a direction on the vehicle or body that device 890 is mounted to. In the embodiment shown in FIG. 30, a false GNSS satellite signal transmitter such as false GNSS satellite signal transmitter 141 is located a direction 898 from GNSS device 890.
[00168] GNSS device 890 has a plurality of antenna pairs fixedly coupled to device body 891 instead of a first fixed antenna and a second moving antenna, as in device 690, or two moving antennas, as in device 790. In this embodiment the plurality of antenna pairs include a GNSS antenna 801 and a GNSS antenna 822, which have a baseline vector 870 extending between them. GNSS antenna 801 is fixed at location H, and GNSS antenna 822 is fixed at location L. The plurality of antenna pairs also includes a GNSS antenna 823 and a GNSS antenna 824, which have a. baseline vector 872 extending between them. GN SS antenna. 823 is fixed at location I, and GNSS antenna 824 is fixed at location M. The plurality of antenna pairs also includes a GNSS antenna 825 and a GNSS antenna 826, which have a baseline vector 874 extending between them. GNSS antenna 825 is fixed at location J, and GNSS antenna 826 is fixed at location N. The plurality of antenna pairs also includes a GNSS antenna 827 and a GNSS antenna 828, which have a baseline vector 876 extending between them. GNSS antenna 827 is fixed at location K, and GNSS antenna 828 is fixed at location O.
[00169] Each of the plurali ty of baseline vectors 870, 872, 874, and 876 form a different baseline vector rotation angle Θ with respect to direction axis 894. Baseline vector 870 forms baseline vector rotation angle 862 with respect to direction axis 894. Baseline vector 872 forms baseline vector rotation angle 864 with respect to direction axis 894. Baseline vector 874 forms baseline vector rotation angle 866 with respect to direction axis 894. Baseline vector 876 forms baseline vector rotation angle 868 with respect to direction axis 894,
[00170] GNSS device 890 computes a range difference AR for each of the antenna, pairs and its corresponding baseline vector rotation angle Θ, creating a plurality of range differences AR, where each range difference corresponds to one of a plurality of baseline vector rotation angles Θ, as described above for GNSS device 690 and 790. The plurality of range differences All is used to determine the direction of the false GN SS satellite signal transmitter as described above for GNSS device 690 and 790. In the embodiment shown in FIG. 30, baseline vector 870 corresponding to baseline vector rotation angle 862 would be determined to have the maximum range difference AR, and or the maximum travel-time differential boas BAB, and/or the maximum path difference distance d. Thus baseline vector rotation angle 862 would be determined to be the maximum baseline vector rotation angle. Direction 898 would therefore be determined to be the maximum baseline vector rotation angle 862 plus 180 degrees. Thus direction 898 would be determined to be pointing in a direction opposite from baseline vector 870 in this example.
[00171] FIG. 31 shows a method 850 of determining the direction of a false GNSS satellite signal transmitter. Method 850 of determining a direction of a false Global Navigation Satellite System (GNSS) satellite signal transmitter comprises step 855 of calculating a plurality of range differences. In some embodiments each one of the plurality of range differences corresponds to one of a plurality of baseline vector rotation angles, in some embodiments the baseline vector rotation angle is measured with respect to a fixed reference body. Method 850 also includes step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences. In some embodiments each of the plurality of baseline vectors extends between a pair of GNSS antennas, in some embodiments method 850 includes detecting that a false GNSS satellite signal is being received. In some embodiments method 850 includes indicating the direction of the false GNSS satellite signal transmitter. Method 850 can include many other steps.
[00172] Step 855 of calculating a plurality of range differences can include many other steps. In some embodiments step 855 of calculating the plurality of range differences includes calculating a first range from a first GNSS satellite signal received by a first GNSS antenna. In some embodiments step 855 of calculating the plurality of range differences includes calculating a second range from the first GNSS satellite signal received by a second GNSS antenna, wherein a baseline vector extends from the first GNSS antenna to the second GNSS antenna. In some embodiments step 855 of calculating the plurality of range differences includes calculating a first range difference by subtracting the first range from the second range.
[00173] Step 858 of determining the direction of the false GN SS satellite signal transmitter based on the plurality of range differences can include many other steps. In some embodiments step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a maximum baseline vector rotation angle, wherein the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of range difference. In some embodiments step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the maximum baseline vector rotation angle plus 180 degrees.
[00174] In some embodiments step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a minimum baseline vector rotation angle, wherein the minimum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a minimum value of range difference. In some embodiments step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the minimum baseline vector rotation angle.
[00175] In some embodiments step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes identifying a mean baseline vector rotation angle, wherein the mean baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a mean value of range difference. In some embodiments step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes setting the direction of the false GNSS satellite signal transmitter to be equal to the mean baseline vector rotation angle plus 90 degrees,
[00176] In some embodiments step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes calculating a path difference distance for each one of the plurality of range differences. In some embodiments the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of path difference distance. In some embodiments the minimum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a minimum value of path difference distance. In some embodiments the mean baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a mean value of path difference distance.
[00177] In some embodiments step 858 of determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences includes computing the travel time differential bias for each one of the plurality of range differences. In some embodiments the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of travel time differential bias. In some embodiments the minimum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a minimum value of travel time differential bias. In some embodiments the mean baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a mean value of travel time differential bias.
[00178] In some embodiments a microprocessor or processor computes the plurality of range differences. In some embodiments software computes the plurality of range differences. In some embodiments software coupled to a processor or microprocessor computes the plurality of range differences. In some embodiments the microprocessor or processor includes the software. The term "processor" as used here can include any microprocessor, microcontroller, microprocessor or microcontroller coupled to or including software, or any other combination of computing hardware or computing software. In some embodiments the processor determines which one of the plurali ty of baseline vector rotation angles corresponds to a maximum, minimum, or mean range difference. In some embodiments the processor determines which one of the plurality of baseline vector rotation angles corresponds to a maximum, minimum, or mean path difference distance. In some embodiments the processor determines which one of the plurality of baseline vector rotation angles corresponds to a maximum, minimum, or mean travel-time differential bias. In some embodiments the processor outputs a false GNSS satellite signal transmitter direction. In some embodiments the processor determines the direction of the false GNSS satellite signal transmitter based on the plurality of range differences. In some embodiments the processor determines the direction of the false GNSS satellite signal transmitter based on computing a pl urality of path di fference differences. In some embodiments the processor determines the direction of the false GN SS satellite signal transmitter based on computing a plurality of travel-time differential biases. [00179] Described herein are several methods for implementing a device for determining the direction of a. false GNSS satellite signal transmitter. The key to any implementation, as disclosed herein, is the concept of determining a maximum or a minimum range difference AR or its constituent components such as travel-time differential bias BAB, or path difference distance d, and correlating baseline vector rotation angle to the maximum or minimum range difference AR, or in some way monitoring these term and how they vary for different alignments of antenna baseline vectors.
[00180] A point worth mentioning is thai in multi-GNSS attitude systems, one GNSS system may be spoofed - receiving a false GNSS satellite signal, while the other may not be spoofed. For example, a GPS-GLONASS attitude system may experience only GPS spoofing. So it is important to detect false GNSS satellite signals independently for each GNSS system, and then use only the signals that are determined to have been false when locating the false GNSS satellite signal transmitter.
[00181] The embodiments and examples set forth herein were presented in order to best explain embodiments of the invention and its practical application and to thereby enable those of ordinary skill in the art to make and use embodiments of the invention. However, those of ordinary skill in the art will recognize that the foregoing description and examples have been presented for the purposes of illustration and example only. The description as set forth is not intended to be exhaustive or to limit embodiment of the invention to the precise form disclosed. Many modifications and variations are possible in light of the teachings above without departing from the spirit and scope of the forthcoming claims.

Claims

1. A method of using a global navigation satellite system (GNSS) attitude system to determine a direction of a false GNSS satellite signal transmitter comprising:
calculating a plurality of range differences;
and
determining the direction of the false G SS satellite signal transmitter based on the
plurality of range differences,
2. The method of claim I, wherein each one of the plurality of range differences
corresponds to a baseline vector rotation angle.
3. The method of claim 2, wherein the baseline vector rotation angle is measured with respect to a fixed reference body.
4. The method of claim 3, wherein calculating the plurality of range differences
comprises:
calculating a first range from a first GNSS satellite signal received by a first GNSS antenna; calculating a second range from the first GNSS satellite signal received by a second GNSS antenna, wherein a baseline vector extends from the first GNSS antenna to the second
GNSS antenna;
and
calculating a first range difference by subtracting the first range from the second range.
5. The method of claim 3, wherein determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences comprises:
identifying a maximum baseline vector rotation angle, wherein the maximum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a maximum value of range difference;
and
setting the direction of the false GNSS satellite signal transmitter to be equal to the maximum baseline vector rotation angle plus 180 degrees.
6. The method of claim 3, wherein determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences comprises:
identifying a minimum baseline vector rotation angle, wherein the minimum baseline vector rotation angle comprises a baseline vector rotation angle that corresponds to a minimum value of range difference;
and
setting the direction of the false GNSS satellite signal transmitter to be equal to the minimum baseline vector rotation angle.
7. The method of claim 1, wherein determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences comprises calculating a path difference distance for each one of the plurality of range differences.
8. The method of claim 1 , wherein determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences comprises computing the travel time differential bias for each one of the plurality of range differences,
9. The method of claim 1, further comprising detecting that a false GNSS satellite signal is being received.
10. The method of claim 1, further comprising indicating the direction of the false GNSS satellite signal transmitter.
1 1. A method of determining a direction of a false Global Navigation Satellite System (GN SS) satellite signal transmitter comprising:
rotating a baseline vector through a plurality of rotation angles, wherein the plurality of rotation angles are measured with respect to a fixed reference body;
calculating a plurality of range differences, wherein each one of the plurality of range differences
corresponds to one of the plurality of rotation angles;
and
determining the direction of the false G SS satellite signal transmitter based on the plurality of
range differences.
12. The method of claim 1 1, wherein the baseline vector extends from a first GNSS antenna to a second GNSS antenna.
13. The method of claim 12, wherein rotating the baseline vector through the plurality of rotation angles comprises rotationaliy moving the second GN SS antenna, around the first GNSS antenna,
14. The method of claim 13, wherein the first GNSS antenna is in a location that is fixed with respect to the fixed reference body,
15. The method of claim 12, wherein rotating the baseline vector through the plurality of rotation angles comprises rotationaliy moving the first and the second GNSS antenna around a center point, wherein the baseline vector extends through the center point.
16. The method of claim 15, wherein the center point is fixed in location with respect to the fixed reference body.
17. A global navigation satellite system (GNSS) device for determining the direction of a false GNSS satellite signal transmitter comprising:
a device body, wherein the device body has a direction axis;
a first antenna;
a second antenna;
and
a rotation apparatus, wherein the rotation apparatus moves the second antenna such that a baseline vector extending from the first antenna to the second antenna rotates through a plurality of baseline vector rotation angles, wherein the baseline vector rotation angles are measured with respect to the direction axis.
18. The GNSS device of claim 17, further comprising a processor, wherein the processor computes a plurality of range differences, wherein each one of the plurality of range differences corresponds to one of the plurality of baseline vector rotation angles.
19. The GNSS device of claim 18, wherein the processor determines which one of the plurality of baseline vector rotation angles corresponds to a maximum range difference.
20. The GNSS device of claim 19, wherein the processor outputs a false GNSS satellite signal transmitter direction.
21. The GNSS device of claim 18, wherein the processor determines which one of the plurality of baseline vector rotation angles corresponds to a minimum range difference.
22. A global navigation satellite system (GNSS) device for determining the direction of a false GNSS satellite signal transmitter comprising:
a device body, wherein the device body has a direction axis;
a plurality of GNSS antenna pairs; wherein one of a plurality of baseline vectors extends between each one of the plurality of GNSS antenna pairs, and wherein each one of the plurality of baseline vectors comprises one of a plurality of baseline vector rotation angles with respect to the direction axis;
and
a processor, wherein the processor performs the following:
calculating a plurality of range difierences, wherein each one of the plurality of range differences corresponds to one of the plurality of baseline vector rotation angles; and
determining the direction of the false GNSS satellite signal transmitter based on the plurality of range differences.
PCT/US2015/021154 2014-03-19 2015-03-18 Gnss satellite signal spoofer direction determination WO2015142985A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461955610P 2014-03-19 2014-03-19
US61/955,610 2014-03-19
US14/645,971 2015-03-12
US14/645,971 US10234564B2 (en) 2013-08-14 2015-03-12 System and method for determining the direction of a false GNSS satellite signal transmitter

Publications (1)

Publication Number Publication Date
WO2015142985A1 true WO2015142985A1 (en) 2015-09-24

Family

ID=54145257

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/021154 WO2015142985A1 (en) 2014-03-19 2015-03-18 Gnss satellite signal spoofer direction determination

Country Status (1)

Country Link
WO (1) WO2015142985A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058270A (en) * 2019-05-27 2019-07-26 中国人民解放军国防科技大学 Navigation deception signal generation method based on clock error fitting
WO2020041383A1 (en) 2018-08-20 2020-02-27 Hemisphere GNSS, Inc. System and method for detecting false global navigation satellite system satellite signals
GB2585222A (en) * 2019-07-03 2021-01-06 Raytheon Systems Ltd Autonomous vehicles supporting global navigation satellite system (gnss) anti-spoofing
US11391846B2 (en) 2019-10-11 2022-07-19 Raytheon Systems Limited Global navigation satellite system (GNSS) anti-spoofing techniques based on similarities of gain vectors
US11561307B2 (en) 2019-07-03 2023-01-24 Raytheon Systems Limited Global navigation satellite system (GNSS) anti-spoofing techniques
EP4107548B1 (en) * 2020-02-20 2024-03-13 Thales Method for detecting a decoy source in a satellite radionavigation signal and associated receiving device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557284A (en) * 1995-02-03 1996-09-17 Honeywell Inc. Spoofing detection system for a satellite positioning system
US20070075896A1 (en) * 2005-10-04 2007-04-05 Csi Wireless, Inc. Attitude determination exploiting geometry constraints
EP2455781A1 (en) * 2010-11-22 2012-05-23 Astrium GmbH GNSS receiver

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557284A (en) * 1995-02-03 1996-09-17 Honeywell Inc. Spoofing detection system for a satellite positioning system
US20070075896A1 (en) * 2005-10-04 2007-04-05 Csi Wireless, Inc. Attitude determination exploiting geometry constraints
EP2455781A1 (en) * 2010-11-22 2012-05-23 Astrium GmbH GNSS receiver

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020041383A1 (en) 2018-08-20 2020-02-27 Hemisphere GNSS, Inc. System and method for detecting false global navigation satellite system satellite signals
CN112703425A (en) * 2018-08-20 2021-04-23 半球全球卫星导航系统公司 System and method for detecting pseudo-global navigation satellite system satellite signals
EP3841403A4 (en) * 2018-08-20 2021-10-27 Hemisphere Gnss, Inc. System and method for detecting false global navigation satellite system satellite signals
CN110058270A (en) * 2019-05-27 2019-07-26 中国人民解放军国防科技大学 Navigation deception signal generation method based on clock error fitting
CN110058270B (en) * 2019-05-27 2020-10-27 中国人民解放军国防科技大学 Navigation deception signal generation method based on clock error fitting
GB2585222A (en) * 2019-07-03 2021-01-06 Raytheon Systems Ltd Autonomous vehicles supporting global navigation satellite system (gnss) anti-spoofing
GB2585222B (en) * 2019-07-03 2022-10-12 Raytheon Systems Ltd Autonomous vehicles supporting global navigation satellite system (gnss) anti-spoofing
US11561307B2 (en) 2019-07-03 2023-01-24 Raytheon Systems Limited Global navigation satellite system (GNSS) anti-spoofing techniques
US11926345B2 (en) 2019-07-03 2024-03-12 Raytheon Systems Limited Autonomous vehicles supporting global navigation satellite system (GNSS) anti-spoofing
US11391846B2 (en) 2019-10-11 2022-07-19 Raytheon Systems Limited Global navigation satellite system (GNSS) anti-spoofing techniques based on similarities of gain vectors
EP4107548B1 (en) * 2020-02-20 2024-03-13 Thales Method for detecting a decoy source in a satellite radionavigation signal and associated receiving device

Similar Documents

Publication Publication Date Title
US10234564B2 (en) System and method for determining the direction of a false GNSS satellite signal transmitter
US10908293B2 (en) System and method for detecting false global navigation satellite system satellite signals
EP2843441B1 (en) System and method for detecting false global navigation satellite system satellite signals
US7292185B2 (en) Attitude determination exploiting geometry constraints
US6469663B1 (en) Method and system for GPS and WAAS carrier phase measurements for relative positioning
US8138970B2 (en) GNSS-based tracking of fixed or slow-moving structures
US8120526B2 (en) Methods, apparatuses and systems for locating non-cooperative objects
WO2015142985A1 (en) Gnss satellite signal spoofer direction determination
US8686900B2 (en) Multi-antenna GNSS positioning method and system
US8120527B2 (en) Satellite differential positioning receiver using multiple base-rover antennas
EP1252532B1 (en) Method and apparatus for determining an algebraic solution to gps terrestrial hybrid location system equations
EP2634593B1 (en) Positioning using a local wave-propagation model
CN102540227A (en) Method and system for the geolocation of a radio beacon in a search and rescue system
US11821997B2 (en) Techniques for determining geolocations
CN109696696B (en) Navigation receiver device suitable for high-orbit spacecraft
US9638806B2 (en) System and method for detecting ambiguities in satellite signals for GPS tracking of vessels
Hesselbarth et al. Enabling assistance functions for the safe navigation of inland waterways
JP2010256301A (en) Multipath determination device and program
EP3265846A1 (en) Gnss cooperative receiver system
US20170108590A1 (en) Triple difference formulation for formation flight
WO2020041383A1 (en) System and method for detecting false global navigation satellite system satellite signals
JP2010060421A (en) Positioning system for moving body and gnss receiving apparatus
Dai et al. Heading-determination using the sensor-fusion based maritime PNT Unit
KR101705882B1 (en) Apparatus for detecting cycle slip using position information of receiver in reference station environment and the method thereof
KR101513100B1 (en) Apparatus and method for spoofing detection with single antenna gnss receiver and inertial measurement unit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15765233

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: OTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 23.01.2017)

122 Ep: pct application non-entry in european phase

Ref document number: 15765233

Country of ref document: EP

Kind code of ref document: A1