Increased positioning resolution
By controlling the positioning signal measurement and data processing of the measurement equipment on the server side, the accuracy problem of position determination of low-capacity equipment is solved, and low-cost and high-precision position determination is achieved.
Patent Information
- Application Number
- CN202080074756.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-10-30
- Filing Date
- 2020-10-28
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2040-10-28
AI Technical Summary
Lower capability devices are difficult to accurately determine their location due to processing power, storage and battery power limitations, especially IoT devices.
The positioning signal measurement time and subset of the signal source of the measurement device are determined on the server side, and the positioning signal measurement device is measured by commanding the measurement device. Combined with batch processing and averaging technology, a higher-capable server is used to determine the location.
Highly accurate position determination of lower-capacity equipment is achieved, reducing equipment costs and power consumption, and improving the accuracy of position determination.
Smart Images

Figure CN114729981B_ABST
Abstract
Description
[0001] Priority Claim
[0002] This patent application claims priority to U.S. Non - Provisional Application No. 16 / 668,063, entitled "INCREASED POSITIONING RESOLUTION", filed on October 30, 2019, which has been assigned to the assignee of this application and is hereby incorporated by reference in its entirety. Background of the Invention
[0003] Devices (both mobile and static) are increasingly being equipped to make measurements and determine their location based on the measurements made. For example, a measuring device can determine its location based on signals received by the device (such as satellite positioning system (SPS) signals, cellular network signals, and / or Wi - Fi signals, etc.). Additionally or alternatively, the location of a target device can be determined by a location - determining device to which measurements made by the target device are provided. The types of devices that are capable of making measurements of signals for positioning and wirelessly communicating those measurements continue to expand. For example, household items or devices that can be associated with other devices (e.g., attached or incorporated) are often capable of making measurements of signals and wirelessly communicating those measurements.
[0004] To provide the ability to measure signals for positioning to more measuring devices, the measuring devices are often lower - capability devices. Due to constraints on the processing power, available storage, and / or available battery power of lower - capability devices, a lower - capability device may not be able to determine its location, at least not with acceptable accuracy. For example, Internet of Things (IoT) devices are often installed on fixed structures (i.e., structures that do not move) or are part of fixed structures. Memory and power constraints (e.g., due to battery life) may inhibit the ability of an IoT device to provide sufficiently accurate location information (e.g., an indication of location or information from which location can be determined). Summary of the Invention
[0005] An example of a method for determining the location of a measuring device includes: determining at a server: the measurement time of a first positioning signal measurement of a first positioning signal from a first plurality of positioning signal sources; or a subset of positioning signal sources in a second plurality of positioning signal sources, the subset of positioning signal sources including fewer positioning signal sources than the second plurality of positioning signal sources; or a combination thereof; sending at least one measurement command from the server to the measuring device to cause the measuring device to: obtain a first positioning signal measurement according to the measurement time; or obtain a second positioning signal measurement of a second positioning signal from the subset of positioning signal sources; or a combination thereof; receiving at the server from the measuring device measurement data corresponding to the first positioning signal measurement or the second positioning signal measurement or a combination thereof; and determining at the server the location of the measuring device based on the measurement data.
[0006] Implementations of such methods may include one or more of the following features. The method includes: determining that the position of the measurement device has been determined within an accuracy threshold level; and in response to determining that the position of the measurement device has been determined within the accuracy threshold level, issuing a termination command to the measurement device to cause the measurement device to stop obtaining the first positioning signal measurement, or stop obtaining the second positioning signal measurement, or a combination thereof. The method includes storing measurement data, wherein determining the position of the measurement device includes batch processing measurement data corresponding to a plurality of the first positioning signal measurements, or a plurality of the second positioning signal measurements, or a combination of at least one of the first positioning signal measurements and at least one of the second positioning signal measurements. The batch processing is performed in response to determining that a threshold amount of measurement data has been stored. The threshold amount of measurement data is an amount sufficient for the server to determine the position of the measurement device within the accuracy threshold level.
[0007] Additionally or alternatively, implementations of such methods may include one or more of the following features. The method includes averaging the measurement data to produce average measurement data, wherein determining the position of the measurement device based on the measurement data includes using the average measurement data to determine the position of the measurement device. The method includes: receiving relative position information regarding the relative position of the measurement device and another device; determining the relative position of the other device with respect to the measurement device based on the relative position information; and determining the position of the other device based on the position of the measurement device and the relative position of the other device with respect to the measurement device. Determining a subset of positioning signal sources includes determining positioning signal sources among a second plurality of positioning signal sources from which a high-quality positioning signal will be received at the measurement device.
[0008] An example of a server configured to determine the position of a measurement device includes: a transceiver configured to communicate with the measurement device; and a processor communicatively coupled to the transceiver and configured to: determine: the measurement time of a first positioning signal measurement of a first positioning signal from a first plurality of positioning signal sources; or a subset of positioning signal sources among a second plurality of positioning signal sources, the subset of positioning signal sources including fewer than the second plurality of positioning signal sources; or a combination thereof; issue, via the transceiver, at least one measurement command to the measurement device to cause the measurement device to: obtain a first positioning signal measurement according to the measurement time; or obtain a second positioning signal measurement of a second positioning signal emitted from the subset of positioning signal sources; or a combination thereof; receive, via the transceiver, measurement data corresponding to the first positioning signal measurement or the second positioning signal measurement or a combination thereof from the measurement device; and determine the position of the measurement device based on the measurement data.
[0009] Implementations of such a server may include one or more of the following features. The processor is configured to: determine that the position of the measurement device has been determined within an accuracy threshold level; and in response to determining that the position of the measurement device has been determined within the accuracy threshold level, issue a termination command to the measurement device to cause the measurement device to stop obtaining a first positioning signal measurement, or stop obtaining a second positioning signal measurement, or a combination thereof. The server includes a memory, and the processor is configured to store measurement data in the memory, and for determining the position of the measurement device, the processor is configured to batch measurement data corresponding to a plurality of the first positioning signal measurements, or a plurality of the second positioning signal measurements, or a combination of at least one of the first positioning signal measurements and at least one of the second positioning signal measurements. The processor is configured to batch the measurement data in response to determining that a threshold amount of measurement data has been stored. The threshold amount of measurement data is an amount sufficient for the processor to determine the position of the measurement device within the accuracy threshold level.
[0010] Additionally or alternatively, implementations of such a server may include one or more of the following features. The processor is configured to average the measurement data to produce averaged measurement data, and the processor is configured to use the averaged measurement data to determine the position of the measurement device. The processor is configured to: receive relative position information regarding the relative position of the measurement device and another device from the measurement device via a transceiver; determine the relative position of the another device and the measurement device based on the relative position information; and determine the position of the another device based on the position of the measurement device and the relative position of the another device and the measurement device. The processor is configured to determine a subset of positioning signal sources as the positioning signal sources among a second plurality of positioning signal sources from which a high-quality positioning signal will be received at the measurement device.
[0011] Another example of a server configured to determine the position of a measurement device includes: a first determination component for determining: the measurement time of a first positioning signal measurement of a first positioning signal from a first plurality of positioning signal sources; or a subset of positioning signal sources in a second plurality of positioning signal sources, the subset of positioning signal sources including fewer positioning signal sources than the second plurality of positioning signal sources; or a combination thereof; an issuing component communicatively coupled to the first determination component for issuing at least one measurement command to the measurement device to cause the measurement device to: obtain a first positioning signal measurement according to the measurement time; or obtain a second positioning signal measurement of a second positioning signal emitted from the subset of positioning signal sources; or a combination thereof; a receiving component for receiving measurement data corresponding to the first positioning signal measurement or the second positioning signal measurement or a combination thereof from the measurement device; and a second determination component communicatively coupled to the receiving component for determining the position of the measurement device based on the measurement data.
[0012] The implementation of such a server may include one or more of the following features. The second determination component includes: a component for determining that the position of the measurement device has been determined within the accuracy threshold level; and a component for responding to the determination of the position of the measurement device within the accuracy threshold level by sending a termination command to the measurement device to cause the measurement device to stop obtaining the first positioning signal measurement, or stop obtaining the second positioning signal measurement, or a combination thereof. The server includes a component for storing measurement data, and the second determination component includes a batch component for batching measurement data corresponding to a plurality of the first positioning signal measurements, or a plurality of the second positioning signal measurements, or a combination of at least one of the first positioning signal measurements and at least one of the second positioning signal measurements. The batch component is configured to batch the measurement data in response to a threshold amount of the measurement data being stored by the component for storing the measurement data. The threshold amount of the measurement data is an amount sufficient for the second determination component to determine the position of the measurement device within the accuracy threshold level.
[0013] In addition or alternatively, the implementation of such a server may include one or more of the following features. The server includes a component for averaging the measurement data to generate average measurement data, and the second determination component for determining the position of the measurement device based on the measurement data includes using the average measurement data to determine the position of the measurement device. The server includes: a component for receiving relative position information about the relative position of the measurement device and another device; a component for determining the relative position of the other device and the measurement device based on the relative position information; and a component for determining the position of the other device based on the position of the measurement device and the relative position of the other device and the measurement device. The first determination component includes a component for determining a subset of the positioning signal sources as the positioning signal sources from which a high-quality positioning signal will be received at the measurement device among the second plurality of positioning signal sources.
[0014] An example non-transitory processor-readable storage medium includes processor-readable instructions stored thereon that are configured to cause a processor to perform the following operations: determining: the measurement time of the first positioning signal measurement of the first positioning signal from the first plurality of positioning signal sources; or a subset of the positioning signal sources in the second plurality of positioning signal sources, the subset of the positioning signal sources including fewer than the second plurality of positioning signal sources; or a combination thereof; sending, via a transceiver, at least one measurement command to the measurement device to cause the measurement device to: obtain the first positioning signal measurement according to the measurement time; or obtain the second positioning signal measurement of the second positioning signal emitted from the subset of the positioning signal sources; or a combination thereof; receiving, via the transceiver, measurement data corresponding to the first positioning signal measurement or the second positioning signal measurement or a combination thereof from the measurement device; and determining the position of the measurement device based on the measurement data.
[0015] Implementations of such storage media may include one or more of the following features. The storage medium includes instructions configured to cause a processor to: determine that the location of a measurement device has been determined within an accuracy threshold level; and in response to determining that the location of the measurement device is within the accuracy threshold level, issue a termination command to the measurement device to cause the measurement device to stop obtaining a first positioning signal measurement, or stop obtaining a second positioning signal measurement, or a combination thereof. The storage medium includes instructions configured to cause the processor to store measurement data in a memory, wherein the instructions configured to cause the processor to determine the location of the measurement device are configured to cause the processor to batch measurement data corresponding to a plurality of the first positioning signal measurements, or a plurality of the second positioning signal measurements, or a combination of at least one of the first positioning signal measurements and at least one of the second positioning signal measurements. The instructions configured to cause the processor to batch measurement data are configured to cause the processor to batch measurement data in response to a threshold amount of measurement data being stored by the processor. The threshold amount of measurement data is an amount sufficient for the processor to determine the location of the measurement device within the accuracy threshold level.
[0016] Additionally or alternatively, implementations of such storage media may include one or more of the following features. The storage medium includes instructions configured to cause the processor to average measurement data to produce averaged measurement data, and the instructions configured to cause the processor to determine the location of the measurement device are configured to cause the processor to use the averaged measurement data to determine the location of the measurement device. The storage medium includes instructions configured to cause the processor to: receive relative position information regarding the relative position of the measurement device and another device from the measurement device via a transceiver; determine the relative position of the other device with respect to the measurement device based on the relative position information; and determine the location of the other device based on the location of the measurement device and the relative position of the other device with respect to the measurement device. The instructions configured to cause the processor to determine a subset of positioning signal sources are configured to cause the processor to determine the subset of positioning signal sources as the positioning signal sources among a second plurality of positioning signal sources from which a high-quality positioning signal will be received at the measurement device.
[0017] An example method of obtaining and providing positioning signal information includes: receiving, at a measurement device, at least one measurement command from a server, the at least one measurement command indicating: a measurement time of a first positioning signal measurement of a first positioning signal from a first plurality of positioning signal sources; or a subset of positioning signal sources from a second plurality of positioning signal sources, the subset of positioning signal sources including fewer than the second plurality of positioning signal sources; or a combination thereof; in response to the at least one measurement command, at the measurement device: obtaining a first positioning signal measurement according to the measurement time; or obtaining a second positioning signal measurement of a second positioning signal emitted from the subset of positioning signal sources; or a combination thereof; and transmitting measurement data corresponding to the first positioning signal measurement or the second positioning signal measurement or a combination thereof from the measurement device to the server.
[0018] Implementations of such methods may include one or more of the following features. The method includes: obtaining, at a measurement device, a third positioning signal measurement of a third positioning signal from another device; determining relative position information regarding a relative position of the measurement device and the another device based on the third positioning signal measurement; and transmitting the relative position information from the measurement device to the server. The method includes storing a threshold amount of measurement data at the measurement device, and transmitting the measurement data is performed in response to the threshold amount of measurement data being stored at the measurement device. The threshold amount of measurement data is an amount sufficient for the server to determine the position of the measurement device within an accuracy threshold level. The method includes averaging the measurement data to produce averaged measurement data, and transmitting the measurement data from the measurement device to the server includes transmitting the averaged measurement data.
[0019] An example measurement device includes: a receiver configured to receive positioning signals; a transceiver; and a processor communicatively coupled to the receiver and the transceiver and configured to: receive, via the transceiver, at least one measurement command indicating: a measurement time of a first positioning signal measurement of a first positioning signal from a first plurality of positioning signal sources; or a subset of positioning signal sources from a second plurality of positioning signal sources, the subset of positioning signal sources including fewer than the second plurality of positioning signal sources; or a combination thereof; in response to the at least one measurement command, use the receiver to: obtain a first positioning signal measurement according to the measurement time; or obtain a second positioning signal measurement of a second positioning signal emitted from the subset of positioning signal sources; or a combination thereof; and transmit, via the transceiver, measurement data corresponding to the first positioning signal measurement or the second positioning signal measurement or a combination thereof.
[0020] Implementations of such a device may include one or more of the following features. The processor is configured to: determine relative position information regarding the relative position of the measuring device and another device based on a third positioning signal measurement of a third positioning signal received from another device; and transmit the relative position information via a transceiver. The processor is configured to store a threshold amount of measurement data at the measuring device, and the processor is configured to transmit the measurement data in response to the threshold amount of measurement data being stored at the measuring device. The threshold amount of measurement data is an amount sufficient to determine the position of the measuring device within an accuracy threshold level. The processor is configured to average the measurement data to produce averaged measurement data, and to transmit the averaged measurement data in order to transmit the measurement data from the measuring device.
[0021] An example of a measuring device includes: means for receiving at least one measurement command from a server, the at least one measurement command indicating: a measurement time of a first positioning signal measurement of a first positioning signal from a first plurality of positioning signal sources; or a subset of positioning signal sources of a second plurality of positioning signal sources, the subset of positioning signal sources including fewer than the second plurality of positioning signal sources; or a combination thereof; means for responding to the at least one measurement command by: obtaining a first positioning signal measurement according to the measurement time; or obtaining a second positioning signal measurement of a second positioning signal transmitted from the subset of positioning signal sources; or a combination thereof; and means for transmitting measurement data corresponding to the first positioning signal measurement or the second positioning signal measurement or a combination thereof to the server.
[0022] Implementations of such a device may include one or more of the following features. The measuring device includes: means for obtaining a third positioning signal measurement of a third positioning signal from another measuring device; means for determining relative position information regarding the relative position of the measuring device and another measuring device based on the third positioning signal measurement; and means for transmitting the relative position information to the server. The measuring device includes means for storing a threshold amount of measurement data at the measuring device, wherein the means for transmitting the measurement data is configured to transmit the measurement data in response to the threshold amount of measurement data being stored at the measuring device. The threshold amount of measurement data is an amount sufficient for the server to determine the position of the measuring device within an accuracy threshold level. The measuring device includes means for averaging the measurement data to produce averaged measurement data, wherein the means for transmitting the measurement data to the server is configured to transmit the averaged measurement data.
[0023] Another example of a non - transitory processor - readable storage medium includes processor - readable instructions stored thereon that are configured to cause a processor of a measurement device to perform the following operations: receive, via a transceiver, at least one measurement command from a server indicating at least one of the following: a measurement time of a first positioning signal measurement of a first positioning signal from a first plurality of positioning signal sources; or a subset of positioning signal sources of a second plurality of positioning signal sources, the subset of positioning signal sources including fewer than the second plurality of positioning signal sources; or a combination thereof; in response to the at least one measurement command, to: obtain a first positioning signal measurement according to the measurement time; or obtain a second positioning signal measurement from the subset of positioning signal sources; or a combination thereof; and emit, via the transceiver, measurement data corresponding to the first positioning signal measurement or the second positioning signal measurement or a combination thereof.
[0024] Implementations of such storage media may include one or more of the following features. The storage medium includes instructions configured to cause a processor to perform the following operations: determine relative position information regarding the measurement device and another measurement device based on a third positioning signal measurement of a third positioning signal received from another measurement device; and emit the relative position information to a server via a transceiver. The storage medium includes instructions configured to cause a processor to store a threshold amount of measurement data at the measurement device, wherein the instructions configured to cause the processor to emit the measurement data are configured to cause the processor to emit the measurement data in response to the threshold amount of measurement data being stored at the measurement device. The threshold amount of measurement data is an amount sufficient for the server to determine the position of the measurement device within an accuracy threshold level. The storage medium includes instructions configured to cause a processor to average the measurement data to produce averaged measurement data, wherein the instructions configured to cause the processor to emit the measurement data are configured to cause the processor to emit the averaged measurement data. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 is a simplified view of a position determination system.
[0026] Figure 2 is Figure 1 a simplified block diagram of a positioning signal measurement device of the position determination system shown.
[0027] Figure 3 is Figure 1 a simplified block diagram of a server of the position determination system shown.
[0028] Figure 4 is Figure 3 a functional block diagram of the server shown.
[0029] Figure 5 is a signal flow diagram for signals exchanged between Figure 1 the positioning signal measurement device, the server, and the satellite vehicle shown.
[0030] Figure 6 is a flowchart of a method for determining the position of a measurement device.
[0031] Figure 7 is a flowchart of a method for obtaining the position of a measurement device. DETAILED DESCRIPTION
[0032] This document discusses techniques for determining the position of a positioning signal measurement device. The measurement device can measure signals from which the position of the measurement device can be determined, although the measurement device can be capable of having functions other than measuring positioning signals. A measurement device (such as an Internet of Things (IoT) device) can be capable of measuring positioning signals such as satellite positioning system (SPS) signals, or base station signals (e.g., positioning reference signals (PRS), cellular communication signals, Wi-Fi signals, signals, etc.). The measurement device makes measurements to a server. The term measurement is used interchangeably herein with an indication of a measurement or a measured value. The measurement device can collect multiple measurements and report the measurements in batches. The measurement device can combine (e.g., average) two or more measurements and report the combined (e.g., averaged) measurement value. The server collects the measurement(s) and processes the measurement(s) to determine the position of the measurement device. The server can collect many measurements and batch process these measurements to save power in determining the position of the measurement device. The server can combine measurements (e.g., average the measurements), and can combine more measurements than the measurement device due to power, memory, and / or processing constraints of the measurement device. The server can apply more precise position determination techniques and information than the measurement device to determine the position of the measurement device. The server can provide one or more commands to the measurement device to affect the operation of the measurement device. For example, the server can issue one or more commands to the measurement device to cause the measurement device to measure a positioning signal at a specific time (i.e., control the timing of the measurement of the positioning signal). As another example, the server can cause the measurement device to measure positioning signals from a subset of available sources of positioning signals. For example, the server can use the approximate position of the measurement device and knowledge of the environment at that position to determine the expected quality of received positioning signals (e.g., which sources have line of sight, and which sources do not, e.g., are blocked) to indicate to the measurement device which positioning signals to measure (which sources to track). The measurement device can respond to a measurement command from the server by measuring the positioning signal (only) at a specified time or (only) from a subset of specified positioning signal sources from a larger set of positioning signal sources. However, these examples are not exhaustive.
[0033] The projects and / or technologies described herein may provide one or more of the following capabilities, as well as other capabilities not mentioned. The location of a lower-capability device can be determined with a relatively high degree of accuracy. The location of a lower-capability device can be determined with a relatively high degree of accuracy without modifying the existing lower-capability device. Low-cost, low-power devices can be located with high accuracy. The deployment cost (e.g., the cost of location signal measurement devices) and / or the operating cost (e.g., power consumption) of a location determination system can be low. The measurement of location signals by lower-capability devices can be performed intermittently. Intermittent location signal measurements can be stored and jointly reported and / or processed to determine the location of the measurement device. A more accurate location can be determined compared to commercial-grade satellite positioning system devices. Location signals can be measured by lower-capability devices that use less power than existing devices. Filtering and / or smoothing can be applied to location signal measurements for location determination. Other capabilities can be provided, and not every implementation according to the present disclosure must provide any of the capabilities discussed, let alone all of them.
[0034] Reference Figure 1, the location determination system 10 includes measurement devices 12, 13, 14, 15, 16, 17, lamp posts 18, light bulbs 20, 22, access points 24, 25, base stations 26, network 28, server 30, satellites 32, 33, 34, and electrical appliances 35. The measurement devices 12 - 17 are configured to measure positioning signals (signals that can be used to determine location) from positioning signal sources and report the measurements of the positioning signals. The measurement devices 12 - 17 can be separate from the associated devices (e.g., electrical appliances 35 and light bulbs 20, 22 as shown in the figure), or can be integrated into the associated devices (integrated with the associated devices). The measurement device 12, electrical appliance 35, and access point 24 are disposed within a structure 36 (e.g., a building). The system 10 is a communication system, where the components of the system 10 can communicate with each other directly or indirectly, for example, via network 28 and / or access points 24, 25 and / or base stations 26 (or other access points and / or other base stations not shown). The system 10 is a wireless communication system, where at least some components of the system 10 can communicate wirelessly with each other (i.e., are wireless communication devices). For example, as shown in the figure, wireless communication can occur between access point 24 and electrical appliance 35, base station 26 and electrical appliance 35, electrical appliance 35 and base station 26, measurement device 16 and access point 25, measurement devices 13 - 17 and base station 26, measurement devices 13, 14 and access point 25, and / or between measurement devices 15 - 17. Additionally or alternatively, other wireless communication not shown can occur (e.g., between measurement device 12 and one or more of the other measurement devices 13 - 17, and / or between measurement devices 15, 17 and access point 25, etc.). Wireless communication can be implemented using signals according to one or more protocols (such as Long-Term Evolution (LTE), Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Orthogonal Frequency Division Multiplexing (OFDM), 5G New Radio (NR)). The term "wireless communication device" does not require that the function of the device be used exclusively or mainly for communication, or that the device be a mobile device, but indicates that the device includes wireless communication capabilities (one-way or two-way), for example, including at least one radio for wireless communication (each radio is part of a transmitter, receiver, or transceiver). The two access points 24, 25 and the single base station 26 are merely examples, and other numbers of access points and / or base stations can be used. Additionally, the types of devices associated with the measurement devices 12 - 17 (e.g., electrical appliances and light bulbs, where the devices associated with measurement devices 15 - 17 are not shown)) are examples, and other types of devices can be used, whether currently existing or developed in the future. The lamp post 18 is also an example, and one or more other structures can be used to help keep the light bulbs 20, 22 stationary. Alternatively, no additional structure is associated with the devices to help keep the devices stationary, and the devices themselves are configured to maintain a stationary state. The term "base station" does not limit the base station 26 to any specific form, protocol, etc.For example, base station 26 (and / or other base stations not shown) may be referred to as a base transceiver station (BTS), access node (AN), Node B, evolved Node B (eNB), etc.
[0035] In this example, system 10 is configured such that measurement devices 12-17 include Internet of Things (IoT) devices, where devices 12-17 are configured to measure positioning signals and communicatively transmit measurements of the positioning signals to server 30 via access points 24, 25, and / or base station 26. However, system 10 as an IoT network is an example and not required, and one or more of the measurement devices may be devices other than IoT devices. Measurement devices 12-17 may be configured to communicate with each other, particularly via one or more short-range wireless communication technologies according to one or more corresponding short-range wireless communication protocols. Examples of short-range wireless communication technologies include communication, low-energy communication, Wi-Fi communication, and LTE direct communication, etc. Devices 12-17 may emit (e.g., broadcast, unicast, multicast) information, and / or may relay information from one of devices 12-17 to another of devices 12-17 or to another device (such as access points 24, 25, and / or base station 26). One or more of devices 12-17 may include multiple types of radios, e.g., radio, Wi-Fi radio, cellular radio (e.g., LTE, CDMA, 3G, 4G, 5G NR, etc.), and so on, such that information can be received using one radio and transmitted using a different radio. Additionally, one or more of devices 12-17 may be configured to determine the distance to another of devices 12-17 and / or to access points 24, 25, and / or to base station 26 and / or to any one of satellites 32-34 (e.g., using round-trip time (RTT), or observed time difference of arrival (OTDOA), or received signal strength indication (RSSI), or pseudorange based on the timing of signal reception, or one or more other techniques, or a combination of one or more of these techniques). One or more of devices 12-17 may be configured to determine the angle of arrival (AOA) of signals from another of devices 12-17 and / or from one or more other devices (such as access points 24, 25, and / or base station 26).
[0036] The measurement devices 12-17 are configured to measure positioning signals and report measurements of the positioning signals. A positioning signal is a signal that can be used to determine a location (e.g., can be used to determine a relative location from the source of the positioning signal to a recipient, such as a distance or a distance and direction). A positioning signal can be a signal dedicated to location determination (e.g., an SPS signal, a PRS signal (positioning reference signal), etc.), or can be a signal having one or more other purposes, such as a communication signal (e.g., WiFi, LTE, 5G New Radio (NR), etc.). A positioning signal source can be dedicated to providing positioning signals, or can be configured to provide one or more other functions as an alternative or addition to providing positioning signals. Each instance of a code in a continuous transmission from a positioning signal source can be considered a separate positioning signal. A positioning signal can be measured to allow determination of the position of the measurement devices 12-17 relative to the positioning signal source, which can be another one of the measurement devices 12-17. The measurement devices 12-17 can be configured to determine the position of the measurement devices 12-17 relative to one or more of the other measurement devices 12-17. A positioning signal can be an SPS signal received from satellites 32-34, or a communication signal or other signal received from base stations 26 and / or access points 24, 25 (or other devices). A positioning signal can be dedicated to location determination, e.g., an SPS signal or a PRS signal, or can have one or more other purposes, e.g., conveying information, such as communication information. The devices 12-17 can communicate measurements of the positioning signals to a server 30 using one or more transmission devices, e.g., as further discussed below.
[0037] Reference Figure 2 and further reference Figure 1 , an example measurement device 70 includes a computer system that includes one or more processors 80, one or more memories 82 including software (SW) 84, an optional SPS receiver 86, a transceiver 88, a battery 89, and one or more sensors 100. The (one or more) sensors 100 can include an inertial measurement unit (IMU) 102 and / or can include a magnetometer 104. The processor 80 can be an intelligent hardware device, such as a central processing unit (CPU) (such as by Corporation or Those that are manufactured or designed), microcontrollers, application-specific integrated circuits (ASICs), etc. The processor 80 may include multiple separate physical entities that may be distributed in the device 70. The memory 82 may include random access memory (RAM) and / or read-only memory (ROM). The memory 82 is a non-transitory processor-readable storage medium storing software 84, which is processor-readable processor-executable software code containing instructions configured to cause the processor 80 to perform various functions described herein when executed. The description may only refer to the processor 80 or the device 70 (or one or more of the devices 12 - 17) performing functions, but this includes other implementations such as where the processor 80 executes software and / or firmware. The software 84 may not be directly executable by the processor 80 but may be configured to cause the processor 80 to perform functions, for example, at compile and execution times. Whether compilation is required or not, the software 84 contains instructions that cause the processor 80 to perform functions. The processor 80 is communicatively coupled to the memory 82. The processor 80 in combination with the memory 82, the SPS receiver 86, and / or the transceiver 88 may provide components for performing the functions described herein, for example, components for receiving measurement commands, components for making measurements of positioning signals, components for emitting measurement data, components for receiving position information, and / or components for determining a position. The software 84 may be loaded onto the memory 82 by downloading via a network connection, uploading from a disk, etc. The battery 89 stores energy and is coupled and configured to provide power to other components of the device 70 to enable the other components to perform the functions the components are configured to perform. The device 70 may be Figure 1 any one of the measurement devices 12 - 17 shown in, or another device.
[0038] The measurement devices 12 - 17 may be lower-capability devices, where the devices 12 - 17 have limited memory, processing power, and / or power capacity. The measurement devices 12 - 17 may lack sufficient memory and / or processing power and / or power capacity to enable the measurement devices 12 - 17 to determine their positions within an acceptable threshold accuracy (e.g., within 1 m). While many applications would benefit from or even require position accuracy within 1 m, high-precision SPS receivers may be too expensive and / or may consume too much power to be used in many IoT devices or other measurement devices. However, for many applications, low cost, low power consumption, and high position accuracy may be desirable. Any one of the measurement devices 12 - 17 may be configured to determine the position of the measurement device 12 - 17, for example, relative to one or more positioning signal sources, or even, for example, to determine a global position based on relative positions relative to multiple positioning signal sources.
[0039] The SPS receiver 86 is configured to receive and acquire SPS signals from satellites 32 - 34. The SPS receiver 86 includes one or more antennas for receiving SPS signals from satellites 32 - 34 (or other satellites). The SPS receiver 86 can (either alone or in combination with the processor 80) determine the timing of receiving SPS signals from the respective satellites 32 - 34, e.g., by correlating various time-offset gold codes with the incoming signals. Figure 1 Only three satellites are shown, but other numbers of satellites can be used, e.g., four or more. The processor 80 can be configured to control the operation of the SPS receiver 86, e.g., in accordance with one or more measurement commands received from the server 30 via the transceiver 88. For example, the processor 80 can be configured to respond to a measurement command to control the SPS receiver 86 to search only for signals from a subset (i.e., less than all) of the available positioning signal sources (for the SPS receiver 86, satellites), e.g., in response to a command received by the transceiver 88 from the server 30, for example. For example, the SPS receiver 86 can correlate only the gold codes of specific satellites with the incoming SPS signals. As another example, the processor 80 can be configured to respond to a measurement command to control the SPS receiver 86 to intermittently measure one or more SPS signals. For example, the processor 80 can control the SPS receiver 86 to wake up periodically (e.g., when a timer expires, thus at regular time intervals) and measure one or more SPS signals, and sleep between measurements. The intervals between wake-up times can be different for different satellites. The intervals can be fixed or variable. The intervals can be set by an external device (such as the server 30) and sent to the device 70 in the form of a command signal. As another example, the SPS receiver 86 can measure one or more of the SPS signals in response to a wake-up / measurement command received, for example, from the server 30. The wake-up / measurement command can indicate to measure all SPS signals, or to measure one or more specific SPS signals (i.e., from one or more specific satellites). The processor 80 can control the SPS receiver 86 (or other receivers) according to the above combinations, e.g., intermittently measuring signals from a subset of the positioning signal sources.
[0040] Although the above discussion focuses on the SPS receiver 86 as a positioning signal receiver or sensor and satellites as positioning signal sources, other positioning signal sources and other receivers or sensors can be used. For example, a wireless communication radio (or other receiver) such as the transceiver 88 can be used as a positioning signal receiver or sensor to receive or measure communication signals.
[0041] Processor 80 may be configured to process received positioning signals and control SPS receiver 86, transceiver 88, or other devices to measure the positioning signals. For example, processor 80 may determine information (e.g., received signal power (e.g., received signal strength indicator (RSSI))) from which the distance (e.g., pseudorange) to the positioning signal source can be determined. As another example, processor 80 may be configured to cause SPS receiver 86 (or other receiver) to stop measuring one or more SPS signals (or one or more other positioning signals) in response to an END command, e.g., received from server 30, indicating termination of the measurement of one or more of the SPS signals. The END command may indicate to stop measuring all positioning (e.g., SPS) signals, or to stop measuring one or more specific positioning (e.g., SPS) signals (i.e., from one or more specific satellites).
[0042] SPS receiver 86 may be configured to report measurements of SPS signals. For example, SPS receiver 86 may be configured to report, e.g., to server 30, the timing of received SPS signals, and / or (either alone or in combination with processor 80) calculate the pseudorange to a satellite based on the timing information determined for the SPS signal and report the pseudorange. Additionally or alternatively, SPS receiver 86 may determine the Doppler shift and / or carrier phase as measurements of the SPS signal. The measurements may be reported to server 30 by transmitting the measurements from SPS receiver 86 or processor 80 via transceiver 88.
[0043] Transceiver 88 includes transmitter 90, receiver 91, and antenna 92. Although transmitter 90, receiver 91, and antenna 92 are all referred to in the singular, transmitter 90 may include multiple transmitters, receiver 91 may include multiple receivers, and / or antenna 92 may include multiple antennas. A single receiver may be used to receive positioning signals and communication signals, and / or different receivers may be used to receive positioning signals and communication signals. Antenna 92 may be configured to convert electrical and / or optical signals into wireless signals and vice versa. Transmitter 90 may include one or more appropriate antennas of antenna 92, and receiver 91 may include one or more appropriate antennas of antenna 92.
[0044] Transceiver 88 may be configured to communicate from device 70 via wired or wireless means and receive wired or wireless communication into device 70, e.g., from other devices such as measurement devices 12 - 17, access points 24, 25, or base station 26. Transceiver 88 may include an interface 96 for transmitting and receiving wired communication and may include one or more wireless communication radios 94. For example, (one or more) radios 94 may include Radios, Wi-Fi radios, one or more cellular radios (e.g., Long-Term Evolution (LTE) radios, 5G New Radio (NR) radios, etc.), WWAN (Wireless Wide Area Network) radios, etc. As shown, the (one or more) radios 94 are optional, although the transceiver 88 will typically include at least one wireless communication radio. As an addition to or an alternative to the (one or more) radios 94, one or more other types of radios may be included in the device 70. The (one or more) radios 94 and / or the (one or more) other radios included in the transceiver 88 include appropriate portions of the transmitter 90, the receiver 91, and the antenna 92. If the transceiver 88 includes more than one wireless communication radio, the transceiver 88 may receive a wireless communication using one of the wireless communication radios and transmit (e.g., relay or forward) the communication (or a portion thereof) using a different wireless communication radio. The communication may be sent to another one of the measurement devices 12-17 or to another device, such as the access points 24, 25. Thus, for example, the device 70 may use a radio in the (one or more) radios 94 to receive a wireless communication and use a Wi-Fi radio in the (one or more) radios 94 to forward the communication to another device that does not include a radio. One or more wireless communication signals may be used as one or more positioning signals. a radio to receive a wireless communication and use a Wi-Fi radio in the (one or more) radios 94 to forward the communication to another device that does not include a radio. a radio. One or more wireless communication signals may be used as one or more positioning signals.
[0045] The processor 80 may be configured to issue various information to the server 30 via the transceiver 88. For example, the processor 80 may issue a location identifier, a measurement device identifier, SPS time and / or UTC time (Coordinated Universal Time), an SPS measurement block (e.g., a positioning signal measurement), customer data, etc. The location identifier may identify a city location (e.g., an address, a building name) or a custom location name (e.g., an identifier of the lamppost 18). The measurement device identifier may be used to distinguish between multiple measurement devices associated with the same location identifier. The customer data may provide various information, such as one or more indications of the type and / or status of an item (such as the light bulbs 20, 22 or the appliance 35) associated with the measurement devices 12-17.
[0046] The processor 80 may be configured to store positioning signal measurements and transmit the positioning signal measurements to the server 30 via the transceiver 88. For example, the processor 80 may store measurements of communication signals from other measurement devices 12-17 and transmit the measurements to the server 30 and / or other measurement devices 12-17, and / or may store positioning signals from the SPS receiver 86 and transmit the positioning signals to the server 30. The processor 80 may receive measurements from the SPS receiver 86 and store the measurements in the memory 82, thereby buffering the measurements. The processor 80 may be configured to batch report the measurements by transmitting multiple measurements to the server 30 in batches from the memory 82. The processor 80 may be configured to compress the measurements before transmitting the measurements to the server 30. If the processor 80 batch reports the measurements instead of reporting the measurements individually, the processor 80 may be able to compress the measurements more. The processor 80 may be configured to transmit the measurements in one or more messages, where the messages include the unique identifier (ID) of the measurement device 70. The processor 80 may be configured to receive one or more positions (indications of positions) of the measurement device 70 from the server 30 (e.g., calculated by the server 30 based on the measurements), and use the one or more positions as appropriate (e.g., in one or more location-based applications).
[0047] The processor 80 may be configured to determine the position of the measurement device 70 and transmit this position to the server 30 and / or other measurement devices 12-17. For example, the processor 80 may be configured to determine the position (e.g., global position) by trilateration and provide this position to the server 30 and / or other measurement devices 12-17. The other measurement devices 12-17 may use this position and the relative positions of the other measurement devices 12-17 with respect to the measurement device 70 and / or with respect to one or more of the other measurement devices 12-17 to determine the positions (e.g., global positions) of the other measurement devices 12-17.
[0048] (One or more) sensors 100 can be used for relative position measurement, relative position determination, motion determination, etc. The information detected by (one or more) sensors 100 can be used for motion detection, relative displacement, dead reckoning, sensor-based position determination, and / or sensor-assisted position determination. (One or more) sensors 100 can be used to determine whether the measurement device 70 is fixed (stationary) or moving and / or whether to report certain useful information about the mobility of the measurement device 70 to the server 30. For example, based on the information obtained / measured by (one or more) sensors, the measurement device 70 can notify / report to the server 30 that the measurement device 70 has detected movement or the measurement device 70 has moved, and report the relative displacement / distance (e.g., via dead reckoning enabled by (one or more) sensors 100, or sensor-based position determination, or sensor-assisted position determination). In another example, for relative positioning information, the sensor / IMU can be used to determine the angle and / or orientation of other devices relative to the measurement device, etc.
[0049] The IMU 102 can be configured to provide measurements of the direction and / or speed of motion of the measurement device 70, which can be used in relative position determination. For example, the IMU 102 can include one or more accelerometers 106 and / or one or more gyroscopes 108 to detect the linear acceleration and rotational speed of the measurement device 70, respectively. The linear acceleration and rotational speed measurements of the measurement device 70 can be integrated over time to determine the instantaneous direction of motion and the displacement of the measurement device 70. The instantaneous direction and displacement of the motion can be integrated to track the position of the measurement device 70. For example, the reference position of the measurement device 70 can be determined at a certain moment, for example, using the SPS receiver 86 (and / or through some other components), and the measurements from (one or more) accelerometers 106 and (one or more) gyroscopes 108 obtained after this moment can be used for dead reckoning to determine the current position of the measurement device 70 based on the movement (direction and distance) of the measurement device 70 relative to the reference position.
[0050] The magnetometer 104 can determine the magnetic field strength in different directions, which can be used to determine the orientation of the measurement device 70. For example, this orientation can be used to provide a digital compass for the measurement device 70. The magnetometer 104 can be a two-dimensional magnetometer configured to detect the magnetic field strength in two orthogonal dimensions and provide an indication of the magnetic field strength. Alternatively, the magnetometer 104 can be a three-dimensional magnetometer configured to detect the magnetic field strength in three orthogonal dimensions and provide an indication of the magnetic field strength. The magnetometer 104 can provide a component for sensing the magnetic field and providing an indication of the magnetic field to, for example, the processor 80. The processor 80 (e.g., in combination with the software 84 and possibly in combination with the magnetometer 104) can provide a component for analyzing the indication of the magnetic field to determine the orientation of the measurement device 70.
[0051] Reference Figure 3 and further reference is made to Figure 1 and Figure 2 , an example of server 30 includes a computer system that includes a processor 110, a memory 112 that includes software (SW) 114, and a transceiver 116. The processor 110 can be an intelligent hardware device such as a central processing unit (CPU) (such as those manufactured or designed by Corporation or ), a microcontroller, an application specific integrated circuit (ASIC), etc. The processor 110 can include a plurality of separate physical entities that can be distributed in server 30. Although referred to in the singular, the processor 110 can include one or more processors. The memory 112 can include random access memory (RAM) and / or read only memory (ROM). The memory 112 is a non-transitory processor-readable storage medium that stores software 114, which is processor-readable processor-executable software code that contains instructions configured to cause the processor 110 to perform the various functions described herein when executed. The description can refer only to the processor 110 or server 30 performing functions, but this includes other implementations such as where the processor 110 executes software and / or firmware. The software 114 may not be directly executable by the processor 80, but can be configured to cause the processor 80 to perform functions, for example, when compiled and executed. Whether or not compilation is required, the software 84 contains instructions that cause the processor 110 to perform functions. The processor 110 is communicatively coupled to the memory 112. The processor 110 in combination with the memory 112 and / or the transceiver 116 can provide components for performing the functions described herein, for example, components for determining a measurement time, components for determining a subset of location signal sources, components for issuing measurement commands, components for receiving measurement data, components for determining a location, and / or components for issuing location information. The software 114 can be loaded onto the memory 82 by being downloaded via a network connection, uploaded from a disk, etc.
[0052] The transceiver 116 includes a transmitter 120, a receiver 121, and an antenna 122. Although the transmitter 120, the receiver 121, and the antenna 122 are all referred to in the singular, the transmitter 120 can include multiple transmitters, the receiver 121 can include multiple receivers, and / or the antenna 122 can include multiple antennas. The antenna 122 can be configured to convert an electrical signal and / or an optical signal into a wireless signal and to convert a wireless signal into an electrical signal and / or an optical signal. The transmitter 120 can include one or more appropriate antennas among the antenna 122, and the receiver 121 can include one or more appropriate antennas among the antenna 122.
[0053] The transceiver 116 can be configured to communicate with the server 30 via wired or wireless means, and for example, receive wired or wireless communications from the measurement devices 12-17, access points 24, 25, and / or base stations 26 directly and / or via the network 28 into the server 30. The transceiver 116 can include an interface 126 for sending and receiving (e.g., to and from the network 28) wired communications, and can include one or more wireless communication radios 124. For example, the (one or more) radios 124 can include radios, Wi-Fi radios, one or more cellular radios (e.g., Long Term Evolution (LTE) radios, 5G New Radio (NR) radios, etc.), WWAN radios, etc. As shown, the (one or more) radios 124 are optional. As an addition to or alternative to the (one or more) radios 124, one or more other types of radios can be included in the server 30. The (one or more) radios 124 and / or the (one or more) other radios included in the transceiver 116 include appropriate portions of a transmitter 120, a receiver 121, and an antenna 122. If the transceiver 116 includes more than one wireless communication radio, the transceiver 116 can receive wireless communications using one of the wireless communication radios and send (e.g., relay or forward) communications (or portions thereof) using a different wireless communication radio.
[0054] Also referring Figure 4 , the server 30 can be configured to implement a number of functional blocks, here including a measurement combination 140, a measurement correction 142, a position determination 144, and a command issuance 146. The functional blocks can be implemented by appropriate portions of the server 30 (e.g., the processor 110 and the memory 112 for the measurement combination 140, the measurement correction 142, and the position determination 144, and the processor 110, the memory 112, and the transceiver 116 for the command issuance 146).
[0055] As part of the location determination function 144, the processor 110 may be configured to determine the distance to an object using known techniques (e.g., RSSI, RTT, etc.). The processor 110 may collect measurements from one or more of the measurement devices 12-17 and use these measurements to determine the location of one or more of the measurement devices 12-17, thereby determining the location of the device (e.g., appliance 35, light bulb 20, or light bulb 22) associated with the corresponding measurement device 12-17. The processor 110 may apply one or more techniques to determine the location of the measurement device, and the processor 110 may be able to determine the location more accurately than the measurement devices 12-17. The server may apply more precise location determination techniques (e.g., reverse RTK (real-time kinematic)) and information, such as including ionospheric correction, tropospheric correction, differential correction, line-of-sight / non-line-of-sight (LOS / NLOS) correction, precise satellite orbit information, map matching (where map features such as sidewalks, streets, etc. are used to inform (e.g., confirm or question) the location determination) and / or more complex algorithms to determine the location of the measurement device. The processor 110 may be able to determine the location with sufficient accuracy to be able to distinguish measurement devices 12-17 that are in close proximity to each other (and thus distinguish the items associated with the measurement devices 12-17).
[0056] The processor 110 may combine multiple measurements in the measurement combination function 140 for location determination (or even as part of an algorithm for location determination), which may help determine the location in challenging environments (e.g., multipath environments, non-line-of-sight situations caused by blockages between the measurement devices 12-17 and the satellites 32-34, etc.). For example, the processor 110 may average / sample the positioning signal measurements over time.
[0057] The processor 110 may use multiple different techniques and / or measurements to determine distance. The processor 110 may filter and / or smooth the positioning signal measurements. The processor 110 may apply various corrections (which may be obtained by the processor 110 from one or more external sources) as part of the measurement correction function 142. For example, the processor 110 may apply differential corrections to the positioning signal measurements, may apply ionospheric and / or tropospheric corrections, may apply line-of-sight (LOS) / non-line-of-sight (NLOS) measurement corrections, and / or may apply real-time kinematic (RTK) positioning to the positioning signal measurements. The processor 110 may be configured to select which measurements to use based on the estimated distance from the source of the measured positioning signal to the measurement devices 12-17. Since the server 30 is typically run by mains power rather than a battery, the power capacity may not be a limiting factor in position determination. For example, compared to one of the measurement devices 12-17, the server 30 may use more and / or one or more higher-complexity algorithms to determine the measurement device position.
[0058] As part of the position determination function 144, the processor 110 may be configured to batch the positioning signal measurements to determine the measurement device position. For example, the processor 110 may be configured to process multiple measurements batch-reported by one or more of the measurement devices 12-17. As another example, the processor 110 may be configured to store multiple positioning signal measurements in the memory 112 and batch the positioning signal measurements, which may reduce power consumption compared to processing each measurement as it is received. For example, the processor 110 may store the measurements until a threshold number of measurements are stored. The threshold number of measurements may be an amount sufficient (at least expected) to produce a threshold position accuracy (e.g., 1 m (i.e., the determined position will be within a circle with a 1 m radius centered on the actual position of the measurement device)). This threshold may vary, for example, depending on the quality of the measurement data (which may depend on the environment in which the measurement devices 12-17 are set). The threshold number of measurements may correspond to the number of measurements that can be effectively processed by the processor 110. The threshold number of measurements may correspond to a desired time period of the measurements, such as 24 hours of measurements from one of the measurement devices 12-17. Alternatively, the threshold number of measurements may have some other meaning, or no specific meaning.
[0059] The processor 110 may be configured to analyze measurement data, particularly stored measurement data. For example, the processor 110 may determine whether to discard or ignore (assign a lower weight) measurements based on the environment in which the measurements were obtained. As another example, the processor 110 may analyze the stored measurement data to determine the conditions under which the data was collected. The processor 110 may discard measurement data collected under adverse conditions (e.g., during a time period of high atmospheric interference). As another example, the processor 110 may determine satellite orbit information corresponding to when the measurement data was acquired. Orbit information may not be available in real time during the measurement. Thus, saving the data may allow the processor 110 to determine more accurate orbit information for the measurement, which may result in a more accurate position determination.
[0060] The processor 110 may control the measurement devices 12 - 17 via the command issuing function 146 to reduce the amount of measurements taken. For example, the processor 110 may control the measurement devices 12 - 17 to take intermittent measurements, e.g., having intermittent measurement periods (time windows), rather than being in a measurement mode all the time. For example, the processor 110 may send start and end messages to the measurement devices 12 - 17 to cause the measurement devices to start and stop measuring positioning signals, respectively. As another example, the processor 110 may issue a schedule of measurement windows for the measurement devices 12 - 17 to follow, measuring the positioning signal only within the indicated measurement windows. As another example, the processor 110 may send one or more messages to the measurement devices 12 - 17 to indicate when to start a series of measurement windows, the duration of the measurement windows, and the intervals between the measurement windows. The intervals may be consistent or variable. The processor 110 may change the intermittent measurement schedule by issuing a command message that modifies or overrides one or more previous command messages that established the intermittent measurement schedule.
[0061] As part of the command issuance function 146, the processor 110 may send command messages to the measurement devices 12-17 to cause the measurement devices 12-17 to measure the positioning signal or stop measuring the positioning signal in response to one or more criteria. For example, the processor 110 may detect a need to know the location of the measurement devices 12-17 (e.g., receive an indication that a device associated with the measurement device has been damaged and / or will be repaired or replaced) and may issue one or more commands to cause the measurement of the positioning signal. The processor 110 may determine one or more desired times for the positioning signal measurement based on one or more of a variety of factors. For example, the processor 110 may determine the desired (one or more) measurement times based on the estimated device location of the measurement, constellation geometry, signal blockage (based on a map of the area including the estimated device location), solar activity (e.g., ionospheric effects), etc. The desired measurement time may include when to measure the positioning signal and for how long, which may depend on various factors, including the environment of the measurement devices 12-17 (e.g., LOS / NLOS, multipath). The processor 110 may determine the desired measurement time as a time of low solar activity and / or a time when there is a direct LOS to the signal source. As another example, the processor 110 may determine, for example, based on satellite constellation geometry, SPS signal blockage (e.g., the (one or more) relative positions of the measurement devices 12-17, the (one or more) satellites, and the (one or more) interference structures (e.g., buildings, trees, etc.)), solar activity (e.g., ionospheric effects), and / or other relevant information, a desired window for measuring one or more positioning signals, e.g., a window of expected good SPS signal quality, and issue one or more commands to cause the measurement of the positioning signal in one or more appropriate measurement windows. As another example, in response to the processor 110 determining the location of the measurement devices 12-17 with acceptable accuracy, the processor 110 may send a command to the measurement devices 12-17 to terminate the measurement of the positioning signal.
[0062] The processor 110 may determine a subset of positioning signal sources (e.g., satellites 32-34) from which to measure positioning signals, and as part of issuing command function 146, direct measurement devices 12-17 to attempt to acquire and measure signals only from the subset of positioning signal sources. For example, the processor 110 may determine the subset of sources based on the resources available at measurement devices 12-17 for tracking signal sources, i.e., based on how many signal sources measurement devices 12-17 can track. As another example, the processor 110 may determine the expected signal quality (e.g., received signal power) for each satellite based on the estimated position of measurement devices 12-17, a map of the environment of the estimated position, and a constellation diagram, and direct the measurement devices to attempt to acquire and measure only positioning signals expected to have at least a threshold signal quality (e.g., threshold received power). The estimated position may be determined in a variety of ways, e.g., based on visible base stations and / or access points, previously determined positions, visibility of picocells, etc. The processor 110 may consider whether the signals from the signal sources are multipath signals or directly received signals when determining whether to include a signal source in the subset. For example, the processor 110 may exclude any positioning signal source that does not have an unobstructed line of sight to measurement devices 12-17 from the subset.
[0063] The processor 110 may issue auxiliary information to measurement devices 12-17 to assist measurement devices 12-17 in acquiring positioning signals from one or more positioning signal sources. The auxiliary information may include, for example, search windows for code phase and frequency, current time, direction, and / or health information for corresponding satellites, and / or an indication of which satellites measurement devices 12-17 should or should not attempt to acquire positioning signals from. For example, the processor 110 may use an encoded environment model to determine, based on the measurement device position and a three-dimensional map, which satellites measurement devices 12-17 have a line of sight to, and direct measurement devices 12-17 to attempt to acquire and measure only positioning signals from positioning signal sources (e.g., satellites 32-34) that have a line of sight to measurement devices 12-17. Additionally or alternatively, the processor 110 may issue an encoded environment model to measurement devices 12-17, and measurement devices 12-17 may determine from which positioning signal sources (e.g., which satellites 32-34) to acquire positioning signals. The auxiliary information may indicate the direction relative to measurement devices 12-17 to the positioning signal sources, which may be used by measurement devices 12-17 to assist measurement devices 12-17 in finding and acquiring the positioning signals. Measurement devices 12-17 may be directed to a smaller search space to acquire positioning signals. The auxiliary information may also or alternatively narrow the time window for searching for positioning signals, which may reduce the time and power to acquire the signals. The auxiliary information may be saved by measurement devices 12-17 and used by measurement devices 12-17 at startup to assist in acquiring one or more SPS signals.
[0064] The processor 110 may issue one or more measurement commands to cause the measurement devices 12-17 to perform a combination of two or more of the above functions. For example, the processor 110 may issue one or more measurement commands to the measurement devices 12-17 to cause the measurement devices 12-17 to measure the positioning signals of a subset of available positioning signal sources and do so intermittently.
[0065] Operation
[0066] Reference Figure 5 , and further reference Figures 1 - 3 , example flowchart 160 includes the operations of server 30, measurement device 70, and one or more positioning signal sources 161 and the signal exchange therebetween. The (one or more) positioning signal sources 161 may include satellites 32-34, and / or access points 24, 25, and / or base stations 26, and / or one or more of the one or more other measurement devices 12-17, and / or may include one or more other devices (e.g., satellites, access points, base stations, measurement devices, etc.). The vertical lines depict the passage of time (t). Figure 5 The order of operations and signal exchanges (here phases) shown in are examples, and other orders may be used, and one or more operations and / or signal exchanges may be added or removed. Phases may be combined, such as phases 166, 168. The phases shown by the dashed lines are optional and may be omitted. Additionally, the communication may be direct or indirect, e.g., the communication from server 30 to measurement device 70 may be through one or more intermediate devices, such as another measurement device, network 28, base station (e.g., cellular base station, access point), etc.
[0067] Interface messaging information may be provided to server 30 from measurement device 70 at phase 162. This information may include the estimated location of measurement device 70, location identification and / or estimated device location information, measurement device identification, SPS time and / or UTC time (Coordinated Universal Time), SPS measurement block (e.g., positioning signal measurement), customer data, etc. The estimated device location information may include the location itself and / or information from which the estimated location can be determined. For example, the estimated device location information may include a neighbor list of visible base stations, and / or the identification of the nearest base station (e.g., the identification of the base station corresponding to the signal with the highest received signal strength), and / or the identification of visible pico cell base stations, etc.
[0068] The server 30 may determine auxiliary information at stage 164. The server 30 may determine the auxiliary information based on estimated location information (e.g., based on the estimated location of the measurement device 70 and the environment of the location (e.g., satellite constellation, one or more objects between the measurement device 70 and one or more satellites, etc.)). The auxiliary information may include an indication of when to acquire and measure the positioning signal, and the server 30 may determine this information in various ways, including retrieving information from the memory 82 (e.g., retrieving the measurement window, retrieving the measurement duration, and the interval between measurements, etc.). The auxiliary information may indicate which (one or more) positioning signal sources 161 to attempt to acquire the positioning signal from, e.g., may indicate a subset of the positioning signal sources 161 from which to attempt to acquire the positioning signal, such as satellites 32 - 34, access points 24, 25, base stations 26, and measurement devices 12 - 17 (and / or other devices), and / or which (one or more) positioning signal sources 161 not to attempt to acquire the positioning signal from. For example, the auxiliary information may indicate which pseudo - random codes to correlate with the incoming SPS signal and / or which pseudo - random codes not to attempt to correlate with the incoming SPS signal.
[0069] The server 30 may provide the auxiliary information to the measurement device 70 at stage 166. The auxiliary information may assist the measurement device 70 in acquiring one or more positioning signals, and / or may cause the measurement device 70 to attempt to acquire and measure one or more positioning signals at a specific time (e.g., a scheduled time, at a scheduled interval, etc.).
[0070] The server 30 may provide a specific start command at stage 168 to start acquiring and / or measuring one or more positioning signals. The start command may be provided at stage 166 as part of the auxiliary information.
[0071] At stage 170, one or more positioning signals (e.g., one or more SPS signals and / or one or more communication signals) are received by the measurement device 70 from one or more of the positioning signal sources 161. The positioning signals may be received at other times (e.g., any time a particular satellite is in view), but are shown here at a specific time for illustrative purposes.
[0072] At stage 172, the measurement device 70 may attempt to acquire, obtain, and measure one or more received positioning signals. The measurement device 70 may measure positioning signals from the corresponding positioning signal sources 161 indicated by the auxiliary information and / or measure positioning signals during the time period indicated by the auxiliary information. Alternatively, if the server 30 does not command a specific positioning signal source and / or a specific time for measuring positioning signals, the measurement device 70 may attempt to measure positioning signals from all positioning signal sources 161 from which the (one or more) measurement devices are configured to obtain positioning signals, or may determine a subset of the positioning signal sources 161 from which to measure positioning signals, and / or may intermittently measure positioning signals, e.g., according to a schedule determined by the measurement device 70 (e.g., read by the processor 80 from the memory 82). The schedule may be a specific time, or a time determined by a start time, a measurement duration, and an interval between measurements. For example, the measurement device 70 may measure positioning signals for five minutes every hour (i.e., the interval between measurement cycles is 55 minutes) (according to instructions from the server 30 or internal instructions). The interval may be constant or variable (e.g., based on the time of day, satellite position, etc.).
[0073] At stage 172, the measurement device 70 may determine relative positions. For example, the processor 80 may determine one or more distances from the measurement device 70 to one or more other measurement devices among the measurement devices 12 - 17. For example, the measurement device 15 may determine the positions of the measurement devices 16, 17 relative to the measurement device 15. The processor 80 may determine the position of the measurement device 70 (e.g., a global position) if the processor 80 is configured to do so.
[0074] At stage 174, the measurement device 70 may issue measurements to the server 30. The measurement device 70 may compile and batch report the measurements. The measurements may include pseudorange (and / or signal arrival timing), and / or Doppler shift information, and / or carrier phase, and / or RSSI, etc. For example, the measurement device 70 may batch report the measurements made within the previous 24 hours or another amount of time. Alternatively, the measurement device 70 may batch report a specific quantity, e.g., a specific number of measurements or a specific amount of data of the measurements. For example, the measurement device 70 may batch report sufficient measurements such that the server 30 will be able to determine the position of the measurement device 70 within a threshold distance (e.g., one meter (1m)).
[0075] At stage 174, if the location information is determined by the measuring device 70, the measuring device 70 can send the location information to the server 30. The measuring device 70 can send relative location and / or another location (e.g., global location) to the server 30. For example, the measuring device 70 can send relative location (e.g., distance and possibly direction) from the measuring device 70 to one or more other devices (e.g., one or more other measuring devices 12-17). This information can be reported so that the server 30 can determine the location of another device, e.g., global location, based on the determined location (e.g., global location) of the measuring device 70 and the relative location between the measuring device 70 and other devices. In addition, one or more of the measurement and / or location information can be sent indirectly (e.g., via one or more intermediate devices) from the measuring device 70 to the server 30.
[0076] At stage 176, the server 30 can perform location determination. The server 30 can batch the measurement information from the measuring device 70, can apply one or more corrections, can filter, average, and / or smooth the measurements, and can apply appropriate location techniques to determine the location of the measuring device 70. The server 30 can use measurements from more than one measuring device to determine the location of the measuring device 70. For example, if the location of another measuring device is known, the distance from the measuring device 70 to the other measuring devices can be used as part of a trilateration calculation. As another example to improve the positioning of device 70, if the distance between device 70 and another device is short, e.g., less than 1 km, the measurement errors in the two devices are highly correlated, and the distance error calculated on the other device can be used to correct the distance measurement on device 70. Compared with the resources available at the measuring device 70 for determining location, the (one or more) techniques used by the server 30 for determining location can use more resources (e.g., power, processing capacity), such that the location can be determined more accurately compared to what any of the measuring devices 12-17 can determine. For example, the server 30 may be able to perform more complex algorithms or calculations than the measuring device 70 can perform or expects to perform.
[0077] The location determination at stage 176 can include determining the location of one or more devices other than the measuring device 70. The server 30 can determine the location of another device based on the determined location of the measuring device 70 and the relative location between the other device and the measuring device 70. The relative location can be determined by the other device, the measuring device 70, or the server 30.
[0078] At stage 178, the server 30 may report the determined location(s) to the measurement device 70. The measurement device 70 may desire the location for one or more of a variety of reasons. For example, the measurement device 70 may use the global location of the measurement device 70 as part of a location-based application to provide information to the user. As another example, the measurement device 70 may provide the location to the user as part of a notification. For example, the measurement device 14 may report the location of the measurement device 14 as part of a notification that the corresponding light bulb 22 needs repair or replacement. The location, particularly a highly accurate location (e.g., 1 m), may be used to guide a repair person to the light bulb 22, and / or indicate the specific part to be repaired / replaced (e.g., if the part depends on the location (e.g., if the left side part is different from the right side part). The location may be determined accurately enough to distinguish which item to repair from among a plurality of adjacent items. The location(s) sent to the measurement device 70 may include the location(s) of one or more devices other than the measurement device 70 (such as one or more other devices whose relative position with respect to the measurement device 70 is known (e.g., has been determined) by the server 30). For example, the location of nearby / adjacent devices may be provided, such as the locations of measurement devices 16, 17 being provided to measurement device 15.
[0079] At stage 180, the server 30 issues an end command to the measurement device 70 to cause the measurement device 70 to stop measuring the positioning signal. Here, the server 30 issues the end command after the location has been determined. The end command may be issued in response to one or more criteria (such as the location having been determined within a threshold accuracy). Further measurements may be indicated after the end command (e.g., to determine if the measurement device 70 has moved, in response to which new measurements may be indicated). Measurements obtained while the measurement device 70 is moving may be discarded. In other examples, the server 30 may issue a start and end command to the measurement device 70 to define each measurement window. For example, a start command may be issued, then an end command may be issued after a few minutes, and this process may be repeated intermittently (e.g., periodically, such as once per hour). Measurements from the measurement window may be reported for each window, reported in batches for the window, reported in batches for multiple windows, etc.
[0080] At stage 182, the location(s) sent by the server 30 at stage 178 may be relayed by the measurement device 70 to one or more other devices, such as one or more of the other measurement devices 12 - 17. For example, if the measurement device 70 is the measurement device 15, the measurement device 15 may relay the location of the measurement device 15 to measurement devices in the vicinity of the measurement device 15, here as Figure 1Measurement devices 16, 17 adjacent to measurement device 15 as shown. The position of measurement device 70 may be relayed, and one or more other devices may use this position to determine their position(s) based on their relative position(s) to measurement device 70. If the server 30 issues the position(s) of one or more other devices, measurement device 70 may relay the position(s) appropriately.
[0081] Reference Figure 6 , and further reference Figures 1 - 5 , the method 210 for determining the position of a measurement device includes the stages shown. However, method 210 is merely an example and not a limitation. Method 210 may be changed, for example, by adding, removing, rearranging, combining, performing stages simultaneously, and / or splitting a single stage into multiple stages.
[0082] At stage 212, method 210 includes determining the measurement time of a first positioning signal measurement, or determining a subset of positioning signal sources, or a combination thereof. For example, the server 30 may determine the measurement time of a first positioning signal measurement (to be obtained, e.g., made, by the measurement device) of a first positioning signal from a first plurality of positioning signal sources. Additionally or alternatively, the server 30 may determine a subset of positioning signal sources in a second plurality of positioning signal sources from which a second positioning signal measurement (to be obtained, e.g., made, e.g., by the measurement device) of a second positioning signal will be obtained. The subset includes fewer positioning signal sources than the second plurality of positioning signal sources. The server 30 may determine the subset based on the position of measurement device 70 (e.g., as provided to the server 30 in stage 162 as shown in Figure 5 ). The measurement time and / or the subset of positioning signal sources may include auxiliary data to be provided to the measurement device. The processor 110 of the server 30 (in combination with the memory 112 (including software 114)) may include components for determining the measurement time and / or the subset of positioning signal sources.
[0083] Determining a subset of positioning signal sources may include determining positioning signal sources in the second plurality of positioning signal sources from which a high-quality positioning signal will be received at the measurement device. For example, the server 30 may use the estimated position of measurement device 70, knowledge of the positions of positioning signal sources (such as satellites 32 - 34), and / or knowledge of the environment of the estimated position (e.g., the position and size of buildings, terrain features, etc.) to determine which positioning signals can reach the measurement device 70 directly or via multipath. The server 30 may select certain sources (from which signals will reach directly) to be in the subset, and / or select certain sources (from which signals will not reach directly) to be not in the subset.
[0084] The determined measurement time can take various forms. For example, the measurement time can be a specific future time, e.g., a day and a time of day, or it can be a measurement duration and a measurement period (e.g., the measurement starts every 60 minutes, a five-minute measurement time, or a 55-minute interval between measurements). These measurement times are examples, and other forms of measurement times and / or other measurement durations and / or measurement periods can be used. The determination at stage 212 can include calculations by the processor 110 and / or retrieving from the memory 112 information from which the measurement time can be calculated, or retrieving the measurement time or the (one or more) measurement durations and the (one or more) periods themselves from the memory 112.
[0085] At stage 214, the method 210 includes issuing at least one measurement command to cause the measurement device to obtain a first positioning signal measurement, a second positioning signal measurement, or both according to the measurement time. For example, the server 30 (e.g., the processor 110 in combination with the transceiver 116) (providing the component for issuing at least one measurement command) can issue one or more measurement commands to the measurement device 70 to instruct the measurement device to obtain the first positioning signal measurement (performed at the measurement time), or obtain the second positioning signal measurement from a subset of the positioning signal sources, or a combination of these.
[0086] At stage 216, the method 210 includes receiving measurement data corresponding to the first positioning signal measurement, the second positioning signal measurement, or both. For example, stage 216 can include receiving at the server 30, e.g., from the measurement device 70 (and / or from another device), measurement data corresponding to the first or second positioning signal measurement or a combination thereof. The measurement data can include an indication of the measurement itself, and / or information derived from the measurement, e.g., one or more distances from the measurement device 70 to one or more corresponding positioning signal sources. The processor 110 in combination with the transceiver 116 can include the component for receiving the measurement data.
[0087] At stage 218, the method 210 includes determining the position of the measurement device based on the measurement data. For example, the server 30 can determine the position of the measurement device 70 by using trilateration of the distances and / or by using the measurements to determine the distances between the measurement device 70 and the signal sources and the known positions of the signal sources. The processor 110 and the memory 112 can include the components for determining the position. Additionally or alternatively, the measurement device 70 can determine the position at stage 218 and provide the position as part of the measurement data to the server 30 at stage 216, where the processor 80 and the memory 82 include the components for determining the position.
[0088] Method 210 may further include one or more other features. For example, method 210 may further include determining that the position of the measurement device has been determined within an accuracy threshold level, and in response thereto, issuing a termination command to the measurement device to cause the measurement device to stop obtaining a first positioning signal measurement, or a second positioning signal measurement, or a combination thereof. The command to stop obtaining the positioning signal measurement may be a command to stop indefinitely, or a non-permanent stop command (e.g., having a defined restart time, e.g., specifying the amount of time to stop (i.e., the amount of time allowed to elapse before obtaining (e.g., measuring again))). If the command is to stop indefinitely, another command may be issued later to cause the measurement to be obtained again. Processor 110 and memory 112 may include components for determining that the position of the measurement device has been determined within an accuracy threshold level, and processor 110, memory 112, and transceiver 116 may include components for issuing the termination command.
[0089] In addition or alternatively, method 210 may include storing measurement data, wherein determining the position of the measurement device includes batch-processing measurement data corresponding to a plurality of the first positioning signal measurements, or a plurality of the second positioning signal measurements, or a combination of at least one of the first positioning signal measurements and at least one of the second positioning signal measurements. For example, server 30 may store measurement data received from a plurality of communications of measurement device 70 before processing the measurement data. For example, from the perspective of power consumption, batch-processing at server 30 may be more efficient. If the measurement data is stored at measurement device 70 and batch-reported, this may be more efficient from the perspective of power consumption and wireless traffic (e.g., less noise, fewer collisions, etc.). Batch-processing may be performed in response to determining that a threshold amount of measurement data has been stored. For example, processor 110 may determine that a threshold number of measurements (or distances) corresponding to a threshold number of different positioning signal sources have been received before processing the measurement data. The threshold amount of measurement data may be an amount sufficient for the server to determine the position of the measurement device within an accuracy threshold level (e.g., a threshold distance, such as 1 meter). Processor 110 and memory 112 may include components for storing the measurement data and for batch-processing the measurement data.
[0090] In addition or alternatively, method 210 may include averaging the measurement data to produce averaged measurement data, wherein determining the position of the measurement device based on the measurement data includes using the averaged measurement data to determine the position of the measurement device. Processor 110 and memory 112 may include components for averaging the measurement data. In addition or alternatively, measurement device 70 (e.g., signal receiver and / or processor 80) may include components for averaging the measurement data.
[0091] Additionally or alternatively, method 210 may include determining the location of another device based on the location of the measurement device and the relative location of other devices with respect to the measurement device. Method 210 may include receiving relative location information regarding the relative location of the measurement device and other devices, and determining the relative location of other devices with respect to the measurement device according to the relative location information. For example, the measurement device 70 may provide measurements of signals from another measurement device, and the server 30 may determine the relative location of the other device and the measurement device 70. Using this information and the determined location of the measurement device 70, the server may determine the location of the other device. Alternatively, the measurement device 70 may determine the relative location of the other device and transmit the relative location as relative location information to the server 30. The server 30 will receive the relative location information and determine the relative location by reading / analyzing the relative location information. The processor 110, the memory 112, and the transceiver 116 may include components for receiving the relative location information, and the processor 110 and the memory 112 may include components for determining the relative location and determining the location of the other device.
[0092] Reference Figure 7 , and further reference Figures 1 - 6 , the method 250 of obtaining and providing positioning signal measurement data and possibly obtaining the location of a measurement device includes the stages shown. However, method 250 is merely an example and not a limitation. Method 250 may be changed, for example, by adding, removing, rearranging, combining, performing stages simultaneously, and / or splitting a single stage into multiple stages. For example, stage 258 may be omitted.
[0093] At stage 252, method 250 includes receiving at least one command that indicates the measurement time of a first positioning signal measurement, or a subset of positioning signal sources, or a combination thereof. For example, at least one measurement command may be received at the measurement device 70 from the server 30. The processor 80 and the transceiver 88 may include components for receiving at least one measurement command. The first positioning signal measurement may be a measurement of a first positioning signal from a first plurality of positioning signal sources, for example, to be performed by the measurement device 70. As used herein, a "measurement device" may include multiple devices. Each of the devices may measure at least some of the first positioning signals, and at least one of the measurement devices may obtain (e.g., collect) measurements (i.e., indications of measurements) from one or more of the other devices, for example, by communicating with the (one or more) other devices. Alternatively, the measurement device may not measure any of the first positioning signals, but may obtain (e.g., collect) measurements from one or more other devices. The subset of positioning signal sources may be among a second plurality of positioning signal sources, from which a second positioning signal measurement of a second positioning signal will be performed. The subset may include fewer positioning signal sources than the second plurality of positioning signal sources.
[0094] At stage 254, method 250 includes making a first positioning signal measurement, making a second positioning signal measurement, or both, according to a measurement time. For example, measurement device 70 (e.g., SPS receiver 86, and / or one or more of (one or more) radios 94, and / or one or more other sensors) may measure a positioning signal at the measurement time or receive measurements made at the measurement time from one or more other devices, or may measure (or receive its measurements) of positioning signals emitted from a subset of positioning signal sources, or a combination thereof (e.g., measure positioning signals from a subset of positioning signal sources at a specified measurement time). Processor 80 and SPS receiver 86 and / or transceiver 88 (e.g., one or more of (one or more) radios 94 and / or one or more other receivers or sensors) may include components for making positioning signal measurements.
[0095] At stage 256, method 250 includes transmitting measurement data corresponding to the first positioning signal measurement, the second positioning signal measurement, or both. For example, measurement device 70 (e.g., processor 80 and transceiver 88) may transmit measurement data from measurement device 70 to server 30 (and / or to another server). The measurement data may be one or more measurements of positioning signals from one or more corresponding positioning signal sources, or information derived therefrom, e.g., an average measurement, a calculated distance from measurement device 70 to the signal source, etc. Processor 80 and transceiver 88 may include components for transmitting the measurement data.
[0096] At stage 258, method 250 includes receiving the position of the measurement device based on the measurement data. For example, measurement device 70 (e.g., transceiver 88 and processor 80) may receive the position from the server (e.g., server 30) to which the measurement data was transmitted. Processor 80 and transceiver 88 may include components for receiving the position. Measurement device 70 may use the position (e.g., for location-based applications), or may provide the position along with other information, e.g., along with an indication of a need for repair, to assist the recipient of the indication in making a repair. Alternatively, server 30 may use the position of measurement device 70 for these or other purposes and may not transmit the position to measurement device 70 (and thus measurement device 70 may not receive it).
[0097] Method 250 may also include one or more other features. For example, method 250 may also include: making a third positioning signal measurement of a third positioning signal from another measurement device at the measurement device; determining relative position information regarding the relative position of the measurement device and the other measurement device based on the third positioning signal measurement; and issuing the relative position information from the measurement device to the server. For example, measurement device 70 (e.g., measurement device 15) may measure a positioning signal from another device (such as measurement device 16), determine the relative position of measurement device 16 (e.g., the distance and possible direction from device 15 to device 16), and report the relative position to server 30. Server 30 may use the relative position information and the position of measurement device 70 to determine the position of the other device, e.g., the position of measurement device 16. Processor 80 and transceiver 88 may include components for making the third positioning signal measurement, for determining the relative position information, and for issuing the relative position information.
[0098] Additionally or alternatively, method 250 may include storing a threshold amount of measurement data at the measurement device, wherein issuing the measurement data is performed in response to the threshold amount of measurement data being stored at the measurement device. For example, processor 80 may store multiple measurements in memory 82 and, once the threshold amount of measurement data has been stored, report the measurements in a batch by issuing the measurements to server 30. Processor 80 and memory 82 may include components for storing the measurement data and for issuing the measurement data in response to the threshold amount of measurement data being stored. The threshold amount of measurement data may be an amount sufficient for server 30 to determine the position of measurement device 70 within an accuracy threshold level (e.g., a threshold distance, such as 1 meter).
[0099] Additionally or alternatively, method 250 includes averaging the measurement data to produce averaged measurement data, wherein issuing the measurement data from the measurement device to the server includes issuing the averaged measurement data. For example, processor 80 may average the measurement data and issue the averaged measurement data to server 30 via transceiver 88. Processor 80 and memory 82 may include components for averaging the measurement data.
[0100] Other Considerations
[0101] Other examples and implementations are within the scope of the present disclosure and the appended claims. For example, due to the nature of software and computers, the functions described above may be implemented using software executed by a processor, hardware, firmware, hardwiring, or any combination thereof. The features implementing the functions may also be physically located in different positions, including being distributed such that portions of the functions are implemented in different physical locations.
[0102] As used herein, an indication that a device is configured to perform the function means that the device includes suitable equipment (e.g., circuitry, mechanical device(s), hardware, software (e.g., processor-readable instructions), firmware, etc.) for performing the function. That is, the device includes equipment capable of performing the function, e.g., where the device itself has been designed and made to perform the function, or has been made such that the device includes equipment designed and made to perform the function. An indication that processor-readable instructions are configured to cause a processor to perform a function means that the processor-readable instructions include instructions that, when executed by the processor (after compilation as appropriate), will cause the function to be performed.
[0103] In addition, as used herein, "or" as used in a list of items beginning with "at least one of..." or "one or more of..." indicates a disjunctive list such that, for example, a list of "at least one of A, B, or C" or "one or more 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 combinations having more than one feature (e.g., AA, AAB, ABBC, etc.).
[0104] 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 additional items and / or conditions in addition to the stated item or condition.
[0105] In addition, an indication that information is issued or sent "to" an entity or a statement that information is issued or sent "towards" an entity does not require the completion of communication. Such indications or statements include situations where the information is conveyed from the issuing entity but does not reach the intended recipient of the information. The intended recipient, even if the information is not actually received, can still be referred to as the receiving entity, e.g., a receiving execution environment. In addition, an entity configured to issue or send information "towards" an intended recipient does not need to be configured to complete the delivery of the information to the intended recipient. For example, an entity can provide information with an indication of the intended recipient to another entity capable of forwarding the information along with the indication of the intended recipient.
[0106] A wireless communication system is a system in which communication is transmitted wirelessly (i.e., by electromagnetic waves and / or sound waves propagating through airspace, rather than by wires or other physical connections). A wireless communication network may not cause all communications to be sent wirelessly, but is configured to cause at least some communications to be sent wirelessly. In addition, a wireless communication device can communicate via one or more wired connections as well as one or more wireless connections.
[0107] A large number of variations can be made according to specific requirements. For example, customized hardware can also be used, and / or specific components can be implemented in hardware, software (including portable software such as applets, etc.) or both. In addition, connections to other computing devices (such as network input / output devices) can be adopted.
[0108] As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any medium that participates in providing data that causes a machine to operate in a particular manner. Using a computer system, various computer-readable media can be involved in providing instructions / code to a processor(s) for execution and / or can be used to store and / or carry such instructions / code (e.g., as a signal). In many implementations, the processor-readable medium is a physical and / or tangible storage medium. Such media can take many forms, including but not limited to non-volatile media and volatile media. Non-volatile media includes, for example, optical discs and / or magnetic disks. Volatile media includes but is not limited to dynamic memory.
[0109] The methods, systems, and devices discussed above are examples. Various processes or components can be omitted, substituted, or added as appropriate for various configurations. For example, in alternative configurations, methods can be performed in an order different from that described, and individual steps can be added, omitted, or combined. In addition, features described with respect to certain configurations can be combined in various other configurations. Different aspects and elements of the configurations can be combined in a similar manner. In addition, technology is constantly evolving, and thus, many of the elements are examples and do not limit the scope of the present disclosure or the claims.
[0110] In addition, a configuration can be described as a method or process depicted as a flowchart or block diagram. Although operations may be described as sequential processes, many of the operations can be performed in parallel or concurrently. Additionally, the order of the operations can be rearranged. A process can have additional stages or functions not included in the figures. Furthermore, examples of methods can be implemented by hardware, software, firmware, middleware, microcode, a hardware description language, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments for performing the tasks can be stored in a non-transitory computer-readable medium such as a storage medium. The processor can execute the described tasks.
[0111] Specific details are given in the description to provide a thorough understanding of example configurations, including implementations. However, the configurations may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail to avoid obscuring the configurations. This description merely provides example configurations and does not limit the scope, applicability, or configurations of the claims. Rather, the foregoing description of the configurations provides a description for implementing the described techniques. Various changes may be made to the functionality and arrangement of the elements without departing from the spirit or scope of the present disclosure.
[0112] Components (functional components or other components) shown as and / or discussed herein as being connected or communicating with each other are communicatively coupled. That is, they may be directly or indirectly connected to enable communication between them.
Claims
1. A method for determining the position of a measurement device, the method comprising: Issuing at least one measurement command from a server to the measurement device to cause the measurement device to obtain measurement data at least by: Determining one or more measurement windows; Determining a time window within at least one of the one or more measurement windows for obtaining a first positioning signal from a first positioning signal source; And Obtaining first positioning signal measurements of only those first positioning signals received within the time window from the first positioning signal source; Receiving at the server, from the measurement device, measurement data corresponding to the first positioning signal measurements; And Determining, at the server, the position of the measurement device based on the measurement data.
2. The method according to claim 1, Among them, The measurement data is further obtained by: obtaining second positioning signal measurements of second positioning signals emitted from a subset of second positioning signal sources among a plurality of second positioning signal sources, and Wherein the measurement data also corresponds to the second positioning signal measurements.
3. The method according to claim 1, further comprising: Determining that the position of the measurement device has been determined within an accuracy threshold level; And In response to determining that the position of the measurement device has been determined within the accuracy threshold level, issuing a termination command to the measurement device to cause the measurement device to stop obtaining the first positioning signal measurements.
4. The method according to claim 2, further comprising Determining that the position of the measurement device has been determined within an accuracy threshold level; and In response to determining that the position of the measurement device has been determined within the accuracy threshold level, issuing a termination command to the measurement device to cause the measurement device to stop obtaining the first positioning signal measurements and stop obtaining the second positioning signal measurements.
5. The method according to claim 1, further comprising storing the measurement data, wherein determining the position of the measurement device includes batch-processing measurement data corresponding to a plurality of the first positioning signal measurements.
6. The method according to claim 2, further comprising storing the measurement data, wherein determining the position of the measurement device includes batch-processing measurement data corresponding to a combination of at least one of the first positioning signal measurements and at least one of the second positioning signal measurements.
7. The method according to claim 5 or 6, wherein the batch-processing is performed in response to determining that a threshold amount of the measurement data has been stored.
8. The method according to claim 7, wherein the threshold amount of the measurement data is an amount sufficient for the server to determine the position of the measurement device within an accuracy threshold level.
9. The method according to claim 1 or 2, further comprising averaging the measurement data to generate average measurement data, wherein determining the position of the measurement device based on the measurement data includes using the average measurement data to determine the position of the measurement device.
10. The method according to claim 1 or 2, further comprising: Receiving relative position information regarding the relative position of the measurement device and another device; Determine the relative position of the other device and the measuring device according to the relative position information; and Determine the position of the other device based on the position of the measuring device and the relative position of the other device and the measuring device.
11. The method according to claim 2, wherein the subset of the second positioning signal sources includes the second positioning signal sources among the plurality of second positioning signal sources from which a high-quality positioning signal will be received at the measuring device.
12. A server configured to determine the position of a measuring device, the server comprising: A transceiver configured to communicate with the measuring device; and A processor communicatively coupled to the transceiver and configured to: Issue at least one measurement command to the measuring device via the transceiver to cause the measuring device to obtain measurement data at least by: Determine one or more measurement windows; Determine a time window within at least one of the one or more measurement windows for obtaining a first positioning signal from a first positioning signal source; and Obtain first positioning signal measurements of only those first positioning signals received within the time window from the first positioning signal source in the first positioning signal; Receive measurement data corresponding to the first positioning signal measurement from the measuring device via the transceiver; and Determine the position of the measuring device based on the measurement data.
13. The server according to claim 12, Among them, The measurement data is also obtained by: obtaining second positioning signal measurements of second positioning signals emitted from a subset of second positioning signal sources among a plurality of second positioning signal sources, and wherein the measurement data also corresponds to the second positioning signal measurement.
14. The server according to claim 12, wherein the processor is further configured to: Determine that the position of the measuring device has been determined within an accuracy threshold level; and In response to determining that the position of the measuring device has been determined within the accuracy threshold level, issue a termination command to the measuring device to cause the measuring device to stop obtaining the first positioning signal measurement.
15. The server according to claim 13, wherein the processor is further configured to: Determine that the position of the measuring device has been determined within an accuracy threshold level; and In response to determining that the position of the measuring device has been determined within the accuracy threshold level, issue a termination command to the measuring device to cause the measuring device to stop obtaining the first positioning signal measurement and stop obtaining the second positioning signal measurement.
16. The server according to claim 12, further comprising a memory, wherein the processor is further configured to store the measurement data in the memory, and wherein, To determine the position of the measuring device, the processor is configured to batch measurement data corresponding to a plurality of the first positioning signal measurements.
17. The server according to claim 13, further comprising a memory, wherein the processor is further configured to store the measurement data in the memory, and wherein, To determine the distance of the measuring device, the processor is configured to batch measurement data corresponding to a combination of at least one of the first positioning signal measurements and at least one of the second positioning signal measurements.
18. The server according to claim 16 or 17, wherein the processor is configured to batch the measurement data in response to determining that a threshold amount of the measurement data has been stored.
19. The server according to claim 18, wherein the threshold amount of the measurement data is an amount sufficient for the processor to determine the position of the measurement device within an accuracy threshold level.
20. The server according to claim 12 or 13, wherein the processor is further configured to average the measurement data to generate average measurement data, and wherein the processor is configured to determine the position of the measurement device using the average measurement data.
21. The server according to claim 12 or 13, wherein the processor is further configured to: receive, via the transceiver, relative position information regarding the relative position of the measurement device and another device from the measurement device; determine the relative position of the other device and the measurement device based on the relative position information; and determine the position of the other device based on the position of the measurement device and the relative position of the other device and the measurement device.
22. The server according to claim 13, wherein the subset of the second positioning signal sources includes the second positioning signal sources among the plurality of second positioning signal sources from which high-quality positioning signals will be received at the measurement device.
23. A method for obtaining and providing positioning signal information, the method comprising: receiving, at a measurement device, at least one measurement command from a server; in response to the at least one measurement command, obtaining measurement data at the measurement device by at least: determining one or more measurement windows; determining, within at least one of the one or more measurement windows, a time window for obtaining a first positioning signal from a first positioning signal source; and obtaining first positioning signal measurements of only those first positioning signals received within the time window from the first positioning signal source; and transmitting, from the measurement device to the server, measurement data corresponding to the first positioning signal measurements.
24. The method according to claim 23, Among them, wherein the measurement data is further obtained by: obtaining second positioning signal measurements of second positioning signals transmitted from a subset of second positioning signal sources among a plurality of second positioning signal sources, and wherein the measurement data also corresponds to the second positioning signal measurements.
25. The method according to claim 23 or 24, further comprising: obtaining, at the measurement device, third positioning signal measurements of a third positioning signal from another device; determining, based on the third positioning signal measurements, relative position information regarding the relative position of the measurement device and the other device; and transmitting, from the measurement device to the server, the relative position information.
26. The method according to claim 23 or 24, further comprising storing, at the measurement device, a threshold amount of the measurement data, wherein transmitting the measurement data is performed in response to the threshold amount of the measurement data being stored at the measurement device.
27. The method according to claim 26, wherein the threshold amount of the measurement data is an amount sufficient for the server to determine the position of the measurement device within an accuracy threshold level.
28. The method according to claim 23 or 24, further comprising averaging the measurement data to produce averaged measurement data, and wherein transmitting the measurement data from the measurement device to the server includes transmitting the averaged measurement data.
29. A measurement device, comprising: a receiver configured to receive a positioning signal; a transceiver; and a processor communicatively coupled to the receiver and the transceiver and configured to: receive at least one measurement command via the transceiver; in response to the at least one measurement command, to obtain measurement data, use the receiver to at least: determine one or more measurement windows; determine a time window within at least one of the one or more measurement windows for obtaining a first positioning signal from a first positioning signal source; and obtain first positioning signal measurements of only those first positioning signals received within the time window from the first positioning signal source; and transmit via the transceiver measurement data corresponding to the first positioning signal measurements.
30. The measurement device according to claim 29: Among them, the measurement data is further obtained by: obtaining second positioning signal measurements of second positioning signals transmitted from a subset of second positioning signal sources among a plurality of second positioning signal sources, and wherein the measurement data also corresponds to the second positioning signal measurements.
31. The measurement device according to claim 29 or 30, wherein the processor is further configured to: determine relative position information regarding the relative position of the measurement device and another device based on third positioning signal measurements of a third positioning signal received from another device; and transmit the relative position information via the transceiver.
32. The measurement device according to claim 29 or 30, wherein the processor is further configured to store a threshold amount of the measurement data at the measurement device, and wherein the processor is configured to transmit the measurement data in response to the threshold amount of the measurement data being stored at the measurement device.
33. The measurement device according to claim 32, wherein the threshold amount of the measurement data is an amount sufficient to determine the position of the measurement device within an accuracy threshold level.
34. The measuring device according to claim 29 or 30, wherein the processor is further configured to average the measurement data to produce averaged measurement data, and wherein, To transmit the measurement data from the measurement device, the processor is configured to transmit the averaged measurement data.
35. A computer-readable medium having program code recorded thereon, wherein the program code is executable by one or more processors to cause the processors to perform the method according to any one of claims 1 to 11.
36. An apparatus for determining the position of a measurement device, the apparatus including components for performing the method according to any one of claims 1 to 11.
37. A computer program product, including computer-readable instructions that, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 11.
38. A computer-readable medium having program code recorded thereon, wherein the program code is executable by one or more processors to cause the processors to perform the method according to any one of claims 23 to 28.
39. An apparatus for obtaining and providing positioning signal information, the apparatus including components for performing the method according to any one of claims 23 to 28.
40. A calculator program product including computer-readable instructions that, when executed by a processor, cause the processor to perform the method according to any one of claims 23 to 28.
Citation Information
Patent Citations
System And / Or Method For Providing Information Updates To A Location Server
US20080032706A1
Network centric localization
US20160349353A1
System and method for tracking location of worker
US20170150315A1
Mobile device position determination using non-dedicated-frequency nodes
US20180310237A1