Position velocity aided clock estimation
By adjusting the clock parameters of wireless computing devices using position and speed estimation information and distance estimation values, the problem of difficulty in clock synchronization when SPS and network signals are not available is solved, and high-precision time synchronization is achieved in restricted environments.
Patent Information
- Application Number
- CN201980060880.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-23
- Filing Date
- 2019-09-24
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2039-09-24
AI Technical Summary
In environments where SPS and network signal coverage are not available, maintaining clock synchronization of wireless computing devices becomes challenging, resulting in increased clock drift and timing uncertainty.
By using position and speed estimation information and distance estimation values, the estimated clock parameters are determined and the clock of the mobile device is adjusted based on these parameters to maintain clock synchronization.
It effectively reduces clock drift and timing uncertainty, ensures that strict time synchronization can be maintained even when SPS and network signals are limited, and supports high-precision wireless communication.
Smart Images

Figure CN112714876B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to wireless communications and, more particularly, to techniques for estimating clock parameters in wireless computing devices using position and velocity. Background Art
[0002] Significant advances in autonomous and semi-autonomous vehicle technology and driver assistance features for manually driven vehicles require that the vehicle be able to determine its location, the location of other vehicles, pedestrians, and infrastructure elements close to the vehicle. The wireless communication protocols that support communication between the vehicle and these other entities are typically low-latency network communications, and strict time synchronization may be required to maintain communication between the wireless devices included in the vehicle and other wireless devices present in the operating environment. Maintaining timing accuracy may be challenging. Typically, wireless computing devices rely on wireless networks and / or satellite positioning systems (SPS) (e.g., global navigation satellite systems (GNSS)) signals to provide a reference clock to maintain clock synchronization. However, SPS and network signal coverage may not be available in some areas, and the clocks of wireless computing devices that rely on these signals to remain synchronized will quickly drift out of the calibration state. Summary of the invention
[0003] An exemplary mobile device includes: a communication unit; a memory; and a processor, which is communicatively coupled to the communication unit and the memory, the processor being configured to: obtain a distance estimate from a signal received from a timing information source via the communication unit; obtain position and velocity estimate information of the mobile device from a position and velocity estimate information source separate from the timing information source, the processor being configured to obtain the position and velocity estimate information from at least one sensor of the mobile device, or being configured to obtain the position and velocity estimate information via the communication unit using a vehicle-to-everything (V2X) wireless communication protocol, or a combination thereof; determine estimated clock parameters based on the position and velocity estimate information and the distance estimate; and adjust the clock of the mobile device based on the estimated clock parameters in response to a position and velocity auxiliary timing uncertainty corresponding to the estimated clock parameters being lower than a timing uncertainty threshold.
[0004] Implementations of this mobile device may include one or more of the following features. The processor is configured to adjust the clock of the mobile device in response to the position and velocity assistance timing uncertainty being lower than a satellite positioning system (SPS) timing uncertainty, or the processor is configured to adjust the clock of the mobile device in response to the position and velocity assistance timing uncertainty being lower than the SPS timing uncertainty and the SPS timing uncertainty being higher than the timing uncertainty threshold, or the processor is configured to adjust the clock of the mobile device in response to insufficient SPS measurements available to solve for position and time. The processor is configured to determine that insufficient satellite measurements are available to solve for position and time, and the processor is configured to obtain the position and velocity estimate information in response to the determination. The V2X wireless communication protocol is a cellular vehicle-to-everything (C-V2X) wireless communication protocol, the timing uncertainty threshold is associated with the C-V2X wireless communication protocol, and the processor is further configured to communicate with the timing information source using the C-V2X wireless communication protocol after adjusting the clock of the mobile device. The communication unit includes a satellite positioning system (SPS) receiver communicatively coupled to the processor, and the timing information source includes one or more SPS satellite vehicles (SVs), one or more pseudolites, or a combination thereof, and the processor is configured to obtain the distance estimate from the SPS receiver and adjust the clock of the mobile device without solving the position by the SPS receiver. The position and velocity estimate information source includes a navigation system. The estimated clock parameters include clock drift and clock bias, both associated with the clock of the mobile device, and in order to adjust the clock of the mobile device, the processor is configured to compensate for the clock drift and the clock bias.
[0005] An exemplary method for maintaining timing accuracy in a mobile device includes: obtaining a distance estimate using a signal received from a timing information source via a communication unit of the mobile device; obtaining position and velocity estimate information of the mobile device from a position and velocity information source separate from the timing information source, the position and velocity estimate information being obtained from at least one sensor of the mobile device, or via the communication unit of the mobile device using a vehicle-to-vehicle wireless communication protocol, or a combination thereof; determining estimated clock parameters based on the position and velocity estimate information and the distance estimate; and adjusting the clock of the mobile device based on the estimated clock parameters in response to a position and velocity auxiliary timing uncertainty corresponding to the estimated clock parameters being lower than a timing uncertainty threshold.
[0006] Implementations of this method may include one or more of the following features. Adjusting the clock of the mobile device is performed in response to: the position and velocity assistance timing uncertainty is lower than the satellite positioning system (SPS) timing uncertainty; or the position and velocity assistance timing uncertainty is lower than the SPS timing uncertainty and the SPS timing uncertainty is higher than the timing uncertainty threshold; or insufficient SPS measurements are available to solve for position and time. The method includes determining that insufficient satellite measurements are available to solve for position and time, wherein obtaining the position and velocity estimate information is performed in response to the determination. The V2X wireless communication protocol is a cellular vehicle-to-everything (C-V2X) wireless communication protocol, and the timing uncertainty threshold is associated with the C-V2X wireless communication protocol. The method includes communicating with a second mobile device using the C-V2X wireless communication protocol after adjusting the clock of the mobile device.
[0007] Additionally or alternatively, embodiments of the method may include one or more of the following features. The timing information source includes one or more satellite positioning system (SPS) satellite vehicles (SVs), one or more pseudolites, or a combination thereof, and obtaining the distance estimate includes the SPS receiver of the mobile device determining a number of distance estimates based on the number of SVs, pseudolites, or both, the number of distance estimates being less than the number of distance estimates required to determine absolute time and position information for the SPS receiver. The position and velocity information is obtained from one or more sensors of the mobile device. The position and velocity information is obtained from one or more sensors of a navigation system of a vehicle in which the mobile device is disposed. The estimated clock parameters include a clock drift and a clock bias associated with the clock of the mobile device, and adjusting the clock of the mobile device includes compensating for the clock drift and the clock bias.
[0008] Another example of a mobile device includes: a component for obtaining a distance estimate from a timing information source at a known location using a vehicle-to-everything (V2X) wireless communication protocol using a communication unit of the mobile device; a component for obtaining position and velocity estimate information of the mobile device from at least one sensor of the mobile device, or from a position and velocity estimate information source separate from the timing information source using a vehicle-to-everything (V2X) wireless communication protocol, or a combination thereof; a component for determining estimated clock parameters based on the position and velocity estimate information and the distance estimate; and a component for adjusting a clock of the mobile device based on the estimated clock parameters in response to a position and velocity auxiliary timing uncertainty corresponding to the estimated clock parameters being lower than a timing uncertainty threshold.
[0009] Implementations of this mobile device may include one or more of the following features. A means for adjusting is used to adjust the clock of the mobile device in response to the position and velocity assistance timing uncertainty being lower than a satellite positioning system (SPS) timing uncertainty, or a means for adjusting is used to adjust the clock of the mobile device in response to the position and velocity assistance timing uncertainty being lower than the SPS timing uncertainty and the SPS timing uncertainty being higher than the timing uncertainty threshold, or a means for adjusting is used to adjust the clock of the mobile device in response to insufficient SPS measurements being available to solve for position and time. The mobile device includes means for determining that insufficient satellite positioning system (SPS) measurements are available to solve for position and time, wherein the means for obtaining the position and velocity estimate information is used to obtain the position and velocity estimate information in response to the determination. The wireless communication protocol is a cellular vehicle-to-everything (C-V2X) wireless communication protocol, and the mobile device includes means for communicating with the timing information source using C-V2X after adjusting the clock of the mobile device. The timing information source includes one or more satellite positioning system (SPS) satellite vehicles (SVs), one or more pseudolites, or a combination thereof, the means for obtaining the distance estimate is used to obtain the distance estimate from an SPS receiving means of the mobile device, and the means for adjusting the clock is used to adjust the clock without solving the position through the SPS receiving means. The position and velocity information source includes one or more sensing means for determining the position and velocity of the mobile device. The estimated clock parameters include clock drift and clock bias associated with the clock of the mobile device, and the means for adjusting the clock of the mobile device includes means for compensating for the clock drift and the clock bias.
[0010] An exemplary non-transitory computer-readable medium has stored thereon computer-readable instructions for maintaining timing accuracy in a mobile device, the instructions comprising instructions configured to cause a computer to perform the following: obtain a distance estimate from a timing information source at a known location using a communication unit of the mobile device; obtain position and velocity estimate information of the mobile device from a position and velocity estimate information source separate from the timing information source, the instructions being configured to cause the computer to obtain the position and velocity estimate information from at least one sensor of the mobile device, or configured to cause the computer to obtain the position and velocity estimate information using a vehicle-to-everything (V2X) wireless communication protocol via the communication unit, or a combination thereof; determine estimated clock parameters based on the position and velocity estimate information and the distance estimate; and adjust the clock of the mobile device based on the estimated clock parameters in response to a position and velocity assisted timing uncertainty corresponding to the estimated clock parameters being lower than a timing uncertainty threshold. The instructions configured to cause the computer to adjust the clock of the mobile device are configured to cause the computer to adjust the clock of the mobile device in response to the position and velocity assistance timing uncertainty being lower than a satellite positioning system (SPS) timing uncertainty, or the instructions configured to cause the computer to adjust the clock of the mobile device are configured to cause the computer to adjust the clock of the mobile device in response to the position and velocity assistance timing uncertainty being lower than the SPS timing uncertainty and the SPS timing uncertainty being higher than the timing uncertainty threshold, or the instructions configured to cause the computer to adjust the clock of the mobile device are configured to cause the computer to adjust the clock of the mobile device in response to insufficient SPS measurements being available to solve for position and time. The computer-readable medium includes instructions configured to cause the computer to determine that insufficient satellite measurements are available to solve for position and time, and the instructions configured to cause the computer to obtain the position and velocity estimate information are configured to cause the computer to obtain the position and velocity estimate information in response to the determination. The V2X wireless communication protocol is a cellular vehicle-to-everything (C-V2X) wireless communication protocol, the timing uncertainty threshold is associated with the C-V2X wireless communication protocol, and the computer-readable medium includes instructions configured to cause the computer to communicate with the timing information source using the C-V2X wireless communication protocol after adjusting the clock of the mobile device.The timing information source includes one or more satellite positioning system (SPS) satellite vehicles (SVs), one or more pseudolites, or a combination thereof, the instructions configured to cause the computer to obtain the distance estimate are configured to cause the computer to obtain the distance estimate from an SPS receiver, and the instructions configured to cause the computer to adjust the clock of the mobile device are configured to cause the computer to adjust the clock of the mobile device without solving for a position through the SPS receiver. The estimated clock parameters include clock drift and clock bias both associated with the clock of the mobile device, and the instructions configured to cause the computer to adjust the clock of the mobile device are configured to cause the computer to compensate for the clock drift and the clock bias. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 is a schematic diagram of an exemplary operating environment illustrating exemplary embodiments of the technology disclosed herein, according to certain exemplary embodiments.
[0012] Figure 2A is a schematic diagram illustrating an exemplary operating environment for exemplary implementations of the technology disclosed herein.
[0013] Figure 2B is with Figure 2A A schematic diagram of an exemplary constellation of satellite positioning systems (SPS) associated with the exemplary operating environment is shown.
[0014] Figure 3 is a schematic diagram of another exemplary operating environment 300 in which aspects of the techniques discussed herein may be implemented.
[0015] Figure 4 yes Figure 3 A schematic diagram of an exemplary operating environment is shown in FIG. 1 in which aspects of the techniques discussed herein may be implemented.
[0016] Figure 5 is a schematic diagram of another exemplary operating environment in which aspects of the techniques discussed herein may be implemented.
[0017] Figure 6 yes Figure 5 A schematic diagram of an exemplary operating environment is shown in FIG. 1 in which aspects of the techniques discussed herein may be implemented.
[0018] Figure 7 is a block diagram illustrating an example of components of one or more computing devices that may be used to implement the techniques disclosed herein.
[0019] Figure 8 is a block diagram of an exemplary wireless computing device that can be used to implement the wireless communication devices of the preceding figures.
[0020] Fig. 9 is a flow chart of an exemplary process for maintaining timing accuracy in a wireless computing device according to the present disclosure.
[0021] Fig.10 is a diagram of exemplary process elements for communicating with a second wireless computing device according to the present disclosure.
[0022] Fig.11 is a diagram of exemplary process elements for obtaining distance estimates from an external source of timing information in accordance with the present disclosure.
[0023] Fig.12 is a flow chart of an exemplary process for determining estimated clock parameters based on position and velocity estimate information and a distance estimate according to the present disclosure.
[0024] Fig.13 is a diagram of example process elements for updating a clock of a wireless computing device based on estimated clock parameters in accordance with the present disclosure.
[0025] Fig.14 is a diagram of exemplary process elements for obtaining distance estimates from an external source of timing information in accordance with the present disclosure.
[0026] According to some exemplary embodiments, like reference numerals refer to like elements throughout the various drawings. DETAILED DESCRIPTION
[0027] Techniques for estimating clock parameters in wireless computing devices using position and velocity are provided. These techniques can be used to maintain timing accuracy in environments where SPS signals and / or other network signals that could otherwise be used to synchronize the clock of a wireless transmitter are unavailable or have limited availability. The techniques disclosed herein can be used to estimate clock parameters based on the position and velocity of the wireless computing device, the distance to a clock information source, and a distance estimate to an external timing information source at a known location. Position and velocity information can be obtained from sensors directly or indirectly associated with the wireless device, and distance estimates can be obtained from one or more SPS space vehicles (SVs) or another source of distance information. The following exemplary embodiments illustrate these techniques.
[0028] The techniques discussed in this article can be used with wireless communication protocols that have strict time synchronization requirements to facilitate communication between wireless computing devices. For example, vehicle-to-everything (V2X) wireless communication protocols, especially cellular vehicle-to-everything (C-V2X) wireless communication protocols, can have sub-microsecond timing accuracy requirements. C-V2X technology has been standardized by the 3rd Generation Partnership Project (3GPP). C-V2X is based on the Long Term Evolution (LTE) standard for high-speed wireless communication for mobile devices and data terminals. C-V2X is designed to connect vehicles to vehicles (V2V), vehicles to roadside infrastructure (V2I), vehicles to pedestrians and other road uses (V2P), and vehicles to cloud-based network services (V2N). C-V2X provides low-latency communication with or without network assistance, but devices using C-V2X require time synchronization to maintain communication between wireless computing devices. For example, in V2V mode, out-of-network coverage communications require very tight timing accuracy (e.g., approximately 391 nanoseconds). Autonomous and semi-autonomous vehicles can use C-V2X to exchange information with other users of the navigable environment. Driver assistance features in manually driven vehicles can use C-V2X to provide information to the driver and the vehicle's driver assistance features.
[0029] Reference clock information is typically obtained by the SPS system or from one or more network entities associated with a wireless wide area network (WWAN) configured to provide network connectivity to the vehicle. However, the wireless computing device may enter a network-restricted and / or SPS-restricted area where the signal from the network and / or SPS satellite vehicle is too weak or unusable to determine a reference time for maintaining clock synchronization of the wireless computing device.
[0030] The SPS space vehicle (SV) provides timing information that can be used to correct the clock bias and clock drift of the clock of the wireless computing device. The SPS SV typically includes one or more extremely accurate cesium and / or rubidium clocks, which are much more accurate than the clocks commonly used in wireless computing devices (such as smartphones, smart watches, tablet computing devices, vehicle navigation and / or driving systems, or other such wireless computing devices). The SPS system may make network adjustments to the clocks of the SPS SVs to keep the clocks of the SVs in the SPS system synchronized with the common reference time. The clocks used in the SPS SVs are usually too expensive and too large to be used in portable consumer-grade wireless computing devices such as those discussed above. The SPS SV may include satellites configured for tasks other than positioning, such as (at least primarily) communication satellites configured for communication, the signals of which can be used for positioning purposes (e.g., determining the (multiple) distances to (multiple) satellites). The SPS receiver of the wireless computing device solves four unknowns: the coordinates of the SPS receiver in 3-D space and the time. The SPS receiver uses the line of sight to each of at least four satellites to determine the absolute position and timing information of the wireless computing device. In many environments, obtaining the line of sight to four or more satellites may face significant challenges because man-made structures and / or natural features of the local environment may hinder the signal from the SPS SV. Buildings and other man-made structures in urban environments may create "urban canyons" in which the signal from the SV is hindered. In addition, parking garages, tunnels, and other similar environments also hinder the line of sight between the wireless computing device and the SPS SV. Mountains, hills, and / or dense foliage are also examples of some natural features that hinder satellite signals. Therefore, the wireless computing device may be affected by many environments, in which it is impossible to obtain signals from a sufficient number of SPSSVs to accurately determine the absolute position and time information for the wireless computing device or to determine the absolute position and time information at all.
[0031] Elements of a wireless communication network (such as, but not limited to, a WWAN base station or a WLAN access point) may provide timing information that may be used to correct clock bias and clock drift of a wireless computing device's clock. Wireless communication operators maintain strict timing requirements within their networks and may be configured to broadcast timing information that may be used by wireless computing devices to maintain clock accuracy. However, for many of the same reasons discussed above with respect to SPS signals, wireless computing devices may be unable to acquire these signals and / or suffer from poor signal quality.
[0032] The technology disclosed herein can be used to determine a clock estimate in an SPS-limited and / or network-limited environment, which can be used to maintain clock synchronization to facilitate C-V2X and / or other wireless communication sessions while the wireless mobile device remains in an adverse environment. These technologies overcome the shortcomings associated with relying on SPS and wireless networks to provide time synchronization by using alternative means to maintain time synchronization. The technology disclosed herein can utilize distance estimates from an external timing information source at a known location and position and velocity information of a wireless computing device from a position and velocity information source. The external timing information source can be one or more signals from an SPS SV or a pseudo-satellite. Pseudo-satellites are typically ground-based pseudo-satellites at known locations that can send ranging signals similar to SPS SVs. The technology disclosed herein can use as little as one signal from an SPSSV or pseudo-satellite, so it can be used in an environment where an SPS receiver cannot obtain a sufficient number of signals to determine the absolute time and position of a wireless computing device. Another wireless computing device at a known location can be configured to maintain strict timing synchronization of its clock. Another wireless computing device may be configured to transmit location and timing information, which a wireless computing device receiving the transmission may use to determine the distance to the other wireless computing device.
[0033] Figure 1 1 is a block diagram of an exemplary operating environment 100 in which the techniques discussed herein may be implemented. Figure 1 The illustrated exemplary embodiments show examples of the technology disclosed herein implemented on a road, but the technology disclosed herein may alternatively be implemented in other types of indoor and / or outdoor navigable environments. Figure 1 The exemplary embodiments shown and those discussed in the various examples in the subsequent figures refer to a vehicle, but the techniques disclosed herein can be utilized by wireless computing devices that are not incorporated into a vehicle. For example, the techniques disclosed herein can be utilized by a wireless computing device such as a smartphone, smart watch, etc., which can be worn or carried by a pedestrian in this operating environment and can be configured to support V2P communications.
[0034] The exemplary operating environment 100 shows a portion of a road 180 , but the techniques disclosed herein may be utilized in other types of navigable environments. Figure 1 The examples shown do not limit the techniques disclosed herein to a particular configuration of an operating environment. Figure 1, the exemplary road includes two lanes delimited by a center dashed line 190 and two solid lines 185a and 185b delimiting the shoulders of the road. Road 180 is provided as an example to illustrate the techniques disclosed herein. However, these techniques are not limited to this type of road and can be utilized on single lanes, multiple lanes with one-way traffic or two-way traffic, highways, freeways, toll roads, etc. Road 180 has a plurality of navigation elements 105a to 105f disposed along each side of road 180. Navigation elements 105a to 105f can provide navigation assistance data to vehicles 110a and 110b depicted on road 180 and can be configured to support V2I communications. Navigation elements 105a to 105f can be disposed along the road and / or disposed on infrastructure elements, such as light poles, traffic signals, lane dividers, guardrails, walls, sign poles, brackets, and / or other infrastructure elements that can be found along a road or other operating environment.
[0035] One or both of the vehicles 110a and 110b may be autonomous or semi-autonomous vehicles. Although the description herein relates to vehicles 110a and 110b in a plurality of vehicles, the corresponding discussion may apply to two of the vehicles 110a and 110b, or may only apply to one of the vehicles 110a and 110b. Autonomous vehicles are configured to navigate and travel from one location to another without manual input. Semi-autonomous vehicles may be configured to navigate and travel from one location to another without manual input or with limited manual input. Semi-autonomous vehicles may allow the driver to assume full or partial control of vehicle navigation. Vehicles 110a and 110b may alternatively be manually driven vehicles including driver assistance features that may provide information to the driver of the vehicle and / or assume control of some vehicle components, such as braking or acceleration. Vehicles 110a and 110b may be configured to transport passengers and / or cargo. Vehicles 110a and 110b may be configured to provide a steering console and controls that allow the driver to assume manual control of the vehicle. The driver may be driving the vehicle on roads that do not have the appropriate infrastructure in place to support autonomous navigation or for emergency situations such as failure of the vehicle's navigation system or other situations requiring the passenger to assume manual control of the vehicle.
[0036] Vehicles 110a and 110b may include a communication unit configured to communicate wirelessly with each other using V2V communication. The communication unit of the vehicle may be configured to directly exchange position, speed, acceleration, hazard avoidance and / or collision information and / or other information without the need for a cellular network. Vehicles 110a and 110b may include a vehicle navigation unit configured to generate navigation information for the driver and / or for automatic or semi-autonomous vehicle operation. Vehicles 110a and 110b may include a vehicle control unit configured to assume control of steering, braking, acceleration and / or other aspects of vehicle operation. The communication unit may include a transceiver configured to support C-V2X and / or other wireless communication protocols that facilitate wireless communication between vehicles. The communication unit may include an SPS receiver that may be configured to determine the position, velocity and time (PVT) solution of the communication unit. The SPS receiver may be configured to provide a time solution to the communication unit so that the communication unit can synchronize the clock used by the communication unit with the reference clock used by the SPS system. In an SPS-constrained environment where the SPS receiver cannot acquire a sufficient number of SV signals to determine the SPS receiver's PVT solution and no network-based reference time source is available, the communication unit may implement alternative means to estimate the clock state.
[0037] The communication unit may obtain position and velocity information from a sensor included in the wireless device or a sensor external to the wireless device, such as a navigation unit or a vehicle control unit of a vehicle in which the wireless device is disposed. The communication unit may obtain a distance estimate from an external source of timing information at a known location using a wireless receiver of a wireless computing device (which may be part of a wireless transceiver). The distance estimate may be a pseudorange estimate obtained by an SPS receiver, which includes timing information for one or more satellites and / or pseudo-satellites. The distance estimate may be obtained from one or more other wireless devices, such as from a communication unit of another vehicle having current PVT information.
[0038] Vehicle 110a and vehicle 110b may include one or more sensors that can be used to determine the position and speed of the corresponding vehicle in which the sensor is disposed. The sensor may be implemented as a component of the vehicle, navigation unit, and / or vehicle control unit. The specific type of sensor included in the vehicle, navigation unit, and / or vehicle control unit may vary with the implementation. The vehicle may include an accelerometer, a gyroscope, and a magnetometer as well as other sensors for determining the speed and position change of the vehicle. Some vehicles may include LiDAR and / or radar transceivers that can be used to determine the speed and / or position of the vehicle. Other types of vehicle-specific sensors may be used to measure the speed at which the vehicle moves, such as an odometer or a differential wheel tick. Figure 7 Exemplary embodiments of a communication unit and a sensor-based source of position and velocity estimation information are shown and are described in more detail below.
[0039] The operating environment 100 also includes two pedestrians 160a and 160b. The pedestrians may have wireless computing devices, such as smart phones, smart watches or other wearable computing devices, and / or other mobile wireless computing devices that may be configured to use C-V2X communications. These mobile wireless computing devices may include sensors that can be used to determine the location and velocity of the mobile wireless computing devices, and the mobile wireless computing devices may be configured to determine the estimated clock state using the techniques discussed herein. In addition, in the event that network-based and / or SPS-based time is temporarily unavailable for one or more infrastructure elements including the wireless computing devices, these infrastructure elements may use the techniques disclosed herein to determine the estimated clock parameters. Infrastructure elements are typically located at known fixed locations, so sensors may not be required to determine location and velocity values.
[0040] Figure 2A is a schematic diagram of another exemplary operating environment 200 in which aspects of the techniques discussed herein may be implemented, and Figure 2B is with Figure 2A A schematic diagram of an exemplary constellation 250 of a satellite positioning system (SPS) associated with an exemplary operating environment is shown. In the exemplary operating environment, three vehicles are depicted: vehicle 205, vehicle 210, and vehicle 215. The vehicles are configured to communicate with each other using a V2V wireless communication protocol such as C-V2X, and can exchange at least position and timing information with each other.
[0041] In this exemplary operating environment, vehicle 205 is leaving a parking garage where the signal from the SPS SV is blocked and vehicle 205 does not have network access to obtain a network-based time solution. Vehicles 210 and 215 are traveling along a road adjacent to the parking garage. Vehicles 210 and 215 are positioned so that their respective SPS receivers can acquire signals from a sufficient number of satellites to determine the PVT solution for vehicles 210 and 215. In contrast, the SPS receiver of vehicle 205 used by the communication unit cannot acquire a sufficient number of satellites quickly enough to determine the PVT solution for the vehicle, nor can it use a network-based time solution. As a result, the synchronization of the clock of the communication unit of vehicle 205 will quickly lose synchronization with the reference clock used by vehicles 210 and 215, and it will be impossible to communicate with these vehicles using V2V communication unless the estimated clock state can be determined.
[0042] Figure 2B An example of a portion of an SPS satellite constellation that is potentially visible to an SPS receiver of vehicle 205 as vehicle 205 is leaving a parking garage is shown. The constellation includes SVs 255a, 255b, 255c, 255d, 255e, 255f, 255g. However, the structure of the parking garage and / or other surrounding structures obscure the signals from SVs 255a-e, and only SVs 255f and 255g are visible to the SPS receiver of vehicle 205. With only two available SVs, the SPS receiver cannot obtain a PVT solution for the vehicle.
[0043] The communication unit of vehicle 205 can use the techniques disclosed herein to determine an estimated clock state to prevent the clock of the communication unit of vehicle 205 from being too far away from the reference clock state being used by vehicles 210 and 215. The position and speed of vehicle 205 can be determined using sensor data and an estimate of the distance to the timing information source. The clock of the timing information source can be used as a reference clock state, and the clock in the communication unit of vehicle 205 can be synchronized with the reference clock state. The communication unit of vehicle 205 can use the known position and speed of vehicle 205 and the distance information to the timing information source to calculate the estimated clock state of the clock of the communication unit. Vehicle 205 can use the estimated clock state to update the timing of the clock of the communication unit in order to maintain synchronization with the reference clock used by the communication units of vehicles 210 and 215. In contrast, assuming that vehicles 210 and 215 are able to acquire network signals, the clocks of vehicles 210 and 215 can be synchronized with the reference clock obtained from the SPS receiver, or the reference clock state can be obtained from the wireless communication network instead.
[0044] The communication unit of vehicle 205 may be configured to obtain the distance estimate from an external source of timing information at a known location using a wireless receiver of the communication unit (which may be part of a transceiver). Figure 2A In the exemplary operating environment 200 shown, there are four possible external sources from which range estimates can be obtained: (1) SV 255f; (2) SV 255g; (3) vehicle 210; and (4) vehicle 215. The communication unit may include an SPS receiver, or be communicatively coupled to an SPS receiver. The communication unit may be configured to obtain pseudorange estimates to one or both of the SVs. The communication unit may be configured to receive range information from one or both of vehicles 210 and 215. Vehicles 210 and 215 may be configured to periodically broadcast ranging information, which may be used by vehicle 205 and / or other vehicles, pedestrians, and / or infrastructure elements configured to support the V2X communication protocol. The communication unit of vehicle 205 may be configured to receive communications from these other vehicles even if the clock becomes too desynchronized from the reference clock to send V2X communications.
[0045] The communication unit of the vehicle 205 may be configured to receive position and velocity information from a position and velocity information source. In some embodiments, the communication unit of the vehicle 205 may be configured to include one or more sensors that can be used to determine the position and velocity of the communication unit. Figure 8 Examples of some types of sensors that may be included are discussed. In some embodiments, the source of position and velocity information may be a vehicle navigation system and / or a vehicle control unit for an autonomous or semi-autonomous vehicle. The navigation system may include a separate SPS receiver in addition to the SPS receiver used by the communication unit and the vehicle navigation system and / or the vehicle control unit. The vehicle navigation system and / or the vehicle control unit may include various types of sensors for determining the position and velocity of the vehicle. In addition, the vehicle navigation system and / or the vehicle control unit may be configured to utilize sensor data to estimate the position and velocity in areas where the SPS signal and the network signal are weak, shielded, or both.
[0046] The communication unit can use the position and velocity estimates and the distance information to solve for the time estimate. In one embodiment, the SPS receiver can be used to determine one or more clock estimates. The SPS receiver can be configured to solve for four unknowns: x, y, and z coordinates in three-dimensional space, and time. However, the SPS receiver can be configured to receive values for one or more of these unknowns and solve for the remaining unknowns. In the technology disclosed herein, the 3D position of the vehicle and the velocity of the vehicle can be determined from sensor data or other sources of position and velocity estimates. This leaves a single unknown variable: time. However, this unknown value can be solved based on the PV information of the vehicle 205 and the distance information between the position of the vehicle 205 and an external source of timing information at a known location. Regarding the subsequent Figures 9 to 14 This calculation will be discussed in more detail in the procedure shown in .
[0047] Figure 3 300 is a schematic diagram of another exemplary operating environment 300 in which various aspects of the technology discussed herein may be implemented. In this exemplary operating environment, vehicle 305 is on a road approaching tunnel 350. Vehicle 305 has wireless wide area network (WWAN) coverage as well as SPS coverage. Therefore, vehicle 305 can rely on network-based and / or SPS-based time synchronization. Vehicle 310 and vehicle 315 have entered tunnel 350 and do not have mobile wireless network coverage or SPS coverage because tunnel 350 has blocked network and SPS signals. Therefore, vehicle 310 and vehicle 315 cannot rely on network-based or GNNS-based time synchronization.
[0048] Vehicle 310 and vehicle 315 can use the techniques disclosed herein to estimate clock states that help maintain their respective clocks synchronized with a reference time for V2X communications. Vehicle 310 and vehicle 315 can rely on vehicle 305 as an external source of timing information at a known location. Vehicle 310 and vehicle 315 can use onboard sensors to calculate their respective positions and speeds, and can obtain respective distance estimates from their respective positions to vehicle 305. Time estimates for vehicles 310 and 315 can then be determined, which can be used to synchronize the vehicle's clock with a reference time while vehicles 310 and 315 remain in tunnel 350. Once vehicles 310, 315 leave tunnel 350, the network coverage of the WWAN and the coverage of the SPS satellite may be available again, and vehicles 310, 315 may again rely on network-based or SPS-based time synchronization techniques. Otherwise, if limited WWAN coverage is available and if a sufficient number of SPS SVs are not available for an SPS-based solution, the vehicles 310 , 315 may continue to use the clock estimation techniques disclosed herein to continue to maintain their clock synchronization for V2X or other types of wireless communications.
[0049] Figure 4 yes Figure 3 0044. A schematic diagram of another exemplary operating environment 300 is shown in FIG. 1 in which aspects of the techniques discussed herein may be implemented. Figure 4 Shows Figure 3 A variation of the operating environment 300 shown, in which vehicle 305 is omitted, and vehicles 310 and 315 have entered a tunnel 350 and have no mobile wireless network coverage or SPS coverage. Vehicle 310 and vehicle 315 have no network-based or SPS-based reference time source available. However, vehicle 310 and vehicle 315 establish peer-to-peer communication, in which the clocks of vehicles 310 and 315 can remain synchronized and will share clock deviations. This approach may not meet the requirements of wireless communication protocols (such as C-V2X) that have strict time synchronization requirements to facilitate communication between wireless computing devices, but may enable vehicle 310 and vehicle 315 to maintain communication while in tunnel 350.
[0050] exist Figure 4 In the exemplary embodiment shown, vehicle 310 can exchange messages with vehicle 315 indicating that each respective vehicle does not have a network-based or SPS-based time reference. Vehicle 310 and / or vehicle 315 can be configured to use a sensor-based system to determine their respective estimated positions and velocities in response to determining that no network-based or SPS-based time reference is available. Each vehicle can send a message including its estimated position and velocity (PV). The message can include a current clock state.
[0051] Vehicles 310 and 315 may negotiate a deviation value to be used for a peer-to-peer communication session. In one embodiment, a first vehicle (e.g., in this example, vehicle 310) sends a message including an estimated PV and a current clock state, and a second vehicle (e.g., in this example, vehicle 315) receiving the message may be configured to determine that the clock deviation value is the difference between the clock states of the first vehicle and the second vehicle. The difference may be determined based on the distance between the first vehicle and the second vehicle at the time the message was sent and the current clock state included in the message. The second vehicle may use the distance information to determine the clock state of the second vehicle when the first vehicle sent the message, and determine the clock deviation value by calculating the difference between the two values. The second vehicle may use the clock deviation value to update the clock of the second vehicle so that the clocks of the first and second vehicles remain sufficiently synchronized to continue peer-to-peer communication using the V2V communication protocol. Once the second vehicle has updated its clock, the second vehicle may be configured to send a message including an estimated PV and a current clock state. The first vehicle may be configured to receive the message and determine, based on the PV and the current clock state, that the clock of the second vehicle is synchronized with the clock of the first vehicle for the purpose of peer-to-peer communication. In some embodiments, when network and SPS coverage are unavailable, the second vehicle may send a message to the first vehicle explicitly indicating that the second vehicle has adjusted its clock state to facilitate a peer-to-peer session with the first vehicle.
[0052] Assuming that the two vehicles remain within communication distance of each other, once one of the vehicles (e.g., vehicle 315) reaches a location where network-based or SPS-based time reference information can be obtained, the vehicle (e.g., vehicle 315) can update its clock with the time reference information and can be used as a time reference source in conjunction with the other vehicle (e.g., in this example, vehicle 310).
[0053] Alternatively, the two vehicles may be configured to determine an intermediate deviation value, and the two vehicles may be configured to use the average deviation information to update their respective clocks. For example, the vehicle that determines the clock deviation information (e.g., in this example, vehicle 315) may be configured to determine an average of the clock states of the first vehicle and the second vehicle, and determine a first deviation value for the first vehicle and a second deviation value for the second vehicle. The second vehicle may send the first deviation value to the first vehicle so that the first vehicle may update its clock accordingly, and the second vehicle may use the second deviation value to update its clock.
[0054] Figure 5 is a schematic diagram of another exemplary operating environment 500 in which aspects of the techniques discussed herein may be implemented. Figure 5In the exemplary operating environment shown, there are three vehicles: vehicle 505, vehicle 510, and vehicle 515. In this example, none of the vehicles have access to an SPS-based or network-based time reference. Each of the three vehicles can be configured to use a sensor-based system to determine their respective estimated positions and velocities in response to determining that no network-based or SPS-based time reference is available. Each vehicle can send a message including its estimated position and velocity (PV). The message can include a current clock state. The message can be similar to the above description of Figure 4 Those exchange messages discussed in connection with the exemplary operating environment of FIG.
[0055] exist Figure 5 In the example shown, the vehicles may be configured to negotiate a clock deviation value. In some embodiments, the clock deviation value may be determined based on the current clock state of the first vehicle (e.g., in this example, vehicle 505) that sends the PV estimate and current clock information as discussed above, and the second and third vehicles (e.g., in this example, vehicles 510 and 515) may be configured to determine the corresponding clock deviation values and adjust their respective clocks accordingly. The second and third vehicles may be configured to implicitly confirm that they have updated their clocks to synchronize with the first vehicle by sending a message including the estimated PV information and the current clock state. For the purpose of peer-to-peer communication, the second and third vehicles may be configured to send a message that their clocks have been synchronized with the clock of the first vehicle. Alternatively, one of the vehicles (e.g., vehicle 505) may be configured to determine an average clock state based on the current clock value information sent by the other two vehicles (e.g., in this example, vehicles 510 and 515). The vehicle may determine the deviation value for its respective clock and update the clock accordingly. The vehicle may send the average clock information to each of the other vehicles. The vehicle can be configured to calculate the clock deviation for each of the vehicles and send the clock deviation to each of the other vehicles. The other two vehicles can update their clocks accordingly. Figure 5 The example shown in can meet the strict timing requirements of V2V protocols (such as C-V2X) and can allow vehicles to continue a V2V / V2X communication session without returning to a peer-to-peer session because each of the three vehicles is configured to comply with the V2V / V2X communication protocol and rely on a network-based or SPS-based time reference until entering an area lacking network and SPS coverage.
[0056] Figure 6 yes Figure 5 A schematic diagram of another exemplary operating environment 600 in which various aspects of the techniques discussed herein may be implemented is shown in FIG. Figure 6 In the example shown, there is Figure 5The other two vehicles 620 and 625 that are not present in the vehicle 510. Vehicle 510 may not have a known position, however the presence of at least four other vehicles with known PVs may allow the vehicle to solve for time and / or solve for the position of vehicle 510 as in the previous examples. In this example, as in the previous examples, each of the vehicles is configured to communicate using a V2V protocol (such as C-V2X), and none of the vehicles have access to an SPS-based or network-based time reference. As discussed above, each of the vehicles may be configured to estimate their respective estimated positions and velocities, and then time may be solved to determine the clock bias as discussed above.
[0057] However, for five or more vehicles, a vehicle (e.g., in this example, vehicle 510) can trilaterate or triangulate the position of vehicle 510 using distance, bearing, or angle of arrival information from each of the other vehicles (e.g., vehicle 505, vehicle 515, and vehicle 620). In this example, it is assumed that vehicle 510 does not have sensors or another reliable source of PV information. However, vehicle 505, vehicle 515, vehicle 620, and vehicle 625 are each able to obtain PV estimates. Vehicle 510 can use the distance, bearing, or angle of arrival information and PV information from the other vehicles to solve for position and time. The position of vehicle 510 can be determined based on the distance, bearing, or angle of arrival to vehicles 505, vehicle 515, vehicle 620, and vehicle 625 that have reliable estimated positions. Once the position of vehicle 510 is estimated based on the distance, bearing, or angle of arrival to the other vehicles, the time can be estimated as in the aforementioned example of determining clock bias. Although Figure 6 The example shown in includes only five vehicles, but if more than four vehicles are configured to support V2V and the techniques disclosed herein, these vehicles may be utilized.
[0058] Figure 7 is a block diagram illustrating an example of components of one or more computing devices that may be used to implement the techniques disclosed herein. Figure 7 The exemplary embodiment shown includes a position and velocity estimate information source 705. In the exemplary embodiment, the position and velocity estimate information source 705 includes an SPS receiver 710 and / or one or more sensors 715. The exemplary embodiment also includes a communication unit 720, which includes an SPS receiver 725 and a transceiver 730. The exemplary embodiment also includes a client device 735, which includes an SPS receiver 740 and a transceiver 745.
[0059] The communication unit 720 and the position and velocity estimate information source 705 are shown as separate components. However, in some embodiments, the functionality of the communication unit 720 can be combined with some or all of the functionality of the position and velocity estimate information source 705 described herein. In addition, the communication unit 720 and the position and velocity estimate information source 705 can both be components of a computing device disposed in a vehicle, such as, but not limited to, an onboard computing system, a navigation system, a vehicle control system, or a combination thereof. In other embodiments, the communication unit 720 and the position and velocity estimate information source 705 can be implemented in a mobile wireless computing device such as a smartphone, a smartwatch, or other mobile wireless computing device. This mobile wireless computing device can be used, for example, by a pedestrian in a C-V2X environment.
[0060] The communication unit 720 may be configured to facilitate V2X communications with a V2X-capable device, such as a client device 735, using the transceiver 730. The client device 735 may also be a mobile wireless device associated with a vehicle (V2V), such as, but not limited to, an onboard computing system, a navigation system, a vehicle control system, or a combination thereof. The client device 735 may be a mobile wireless device associated with a pedestrian (V2P). The client device 735 may also be a network entity (V2N), such as a wireless base station or a wireless access point. The client device 735 may also be an infrastructure element (V2I), such as, but not limited to, a navigation marker. The client device 735 may be used as an external timing information source, from which a distance estimate may be obtained in the event that a PVT solution is available to the client device 735.
[0061] The communication unit 720 and the client device 735 may be configured to exchange various information. The information may include, but is not limited to, time synchronization information, communication payload content, and position, velocity, and time (PVT) information. The device receiving the information may use the PVT information to determine the distance from the device sending the information to the device receiving the information. In an SPS-limited and / or network-limited environment (such as, but not limited to, those discussed in the previous examples), the communication unit 720 and the client device 735 may utilize the techniques disclosed herein to solve for time to determine clock deviation information and update their respective clocks to maintain a clock state that is synchronized with respect to the clocks of nearby V2X devices. In addition, as indicated in the previous examples, the communication unit 720 may be configured to communicate with multiple client devices 735 in order to determine clock parameters and locations.
[0062] The communication unit 720 may include an SPS receiver 725, which may be used to determine a PVT solution for the communication unit 720. The communication unit 720 may include a processor configured to perform the various actions described as being performed by the communication unit 720. The processor may be a stand-alone processor communicatively coupled to the SPS receiver 725 and the transceiver 730. Alternatively, the processor may be a component of the SPS receiver 725 or the transceiver 730.
[0063] The communication unit 720 can be configured to use the time information from the PVT solution to maintain the clock of the transceiver 730 synchronized with the reference clock. The reference clock can be used by network elements (such as wireless access points and / or base stations) and by other mobile devices to maintain a reference clock state for synchronizing wireless communications. The SPS receiver 725 can output a reference time value that can be used to synchronize the clock of the transceiver 730 with other wireless devices (such as client devices 735). The communication unit 720 can be configured to obtain the reference time value from a WWAN base station, a WLAN access point, and / or other network elements. However, as discussed in the previous example, SPS and network availability may be limited in certain areas. Therefore, the communication unit 720 can be configured to obtain a distance estimate from an external timing information source and obtain position and velocity estimate information from a position and velocity estimate source.
[0064] exist Figure 7 In the example of , the SPS receiver 725 may be able to obtain one or more pseudorange estimates for the SPS SVs, but the number of pseudorange estimates is insufficient to determine the PVT solution for the communication unit 720. The SPS receiver 725 may be able to obtain time reference information from the client device 735 when the client device 735 has network coverage, may be able to use the SPS receiver 740 to acquire a sufficient number of SPS SV signals to determine the PVT solution 735 for the client device, or both. The client device 735 may be configured to transmit the time reference information using the wireless transceiver 745, and the time reference information may be included as part of the C-V2X message transmitted by the client device 735.
[0065] exist Figure 7In the example of , the position and velocity estimation information source 705 can provide the position and velocity information to the communication unit 720. The position and velocity estimation information source 705 can include a sensor 715 and an SPS receiver 710. The position and velocity estimation information source 705 can be configured to use the SPS receiver 710 to determine the PVT solution, wherein the SPS receiver 710 can acquire a sufficient number of SPS SV signals. However, the position and velocity estimation information source 705 can be configured to estimate the position and velocity using the sensor 715 in a case where an insufficient number of SPS SV signals can be acquired. Figure 8 Examples of some types of sensors that may be included are discussed. Position and velocity estimate information source 705 may be configured to use sensor data obtained from sensor 715 in response to determining that SPS receiver 710 is unable to acquire a sufficient number of SV signals to determine a PVT solution. Position and velocity estimate information source 705 may also include a wireless transceiver (not shown) that may be used to acquire time reference information.
[0066] The communication unit 720 may be configured to use the position and velocity information obtained from the position and velocity estimate information 705 and the distance estimate to the SV or client device 735 to determine an estimated clock state, which may be used to synchronize the clock of the transceiver 730. This technique may be used to maintain synchronization of the clock used by the transceiver 730 in network-constrained and SPS-constrained environments, thereby allowing the communication unit 720 to communicate with other wireless computing devices (such as the client device 735) using wireless communication protocols (such as, but not limited to, C-V2X) that require strict time synchronization.
[0067] The communication unit 720 may provide a component for obtaining a distance estimate from an external timing information source at a known location using a wireless receiver of the wireless computing device, a component for obtaining location and velocity estimate information of the wireless computing device from a location and velocity information source, a component for determining estimated clock parameters based on the location and velocity estimate information and the distance estimate value, and a component for updating the clock of the wireless computing device based on the estimated clock parameters. The communication unit 270 may provide a component for communicating with a second wireless computing device using C-V2X after updating the clock of the wireless computing device. The communication unit 720 may include a component for sensing the location and velocity of the communication unit 720 and / or a component for obtaining the location and velocity of the communication unit 720 from an external sensing component. The communication unit 720 may include a component for determining an estimated clock parameter based on the location and velocity estimate information and the distance estimate value, and the component also includes a component for providing the location and velocity estimate information to an SPS receiver of the wireless computing device and a component for obtaining the estimated clock parameters from the SPS receiver in response to providing the location and velocity estimate information. Communications unit 720 may include components for updating a clock of the wireless computing device, including components for compensating for clock drift and clock skew.
[0068] In some embodiments, the communication unit 720 may include a hardware processing component for implementing the various components discussed herein. The hardware processing component may be a separate processing component that includes a component for communicating with the SPS receiver 725 or the transceiver 730, or the hardware processing component may include a hardware processing component SPS receiver 725 or the transceiver 730. The hardware processing component may be configured to execute program code stored in a non-transitory computer-readable memory of the communication unit 720. The memory may be a component of the SPS receiver 725 or the transceiver 730.
[0069] Figure 8800 is a block diagram of an exemplary computing device 800 that can be used to implement the wireless communication devices in the aforementioned figures. In some embodiments, the computing device 800 can be used to implement navigation and / or control systems for various types of autonomous or semi-autonomous vehicles, drones, or other devices. The computing device 800 can be an onboard computer system that can provide network connectivity for downloading web content and applications, navigation data, and / or other content that can be viewed or executed using the computing device 800. In other embodiments, the computing device 800 can be a smartphone, a smart watch, or other wearable computing device, and / or other mobile wireless computing device. For mobile device embodiments, some components of the computing device 800, such as the radar transceiver 860, the lidar transceiver 865, and the vehicle control unit 875, can be omitted. The computing device 800 can be any of a variety of devices configured to interact with the vehicle via a CAM or other bus or wireless interface, such as a smartphone. The computing device 800 can be built into a vehicle, or can be a vehicle, such as a car, a motorcycle, a scooter, a bicycle, a bus, a truck (e.g., a tractor such as a semi-trailer tractor), a drone, a robotic platform, etc. These are merely examples, and computing device 800 may be configured in other forms.
[0070] To keep it simple, Figure 8 The various features / components / functions shown in the schematic blocks are connected together using a common bus to indicate that these various features / components / functions are operably coupled together. Other connections, mechanisms, features, functions, etc. may be provided and adjusted as needed to operably couple and configure the navigation and driving control systems. In addition, the Figure 8 One or more of the features or functions shown in the examples, or may be combined Figure 8 Two or more of the features or functions shown in . In addition, Figure 8 One or more of the features or functions shown.
[0071] As shown, the computing device 800 may include a communication unit 805, which may be configured to provide wired and / or wireless network connectivity to the computing device 800. The communication unit may include one or more local area network transceivers, which may be connected to one or more antennas (not shown). The one or more local area network transceivers include suitable devices, circuits, hardware, and / or software for communicating with one or more of the wireless local area network (WLAN) access points and / or detecting signals entering / leaving one or more of the WLAN access points and / or directly connecting to other wireless devices in the network. In some embodiments, the communication unit 805 may include one or more wide area network (WWAN) transceivers 806, which may be connected to one or more antennas (not shown). The wide area network transceiver may include suitable devices, circuits, hardware, and / or software for communicating with, for example, one or more of the wireless wide area network (WWAN) access points and / or detecting signals from one or more of the WWAN access points and / or directly connecting to other wireless devices in the network. The communication unit may include a C-V2X communication component for communicating with other entities with C-V2X capabilities. The WLAN transceiver of the computing device may be configured to provide a C-V2X communication component.
[0072] The communication unit 805 may include an SPS receiver 808. The SPS receiver 808 may be connected to one or more antennas (not shown) to receive signals from SPS SVs and / or pseudolites. The SPS receiver 808 may include any suitable hardware and / or software for receiving and processing SPS signals. The SPS receiver 808 may request information from other systems as appropriate, and may perform calculations using, in part, measurements obtained through any suitable SPS program to determine the location of the computing device 800. Positioning information received from the SPS receiver 808 may be provided to the navigation unit 870 to determine the location of the platform in which the computing device 800 is disposed and to navigate the vehicle along a road or other navigable area. The SPS receiver 808 may be used to provide one or more distance estimates to determine estimated clock parameters where the SPS receiver 808 is unable to acquire a sufficient number of SV and / or pseudolites signals to determine a PVT solution for the computing device 800.
[0073] Processor(s) (also referred to as controllers) 810 may be connected to memory 815, navigation unit 870, vehicle control unit 875, user interface 850, communication unit 805, radar transceiver 860, and LiDAR transceiver 865. Processor 810 may include one or more microprocessors, microcontrollers, and / or digital signal processors that provide processing functions and other computational and control functionality. Processor 810 may be coupled to a storage medium (e.g., memory) 815 for storing data and software instructions to execute programmed functionality within the computing device. Memory 815 may be on-board processor 810 (e.g., within the same integrated circuit package), and / or the memory may be external to the processor and functionally coupled via a data bus.
[0074] A number of software modules and data tables may reside in memory 815 and may be utilized by processor 810 to manage, create and / or delete content from computing device 800 and / or perform device control functionality. Figure 8 As shown, in some embodiments, memory 815 may include an application module 820 that may implement one or more applications. Depending on the implementation of computing device 800, the functionality of the modules and / or data structures may be combined, separated, and / or structured in different ways.
[0075] The processor 810 may be configured to determine or otherwise obtain SPS timing information and position and velocity assistance timing information. For example, the processor 810 may be able to obtain SPS timing information from the SPS receiver 808 as determined by the SPS receiver 808, or may be able to determine the SPS timing information based on information provided by the SPS receiver 808. The SPS information may include clock time and timing uncertainty (i.e., uncertainty in clock time due to SPS signal measurement variance). The processor 810 may be configured to determine position and velocity assistance (PV assistance) timing information based on position and velocity information obtained by the processor 810 from a position and velocity information source. The position and velocity information source may be, for example, one or more sensors disposed in the computing device 800, or one or more sensors of a navigation system external to the computing device 800, or a combination of one or more sensors of the computing device 800 and one or more sensors of a navigation system external to the computing device 800. The processor 810 may be configured to obtain position and velocity information from a device external to the computing device 800 using a wireless communication protocol such as a vehicle-to-everything (V2X) wireless communication protocol (such as a C-V2X wireless communication protocol).
[0076] The processor 810 may be configured to determine the PV assist timing information continuously or in response to a trigger condition being satisfied. For example, the processor 810 may determine the PV assist timing information intermittently (e.g., periodically) according to a schedule. Additionally or alternatively, the processor 810 may be configured to determine the PV assist timing information in response to a trigger condition, such as a determination by the processor 810 that insufficient SPS signal measurements are available to solve for position and time. The processor 810 may be configured to determine that insufficient SPS measurements are available to solve for position and time. The processor 810 may respond to the determination by obtaining position and velocity information from a position and velocity information source. The processor 810 may be configured to determine a PV assist timing uncertainty of a clock time determined from the position and velocity information and a measurement variance used to determine the position and velocity information.
[0077] Processor 810 may be configured to use SPS timing information and / or PV assisted timing information to adjust a clock of computing device 800. If the SPS timing uncertainty is below a timing uncertainty threshold, such as a timing uncertainty threshold associated with a wireless communication protocol (e.g., 391 ns associated with a C-V2X wireless communication protocol), processor 810 may be configured to use the SPS timing information to adjust the clock. Thus, even if the PV assisted timing uncertainty is below the SPS timing uncertainty, processor 810 may use SPS timing as long as the SPS timing uncertainty is below the timing uncertainty threshold. If the PV assisted timing uncertainty is below the SPS timing uncertainty and below the timing uncertainty threshold, processor 810 may be configured to use the PV assisted timing information to adjust the clock. If the PV assisted timing uncertainty is below the SPS timing uncertainty, the PV assisted timing uncertainty is less than the timing uncertainty threshold, and the SPS timing uncertainty is above the timing uncertainty threshold, processor 810 may be configured to use the PV assisted timing information to adjust the clock. If there are not enough SPS measurements available to resolve the position and time, and the PV assisted timing uncertainty is less than the timing uncertainty threshold, processor 810 may be configured to use the PV assisted timing information to adjust the clock.
[0078] The application module 820 may be a process or thread running on the processor 810 of the computing device 800 that may request data from one or more other modules (not shown) of the computing device 800. Applications typically run within the upper layers of a software architecture and may be implemented in a rich execution environment of the computing device 800, and may include navigation applications, games, shopping applications, content streaming applications, web browsers, location-aware service applications, and the like.
[0079] Computing device 800 may also include a user interface 850 that provides a suitable interface system for outputting audio and / or visual content and for facilitating user interaction with computing device 800. For example, user interface 850 may include one or more of a microphone and / or speaker for outputting audio content and for receiving audio input, a keypad and / or touch screen for receiving user input, and a display (which may be separate from or a touch screen) for displaying visual content.
[0080] The radar transceiver 860 may be configured to transmit a radar signal and detect a reflected radar signal. The radar transceiver 860 may be used to identify objects close to the vehicle that may block the vehicle and / or cause a collision hazard (in an embodiment of the wireless computing device 800 in a vehicle), such as but not limited to pedestrians, objects on the road, and / or other vehicles on the road. Some embodiments of the computing device 800 may include multiple radar transceivers. For example, the computing device 800 may include a short-range radar (SRR) transceiver, a medium-range radar (MRR) transceiver, and a long-range radar (LRR) transceiver, each of which is configured to operate at a different distance from the vehicle. For example, the SRR transceiver may have a distance of about 30 meters, the MRR may have a distance of about 100 meters, and the LRR may have a distance of about 200 meters. These ranges are only examples of one possible combination of distances provided by the SRR, MRR, and LRR transceivers. The actual distances utilized by each of the transceivers may vary based on the implementation. The distance information determined by the radar transceiver(s) may be provided to navigation unit 870 to determine the location of computing device 800 .
[0081] The computing device 800 may include a LiDAR transceiver 865. The LiDAR transceiver 865 may be configured to emit laser signals and detect reflected LiDAR signals. The LiDAR transceiver 865 may be used to identify objects close to the vehicle 110 that may obstruct the vehicle and / or pose a collision hazard, such as but not limited to pedestrians, objects on the road, and / or other vehicles on the road. The distance information determined by the LiDAR transceiver 865 may be provided to the navigation unit 870 to determine the location of the computing device 800.
[0082] The vehicle control unit 875 may be configured to control various components of the vehicle 110 so that the vehicle moves along the route determined by the navigation unit 870. The vehicle control unit 875 may be configured to be communicatively coupled to the navigation unit 870, and may be configured to receive information from the navigation unit 870 and provide information to the navigation unit 870. The vehicle control unit 875 may be configured to output signals to one or more components of the vehicle to control the acceleration, braking, steering, and / or other actions of the vehicle. The vehicle control unit 875 may be configured to receive information from one or more components and / or sensors (including the navigation unit 870) of the vehicle, which information may be used to determine the current state of the vehicle. The current state of the vehicle may include the location or position of the vehicle, the speed of the vehicle, the acceleration of the vehicle, the direction of travel of the vehicle, the gear in which the vehicle is currently configured to operate, and / or other information about the state of the vehicle. In embodiments in which the navigation system is included in other types of autonomous or semi-autonomous devices, a control unit configured to control the autonomous or semi-autonomous device may replace the vehicle control unit 875.
[0083] The navigation unit 870 may be configured to obtain distance information from the radar transceiver 860 and / or the LiDAR transceiver 865. The navigation unit 870 may be configured to obtain distance information from other C-V2X devices in proximity to the computing device 800. The navigation unit 870 may be configured to use the distance information to provide navigation information to the driver and / or determine control signals to issue to the vehicle control unit 875 for controlling the operation of the vehicle in which the computing device is disposed.
[0084] In some embodiments, the functionality of computing device 800 can be implemented as multiple computing devices. For example, a vehicle may include a computer system for navigation and / or vehicle control and a separate computer system for communicating with other vehicles. The two computer systems may be communicatively coupled and configured to exchange data.
[0085] The navigation unit 870 and the vehicle control unit 875 may be implemented in hardware, software, or a combination thereof. The navigation unit 870 and the vehicle control unit 875 may be implemented at least in part by software executed by the trusted execution environment 880 to prevent the navigation unit 870 and the vehicle control unit 875 from being tampered with by a malicious third party who wishes to interfere with the navigation of the vehicle and / or assume control of the vehicle.
[0086] Sensor(s) 890 may include one or more sensors that may collect data that may be used to assist in determining the location and velocity of computing device 800. In addition to the information received from communication unit 805, radar transceiver 860, and LiDAR transceiver 865, sensor(s) 890 may also collect data that may be used by navigation unit 870. Sensor(s) 890 may include one or more optical sensors, such as a still camera or video camera, that may be used to capture information about the area surrounding the vehicle, such as lane markings, signage, reflector colors and / or patterns, the presence of objects and / or other vehicles approaching the vehicle, and other such information. Sensor(s) 890 may include one or more accelerometers for determining the velocity of the computing device. Sensor(s) 890 may include a magnetometer or compass for determining the direction of movement of the vehicle, or a gyroscope for measuring the angular rotation of the vehicle. In embodiments where computing device 800 is disposed within a vehicle, one or more vehicle-specific sensors, such as a speedometer, may also be included. In addition, in embodiments including radar transceiver 860, LiDAR transceiver 865, or both, radar and LiDAR can be used to estimate position and velocity. Radar and LiDAR transceivers can detect reflected signals from navigation markers placed throughout the navigable environment, which can provide location information to computing device 800. In addition, the combination of sensor(s) 890 and radar and / or LiDAR can be used to perform dead reckoning in areas where SPS signals and / or networks are unavailable.
[0087] Fig. 9 is a flow chart of an exemplary process for maintaining timing accuracy in a wireless computing device according to the present disclosure. Fig. 9 The illustrated process may be implemented by the communication unit 720 of the wireless computing device. Fig. 9 The process may be implemented in a wireless computing device disposed in a vehicle, or may be implemented in a mobile wireless computing device associated with a pedestrian (such as a smart phone, smart watch or other wearable computing device and / or other mobile wireless computing device). The process may be used to maintain the timing accuracy of the clock of the wireless computing device in an SPS and / or network-restricted area where SPS-based or network-based time assistance information is not available. The techniques discussed herein may be used for wireless computing devices with static locations as well as for wireless computing devices that are moving and have dynamic locations.
[0088] A distance estimate may be obtained from an external timing information source using a communication unit of the wireless computing device (stage 905). The distance estimate may be provided to the wireless computing device in the communication. The distance estimate may be obtained by calculation using one or more received signals from an external timing information source at a known location. As discussed in the previous example, an example of this external timing information source may be an SPS SV. The SPS receiver 725 of the communication unit 720 of the wireless device may acquire a signal from the SPS SV and determine a pseudorange estimate for the SPS SV. Another example of an external timing information source is a pseudo-satellite. The SPS receiver may acquire a signal from a pseudo-satellite and determine a pseudorange estimate from the pseudo-satellite. In addition to or in lieu of one or more signals from the SPS SV, the SPS receiver may use one or more pseudo-satellites to determine a distance estimate. Fig.11 An exemplary process for obtaining a range estimate using an SPS receiver is shown.Another type of external timing information source may be another wireless computing device with a known location. Fig.14 An exemplary process for obtaining a distance estimate from another wireless computing device is shown.
[0089] Position and velocity estimate information for the wireless computing device may be obtained from a position and velocity information source (stage 910). The position and velocity information source is separate from an external timing information source. As discussed in previous examples, the position and velocity information source may include one or more sensors configured to determine the position and velocity of the wireless computing device. The one or more sensors may be in the wireless computing device and / or external to the wireless computing device (e.g., in a navigation system). If the source is external to the wireless computing device, the position and velocity information may be received, for example, by the wireless computing device using a communication unit that utilizes a vehicle-to-everything wireless communication protocol (e.g., C-V2X). In some embodiments, such as in Figure 7 In the example shown, the wireless computing device may be disposed in a vehicle, and the functionality of the position and velocity estimate information source 705 may be an onboard computing system, a navigation system, a vehicle control system, or a combination thereof. In some embodiments, the functionality of the position and velocity information source may be implemented by a communication unit 720. For example, the communication unit 720 may include or be communicatively coupled to one or more sensors that may be used to determine the position and velocity of the wireless computing device. In some embodiments, the wireless computing device may be a smartphone, a smartwatch, or other such mobile device that includes one or more sensors that may be used to determine the position and velocity of the wireless computing device. Pedestrians may use this device for V2P communications in an operating environment that uses C-V2X to exchange information between various road users.
[0090] Estimated clock parameters may be determined based on the position and velocity estimate information and the distance estimate (stage 915). The communication unit 720 may solve for various parameters, including, but not limited to, one or more of an estimated clock state, an estimated clock deviation value, and an estimated clock drift. The estimated clock state is an estimate of where the clock state should be at the time of the estimate (i.e., it should be an estimate of where the clock state is when it has been synchronized with the reference clock). The estimated clock deviation is the difference between the estimate of the time of the communication unit 720 and the reference time maintained by the SPS system or wireless communication network. The estimated clock drift is the estimated difference between the rate of the reference clock and the rate of the clock of the communication unit 720. The communication unit 720 may solve for unknown time parameters using the known position and velocity of the communication unit 720 obtained in stage 910 and the distance estimate from an external timing information source also at a known position.
[0091] If distance estimates are obtained for more than one external timing information source, communication unit 720 may perform stage 915 for each of the obtained distance estimates. Communication unit 720 may average the clock parameters determined for each of the distance estimates to determine the clock parameters to be used in stage 920. Alternatively, communication unit 720 may determine a weighted average of the clock parameters determined for each of the distance estimates to determine the clock parameters to be used in stage 920. The weight associated with each of the distance estimates may be determined based on the estimated accuracy of each of the distance estimates, such that distance estimates with higher accuracy are weighted more heavily.
[0092] The clock of the wireless computing device may be updated based on the estimated clock parameters (stage 920). The clock may be adjusted in response to the PV-assisted timing uncertainty corresponding to the clock parameters being below a timing uncertainty threshold. The communication unit 720 may adjust the receiver's clock based on the clock bias value and / or the clock drift value determined in stage 915, or the communication unit may compensate the receiver's clock based on the clock bias value and / or the clock drift value instead of actually adjusting the clock. The communication unit 720 may periodically adjust and / or further compensate the communication unit 720 clock to compensate for the estimated drift in an attempt to synchronize the communication unit 720 clock with the reference clock as closely as possible. The clock may be adjusted in response to the PV-assisted timing uncertainty being below the SPS timing uncertainty or in response to the PV-assisted timing uncertainty being below the SPS timing uncertainty and the SPS timing uncertainty being above the timing uncertainty threshold or in response to insufficient SPS measurements being available to solve for position and time.
[0093] Fig.10is a diagram of exemplary process elements for communicating with a second wireless computing device according to the present disclosure. Fig.10 The process elements shown may be implemented by the communication unit 720 of the wireless computing device. Fig.10 The process elements shown can be Fig. 9 The process shown provides additional stages.
[0094] The wireless computing device may communicate with a second wireless device using a cellular vehicle-to-everything (C-V2X) wireless communication protocol (stage 1005). The communication unit 720 of the wireless computing device may communicate with the second wireless device using one of the wireless C-V2X communication protocols. The second wireless device may be another vehicle or a component thereof, and the wireless computing device may communicate with the second wireless computing device using a V2V protocol. The second wireless device may be an infrastructure element disposed in the environment in which the wireless device is operating, and the wireless computing device may communicate with the second wireless computing device using a V2I protocol. The second wireless device may be a wireless computing device associated with a pedestrian in the environment in which the wireless device is operating, and the wireless computing device may communicate with the second wireless computing device using a V2P protocol. The second wireless device may be an external timing information source, in Fig. 9 In stage 905 of the process, a distance estimate is obtained from the external timing information source.
[0095] Fig.11 is a diagram of exemplary process elements for obtaining distance estimates from an external source of timing information in accordance with the present disclosure. Fig.11 The process elements shown may be implemented by the communication unit 720 of the wireless computing device. Fig.11 The process elements shown may be used to at least partially implement Fig. 9 Stage 905 of the process is shown.
[0096] At least one distance estimate may be obtained from a satellite positioning system (SPS) receiver and an external timing information source, which may include one or more SPS space vehicles (SVs), pseudolites, or both. The number of distance estimates available from the SPS receiver (e.g., already obtained by the SPS receiver) may be less than the number of distance estimates required to determine the absolute time and position information for the SPS receiver (stage 1105). The external timing information source may be one or more SPS space vehicles (SVs), one or more pseudolites, or a combination of one or more SVs and one or more pseudolites, and the SPS receiver 725 of the communication unit 720 may be configured to obtain at least one distance estimate. The SPS receiver 725 may acquire a signal from the SV or pseudolites and determine a pseudorange using various means known in the art. The signal sent by the SPS SV and pseudolites includes an indication of the time at which the signal was sent. The pseudorange to the SV or pseudolites may be determined by multiplying the time taken for the signal to reach the SPS receiver 725 by the speed of light to determine the pseudorange.
[0097] Fig.12 is a flow chart of an exemplary process for determining estimated clock parameters based on position and velocity estimate information and a distance estimate according to the present disclosure. Fig.12 The illustrated process may be implemented by the communication unit 720 of the wireless computing device. Fig.12 The process shown can be used to implement at least in part Fig. 9 Stage 915 of the process is shown.
[0098] The position and velocity estimate information may be provided to an SPS receiver of the wireless computing device (stage 1205). In some embodiments, the SPS receiver 725 may receive position and velocity estimates for the position of the wireless computing device. The position and velocity information may be obtained using the sensor data discussed in the previous examples. The SPS receiver may acquire at least one signal from an SPS SV and / or pseudo-satellite and obtain time information from the at least one signal. The position of the SV and / or pseudo-satellite is considered to be the same as the position of the wireless computing device. Therefore, the SPS receiver 725 may solve for an unknown time value (i.e., the time that should be at the receiver) and use this information to correct the clock of the communication unit 720. The SPS receiver 725 may compare the clock of the receiver of the communication unit 720 with the time information to determine an estimated clock state, an estimated clock bias, and an estimated clock drift.
[0099] Estimated clock parameters may be obtained from the SPS receiver in response to providing the position and velocity estimate information (stage 1210). The SPS receiver 725 may output the estimated clock parameters, and the communication unit 720 may use the estimated clock parameters to adjust the clock of the wireless computing device. Fig.13 Example process elements for adjusting a clock of a wireless computing device are shown.
[0100] Fig.13 is a diagram of example process elements for updating a clock of a wireless computing device based on estimated clock parameters in accordance with the present disclosure. Fig.13 The process elements shown may be implemented by the communication unit 720 of the wireless computing device. Fig.13 The process elements shown may be used to at least partially implement Fig. 9 Stage 920 of the process is shown.
[0101] The clock of the wireless computing device may be adjusted to compensate for clock drift and clock bias (stage 1305). Using the techniques disclosed herein, the clock of the communication unit 720 may be adjusted to compensate for clock drift and clock bias determined for the receiver's clock. By adjusting clock bias and clock drift, the clock of the wireless computing device may remain synchronized with a reference clock for a longer period of time in the event that an SPS-based or network-based reference clock state is unavailable. The wireless device may periodically repeat Fig. 9 The process shown in the figure is to obtain a new estimated clock state, and Fig.13 The processing elements shown may be used to adjust the clock of the communication unit 720 based on the clock state.
[0102] Fig.14 is a diagram of exemplary process elements for obtaining distance estimates from an external source of timing information in accordance with the present disclosure. Fig.14 The process elements shown may be implemented by the communication unit 720 of the wireless computing device. Fig.14 The process elements shown may be used to at least partially implement Fig. 9 Stage 905 of the process is shown.
[0103] At least one distance estimate may be obtained from a second wireless computing device configured to send ranging information (stage 1405). As discussed in previous examples, a wireless computing device at a known location may provide ranging information that the communication unit 720 may use to determine an estimated clock parameter that may be used to synchronize the clock with a reference clock. The second wireless computing device may include a mobile device configured to use C-V2X and may be associated with an infrastructure element (V2I), a vehicle (V2V), or a pedestrian (V2P). The second wireless device may be configured to send ranging information that may be used by a device receiving ranging information to estimate how far the second wireless device is from the device receiving the ranging information. The ranging information may include location information for the second wireless device and information identifying the time at which the data was sent. The wireless device receiving the ranging information and the location and velocity information for the wireless device may use the information to derive an estimated time parameter that may be used to synchronize the clock of the wireless device with a time reference, which may enable the wireless computing device to be used with wireless communication protocols having strict time synchronization requirements even when an SPS-based and / or network-based time reference is unavailable.
[0104] If implemented in part by hardware or firmware together with software, the function may be stored as one or more instructions or codes on a computer-readable medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media include physical computer storage media. The storage medium may be any available medium that can be accessed by a computer. By way of example and not limitation, such a computer-readable medium may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage media, semiconductor storage devices or other magnetic storage devices, or any other medium that can be used to store the desired program code in the form of an instruction or data structure and can be accessed by a computer; as used herein, disks and optical disks include compact disks (CDs), laser optical disks, optical optical disks, digital versatile disks (DVDs), floppy disks, and Blu-ray disks, wherein disks typically reproduce data magnetically, and optical disks reproduce data optically with the aid of lasers. The above combinations should also be included within the scope of computer-readable media.
[0105] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly or conventionally understood. As used herein, the articles "one" and "an" refer to one or more (i.e., at least one) of the grammatical objects of an article. For example, "element" means one element or more than one element. When it comes to measurable values such as amount, duration, etc., "about" and / or "approximately" as used herein encompass changes of ±20% or ±10%, ±5% or +0.1% relative to a specified value, because such changes are appropriate in the context of systems, devices, circuits, methods, and other embodiments described herein. When it comes to measurable values such as amount, duration, physical properties (such as frequency), "substantially" as used herein also encompasses changes of ±20% or ±10%, ±5% or +0.1% relative to a specified value, because such changes are appropriate in the context of systems, devices, circuits, methods, and other embodiments described herein.
[0106] The methods, systems, and devices discussed above are examples. Various alternative configurations may omit, replace, or add various processes or components as appropriate. Configurations may be described as processes depicted as schematic flow charts or block diagrams. Although each operation may be described as a sequential process, many operations may be performed in parallel or simultaneously. In addition, the order of operations may be rearranged. A process may have additional steps not included in the accompanying drawings.
[0107] As used herein, including in the claims, "or" used in a list of items beginning with "at least one of" or "one or more of" indicates a disjunctive conjunction list, so that, for example, "at least one of A, B, or C" means A or B or C or AB or AC or BC or ABC (i.e., A and B and C), or a combination of more than one feature (e.g., AA, AAB, ABBC, etc.). Also, as used herein, unless otherwise specified, a statement that a function or operation is "based on" an item or condition means that the function or operation is based on the stated item or condition, and may be based on one or more items and / or conditions in addition to the stated item or condition.
[0108] Functional or other components shown in the drawings and / or discussed herein as being connected or communicating with each other may be communicatively coupled. That is, they may be connected directly or indirectly to enable communication between them.
Claims
1. A mobile device, comprising: Communication unit; Memory; as well as a processor, which is communicatively coupled to the communication unit and the memory, the processor being configured to: obtaining a distance estimate from a signal received from a timing information source via the communication unit; obtaining position and speed estimation information of the mobile device from a position and speed estimation information source separate from the timing information source, the processor being configured to obtain the position and speed estimation information from at least one sensor of the mobile device, or being configured to obtain the position and speed estimation information via the communication unit using a vehicle-to-everything (V2X) wireless communication protocol, or a combination thereof; determining estimated clock parameters based on the position and velocity estimate information and the distance estimate; as well as A clock of the mobile device is adjusted based on the estimated clock parameters in response to a position and velocity assistance timing uncertainty corresponding to the estimated clock parameters being below a timing uncertainty threshold.
2. The mobile device according to claim 1, wherein: The processor is configured to adjust the clock of the mobile device in response to the position and velocity assistance timing uncertainty being lower than a satellite positioning system (SPS) timing uncertainty; or The processor is configured to adjust the clock of the mobile device in response to the position and velocity assistance timing uncertainty being lower than the SPS timing uncertainty and the SPS timing uncertainty being higher than the timing uncertainty threshold; or The processor is configured to adjust the clock of the mobile device in response to insufficient SPS measurements being available to solve for position and time.
3. The mobile device according to claim 1, wherein: The processor is configured to determine that insufficient satellite measurements are available to resolve position and time, and the processor is configured to obtain the position and velocity estimate information in response to the determination.
4. The mobile device according to claim 1, wherein: The V2X wireless communication protocol is a cellular vehicle-to-everything (C-V2X) wireless communication protocol, the timing uncertainty threshold is associated with the C-V2X wireless communication protocol, and the processor is further configured to communicate with the timing information source using the C-V2X wireless communication protocol after adjusting the clock of the mobile device.
5. The mobile device according to claim 1, wherein: The communication unit comprises a satellite positioning system (SPS) receiver communicatively coupled to the processor, and wherein the timing information source comprises one or more SPS satellite vehicles (SVs), one or more pseudo-satellites, or a combination thereof, and wherein the processor is configured to obtain the distance estimate from the SPS receiver and adjust the clock of the mobile device without having to solve the position by the SPS receiver.
6. The mobile device according to claim 1, wherein: The source of position and velocity estimate information includes a navigation system.
7. The mobile device according to claim 1, wherein: The estimated clock parameters include a clock drift and a clock bias both associated with the clock of the mobile device, and wherein, to adjust the clock of the mobile device, the processor is configured to compensate for the clock drift and the clock bias.
8. A method for maintaining timing accuracy in a mobile device, the method comprising: obtaining a distance estimate using a signal received from a timing information source via a communication unit of the mobile device; obtaining position and velocity estimate information of the mobile device from a position and velocity information source separate from the timing information source, the position and velocity estimate information being obtained from at least one sensor of the mobile device, or via the communication unit of the mobile device using a vehicle-to-vehicle wireless communication protocol, or a combination thereof; determining estimated clock parameters based on the position and velocity estimate information and the distance estimate; as well as A clock of the mobile device is adjusted based on the estimated clock parameters in response to a position and velocity assistance timing uncertainty corresponding to the estimated clock parameters being below a timing uncertainty threshold.
9. The method according to claim 8, wherein: Adjusting the clock of the mobile device is performed in response to: The position and velocity aided timing uncertainty is lower than the satellite positioning system (SPS) timing uncertainty; or the position and velocity assistance timing uncertainty is lower than the SPS timing uncertainty and the SPS timing uncertainty is higher than the timing uncertainty threshold; or Not enough SPS measurements are available to solve for position and time.
10. The method of claim 8, further comprising determining that insufficient satellite measurements are available to solve for position and time, wherein: Obtaining the position and velocity estimate information is performed in response to the determining.
11. The method according to claim 8, wherein: The vehicle network wireless communication protocol is a cellular vehicle to everything (C-V2X) wireless communication protocol, and the timing uncertainty threshold is associated with the C-V2X wireless communication protocol.
12. The method of claim 11, further comprising communicating with another mobile device using the C-V2X wireless communication protocol after adjusting the clock of the mobile device.
13. The method according to claim 8, wherein: The timing information source includes one or more satellite positioning system SPS satellite vehicles SV, one or more pseudo-satellites, or a combination thereof, and wherein obtaining the distance estimate includes the SPS receiver of the mobile device determining a number of distance estimates based on the number of SVs, pseudo-satellites, or both, and the number of distance estimates is less than the number of distance estimates required for determining the absolute time and position information of the SPS receiver.
14. The method according to claim 8, wherein: The position and velocity estimate information is obtained from one or more sensors of the mobile device.
15. The method according to claim 8, wherein: The position and velocity estimate information is obtained from one or more sensors of a navigation system of a vehicle in which the mobile device is disposed.
16. The method according to claim 8, wherein: The estimated clock parameters include a clock drift and a clock bias associated with the clock of the mobile device, and wherein adjusting the clock of the mobile device includes compensating for the clock drift and the clock bias.
17. A mobile device comprising: means for obtaining a distance estimate from a source of timing information at a known location using a communication unit of the mobile device; means for obtaining position and velocity estimate information of the mobile device from a source of position and velocity estimate information separate from the source of timing information from at least one sensor of the mobile device, or using a vehicle-to-everything (V2X) wireless communication protocol, or a combination thereof; means for determining estimated clock parameters based on said position and velocity estimate information and said distance estimate; as well as Means for adjusting a clock of the mobile device based on the estimated clock parameters in response to a position and velocity assistance timing uncertainty corresponding to the estimated clock parameters being below a timing uncertainty threshold.
18. The mobile device of claim 17, wherein: The means for adjusting is for adjusting the clock of the mobile device in response to the position and velocity aided timing uncertainty being lower than a satellite positioning system (SPS) timing uncertainty; or means for adjusting for adjusting the clock of the mobile device in response to the position and velocity aided timing uncertainty being lower than the SPS timing uncertainty and the SPS timing uncertainty being higher than the timing uncertainty threshold; or Means for adjusting are for adjusting the clock of the mobile device in response to insufficient SPS measurements being available to solve for position and time.
19. The mobile device of claim 17, further comprising means for determining that there are not enough satellite positioning system (SPS) measurements available to solve for position and time, wherein: The means for obtaining the position and velocity estimate information is for obtaining the position and velocity estimate information in response to the determining.
20. The mobile device of claim 17, wherein: The V2X wireless communication protocol is a cellular vehicle-to-everything (C-V2X) wireless communication protocol, and the mobile device further includes: Means for communicating with the timing information source using C-V2X after adjusting the clock of the mobile device.
21. The mobile device of claim 17, wherein: The timing information source includes one or more satellite positioning system SPS satellite vehicles SV, one or more pseudo-satellites, or a combination thereof, wherein the component for obtaining the distance estimate is used to obtain the distance estimate from the SPS receiving component of the mobile device, and wherein the component for adjusting the clock is used to adjust the clock without solving the position through the SPS receiving component.
22. The mobile device of claim 17, wherein: The source of position and velocity information includes one or more sensing components for determining the position and velocity of the mobile device.
23. The mobile device of claim 17, wherein: The estimated clock parameters include clock drift and clock bias associated with the clock of the mobile device, and wherein the means for adjusting the clock of the mobile device includes means for compensating for the clock drift and the clock bias.
24. A non-transitory computer-readable medium having stored thereon computer-readable instructions for maintaining timing accuracy in a mobile device, the computer-readable instructions comprising instructions configured to cause a computer to: obtaining, using a communication unit of the mobile device, a distance estimate from a source of timing information at a known location; Obtaining position and speed estimation information of the mobile device from a position and speed estimation information source separate from the timing information source, the instructions: configured to cause the computer to obtain the position and speed estimation information from at least one sensor of the mobile device, or configured to cause the computer to obtain the position and speed estimation information using a vehicle-to-everything (V2X) wireless communication protocol via the communication unit, or a combination thereof; determining estimated clock parameters based on the position and velocity estimate information and the distance estimate; as well as A clock of the mobile device is adjusted based on the estimated clock parameters in response to a position and velocity assistance timing uncertainty corresponding to the estimated clock parameters being below a timing uncertainty threshold.
25. The computer readable medium of claim 24, wherein: the instructions configured to cause the computer to adjust the clock of the mobile device are configured to cause the computer to adjust the clock of the mobile device in response to the position and velocity aided timing uncertainty being lower than a satellite positioning system (SPS) timing uncertainty; or the instructions configured to cause the computer to adjust the clock of the mobile device are configured to cause the computer to adjust the clock of the mobile device in response to the position and velocity aided timing uncertainty being lower than the SPS timing uncertainty and the SPS timing uncertainty being higher than the timing uncertainty threshold; or The instructions configured to cause the computer to adjust the clock of the mobile device are configured to cause the computer to adjust the clock of the mobile device in response to insufficient SPS measurements being available to solve for position and time.
26. The computer-readable medium of claim 24, further comprising instructions configured to cause the computer to determine that there are insufficient satellite measurements available to solve for position and time, and instructions configured to cause the computer to obtain the position and velocity estimate information are configured to cause the computer to obtain the position and velocity estimate information in response to the determination.
27. The computer-readable medium of claim 24, wherein: The V2X wireless communication protocol is a cellular vehicle-to-everything (C-V2X) wireless communication protocol, the timing uncertainty threshold is associated with the C-V2X wireless communication protocol, and the computer-readable medium also includes instructions configured to cause the computer to communicate with the timing information source using the C-V2X wireless communication protocol after adjusting the clock of the mobile device.
28. The computer-readable medium of claim 24, wherein: The timing information source includes one or more satellite positioning system SPS satellite vehicles SV, one or more pseudo-satellites, or a combination thereof, wherein the instructions configured to cause the computer to obtain the distance estimate are configured to cause the computer to obtain the distance estimate from an SPS receiver, and wherein the instructions configured to cause the computer to adjust the clock of the mobile device are configured to cause the computer to adjust the clock of the mobile device without solving the position through the SPS receiver.
29. The computer-readable medium of claim 24, wherein: The estimated clock parameters include clock drift and clock bias both associated with the clock of the mobile device, and the instructions configured to cause the computer to adjust the clock of the mobile device are configured to cause the computer to compensate for the clock drift and the clock bias.
Citation Information
Patent Citations
A system and method for provinding assistance data within a location network
WO2005012935A1