Satellite (re)acquisition and state estimation for mobile planar satellite terminals

A sensor fusion engine for metasurface antennas processes asynchronous sensor inputs to overcome orientation inaccuracies, ensuring efficient satellite signal reacquisition and communication, even in GNSS-denied scenarios.

JP2025536193APending Publication Date: 2025-11-05KYMETA CORP
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
JP2025516140
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-12
Filing Date
2023-09-13
Publication Date
2025-11-05

AI Technical Summary

Technical Problem

Existing metasurface antennas face inaccuracies in orientation determination due to mismatched data rates from sensors and unavailability of data sources, leading to inefficient operation.

Method used

A hybrid tightly coupled sensor fusion engine processes asynchronous sensory inputs from multiple sensors to generate accurate estimates of orientation and state information for mobile satellite terminals, utilizing inertial, closed-loop, and open-loop measurements, even in GNSS-denied environments.

Benefits of technology

Enables robust and accurate determination of terminal orientation and state information, independent of open-loop sensors, allowing for efficient satellite signal reacquisition and communication with multiple satellites.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025536193000001_ABST
    Figure 2025536193000001_ABST
Patent Text Reader

Abstract

A method and apparatus for performing state estimation and satellite reacquisition for a mobile satellite terminal is described. In some embodiments, the apparatus includes a planar antenna and a signal processing engine communicatively coupled to the planar antenna configured to process asynchronous sensory inputs from a plurality of sensors and generate an estimate of a state of the planar antenna of the satellite antenna terminal based on the sensory inputs, the estimate including an estimate of orientation.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD Embodiments of the present disclosure relate to wireless communications, and more particularly to determining state information associated with a satellite terminal and using that state information to perform actions such as reacquiring satellite signals. [Background technology]

[0002] Metasurface antennas have recently emerged as a new planar antenna technology that generates steered, directional beams from lightweight, low-cost, and flat physical platforms. Such metasurface antennas have been used in several applications in recent years, such as satellite communications.

[0003] Metasurface antennas can comprise metamaterial antenna elements that can selectively couple energy from a feed wave to generate a beam that can be steered for communication. These antennas can achieve performance comparable to phased array antennas from an inexpensive and easy-to-manufacture hardware platform.

[0004] To generate a beam in a particular direction using a planar antenna, its orientation must be known. Orientation is determined using data from sources such as sensors. However, data from such sensors can be inaccurate for a number of reasons, such as mismatched data rates from the sensors at the time the data is needed to determine the orientation of the planar antenna. Furthermore, the data source may be unavailable. In such situations, the orientation determination is not as accurate as needed for the planar antenna to operate efficiently. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] US Patent Application Publication No. 20210050671 [Patent Document 2] U.S. Patent No. 9,887,456 [Patent Document 3] U.S. Patent No. 10,892,553 [Patent Document 4] U.S. Patent Application Serial No. 16 / 750,439 [Patent Document 5] U.S. Patent No. 11,063,661 Summary of the Invention

[0006] A method and apparatus for performing state estimation and satellite reacquisition for a mobile satellite terminal is described. In some embodiments, the apparatus includes a planar antenna and a signal processing engine communicatively coupled to the planar antenna configured to process asynchronous sensed inputs from a plurality of sensors and generate an estimate of a state of the planar antenna of the satellite antenna terminal based on the sensed inputs, the estimate including an estimate of orientation.

[0007] The described embodiments and their advantages can best be understood by referring to the following description taken in conjunction with the accompanying drawings, which are not intended to limit any changes in form and detail that may be made to the described embodiments by those skilled in the art without departing from the spirit and scope of the described embodiments. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is an exploded perspective view illustrating an embodiment of a portion of a planar antenna. [Figure 2] FIG. 1 illustrates an example of a communication system including one or more antennas as described herein. [Figure 3] FIG. 1 illustrates an embodiment of a portion of a sensor fusion engine. [Figure 4] 1A-1C illustrate several other embodiments of a sensor fusion engine. [Figure 5] 1A-1C illustrate several other embodiments of a sensor fusion engine. [Figure 6]FIG. 1 illustrates an embodiment of a portion of the pre-processor's acceptance / rejection logic. [Figure 7] FIG. 2 illustrates an embodiment of some of the preprocessing logic employed by the preprocessor. [Figure 8] 8 illustrates an embodiment of some of the logic for implementing each component of the GNSS pre-processing flow diagram of FIG. 7. [Figure 9] FIG. 1 illustrates an embodiment of a portion of an initializer estimator. [Figure 10] FIG. 1 illustrates the use of frequency domain filtering and time domain thresholding as part of data pre-processing in the core sensor fusion engine of some embodiments. [Figure 11] FIG. 2 illustrates an example of data flow in some embodiments of a sensor fusion engine. [Figure 12] 10A-10C illustrate several other embodiments of a core sensor fusion module. [Figure 13] FIG. 1 illustrates an embodiment of a portion of an anomaly detection component in an internal Extended Kalman Filter (EKF) for rejecting or accepting specific data from within the sensor fusion process. [Figure 14] FIG. 10 illustrates inputs and outputs of some embodiments of a post-processor. [Figure 15] FIG. 10 illustrates an embodiment of a portion of a post-processor that rejects or accepts estimates produced by the core sensor fusion engine. [Figure 16] FIG. 1 illustrates an apparatus having a sensor fusion engine in bidirectional communication with a (re)acquisition engine. [Figure 17] FIG. 1 illustrates where the cone of uncertainty results from heterogeneous beliefs coming from the sensor fusion engine. [Figure 18A] FIG. 10 illustrates the use of multiple simultaneous hypotheses from a hypothesis space to simultaneously check them by forming multiple beams, each beam formed based on an orientation hypothesis. [Figure 18B]FIG. 10 illustrates an example of a non-redundant search performed by the reacquisition engine of some embodiments. [Figure 18C] 10 illustrates some embodiments of a reacquisition engine that uses gyroscope readings to propagate rejected hypotheses forward in time to compensate for terminal motion during a search. [Figure 18D] 10 illustrates some embodiments of a reacquisition engine that uses gyroscope readings to propagate rejected hypotheses forward in time to compensate for terminal motion during a search. [Figure 19A] FIG. 10 illustrates the implementation of intentionally spreading the search uncertainty in order to take advantage of the many-to-one relationship that exists between the orientation field and the pointing field. [Figure 19B] FIG. 10 illustrates the implementation of intentionally spreading the search uncertainty in order to take advantage of the many-to-one relationship that exists between the orientation field and the pointing field. [Figure 20] FIG. 1 illustrates hierarchical adaptation of beam characteristics to reduce beam width during search. [Figure 21A] FIG. 1 illustrates adaptively adjusting beamstride as more data is obtained about possible satellite orientations. [Figure 21B] FIG. 1 illustrates adaptively adjusting beamstride as more data is obtained about possible satellite orientations. [Figure 21C] FIG. 10 illustrates adaptively adjusting beamstride as more data is obtained about possible satellite orientations. DETAILED DESCRIPTION OF THE INVENTION

[0009] In the following description, numerous details are set forth in order to provide a thorough explanation of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.

[0010] Methods and apparatus for estimating the state of a mobile satellite network terminal are disclosed. In some embodiments, the techniques disclosed herein estimate the state of a mobile satellite network terminal having an antenna. In some embodiments, the antenna is a planar antenna (e.g., a metasurface antenna). In some embodiments, the estimation is performed using a tight combination of inertial, closed-loop, and open-loop sensor measurements.

[0011] Additionally, embodiments disclosed herein include a hybrid tightly coupled sensor fusion engine capable of processing sensing inputs from multiple asynchronous sensors at different rates. In some embodiments, the sensor fusion engine can generate estimates of orientation and other state information for mobile satellite terminals (simultaneous rotation and translation) as well as geostationary satellite terminals.

[0012] Also described are methods and apparatus for using the estimated state information, such as for reacquiring a satellite signal by a satellite terminal after the signal is lost after tracking. Other uses of the state information by a satellite terminal are possible.

[0013] The following disclosure describes example embodiments of antenna devices that may be part of the terminals described herein, followed by details of estimating and using the state of a mobile antenna terminal.

[0014] Antenna embodiment examples The techniques described herein can be used with a wide variety of planar satellite antennas. Embodiments of such planar antennas are disclosed herein. In some embodiments, the planar satellite antenna is part of a satellite terminal. The planar antenna includes an array of one or more antenna elements over an antenna aperture.

[0015] In some embodiments, the antenna aperture is a metasurface antenna aperture, such as those described below. In some embodiments, the antenna element comprises a radio frequency (RF) radiating antenna element. In some embodiments, the antenna element includes a tunable device for tuning the antenna element. Examples of such tunable devices include diodes and varactors, such as those described in U.S. Patent Application Publication No. 20210050671, published February 18, 2021, entitled "Metasurface Antennas Manufactured with Mass Transfer Technologies." In other embodiments, the antenna element comprises a liquid crystal (LC)-based antenna element, such as those disclosed in U.S. Patent Application Publication No. 9,887,456, published February 6, 2018, entitled "Dynamic Polarization and Coupling Control from a Steerable Cylindrically Fed Holographic Antenna." It should be understood that other adjustable devices, such as, for example, but not limited to, adjustable capacitors, adjustable capacitance dies, package dies, microelectromechanical systems (MEMS) devices, or other adjustable capacitance devices, can be placed in the antenna aperture or elsewhere in variations on the embodiments described herein.

[0016] In some embodiments, an antenna aperture having one or more arrays of antenna elements is comprised of multiple segments coupled together. In some embodiments, when coupled together, the combination of segments forms a group of antenna elements (e.g., a closed concentric ring of antenna elements concentric about the antenna feed, etc.). For more information on antenna segments, see U.S. Patent No. 9,887,455, entitled "Aperture Segmentation of a Cylindrical Feed Antenna," issued February 6, 2018.

[0017] 1 shows an exploded view of an embodiment of a portion of a planar antenna. Referring to FIG. 1, the antenna 100 includes a radome 101, a core antenna 102, an antenna support plate 103, an antenna control unit (ACU) 104, a power supply unit 105, a terminal housing platform 106, a Comm (communications) module 107, and an RF chain 108.

[0018] The radome 101 is the top of an enclosure that encloses the core antenna 102. In some embodiments, the radome 101 is weatherproof and constructed from a material that is transparent to radio waves to allow the beam generated by the core antenna 102 to extend outside the radome 101.

[0019] In some embodiments, the core antenna 102 comprises an aperture having RF radiating antenna elements. These antenna elements function as radiators (or slot radiators). In some embodiments, the antenna elements comprise scattering metamaterial antenna elements. In some embodiments, the antenna elements comprise both receive (Rx) and transmit (Tx) irises or slots interleaved and distributed across the surface of the antenna aperture of the core antenna 102. Such Rx and Tx irises can be grouped in two or more sets, each set for a separate, simultaneously controlled band. An example of an antenna element with such irises is described in U.S. Patent No. 10,892,553, issued January 12, 2021, and entitled "Broad Tunable Bandwidth Radial Line Slot Antenna."

[0020] In some embodiments, the antenna elements include irises (iris openings), and aperture antennas are used to generate a main beam that is shaped by using excitation from a cylindrical feed that radiates through the iris opening via adjustable elements (e.g., diodes, varactors, patches, etc.). In some embodiments, the antenna elements can be excited to radiate horizontally or vertically polarized fields at a desired scan angle.

[0021] In some embodiments, a tunable element (e.g., diode, varactor, patch, etc.) is positioned over each iris slot. The amount of radiated power from each antenna element is controlled by applying a voltage to the tunable element using a controller in the ACU 104. Traces in the core antenna 102 to each tunable element are used to supply voltage to the tunable element. The voltage tunes or detunes the capacitance, and therefore the resonant frequency, of the individual element to achieve beamforming. The required voltage depends on the tunable element in use. Using this property, in some embodiments, the tunable element (e.g., diode, varactor, LC, etc.) integrates an on / off switch for the transfer of energy from the feed wave to the antenna element. When switched on, the antenna element generates an electromagnetic wave similar to an electrically small dipole antenna. Note that the teachings herein are not limited to having a unit cell that operates in a binary manner with respect to energy transfer. For example, in some embodiments where varactors are the tunable elements, there are 32 tuning levels. As another example, in some embodiments where LCs are the tunable elements, there are 16 tuning levels.

[0022] The antenna element (e.g., tunable resonator / slot) can be tuned by modulating the voltage between the tunable element and the slot. Adjusting the voltage changes the capacitance of the slot (e.g., tunable resonator / slot). Therefore, the reactance of the slot (e.g., tunable resonator / slot) can be changed by changing the capacitance. The resonant frequency of the slot can be calculated using the following equation: where f is the resonant frequency of the slot, and L and C are the inductance and capacitance of the slot, respectively. The resonant frequency of the slot affects the energy coupled from the feed wave propagating through the waveguide to the antenna element.

[0023] In particular, the generation of focused beams by metamaterial arrays of antenna elements can be explained by the phenomena of constructive and destructive interference, which are well known in the art. Individual electromagnetic waves add up (constructive interference) if they have the same phase when they cross in free space to generate a beam, and they cancel each other out (destructive interference) if they have opposite phases when they cross in free space. If the slots in the core antenna 102 are positioned so that each successive slot is located at a different distance from the excitation point of the feed wave, the scattered waves from the antenna elements will have a different phase than the scattered waves from the previous slot. In some embodiments, if the slots are spaced a quarter of a wavelength apart, each slot will scatter waves with a quarter phase delay from the previous slot. In some embodiments, by controlling which antenna elements are turned on or off (i.e., by changing the pattern of which antenna elements are turned on and which are turned off) or which of multiple adjustment levels are used, different constructive and destructive interference patterns can be created and the antenna can change the direction of its beam.

[0024] In some embodiments, the core antenna 102 includes a coaxial feed used to provide a cylindrical wave feed via an input feed, such as described in U.S. Patent No. 9,887,456, entitled "Dynamic Polarization and Coupling Control From an Inductive Cylindrically-Fed Holographic Antenna," published February 6, 2018, or U.S. Patent Application Publication No. 20210050671, entitled "Metasurface Antenna Fabricated by Mass Transfer Technology," published February 18, 2021. In some embodiments, the cylindrical feed feed feeds the core antenna 102 from a central point with excitation propagating cylindrically outward from the feed point. In other words, the cylindrical feed wave is an outward-traveling concentric feed wave. Nevertheless, the shape of the cylindrical feed antenna around the cylindrical feed can be circular, square, or any other shape. In some other embodiments, the cylindrical feed antenna aperture generates an inward-traveling feed wave. In such cases, a feed wave originating from a circular structure is most natural.

[0025] In some embodiments, the core antenna includes multiple layers. These layers include one or more substrate layers that form the RF radiating antenna element. In some embodiments, these layers may also include impedance matching layers (e.g., wide angle impedance matching (WAIM) layers, etc.), one or more spacer layers, and / or dielectric layers. Such layers are well known in the art.

[0026] The antenna support plate 103 is coupled to the core antenna 102 and provides support for the core antenna 102. In some embodiments, the antenna support plate 103 includes one or more waveguides and one or more antenna feeds to provide the core antenna 102 with one or more feed waves that are used by the antenna elements of the core antenna 102 to generate one or more beams.

[0027] ACU 104 is coupled to antenna support plate 103 and provides controls for antenna 100. In some embodiments, these controls include a controller for drive electronics for antenna 100 and a matrix drive circuit for controlling switching arrays scattered throughout the array of RF radiating antenna elements. In some embodiments, the matrix drive circuit uses unique addresses to apply voltages to the adjustable elements of the antenna elements to drive each antenna element independently from the other antenna elements. In some embodiments, the drive electronics of ACU 104 include a commercial off-the-shelf LCD controller used in commercial television equipment to adjust the voltage for each antenna element.

[0028] More specifically, in some embodiments, the ACU 104 provides an array of voltage signals to the adjustable devices of the antenna elements to generate a modulation, or control, pattern. The control pattern causes the elements to tune to various states. In some embodiments, the ACU 104 uses the control pattern to control which antenna elements are turned on or off (or at which adjustment levels) and at which phase and amplitude levels of the operating frequency. Elements are selectively detuned for frequency operation by the application of voltages. In some embodiments, multi-state control is used, in which different elements are turned on and off to different levels, more closely approximating a sinusoidal control pattern rather than a square wave (i.e., a sinusoidal gray-shade modulation pattern).

[0029] In some embodiments, ACU 104 also includes one or more processors that execute software to perform some of the control operations. ACU 104 can control one or more sensors (e.g., a GPS receiver, a 3-axis compass, a 3-axis accelerometer, a 3-axis gyro, a 3-axis magnetometer, etc.) to provide position and orientation information to the processor. Position and orientation information can be provided to the processor by other systems in the ground station and / or by other systems that may not be part of the antenna system.

[0030] Antenna 100 also includes a comb (communications) module 107 and an RF chain 108. Comb module 107 includes one or more modem-enabled antennas 100 and communicates with various satellite and / or cellular systems, as well as a router that selects the appropriate network route based on metrics (e.g., Quality of Service (QoS) metrics, e.g., signal strength, latency, etc.). RF chain 108 converts analog RF signals to digital form. In some embodiments, RF chain 108 includes electronic components that may include amplifiers, filters, mixers, attenuators, and detectors.

[0031] The antenna 100 also includes a power supply unit 105 to provide power to various subsystems or portions of the antenna 100 .

[0032] Antenna 100 also includes a terminal housing platform 106 that forms a housing at the bottom of antenna 100. In some embodiments, terminal housing platform 106 includes multiple sections that are coupled to other portions of antenna 100, including radome 101, and encases core antenna 102.

[0033] 2 illustrates an example of a communication system including one or more antennas as described herein. Referring to FIG. 2, vehicle 200 includes antenna 201. In some embodiments, antenna 201 includes antenna 100 of FIG. 1.

[0034] In some embodiments, vehicle 200 may include any one of several vehicles, such as, but not limited to, an automobile (e.g., a car, truck, bus, etc.), a marine vehicle (e.g., a boat, a watercraft, etc.), or an aircraft (e.g., a passenger aircraft, a military aircraft, a light aircraft, etc.). Antenna 201 may be used to communicate with vehicle 200 whether it is stationary or in motion. Antenna 201 may be used to communicate with fixed locations as well, for example, remote construction sites (mining, oil and gas) and / or remote renewable energy sites (solar, wind, etc.).

[0035] In some embodiments, antenna 201 can be in communication with one or more communications infrastructures (e.g., satellite, cellular, network (e.g., the Internet), etc.). For example, in some embodiments, antenna 201 can be in communication with satellites 220 (e.g., GEO satellites) and 221 (e.g., LEO satellites), cellular network 230 (e.g., LTE, etc.), and network infrastructures (e.g., edge routers, the Internet, etc.). For example, in some embodiments, antenna 201 includes one or more satellite modems (e.g., GEO modems, LEO modems, etc.) that enable communication with various satellites, such as satellite 220 (e.g., GEO satellites) and satellite 221 (e.g., LEO satellites), and one or more cellular modems for communication with cellular network 230. For another example of an antenna communicating with one or more communication infrastructures, see U.S. Patent Application Serial No. 16 / 750,439, filed January 23, 2020, entitled "Multiple Aspects of Communication in a Diverse Communication Network."

[0036] In some embodiments, antenna 201 performs dynamic beam steering to facilitate communication with various satellites. In such cases, antenna 201 can dynamically change the direction of the beams it generates to facilitate communication with various satellites. In some embodiments, antenna 201 includes multi-beam beam steering, which allows antenna 201 to simultaneously generate two or more beams, thereby enabling antenna 201 to simultaneously communicate with more than one satellite. Such functionality is often used when switching between satellites (e.g., performing a handover). For example, in some embodiments, antenna 201 generates and uses a first beam to communicate with satellite 220 and simultaneously generates a second beam to establish communication with satellite 221. In some embodiments, after establishing communication with satellite 221, antenna 201 ceases generating the first beam to terminate communication with satellite 220 and simultaneously switches to communication with satellite 221 using the second beam. For more information on multi-beam communications, please refer to U.S. Patent No. 11,063,661, entitled "Beam Splitting Hand Off Systems Architecture," published July 13, 2021.

[0037] In some embodiments, antenna 201 uses path diversity to allow a communication session occurring over one communication path (e.g., satellite, cellular, etc.) to continue during and after a handover to another communication path (e.g., a different satellite, a different cellular system, etc.). For example, if antenna 201 is in communication with satellite 220 and switches to satellite 221 by dynamically changing its beam direction, the session with satellite 220 will be combined with the session occurring over satellite 221. Thus, the antennas described herein can be part of a satellite terminal that enables ubiquitous communication and multiple different communication connections.

[0038] Estimating device state A method and apparatus for estimating state information of a terminal is disclosed. In some embodiments, the apparatus includes a planar antenna and a sensor engine (e.g., a signal processing engine) communicatively coupled to the planar antenna. The sensor engine is configured to process asynchronous sensory inputs from multiple sources (e.g., sensors) and generate an estimate of a state of the planar antenna of the satellite antenna terminal based on the sensory inputs. In some embodiments, the estimate of the state includes an estimate of an orientation. In some embodiments, the state includes one or more of an angular rate, an angular acceleration, a linear acceleration, a linear velocity, a position, a gyroscope bias, a gyroscope noise statistic, an accelerometer bias, an accelerometer noise statistic, and an accuracy index for the position sensor.

[0039] In some embodiments, the techniques disclosed herein are operable to determine the orientation of a terminal in a more accurate and robust manner, hi some embodiments, the techniques disclosed herein are operable to determine the orientation of a terminal with or without an open-loop sensor.

[0040] One or more embodiments disclosed herein have one or more of the following advantages: First, the embodiments disclosed herein perform their operations independently of open-loop sensors, which may be faulty and have several unknown error sources. Second, the embodiments disclosed herein perform their operations in a more accurate and robust manner than prior art techniques. Third, the embodiments disclosed herein have the ability to update a user's location status without having access to a Global Navigation Satellite System (GNSS) or other Global Positioning System (GPS).

[0041] In some embodiments, the sensor engine (e.g., signal processing engine) includes a hybrid tightly coupled sensor fusion engine that can process sensory inputs from many asynchronous sensors (e.g., closed-loop sensors, open-loop sensors, etc.) at different rates to generate an estimate of the orientation and / or other state information of the terminal. In some embodiments, the terminal can be a mobile terminal (which simultaneously rotates and translates). In some other embodiments, the terminal can be a stationary terminal. In still some other embodiments, the terminal can generate an estimate of the orientation and / or other state information regardless of whether the terminal is moving or stationary. In some embodiments, the sensor engine is configured to generate an estimate of the orientation and / or other state information based on one or more of a velocity vector, a position vector, a differential position vector, and a differential velocity vector.

[0042] In some embodiments, sensory inputs processed by the sensor fusion engine include an inertial measurement unit (IMU), closed-loop (CL) measurements from one or more satellites in the same constellation, closed-loop (CL) measurements from one or more satellites in other constellations / orbits, information about the satellite's past positions, terminal position and velocity (e.g., GNSS-based terminal position and velocity), and mobile-based real-time kinematic (RTK) sensors. In some embodiments, sensors can be on / off or have / do not have measurements, allowing the sensor fusion engine to adaptively adjust its internal logic to accommodate a changing number of asynchronous sensor measurements. For example, in some embodiments, in a GNSS-denied environment where RTK and GNSS position and velocity information is unavailable, the sensor fusion engine detects such a situation and processes the remaining set of sensor measurements with a sufficient set to generate status information. In some embodiments, the determination of what constitutes a sufficient set is based on an examination of observability criteria.

[0043] 3 shows a data flow diagram of some embodiments of a sensor fusion engine. In some embodiments, the sensor fusion engine is implemented by processing logic comprising hardware (e.g., circuitry, dedicated logic, etc.), software (e.g., software running on a chip, software running on a general-purpose computer system or dedicated machine, etc.), firmware, or a combination thereof.

[0044] 3, buffer 300 receives and stores input data from one or more sources, including sensory inputs. In some embodiments, the sources include machine learning inputs 310, RTK 311, trajectory clues 312, closed-loop measurements 313, GPS 314, and signals from an IMU 315. In some embodiments, machine learning inputs 310 are from the output of a clustering algorithm, for example, as described in more detail herein below. In some embodiments, trajectory clues inputs 312 are from the output of a Quest algorithm, for example, as described in more detail herein below.

[0045] The input from the buffer 300 is sent to pre-processing 301, which is performed by a pre-processor. Examples of pre-processing operations in one or more embodiments are disclosed herein. After pre-processing 301, the pre-processed data is forwarded to a sensor fusion engine 302. In response to the data, the sensor fusion engine generates an estimate of the state of the planar antenna. After generating the estimate, the sensor fusion engine 302 sends the estimate to post-processing 303, which is performed by a post-processor. After post-processing, the post-processed estimate is output.

[0046] In some other embodiments, the sensor fusion engine can run on only CL measurements, satellite orbit information, and IMUs, or run on only RTK and GPS data when such data is unavailable. In some embodiments, the sensor fusion engine is used for scenarios and use cases where GNSS is denied. FIG. 4 illustrates an embodiment of a portion of a sensor fusion engine that operates despite not receiving updated input from some of the data sources. Referring to FIG. 4, in this example, there is no updated data received from the RTK 311 and GPS 314. In such a case, the sensor fusion engine 302 continues to process the input data using previously received input data for the RTK 311 and GPS 314.

[0047] In some other embodiments, the GPS sensors generate several independent subsets of sensed inputs that are sent to or otherwise provided to the sensor fusion engine, in some embodiments these include velocity vectors delivered directly by most GNSS receivers, position vectors delivered directly by most GNSS receivers, and differential position and differential velocity vectors calculated via some internal logic.

[0048] In some embodiments, the sensor fusion engine uses the position and velocity vectors as indirect cues to improve the final orientation estimate by estimating the first terminal acceleration, and the aforementioned difference vector as direct cues for estimating the orientation. Also, in some embodiments, the sensor fusion engine is configured to process data from any of the GNSS sensor data available at any given time. That is, the sensor fusion engine processes data from all GNSS sensors or only a subset of data from the GNSS sensors based on which of the GNSS sensors have data (e.g., recent data, new data, reliable data, etc.).

[0049] In some embodiments, the sensor fusion engine is configured to process CL measurements from one or more satellites from one or more constellations using RF, IF, and baseband metrics generated from signals received from satellites of the same or different constellations to estimate the orientation of the terminal without using data from other external open-loop and / or inertial sensors.

[0050] In some embodiments, the sensor fusion engine comprises three components: a pre-processor, a core fusion engine, and a post-processor. Figure 5 illustrates some embodiments of a sensor fusion engine. In some embodiments, the sensor fusion engine is implemented by processing logic comprising hardware (e.g., circuitry, dedicated logic, etc.), software (e.g., software running on a chip, software running on a general-purpose computer system or dedicated machine, etc.), firmware, or a combination thereof.

[0051] 5, buffer 501 stores inputs to the sensor fusion engine described herein. Pre-processor 502 performs pre-processing of the inputs stored in buffer 501. After pre-processing, the inputs are sent to core sensor fusion module 503, which generates estimates of the antenna state, including antenna orientation. These estimates are output to post-processor 504, which performs post-processing on the estimates. The output of post-processor 504 are post-processed estimates.

[0052] In some embodiments, the pre-processor 502 receives sensory inputs from the buffer 501 and determines which sensor measurements to deliver to the core fusion engine 503. In some embodiments, the pre-processor 502 makes its determination by detecting faulty sensors and outlier data based on some internal logic. An example of such an embodiment is shown schematically in Figure 6 by the pre-processor's accept / reject logic that either accepts or rejects certain inputs as part of pre-processing.

[0053] Referring to FIG. 6 , in some embodiments, the pre-processing logic's accept / reject logic 610 receives multiple inputs, including a closed-loop (CL) input 601, an orbit input 602, and a GNSS input 603. The accept / reject logic 610 determines whether to accept or reject the input from a source. The accept / reject logic 610 forwards accepted data inputs to the core sensor fusion engine 611, while preventing rejected inputs from proceeding to the core sensor fusion engine 611. As shown, in some embodiments, the IMU measurements 604 are sent from the pre-processor to the core sensor fusion engine 611 without being accepted or rejected by the accept / reject logic 610 directly. In some other embodiments, the IMU measurements 604 can be accepted / rejected via the accept / reject logic, which determines which to accept or reject based on the build quality of the IMU used. It should also be noted that in some other embodiments, other inputs not shown in FIG. 6 may be subject to the accept / reject logic 610.

[0054] In some embodiments, IMU measurements are considered the most reliable sensor and therefore may not be subject to any pre-processing accept / reject logic, hi such embodiments, IMU measurements may be passed to the sensor fusion engine 503.

[0055] In some other embodiments, the pre-processor 502 makes its determination by detecting whether all data from the sensors was collected from a time interval during which there was no rotation by the planar antenna (referred to herein as a rotational stationary interval). For example, in some embodiments, during such an interval, the core fusion engine can provide an estimate of the gyro bias and other estimates related to other system / sensor states. In addition, the pre-processor 502 detects periods during which there was no translation by the planar antenna (referred to herein as a translational stationary interval) to enable the core fusion engine to provide an estimate of the accelerometer bias and other estimates related to other system states. In some embodiments, the detection of rotational and translational stationarity is determined based on the magnitude and / or angular orientation of the gyro readings, knowledge of the gyro bias maximum, the accelerometer readings, and knowledge of the magnitude and / or orientation of the gravity vector.

[0056] In some embodiments, pre-processor 502 processes the GNSS sensing information using a moving window of past gyro measurements to detect whether a previously described differential position and velocity vector has been established from an interval of rotational stationarity. If so, pre-processor 502 accepts and provides the differential vector to the sensor fusion engine for use in generating an orientation estimate. In some embodiments, pre-processor 502 includes the logic shown in FIG. 7. The terminal's velocities (or positions) at two different times are subtracted. The logic then compares the differential position / velocity vector to several thresholds to determine whether the amount of displacement / velocity difference dominates the measurement noise on the base position and velocity vector. If the thresholds are exceeded, pre-processor 502 uses the gyro measurements collected from the interval of difference to ensure that no significant rotation (which could invalidate the differential vector) has occurred. In some embodiments, if it is determined that terminal rotation is not significant, pre-processor 502 sends the differential measurement to the core fusion engine; otherwise, pre-processor 502 drops the differential measurement and does not allow it to be processed by the core fusion engine.

[0057] More specifically, with reference to FIG. 7, a GPS sensor 701 generates GPS measurements. The GPS measurements are sent to a time differencing module 702, which performs time differencing on the GPS measurements. The output of the time differencing module 702 is sent to a decision block 703, which determines whether there has been sufficient translation to dominate the GNSS noise. If yes, the data is forwarded for further processing. If not, the data is rejected or the time differencing interval is increased. If there has been sufficient translation to dominate the GNSS noise, another decision block 704 determines whether there has been too little rotation (so as not to invalidate the ground course vector). If not, the data is rejected. If there has been too little rotation so as not to invalidate the ground course vector, the observation is sent to the core sensor fusion engine (block 705). FIG. 8 illustrates some embodiments of the logic for implementing each component of the GNSS pre-processing flow diagram of FIG. 7.

[0058] In some other embodiments, the preprocessor 502 processes the sensor measurements jointly (rather than individually) to detect anomalous conditions, not only to detect anomalous sensor measurements but also to block the sensor fusion engine (and its EKF in some embodiments) from processing anomalous observations in these conditions. For example, in some embodiments, the preprocessor 502 identifies two non-anomalous vectors that are substantially collinear at a particular time and prevents these substantially collinear non-anomalous vectors from being sent to the sensor fusion engine, as it is advantageous not to process these substantially collinear vectors by the sensor fusion engine in that instance. As another example, when a satellite is overhead, where the pointing vector is collinear with the gravity vector (in either frame of reference), the collinearity of the pointing vector with measurements collected from an accelerometer can cause the sensor fusion engine to operate erroneously, as the separate collinear vectors / measurements do not carry extra information about the device's orientation. Such a condition may arise for LEO satellites passing overhead. In some embodiments, the pre-processor 502 uses a cosine similarity metric between the pointing and gravity vectors to detect the collinearity scenarios described above, and in response to such detection, the pre-processor 502 limits the information sent to the sensor fusion engine so that the sensor fusion engine updates the orientation by integrating gyro readings and freezes other states of the system.

[0059] In some embodiments, the core fusion engine includes two general components: an iterative fusion engine and an initializer estimator. The initializer estimator provides an initial estimate to kickstart the process performed by the iterative fusion engine. Figure 9 illustrates an embodiment of part of the initializer estimator.

[0060] 9, initializer 900 includes orientation initializer 901 and gyro bias initializer 902. In some embodiments, orientation initializer 901 comprises an implementation of the QUEST algorithm, and the iterative fusion engine comprises an extended Kalman filter (EKF).

[0061] In some other embodiments, the gyro bias initializer 902 of the initializer 900 utilizes a clustering algorithm to process past gyro measurements to estimate the gyro bias of the gyroscope and use the latter as a good initialization point to kick off the iteration engine (of the sensor fusion engine). In some embodiments, the clustering algorithm is a Gaussian Mixture Model (GMM)-based clustering algorithm or a K-means clustering algorithm. Using either of these clustering algorithms can provide a good initial estimate of the gyro bias when there are intermittent intervals of rotational stationarity. Even very short bursts of rotational stationarity that are indistinguishable to the naked eye but present in realistic motion capture allow for accurate estimation of the gyro bias. In some embodiments, when such an interval is not present (e.g., in an offshore scenario or stormy sea conditions), the gyro bias initializer 902 sequentially and repeatedly performs frequency domain filtering (to remove high frequency components associated with the motion captured by the gyroscope) and time domain thresholding (to remove low frequency high amplitude components associated with the motion captured by the gyro) before inputting the processed gyro measurements into the clustering algorithm.

[0062] FIG. 10 illustrates the use of frequency domain filtering and time domain thresholding as part of IMU pre-processing in the core sensor fusion engine of some embodiments. Referring to FIG. 10, raw gyro measurements 1001 are sent to a buffer 1002. The buffered data in buffer 1002 undergoes frequency domain filtering 1003, and the filtered data undergoes time domain thresholding 1004. Frequency domain filtering 1003 and time domain thresholding 1004 can be repeated a finite number of times until a desired level of confidence is achieved. The output of time domain thresholding 1004 is forwarded to a clustering algorithm 1005. Clustering algorithm 1005 performs clustering using one or more clustering algorithms, as described in more detail below. The output of clustering algorithm 1005 is sent to a core sensor fusion engine 1006.

[0063] In some embodiments, the sensor fusion engine estimates several quantities related to the six degrees of freedom of the device, as well as unknown parameters of the sensors at the inputs of the sensor fusion engine, hi some embodiments, the sensor fusion engine estimates quantities including one or more of angular rate, orientation, angular acceleration, linear acceleration, linear velocity, position, gyroscope bias, gyroscope noise statistics, accelerometer bias, accelerometer noise statistics, and position sensor imperfections.

[0064] 11 illustrates an example of data flow through a sensor fusion engine of some embodiments. In some embodiments, the sensor fusion engine is implemented by processing logic comprising hardware (e.g., circuitry, dedicated logic, etc.), software (e.g., software running on a chip, software running on a general-purpose computer system or dedicated machine, etc.), firmware, or a combination thereof.

[0065] 11 , observation data, including sensed inputs, are buffered using buffer 1101. Detection block 1102 determines, for each input, whether it is permissible to retrieve a sufficient subset of the observation data from the input buffer. If such a search is permissible, the corresponding measurements are provided to core engine 1103, which generates estimates with an indication of whether the data used for the estimates is recent or stale. Core engine 1103 sends the generated estimates to post-processing 1104 (executed by a processor) along with information related to whether the estimates were generated using stale or recent data. In some embodiments, the output of post-processing 1104 includes a user translational sub-state 1105, a user rotation sub-state 1106, and a sensor parameter sub-state 1107.

[0066] In some embodiments, the sensor fusion engine comprises multiple smaller engines that operate depending on the availability and nature of sensed inputs and the sufficiency of those inputs to estimate an output representative of the state of the terminal, including its antenna. For example, in some embodiments, the multiple smaller engines include a full-buffer sensor fusion engine (e.g., full-buffer EKF 1210 of FIG. 12) and a partial-buffer engine (e.g., partial-buffer EKF 1211 of FIG. 12). When all observations are available, the full-buffer sensor fusion engine processes all post-processed measurements simultaneously to provide a better estimate of the unknown state of the terminal. Due to the synchronicity and multi-rate nature of different sensors, not all sensors provide measurements at every fusion moment (e.g., every time the fusion engine is set to process measurement data). Because it is often undesirable to limit the estimation rate to the rate of the slowest sensor, the partial-buffer engine is employed once a minimum set of measurements comprising a sufficient set are available. This results in improved estimation speed. In some embodiments, if no new observations are available, the last set of observations is repeatedly presented to the full-buffer and partial-buffer sensor fusion engines to improve the accuracy of the estimation, as indicated in FIG. 12 by iterator blocks 1220 and 1221, respectively. This is because the fusion algorithm is performed by the core sensor fusion, which operates as an iterative optimizer (as opposed to a one-shot optimizer) that slowly converges to an optimal solution, allowing sufficient time and processing speed to benefit from looking at the most recent data set until new data becomes available.

[0067] 12 illustrates some embodiments of a core sensor fusion engine. In some embodiments, the sensor fusion engine is implemented by processing logic comprising hardware (e.g., processing circuitry, dedicated logic, etc.), software (e.g., software running on a chip, software running on a general-purpose computer system or dedicated machine, etc.), firmware, or a combination thereof.

[0068] 12 , buffer 1201 stores observations including measurement inputs from sensors and other data sources. Retriever 1202 is coupled to buffer 1201 to retrieve data and provide the retrieved data to core sensor fusion engine 1230. Core sensor fusion engine 1230 includes full buffer EKF 1210 and partial buffer EKF 1211. In some embodiments, full buffer EKF 1210 is used when there is a full buffer of new observation data available to core sensor fusion 1230, while partial buffer EKF 1211 is used when buffer 1201 does not contain a full set of new observation data. Full buffer EKF 1210 and partial buffer EKF 1211 may also operate in response to receiving initial state data 1250 from state initializer 1222.

[0069] Iterators 1220 and 1221 cause full buffer EKF 1210 and partial buffer EKF 1211, respectively, to iterate over data presented to them from buffer 1201 via retriever 1202. In some embodiments, whether full buffer EKF 1210 and partial buffer EKF 1211 iterate using data from buffer 1201 or initial state 1250 from state initializer 1222 is based on whether covariance is determined to be ready by covariance estimation block 1223. If covariance is not ready, full buffer EKF 1210 and partial buffer EKF 1211 iterate using initial state 1250. If covariance is determined to be ready, such as when data is in an acquisition state and at least some new data is made available to core sensor fusion 1230, full buffer EKF 1210 and / or partial buffer EKF 1211 iterate using data received from buffer 1201.

[0070] In some embodiments, the core fusion engine includes an Extended Kalman Filter (EKF) for estimating the unknown states of the system. In some embodiments, the Kalman gains of the EKF are adaptively adjusted based on "innovation statistics" and some external information available about sensors, the probabilistic states of the system, the motion limitations of the platform, etc. For example, if the IMU is known to be less accurate (as in the case of consumer-grade IMUs), the innovation statistics are adjusted by de-emphasizing the IMU measurements.

[0071] In some other embodiments, the core fusion engine adaptively adjusts the process covariance depending on how reliable its prior knowledge of the device state is at two different time steps at which the core fusion engine previously performed an iteration. For example, for industrial-grade IMUs, gyroscope biases are very stable with little fluctuation due to environmental changes. As a result, in some embodiments, it is better to conservatively select the gyro bias covariance (uncertainty) in the process model and increase reliance on the gyroscope. Alternatively, for consumer-grade IMUs where the sensors are not factory calibrated, some embodiments widen the covariance uncertainty to de-emphasize reliance on unreliable sensors. This same concept can be applied to other states of the system. For example, in some embodiments, if there is some side information indicating that the device is not currently rotating, the orientation covariance is reduced to give the fusion engine more confidence and reduce reliance on noisy observations.

[0072] In some other embodiments, the initial covariance of the states is selected depending on the use case. Similar to the adaptive selection of process covariances described above, in some embodiments, the initial covariance of the system states is selected to strike a balance between convergence speed and avoiding divergence. As a general guideline, in some embodiments, the fusion process is kickstarted at a given state of the system with more uncertainty (larger covariance) when the estimated values ​​are larger than expected, when sufficiently sophisticated modeling of the system does not exist (e.g., the system has oscillations but does not diverge), or when oscillations exist in the system but are intentionally ignored, or when the GPS sensor has multipath degradation that makes modeling difficult, or when the system suffers from observability issues and sufficient observations are not available for short (and transient) intervals.

[0073] In some embodiments, the full-buffer EKF 1210 of FIG. 12 is used to estimate all or part of the state during the iteration in which it is used. The nature of the estimated state depends not only on sensor availability but also on input data corresponding to periods of stationarity. In some embodiments, the partial-buffer EKF 1211 of FIG. 12 is used to estimate only a subset of the unknown states. The initial state 1250 of FIG. 12 is an optional component of the core sensor fusion engine that causes the full-buffer EKF and / or the partial-buffer EKF to repeatedly process the same data (until new data is input) to improve the convergence characteristics of the estimate. In some embodiments, the iterators 1220 and 1221 of FIG. 12 can be used to exploit the fact that the core information processing is an iterative filter that may not have converged to an optimal solution if the system parameters are selected to provide a small step size toward the optimal point. In such cases, the iterators 1220 and 1221 of FIG. 12 take advantage of the high speed of the processor (compared to the low information rate of the sensors) to improve the accuracy of the estimate at each epoch.

[0074] In some other embodiments, core sensor fusion 1230 also internally checks whether to accept one or more sensed inputs during the fusion process. As described above, the preprocessor determines whether to accept or reject data from particular sensors before it is sent to core sensor fusion 1230 by examining sensor operations individually or in conjunction with each other. However, core sensor fusion 1230's rejection or acceptance of data from particular sensors during fusion may use metrics such as the filter's innovation mean and innovation covariance to determine which sensors may be inaccurate and therefore should be temporarily excluded from the remaining steps of fusion. FIG. 13 illustrates an embodiment of a portion of an anomaly detection component in an internal EKF for rejecting or accepting particular data from within the sensor fusion process.

[0075] Returning to FIG. 5 , the post-processor 504 performs post-processing in the sensor fusion process. In some embodiments, the post-processor 504 applies internal logic to the updated estimates of the sensor fusion engine's state space to determine whether they follow expected behavior. Thus, in some embodiments, the post-processor 504 determines whether the estimates produced by the core sensor fusion module 503 are abnormal. An estimate can be abnormal for several reasons, some of which are: (1) an abnormal sensed input passes through the pre-processing filter undetected; (2) the core sensor fusion traces a local minimum of the cost function rather than a global minimum; (3) the core sensor fusion processes asynchronous observations that capture the state of the system at different times; (4) a sensor outage caused by overheating; (5) a numerical error; etc. If any of these occur, the post-processor 504 uses some internal logic in its post-processing operations to identify the occurrence and take action.

[0076] 14 shows inputs and outputs of some embodiments of a post-processor (e.g., a processor). In some embodiments, the inputs include an indication of the time interval between the last estimate of the state and the current estimate of the state, past gyro readings during that interval, past state estimate information, the last (previous) estimate of the state, and the updated (new) estimate of the state. Using outlier detection logic, the post-processor determines whether there are any outliers and outputs an indication of the current state based on whether the current state appears to be abnormal.

[0077] 5, in some other embodiments, other information may be used by post-processor 504. For example, in some embodiments, post-processor 504 uses mobile platform-side information such as the platform type, its size, its maximum possible speed / acceleration, the terrain being maneuvered, etc. to filter out impossible translational sub-states of the system.

[0078] In yet some other embodiments, post-processor 504 uses the specifications of sensors, such as gyros and accelerometers, as a basis for estimating the accuracy level of the fusion engine sub-state estimates related to those unknown parameters associated with the sensors, such as bias and noise. For example, in some embodiments, post-processor 504 rejects EKF estimates for gyroscopes with estimated bias instability that does not exceed one-tenth of a degree per second (dps) if the estimate violates expected values.

[0079] Figure 15 shows an embodiment of a portion of a post-processor that rejects or accepts estimates produced by a core sensor fusion engine. Referring to Figure 15, core sensor fusion engine 1501 provides estimates to post-processor 1502. Post-processor 1502 also receives side information 1503 regarding the type of motion platform, sensor quality, etc. Based on this information, post-processor 1502 decides whether to accept or reject the estimates from core sensor fusion engine 1501.

[0080] (re)capture In some embodiments, a reacquisition engine is used to find satellites in response to a loss of track. Loss of track can occur for several reasons. First, in some cases, the information rate of sensor measurements is slower than the information rate required to estimate the unknown state of the sensor fusion, or is not fast enough to keep the beam on the satellite at all times. This lack of current information can occur in the presence of severe terminal motion.

[0081] Second, a mobile terminal's lock on a satellite can be lost due to long satellite blockages (e.g., tunnels, mast occlusions, tree canopy, etc.). Nevertheless, it is crucial to be able to re-establish connection with the lost satellite as quickly as possible when the blockage clears. Knowledge of the terminal's orientation state plays a key role in re-establishing connectivity, and depending on the type and duration of the blockage / obstruction, the orientation may not be known with the required accuracy.従って、 A reacquisition search is initiated to find the satellite.

[0082] Third, when connected to non-geostationary satellites (e.g., emerging LEO constellations), handoff (HO) from the currently dwindling serving satellite to the next emerging target satellite requires very accurate and frequent knowledge of orientation, a requirement that may not be temporarily met by the sensor fusion engine.

[0083] In some embodiments, to handle all three of these situations where track loss occurs, a reacquisition engine is employed that uses a search algorithm to facilitate availability and meet connectivity requirements. Figure 16 illustrates an apparatus having a sensor fusion engine in bidirectional communication with a (re)acquisition engine. Referring to Figure 16, sensor fusion engine 1601 is coupled to (re)acquisition engine 1602, with data exchanged bidirectionally between them.

[0084] In some embodiments, the reacquisition engine utilizes estimated statistics of the sensor fusion engine's state space to perform a more intelligent and rapid search. For example, in some embodiments, when the core fusion engine's EKF is used, the mean and covariance of the headings can be used to derive heading hypotheses and search the sky using the non-uniform Gaussian beliefs (a.k.a., hypothesis space) provided by the EKF. FIG. 17 illustrates where the cone of uncertainty results from the non-uniform beliefs obtained from the sensor fusion engine. Referring to FIG. 17, there are impossibility areas that are avoided to reduce the time spent searching the sky due to the existence of past data or assumptions generated by the sensor fusion engine. In this way, the search space for searching the sky above the satellite is narrowed based on the information generated by the sensor fusion engine. In particular, the search space is limited to areas where the heading corresponds to the pointing vector generated by the sensor fusion engine. If the heading does not correspond to the pointing vector, no search is performed there. In this way, the search is narrowed to the cone of uncertainty 1701, which indicates the optimal area to begin a search for reacquisition.

[0085] In some embodiments, the reacquisition engine uses multiple simultaneous hypotheses from the hypothesis space and simultaneously checks them by forming multiple beams, each formed based on a bearing hypothesis. Figure 18A shows an example of a non-redundant search performed by a reacquisition engine that, in some embodiments, uses multiple simultaneous hypotheses from the hypothesis space and simultaneously checks them by forming multiple beams, each formed based on a bearing hypothesis. If energy is not detected in any of the simultaneous beams formed from the current subset of bearing hypotheses, a new subset is drawn and a new subset of beams is formed based on that, and this process continues until energy is detected. Beamforming can be either analog or digital. In the digital case, upon detecting energy, the reacquisition engine immediately knows which bearing corresponds to which beam, so no further search is necessary. In the analog case, the reacquisition engine only knows that satellite energy leaked through one of the beams, and the reacquisition engine uses a second, narrower search within that subset to resolve which beam was associated with the detected energy. In some embodiments, the reacquisition engine performs a narrower search by sequentially forming individual beams toward each bearing hypothesis in the last set of bearing hypotheses that yielded high energy. Figure 18A illustrates performing a narrower search by generating multiple beams toward the bearing hypotheses in the last set of bearing hypotheses.

[0086] In some other embodiments, the reacquisition engine performs a non-redundant search in which the reacquisition algorithm does not check orientation hypotheses rejected in previous searches, treating them as an impossible state for the terminal. Limiting the search in this way is useful because of the time required to dwell on a beam in a given direction in order to obtain a reliable metric (based on which hypothesis rejection or acceptance is based). Figure 18B shows an example of a non-redundant search performed by the reacquisition engine of some embodiments. Referring to Figure 18B, the center beam is the beam hypothesis at the current time; the other beams outside the center beam are beam hypotheses that have already been checked and will not be examined again.

[0087] In some embodiments, the reacquisition engine uses gyroscope measurements to propagate rejected hypotheses forward in time to compensate for terminal motion during the search. This is to adhere to the principle of MECE (Mutually Exclusive, Collectively Exhaustive) search. Note that otherwise, good hypotheses may be omitted among the rejected hypotheses, resulting in satellites not being found. Figures 18C and 18D illustrate this idea.

[0088] Referring to Figure 18C, the body frame and navigation frame at time t1 are shown, with the beam pointed in a direction where there are no satellites / signals. t1 As time passes and reaches t_2, the body frame moves to a new position relative to the navigation frame due to the rotation of the device. This is shown in Figure 18D at time t2. The directions already explored are t2 have different positions in the body frame at v t1 (t2). Thus, in some embodiments, to ensure the mutually exclusive element of the MECE principle (i.e., to avoid redundant searches), the excluded Poynting vector v t1 (t1) is v t1(t2). On the other hand, the vector v t1 Not propagating (t1) and simply adding it to the exclusion list (which has the underlying assumption of no rotation) violates the "all-encompassing" principle, as it may skip hypotheses that have not been explored before.

[0089] In some embodiments, the reacquisition engine uses a clock / counter and a gyroscope to propagate rejected hypotheses forward in time to adhere to the MECE principle. In some other embodiments, the reacquisition engine can handle the problem of propagating hypotheses using non-ideal gyroscopes. In this case, due to the presence of gyro noise, gyro bias, and misalignment, the reacquisition engine does not propagate rejected hypotheses forward with perfect fidelity. This can result in a few bad hypotheses leaking into the good (but not yet found) hypothesis space, and vice versa, which can occur repeatedly if search times are longer than usual. In some embodiments, the reacquisition engine uses an eviction mechanism that allows some old rejected hypotheses to be randomly excluded from the rejected set, so that the imperfect leakage problem does not deprive the search algorithm of never finding a satellite.

[0090] In some embodiments, the reacquisition engine intentionally widens the search uncertainty in order to take advantage of the many-to-one relationship that exists between the orientation domain and the pointing domain. Figures 19A and 19B illustrate this idea. In both Figures 19A and 19B, for purposes of illustration, the multidimensional space is oversimplified with only a single axis. In Figure 19A, the three-dimensional orientation domain (y / p / r) is shown on a single x-axis, while in Figure 19B, the pointing angle (θ / φ) in the body frame is shown on the x-axis. In the body frame, the hypotheses ( While there is only one y / p / r hypothesis (as shown in JPEG2025536193000003.jpg6150) (as measured by a higher carrier-to-noise ratio (CNR)), in the orientation search region, there can be many y / p / r hypotheses that yield the same result. This concept is illustrated in Figure 19A by the many peaks that achieve a high CNR. Of course, only one of the peaks will determine the terminal's true orientation ( JPEG2025536193000004.jpg6150). However, as searching in the orientation domain has been described, in some embodiments, the goal is not to find the true orientation hypothesis. Thus, by fictitiously spreading the search uncertainty, it is possible to expose the search algorithm to many different search positions that would land the beam on the satellite.

[0091] In some embodiments, the reacquisition engine reduces the search space once a good hypothesis is found. In this case, the reacquisition engine maintains a set of accepted hypotheses whose members are matched with any new hypotheses drawn at the current time before being tested (by beamforming). If the drawn hypothesis is not close to any members in the accepted set, the reacquisition engine does not test the drawn hypothesis. Alternatively, if the drawn hypothesis is close to at least one member of the accepted set, the reacquisition engine uses this hypothesis as a new candidate hypothesis to be tested. This helps reduce search time and expedite the search process.

[0092] In some embodiments, the reacquisition engine uses a gyroscope and a clock to propagate the accepted hypotheses in the accepted hypothesis set forward in time to compensate for the terminal's motion during the search. Similar to updating the rejected set, if the gyroscope is non-ideal, the reacquisition engine uses a pruning mechanism to remove old accepted hypotheses with the goal of not leaking bad hypotheses into the accepted hypothesis set due to the gyroscope non-ideality.

[0093] In some embodiments, the reacquisition engine uses the rejected and accepted hypothesis sets to update the orientation beliefs that the sensor fusion engine attempts to maintain (and that the reacquisition engine attempts to utilize) as the search progresses. This makes the relationship between the acquisition engine and the sensor fusion engine a reciprocal one, with information flowing in both directions to update the beliefs of both. This is beneficial because the sensor fusion engine operates independently of one of the most important sensed pieces of information (i.e., closed loop) during acquisition.

[0094] In some embodiments, the reacquisition engine forms beams with adaptively adjustable beamwidths to accelerate search time and reduce dwell time. Specifically, early in the search when uncertainty is high, in some embodiments the reacquisition engine selects wider beams to accelerate the search. However, as more data becomes available (e.g., by testing an increasing set of accepted hypotheses), the reacquisition engine reduces the beamwidths of candidate beams so that more reliable metrics can be collected within shorter dwell times.

[0095] Figure 20 illustrates this hierarchical adaptation of beam characteristics. Referring to Figure 20, a beam search is performed in a narrow region where no hypotheses have yet been confirmed. In this case, a signal is discovered at t7 while searching a narrower search space. Because a signal was detected at t7, no beam search is performed in some regions. Some hypotheses have already been checked, so they are not considered again. Nevertheless, because the terminal is rotating, these are propagated forward.

[0096] In some embodiments, the reacquisition engine adaptively adjusts the beam stride as more data becomes available about the satellite's possible directions. More specifically, in some embodiments, early in the search when little is known about the true satellite direction, the reacquisition engine bounds the beam stride as it gains confidence about a particular direction, with subsequent hypotheses potentially departing arbitrarily from the previous accepted hypothesis within the accepted hypothesis. In this case, the beamwidths of the hypothesized beams at different times can be fixed, but their boresight positions are more constrained to avoid unnecessary jumps and searches. Figures 21A, B, and C illustrate this feature.

[0097] There are several exemplary embodiments described herein.

[0098] Example 1 is an apparatus comprising a planar antenna and a signal processing engine communicatively coupled to the planar antenna, wherein the signal processing engine is configured to process asynchronous sensing inputs from a plurality of sensors and generate an estimate of a state of the planar antenna of a satellite antenna terminal based on the sensing inputs, the estimate including an estimate of orientation.

[0099] Example 2 is the apparatus of example 1, optionally including wherein the state comprises one or more of angular rate, angular acceleration, linear acceleration, linear rate, position, gyroscope bias, gyroscope noise statistics, accelerometer bias, accelerometer noise statistics, and an accuracy index for the position sensor.

[0100] Example 3 is the apparatus of example 1, which can optionally include the signal processing engine being configured to generate an estimate of orientation based on one or more of the velocity vector, the position vector, the differential position vector, and the differential velocity vector.

[0101] Example 4 is the apparatus of example 1, which can optionally include wherein the signal processing engine comprises: a core engine that generates the estimate; and a preprocessor that receives the sensed input and determines which sensor measurements to send to the core engine for selection by the core engine for use in generating the estimate.

[0102] Example 5 is the apparatus of example 4, optionally including the core engine comprising an iterative processing engine.

[0103] Example 6 is the apparatus of example 5, optionally including the iterative processing engine comprising a Kalman filter that estimates unknown states associated with the planar antenna.

[0104] Example 7 is the apparatus of example 5, which can optionally include the iterative processing engine comprising: a first Kalman filter that estimates a state of the planar antenna; and an iterator coupled to the first Kalman filter that causes the first Kalman filter to iterate the sensed input along with any new sensed input data received since a previous iteration.

[0105] Example 8 is the apparatus of example 5, which can optionally include the core engine comprising: an orientation initializer that provides an initial orientation estimate; and a gyro bias initializer that estimates a gyro bias and provides an initial bias indication for a gyro associated with the planar antenna.

[0106] Example 9 is the apparatus of example 4, which can optionally include the preprocessor being configured to detect one or more failed sensors of the plurality of sensors and outlier data from any sensor of the plurality of sensors, and determine which sensor measurements to transmit to the core engine by determining whether the planar antenna was in a stationary section of rotation when the sensor measurements were made.

[0107] Example 10 is the apparatus of example 9, optionally including the preprocessor determining that the planar antenna was in a quiescent section based on past gyro measurements and differential position and velocity vectors.

[0108] Example 11 is the apparatus of example 4, which can optionally include a post-processor coupled to the core engine that receives estimates generated by the core engine, determines that the estimates conform to expected behavior, and outputs the estimates determined to conform to expected behavior.

[0109] Example 12 is the apparatus of example 1 including an acquisition engine coupled to the signal processing engine to perform satellite signal acquisition in response to a loss of satellite tracking, the acquisition engine optionally including selecting a search space using information related to the orientation estimate from the signal processing engine.

[0110] Example 13 is the apparatus of example 12, which can optionally include the acquisition engine being configured to generate a plurality of orientation hypotheses associated with an orientation of the planar antenna and simultaneously form a plurality of beams to search for the satellite, each of the plurality of beams being formed based on one of the plurality of hypotheses.

[0111] Example 14 is the apparatus of example 12, which can optionally include the acquisition engine being configured to perform reacquisition by iteratively narrowing the search space, including preventing beamforming for orientation hypotheses previously determined to be in a low likelihood state for the terminal.

[0112] Example 15 is the apparatus of example 12, which can optionally include the acquisition engine being configured to perform reacquisition by narrowing the search space by determining whether to include an individual heading hypothesis based on a comparison between one or more heading hypotheses previously determined to be acceptable for the search.

[0113] Example 16 is the apparatus of example 12, which can optionally include: the acquisition engine being configured to provide an indication of both the unacceptable heading hypothesis and the acceptable heading hypothesis to the signal processing engine, and the signal processing engine being further configured to update the heading estimate based on the unacceptable heading hypothesis and the acceptable heading hypothesis.

[0114] Example 17 is the apparatus of example 12, which can optionally include the acquisition engine being configured to adaptively adjust a beam width of a beam used to search for a satellite as multiple search sets are performed, and the acquisition engine being configured to narrow the beam width as subsequent search sets are performed.

[0115] Example 18 is the apparatus of example 12, optionally including the acquisition engine being configured to throttle the beam stride as more of the search space is explored.

[0116] Example 19 is the apparatus of example 1, optionally including the planar antenna comprising a metasurface antenna.

[0117] Example 20 is a method that includes processing asynchronous sensing inputs from a plurality of sensors and generating an estimate of a state of a planar antenna of a satellite antenna terminal based on the sensing inputs, the estimate including an estimate of orientation.

[0118] Example 21 is the method of example 20, which can optionally include the state comprising one or more of angular velocity, angular acceleration, linear acceleration, linear velocity, position, gyroscope bias, gyroscope noise statistics, accelerometer bias, accelerometer noise statistics, and an accuracy index for the position sensor.

[0119] Example 22 is the method of example 20, which can optionally include generating the estimate of the orientation based on one or more of a velocity vector, a position vector, a differential position vector, and a differential velocity vector.

[0120] Example 23 is the method of example 20, which can optionally include performing satellite signal acquisition in response to a loss of satellite tracking, and performing satellite signal acquisition includes selecting a search space using information related to the orientation estimate from the signal processing engine.

[0121] Example 24 is the method of example 20, which can optionally include generating a plurality of orientation hypotheses associated with an orientation of the planar antenna and simultaneously forming a plurality of beams to search for the satellite, each of the plurality of beams being formed based on one of the plurality of hypotheses.

[0122] Example 25 is the method of example 20, which can optionally include performing reacquisition by preventing beamforming for orientation hypotheses previously determined to be unlikely states for the terminal, or iteratively narrowing the search space by determining whether to include individual orientation hypotheses based on a comparison between one or more orientation hypotheses previously determined to be acceptable for the search.

[0123] Example 26 is the method of example 20, which can optionally include performing reacquisition includes adaptively adjusting beam widths of beams used to search for the satellite as multiple search sets are performed, and the acquisition engine is configured to narrow the beam widths as subsequent search sets are performed.

[0124] Example 27 is one or more non-transitory computer-readable storage media having stored thereon instructions that, when executed by a satellite terminal having at least a signal processing engine and a memory, cause the signal processing engine to perform operations including processing asynchronous sensing inputs from a plurality of sensors and generating an estimate of a state of a planar antenna of the satellite antenna terminal based on the sensing inputs, the estimate including an estimate of orientation.

[0125] Example 28 is the one or more non-transitory computer-readable storage medium of Example 27, which can optionally include the state comprising one or more of angular velocity, angular acceleration, linear acceleration, linear velocity, position, gyroscope bias, gyroscope noise statistics, accelerometer bias, accelerometer noise statistics, and an accuracy index for the position sensor.

[0126] Example 29 is the non-transitory computer-readable storage medium of example 27, which can optionally include generating the estimate of the orientation based on one or more of a velocity vector, a position vector, a differential position vector, and a differential velocity vector.

[0127] The methods and tasks described herein can be performed by a computing system and can be fully automated. A computer system may, in some cases, include multiple separate computers or computing devices (e.g., physical servers, workstations, storage arrays, cloud computing resources, etc.) that communicate and interoperate over a network to perform the described functions. Each such computing device typically includes a processor (or multiple processors) that executes program instructions or modules stored in memory or other non-transitory computer-readable storage media or devices (e.g., solid-state storage devices, disk drives, etc.). Various functions disclosed herein may be embodied in such program instructions or may be implemented in application-specific circuitry (e.g., ASICs or FPGAs) in the computer system. When a computer system includes multiple computing devices, these devices may, but need not, be co-located. Results of the disclosed methods and tasks can be persistently stored by converting physical storage devices, such as solid-state memory chips or magnetic disks, to different states. In some embodiments, the computer system may be a cloud-based computing system in which processing resources are shared by multiple different business entities or other users.

[0128] Depending on the embodiment, certain operations, events, or functions of any of the processes or algorithms described herein may be performed in a different sequence, added, combined, or eliminated altogether (e.g., not all of the described operations or events are required to implement an algorithm). Furthermore, in particular embodiments, operations or events may be performed simultaneously, e.g., not sequentially, but via multi-threaded processing, interrupt processing, or multiple processors or processor cores or other parallel architectures.

[0129] The various illustrative logical blocks, modules, routines, and algorithm steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware (e.g., an ASIC or FPGA device), computer software running on computer hardware, or a combination of both. Furthermore, the various illustrative logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or performed by a machine such as a processor device, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The processor device can be a microprocessor, but alternatively, the processor device can be a controller, microcontroller, or state machine, similar combination, etc. The processor device can include electronic circuitry configured to process computer-executable instructions. In another embodiment, the processor device includes an FPGA or other programmable device that performs logical operations without processing computer-executable instructions. A processor device may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. While described primarily in terms of digital technology herein, a processor device may also include primarily analog components. For example, some or all of the techniques depicted herein may be implemented in analog circuitry or mixed analog and digital circuitry. The computing environment may include any type of computing system, including, by way of example and not limitation, a microprocessor, mainframe computer, digital signal processor, portable computing device, device controller, or computing engine within an appliance.

[0130] Elements of the methods, processes, routines, or algorithms described in connection with the embodiments disclosed herein may be embodied directly in hardware, in software modules executed by a processor device, or in a combination of both. The software modules may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of non-transitory computer-readable storage medium. An exemplary storage medium may be coupled to the processor device such that the processor device can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor device. The processor device and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor device and the storage medium may reside as discrete components in a user terminal.

[0131] In particular, conditional expressions used herein, such as "can," "could," "might," "may," and "e.g.," are generally intended to convey that certain embodiments include certain features, elements, or steps, and that other embodiments do not, unless expressly indicated otherwise or understood otherwise within the context of use. Thus, such conditional expressions generally do not imply that features, elements, or steps are more or less required for one or more embodiments, or that they necessarily include logic that determines, with or without other input or instruction, whether or not these features, elements, or steps are included in or should be performed in any particular embodiment. Terms such as "comprising," "including," and "having" are synonymous and used in an inclusive, open-ended manner and do not exclude additional elements, features, acts, operations, etc. Also, when the word "or" is used, for example, to connect lists of elements, "or" is used in an inclusive (not exclusive) sense to mean one, some, or all of the elements in the list.

[0132] Unless expressly indicated otherwise, disjunctive language such as "at least one of X, Y, or Z" is generally understood in the context in which it is commonly used to indicate that an item, term, etc. can be either X, Y, or Z, or any combination thereof (e.g., X, Y, or Z). Thus, such disjunctive language is generally not intended, and should not be intended, to indicate that a particular embodiment requires that at least one of X, at least one of Y, and at least one of Z are each present.

[0133] The foregoing detailed description illustrates, describes, and points out novel features added to the various embodiments, and it will be understood that various omissions, substitutions, and changes in the form and details of the illustrated devices or algorithms may be made without departing from the spirit of the disclosure. As will be recognized, some features can be used or practiced separately from other features, and therefore particular embodiments described herein can be practiced in forms that do not provide all of the features and advantages set forth herein. The scope of the particular embodiments disclosed herein is indicated by the appended claims, rather than by the foregoing specification. All changes that come within the meaning and range of equivalency of the claims are intended to be embraced within their scope. [Explanation of symbols]

[0134] 303 Post-processing 302 Sensor Fusion 301 Pretreatment 300 buffers 310 Machine Learning (Clustering Algorithms) 312 Trajectory Clues (Clustering Algorithm) 313 Closed Loop Measurements 315 MEMO IMU

Claims

1. 1. An apparatus comprising: A planar antenna, a signal processing engine communicatively coupled to the planar antenna; Equipped with The signal processing engine Processing asynchronous sensed inputs from multiple sensors; generating an estimate of a state of a planar antenna of the satellite antenna terminal based on the sensed input, the estimate including an estimate of orientation; The apparatus is configured to:

2. 2. The apparatus of claim 1, wherein the state comprises one or more of angular velocity, angular acceleration, linear acceleration, linear velocity, position, gyroscope bias, gyroscope noise statistics, accelerometer bias, accelerometer noise statistics, and accuracy metrics for a position sensor.

3. 2. The apparatus of claim 1, wherein the signal processing engine is configured to generate the estimate of the heading based on one or more inputs of a velocity vector, a position vector, a differential position vector, and a differential velocity vector.

4. The signal processing engine a core engine that generates the estimate; a preprocessor that receives the sensory inputs and determines which sensor measurements to send to the core engine for selection by the core engine for use in generating the estimate; The apparatus of claim 1 , comprising:

5. The apparatus of claim 4 , wherein the core engine comprises an iterative processing engine.

6. The apparatus of claim 5 , wherein the iterative processing engine comprises a Kalman filter that estimates unknown states associated with the planar antenna.

7. The iterative processing engine a first Kalman filter for estimating a state of the planar antenna; an iterator coupled to the first Kalman filter for causing the first Kalman filter to iteratively process the sensed input along with any new sensed input data received since the previous iteration; The apparatus of claim 5 , comprising:

8. The core engine comprises: an orientation initializer that provides an initial orientation estimate; a gyro bias initializer for estimating a gyro bias and providing an initial bias indication for a gyro associated with said planar antenna; The apparatus of claim 5 , comprising:

9. 5. The apparatus of claim 4, wherein the preprocessor is configured to detect one or more failed sensors of the plurality of sensors and outlier data from any sensor of the plurality of sensors, and determine which sensor measurements to transmit to the core engine by determining whether the planar antenna was in a stationary section of rotation when the sensor measurements were made.

10. 10. The apparatus of claim 9, wherein the pre-processor determines that the planar antenna is in the quiescent zone based on past gyro measurements and differential position and velocity vectors.

11. a post-processor coupled to the core engine; The post-processor receiving the estimate generated by the core engine; determining that the estimate conforms to expected behavior; outputting the estimates determined to conform to the expected behavior; The apparatus of claim 4 , wherein

12. 10. The apparatus of claim 1, further comprising: an acquisition engine coupled to the signal processing engine to perform satellite signal acquisition in response to loss of satellite tracking, the acquisition engine selecting a search space using information related to an orientation estimate from the signal processing engine.

13. 13. The apparatus of claim 12, wherein the acquisition engine is configured to generate a plurality of orientation hypotheses associated with an orientation of the planar antenna and to simultaneously form a plurality of beams to search for satellites, each of the plurality of beams being formed based on one of the plurality of hypotheses.

14. 13. The apparatus of claim 12, wherein the acquisition engine is configured to perform reacquisition by iteratively narrowing the search space, including preventing beamforming to bearing hypotheses previously determined to be unlikely conditions for the terminal.

15. 13. The apparatus of claim 12, wherein the acquisition engine is configured to perform reacquisition by narrowing the search space by determining whether to include individual heading hypotheses based on a comparison between one or more heading hypotheses previously determined to be acceptable for searching.

16. 13. The apparatus of claim 12, wherein the acquisition engine is configured to provide an indication of both an unacceptable heading hypothesis and an acceptable heading hypothesis to the signal processing engine, the signal processing engine being further configured to update the heading estimate based on the unacceptable heading hypothesis and the acceptable heading hypothesis.

17. 13. The apparatus of claim 12, wherein the acquisition engine is configured to adaptively adjust a beam width of a beam used to search for a satellite as multiple search sets are performed, and wherein the acquisition engine is configured to narrow the beam width as subsequent search sets are performed.

18. The apparatus of claim 12 , wherein the acquisition engine is configured to throttle back beam stride as more of the search space is explored.

19. 10. The apparatus of claim 1, wherein the planar antenna comprises a metasurface antenna.

20. 1. A method comprising: processing asynchronous sensed inputs from a plurality of sensors; generating an estimate of a state of a planar antenna of the satellite antenna terminal based on the sensed input, the estimate including an estimate of the orientation; A method comprising:

21. 21. The method of claim 20, wherein the state comprises one or more of angular velocity, angular acceleration, linear acceleration, linear velocity, position, gyroscope bias, gyroscope noise statistics, accelerometer bias, accelerometer noise statistics, and an accuracy index for a position sensor.

22. 21. The method of claim 20, wherein generating the orientation estimate is based on one or more of a velocity vector, a position vector, a differential position vector, and a differential velocity vector.

23. 21. The method of claim 20, further comprising performing satellite signal acquisition in response to a loss of satellite tracking, wherein performing satellite signal acquisition comprises selecting a search space using information related to an estimate of heading from the signal processing engine.

24. 21. The method of claim 20, further comprising generating a plurality of orientation hypotheses associated with an orientation of the planar antenna and simultaneously forming a plurality of beams to search for satellites, each of the plurality of beams being formed based on one of the plurality of hypotheses.

25. Performing recapture involves: Preventing beamforming for a heading hypothesis that was previously determined to be a less likely state of the terminal, or determining whether to include each orientation hypothesis based on a comparison between one or more orientation hypotheses previously determined to be acceptable for the search; 25. The apparatus of claim 24, comprising iteratively narrowing the search space by:

26. 25. The apparatus of claim 24, wherein performing reacquisition includes adaptively adjusting beam widths of beams used to search for satellites as multiple search sets are performed, the acquisition engine being configured to narrow beam widths as subsequent search sets are performed.

27. one or more non-transitory computer-readable storage media having instructions stored thereon, The instructions, when executed by a satellite terminal having at least a signal processing engine and a memory, cause the signal processing engine to: processing asynchronous sensed inputs from multiple sensors; and generating an estimate of a state of a planar antenna of the satellite antenna terminal based on the sensed input, the estimate including an estimate of orientation; One or more non-transitory computer-readable storage media that cause the computer to perform operations including:

28. 28. The one or more non-transitory computer-readable storage media of claim 27, wherein the state comprises one or more of angular velocity, angular acceleration, linear acceleration, linear velocity, position, gyroscope bias, gyroscope noise statistics, accelerometer bias, accelerometer noise statistics, and an accuracy index for a position sensor.

29. 28. The one or more non-transitory computer-readable storage media of claim 27, wherein generating the estimate of the orientation is based on one or more of a velocity vector, a position vector, a differential position vector, and a differential velocity vector.

Citation Information

Patent Citations

  • Position locating device, position locating method of position locating device and position locating program

    JP2011185899A

  • Satellite signal acquisition and tracking using a moving antenna.

    JP2019512681A

  • Satellite signal capture

    JP2021525873A

  • Positioning method and device based upon multi-sensor combination

    JP2022019642A

  • Vehicle positioning device

    WO2020202522A1