Method for identifying and diagnosing pair-wise time synchronization and frequency calibration failures in mesh networks - Patents.com
Patent Information
- Application Number
- JP2023530789
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-11-25
- Filing Date
- 2021-11-24
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2041-11-24
Smart Images

Figure 0007617273000019 
Figure 0007617273000020 
Figure 0007617273000021
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. patent application Ser. No. 17 / 105,458, filed Nov. 25, 2020, the entirety of which is incorporated by reference herein.
[0002]
[0002] This application is related to U.S. patent application Ser. No. 17 / 511,433, filed October 26, 2021, U.S. patent application Ser. No. 17 / 338,543, filed June 3, 2021, U.S. patent application Ser. No. 17 / 135,566, filed December 28, 2020, U.S. patent application Ser. No. 17 / 080,729, filed October 26, 2020, U.S. patent application Ser. No. 16 / 846,030, filed April 10, 2020, and U.S. patent application Ser. No. 17 / 025,635, filed September 18, 2020, each of which is incorporated by reference in its entirety.
[0003]
[0003] The present invention relates generally to the field of mesh network operation, and more specifically, to a novel and useful method for identifying and diagnosing faults in pair-wise time synchronization and pair-wise frequency calibration in a mesh network in the field of mesh network operation. [Brief description of the drawings]
[0004] [Figure 1]
[0004] FIG. 1 is a flow chart illustrating a variation of the method. [Diagram 2]
[0005] FIG. 11 is a flow chart illustrating a variation of the method. [Diagram 3]
[0006] FIG. 11 is a flow chart illustrating a variation of the method. [Figure 4]
[0007] FIG. 11 is a flow chart illustrating a variation of the method. [Diagram 5]
[0008] FIG. 11 is a flow chart illustrating a variation of the method. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0005]
[0009] The following description of embodiments of the invention is not intended to limit the invention to these embodiments, but rather to enable those skilled in the art to make and use the invention. The variations, configurations, implementations, exemplary implementations, and examples described herein are optional and are not limited to the variations, configurations, implementations, exemplary implementations, and examples they describe. The invention described herein may include any and all permutations of these variations, configurations, implementations, exemplary implementations, and examples.
[0006] 1. Method
[0010] As shown in Figure 1, method S100 includes accessing a network graph in block S110, the network graph including a set of nodes, each node of the set of nodes representing a transceiver of a transceiver network, and a set of edges, each edge of the set of edges connecting two nodes of the set of nodes and representing a communication channel between a pair of transceivers of the transceiver network represented by the pair of nodes. Method 100 also includes accessing a network state in block S120, the network state including a set of edge values for the set of edges, and identifying a set of triangular graphs of the network graph in block S130. Method S100 further includes, for each triangular graph of the network graph, calculating a component diagnostic score based on a subset of the edge values of the set of edge values in block S140, the subset of edge values being associated with edges of the triangular graph, and, for each node of the triangular graph, updating a cumulative diagnostic score for the node based on the component diagnostic scores in step S150. Method S100 further includes, in block S160, triggering a corrective action in a first transceiver represented by the first node in response to detecting that the first cumulative diagnostic score for the first node exceeds a threshold cumulative diagnostic score.
[0007]
[0011] 2, one variation of method S100 includes accessing a network graph, in block S110, the network graph including a set of nodes, where each node of the set of nodes represents a transceiver of a transceiver network, and a set of edges, where each edge of the set of edges connects two nodes of the set of nodes and represents a communication channel between a pair of transceivers of the transceiver network represented by the pair of nodes. Method S100 also includes accessing a network state, in block S120, including a set of edge values for the edge set, and identifying a set of triangular graphs of the network graph, in block S130. Method S100 further includes, for each triangular graph of the network graph, calculating a component diagnostic score based on a subset of the edge values of the set of edge values, in block S140, the subset of edge values being associated with an edge of the triangular graph, and, for each edge of the triangular graph, updating a cumulative diagnostic score for the edge based on the component diagnostic score, in block S152. Method S100 further includes, in block S162, triggering a first correction action on a first communication channel represented by the first edge in response to detecting a first cumulative diagnostic score for the first edge exceeding a first threshold cumulative diagnostic score.
[0008]
[0012] As shown in FIG. 3, one variation of method S100 includes, in block S110, accessing a network graph, the network graph including a set of nodes, where each node in the set of nodes represents a transceiver of a transceiver network, and a set of edges, where each edge in the set of edges connects a pair of nodes in the set of nodes and represents a communication channel between a pair of transceivers of the transceiver network represented by the pair of nodes. This variation of method S100 includes, in block S132, identifying a target subgraph of a network graph associated with a target node of the set of nodes, the target node representing a target transceiver; in block S122, accessing a target network state of the target subgraph including a set of edge values for each edge of the first subgraph, the set of edge values including a pair-wise time bias associated with each edge of the subgraph and a pair-wise frequency offset associated with each edge of the target subgraph; in block S170, calculating a first probability of failure of the target transceiver within a threshold time period based on the target network state of the target subgraph and the failure prediction model; and, in block S164, triggering corrective action at the target transceiver in response to detecting that the first probability of failure of the target transceiver exceeds a threshold probability.
[0009]
[0013] A variation of method S100 includes accessing a network graph including a set of nodes and a set of edges, the set of nodes including a set of transceiver nodes representing a set of transceivers operating in a mesh network of transceivers and a set of transmitter nodes representing a set of transmitters communicating with the mesh network of transceivers, each edge of the set of edges connecting a pair of nodes of the set of nodes and representing a communication channel between a pair of transceivers of the network of transceivers represented by the pair of nodes or between a transmitter and a transceiver of the set of transmitters of the set of transmitters. This variation of method S100 also includes identifying a first subgraph of a network graph associated with a first node of the set of nodes, the first node representing the first transceiver; accessing a first network state of the first subgraph including a set of edge values for each edge of the first subgraph; calculating a first probability of failure of the first transceiver within a threshold period based on the first network state of the first subgraph and the failure prediction model; and triggering corrective action at the first transceiver in response to detecting that the first probability of failure of the first transceiver exceeds the threshold probability.
[0010]
[0014] A variation of method S100 includes accessing a network graph including a set of nodes and a set of edges, the set of nodes including a set of transceiver nodes representing a set of transceivers operating in a mesh network of transceivers and a set of transmitter nodes representing a set of transmitters communicating with the mesh network of transceivers, each edge of the set of edges connecting a pair of nodes of the set of nodes and representing a communication channel between a pair of transceivers of the network of transceivers represented by the pair of nodes or between a transmitter of the set of transmitters and a transceiver of the set of transceivers. This variation also includes the steps of identifying a first triangular graph of a network graph including a first node of the set of nodes, the first node representing a first transceiver of the set of transceivers; accessing a first network state of the first triangular graph including a set of edge values for each edge of the first triangular graph; calculating a component diagnostic score based on the set of edge values; updating a first cumulative diagnostic score for the first node based on the component diagnostic score; and triggering a corrective action in the first transceiver represented by the first node in response to detecting that the first cumulative diagnostic score for the first transceiver node has exceeded a threshold cumulative diagnostic score.
[0011] 2. Application
[0015] Generally, method S100 may be performed by a computer system, such as an individual computer, a computer network, or a set of servers connected on a network, to monitor clock synchronicity (e.g., frequency offset and time bias) and / or propagation distances between transceivers of a transceiver network, and selectively trigger individual transceivers to resynchronize and / or recalibrate with other transceivers of the network based on identified inconsistencies in reported pair-wise frequency offsets, pair-wise time biases, and / or pair-wise distances between transceivers of the transceiver network. In particular, the computer system may receive pair-wise frequency offset, time bias, and / or distance data from a mesh network (i.e., network) of time-synchronizing and self-locating transceivers; identify inconsistencies in these data; and automatically trigger particular transceivers of the network to recalibrate or resynchronize with other transceivers of the network in order to reduce network-wide inaccuracies in the network's reference time and / or the calculated relative positions of the network's transceivers.
[0012]
[0016] For example, a mesh network of transceivers can calculate, on a pair-wise basis, clock frequency offsets between pairs of transceivers, time biases between pairs of transceivers, and distances between pairs of transceivers in the network. The mesh network can then maintain a reference clock for a set of transceivers (e.g., to the extent that the network can be synchronized, e.g., within 1 nanosecond) and locate these transceivers relative to one another in two- or three-dimensional space (e.g., within 30 centimeters) based on these pair-wise frequency offset, time bias, and distance values. However, small errors in the accuracy of these pair-wise frequency-offset, time bias, and distance values from a single transceiver, due to, for example, time and / or frequency domain drift within the transceiver, environmental changes around the transceiver, or degradation of the transceiver hardware over time, may result in network-wide errors in the values of the reference clocks and the relative positions of the transceivers calculated by the network based on these values.
[0013]
[0017] In addition, the time synchronization and self-location network of transceivers can also perform other functions, such as locating third-party transmitters or running high data rate TDMA protocols. For example, the network can perform accurate time-of-arrival or time-difference-of-arrival location based on signals received from third-party transmitters. In another example, the network can leverage the high degree of synchronicity between the networks of transceivers to run high data rate TDMA protocols by reducing the buffer time between slots in these protocols. However, the errors mentioned above with respect to pair-wise frequency offset, time bias and distance values may also adversely affect the accuracy of these applications of mesh networks. Conversely, by automatically correcting these inaccuracies according to method S100, the system can better compensate for transmitter-side inaccuracies (e.g., by measuring the clock drift of the transmitter relative to the mesh network of transceivers) and improve location location and data transmission via TDMA.
[0014]
[0018] Thus, the system can identify, diagnose, and correct these errors in pair-wise frequency offsets, time biases, and distance values between transceivers of a network by performing the blocks of method S100: scoring each transceiver based on a set of diagnostic tests; identifying the particular transceiver based on those scores; triggering the particular transceiver to recalibrate or resynchronize with other transceivers of the network and / or scheduling the particular transceiver for repair or replacement. Alternatively, the system can perform the blocks of method S100: scoring each pair-wise connection (i.e., pair-wise communication channel) between transceivers; identifying particular problematic pair-wise communication channels based on those scores; and identifying faults or anomalies in the communication channels that may prevent accurate synchronization, tuning, and / or distance calculation between the transceivers associated with the identified communication channels.
[0015]
[0019] More specifically, the system can access a network graph that includes nodes representing each transceiver and edges representing pair-wise communication channels between each pair of transceivers of the network. Additionally, the network graph stores the location of each transceiver and the time bias of each transceiver relative to each other transceiver of the mesh network. By representing the mesh network primarily through relative measurements, the system eliminates the need for physical absolute time, frequency or position references and allows for the construction of a set of more accurate and up-to-date absolute dynamic reference clocks and relative positions compared to most readily available absolute timing and position references, such as those available from mapping / floor plans or from clock hardware on any individual transceiver. However, the system can also calculate time biases and / or positions relative to an absolute reference clock and / or absolute position reference.
[0016]
[0020] The system can access a network graph that includes a set of edge values associated with the edges of the network graph. These edge values characterize the current and / or past states of pairwise relationships between two transceivers represented as nodes along the edges of the network graph. For example, the edge values associated with the edges of the network graph may include a current pairwise time bias, a current pairwise frequency offset, a current pairwise distance between a pair of transceivers represented by the nodes associated with the edge, a value representing an uncertainty associated with each of the aforementioned values, and / or a time series of each of the aforementioned edge values characterizing the progression of the aforementioned values over time.
[0017]
[0021] Similarly, the system may have access to a network graph that includes a set of node values associated with the nodes of the network graph. These node values characterize the current and / or past state of a particular transceiver represented by each node of the network graph. For example, the node values associated with the nodes of the network graph may include: a current relative position of the transceiver represented by the node, a current relative time bias of the transceiver represented by the node, a current temperature value at the transceiver represented by the node, a current acceleration value at the transceiver represented by the node, a current air pressure value at the transceiver represented by the node, a Global Navigation Satellite System (hereinafter "GNSS") position of the transceiver represented by the node, a GNSS time synchronization offset of the transceiver represented by the node, and / or a time series of each of these aforementioned node values that characterize the progression of these aforementioned node values over time.
[0018]
[0022] The system may then perform a self-consistency test based on the network graph for each fully connected group of three nodes present in the current network graph (i.e., for each triangular graph) and score each node based on these self-consistency tests. The system may calculate a higher score to indicate a higher inaccuracy attributable to the node or edge. Alternatively, the system may calculate a lower score to indicate a higher inaccuracy attributable to the node or edge. However, for ease of explanation, method S100 is described with respect to an implementation in which a higher score indicates a higher inaccuracy.
[0019]
[0023] In response to detecting that the score for an individual node is greater than a threshold score, the system can trigger the transceiver represented by the node to resynchronize and / or recalibrate with other transceivers of the network. In response to calculating high consistency scores for edges associated with a particular node over multiple iterations of method S100 or over a period of time, the system can also trigger replacement of the transceiver represented by the particular node. Additionally or alternatively, the system can: score individual edges; identify particular edges with high scores; and prompt users / maintenance personnel of the system to investigate anomalies affecting the communication channel between the transceivers represented by the nodes along the particular edges. Thus, the system can automatically identify, diagnose, and correct errors in the transceivers of a distributed mesh network of transceivers, thereby maintaining nanosecond-level synchronization and sub-meter localization accuracy of the transceivers of the network.
[0020]
[0024] While the network is precisely synchronized and frequency calibrated, the frequency offset between the first transceiver and the second transceiver plus the frequency offset between the second transceiver and the third transceiver is equal to the frequency offset between the first transceiver and the third transceiver. Thus, the system can exploit this transience of frequency offset between transceivers to perform a frequency offset self-consistency test for each group of three fully connected nodes of the current network graph and evaluate the extent to which this transience is true based on the reported pair-wise frequency offset values from the network. For each group of three fully connected nodes of the network graph, the system can: subtract the first frequency offset represented by the first edge from the sum of the second frequency offset represented by the second edge and the third frequency offset represented by the third edge; and calculate a frequency offset self-consistency score based on the value of this calculation.
[0021]
[0025] Furthermore, while the network is precisely synchronized and frequency calibrated, the time bias between the first transceiver and the second transceiver plus the time bias between the second transceiver and the third transceiver is equal to the time bias between the first transceiver and the third transceiver. Thus, the system can exploit this transience of the time bias between transceivers to perform a time bias self-consistency test for each group of three fully connected nodes of the current network graph and evaluate the degree to which this transience is true based on the reported pair-wise time bias values from the network. The system can, for any group of three nodes in the network graph: subtract the first time bias represented by the first edge from the sum of the second time bias represented by the second edge and the third time bias represented by the third edge; and calculate a time bias self-consistency score based on the value of this calculation.
[0022]
[0026] Furthermore, the sum of two sides of a triangle formed between three transceivers is always greater than the third side of the triangle based on the Triangle Inequality Theorem. Thus, the system may perform a distance self-consistency test for each group of three fully connected nodes of the current network graph by evaluating whether this triangle inequality is true based on the reported pairwise distance values from the network. In response to determining that a triangle is not formable based on the pairwise distances represented by the edges between the groups of three nodes of the network graph, the system may calculate a triangle inequality score based on this result.
[0023]
[0027] Upon calculating the frequency offset self-consistency score, time bias self-consistency score and / or triangle inequality score for the group of three nodes, the system can calculate a component diagnostic score for each node of the group of three nodes based on these scores. Upon calculating a new component diagnostic score for each node of the group of three nodes, the system can combine the component diagnostic score with the cumulative diagnostic score for the node. The system can then repeat this testing and scoring process for each group of three fully connected nodes defined by the current network graph, thereby updating the cumulative diagnostic score for the node each time the node is included in a group of three nodes under test. Thus, even in networks with sparse connectivity, the system can use these algorithms to test a local subset of connected transceivers or estimate a network connectivity graph, all of which can improve the accuracy of the relative state even for sets of transceivers without direct physical layer connections.
[0024]
[0028] As the system tests and scores each triangle graph identified in the network graph, the system can identify nodes that have a cumulative diagnostic score greater than a threshold and recalibrate and / or resynchronize to the transceivers represented by these nodes. Alternatively, the system can rank the nodes based on their cumulative diagnostic scores and recalibrate and / or resynchronize to the transceivers represented by a predefined percentile of these nodes.
[0025]
[0029] Conversely, the system can identify nodes and edges whose cumulative diagnostic scores are lower than a threshold diagnostic score, and specify a dynamic list of verified nodes and / or verified edges. The system can then generate a reference time and a reference position for the mesh network based only on the verified nodes and / or verified edges. Thus, the system generates a reference time and a reference position for the mesh network that utilizes a dynamically changing network topology to increase the accuracy of the reference time and the reference position. By utilizing only verified nodes and / or edges of the mesh network, the system can generate a reference time with sub-nanosecond timing accuracy and a reference position with sub-meter position accuracy, even in applications where the mesh network is highly distributed; where individual transceivers and / or communication channels may not meet the specifications of the mesh network (e.g., due to errors in time offset synchronism caused by wireless multipath, or due to errors in frequency offset synchronism or initial calibration caused by relative motion, or due to low timing / position accuracy caused by unstable local oscillator references).
[0026]
[0030] The system may periodically execute method S100 to test the accuracy of the transceivers of the network over time as the system updates the network graph based on pairwise frequency offsets, pairwise time biases, and pairwise distances reported by the network of transceivers. The system may also track the history of the diagnostic scores for each node over multiple test intervals to identify trends in transceiver performance over time. Thus, upon repeatedly calculating a high cumulative diagnostic score for a node, the system may have the network operator repair the transceiver represented by the node or replace the transceiver entirely.
[0027]
[0031] In one variation, the system can execute a failure prediction model (e.g., a machine learning model) based on the network graph including the time series of edge and / or node values to predict failures (defined based on the cumulative diagnostic scores) of nodes and / or edges of the network prior to a current network graph indicating a failure. In this variation, the system can train the failure prediction model to recognize patterns in node and / or edge values that predict future failures of one or more transceivers of the mesh network.
[0028] 3. Network Graph
[0032] Generally, the system maintains and / or accesses a network graph in block S110 that represents a set of transceivers configured in a mesh network. A transceiver may establish a "pair-wise" connection, such as a radio frequency communication channel, an optical communication channel, or any other form of direct communication between the transceivers, with other transceivers in the mesh network. The transceivers of the mesh network may perform a frequency calibration and time synchronization protocol on a pair-wise basis to calculate a frequency offset between the clocks of each pair of transceivers, a time bias between the clocks of each pair of transceivers, and / or a distance between each pair of transceivers (e.g., based on the propagation delay between the transceivers and the speed of the data in the communication medium). In particular, pairs of nodes in the network may send and receive synchronization and calibration signals and calculate the time bias, propagation delay, and frequency offset (i.e., pair-wise edge values) between a pair of nodes according to the time synchronization and frequency calibration protocol described in U.S. patent application Ser. No. 17 / 135,566. Based on these pair-wise edge values, the system can calculate a reference time for the mesh network (to synchronize the clocks of each transceiver to a common time) and calculate the relative position of each transceiver in the mesh network according to the self-location protocol described in U.S. patent application Ser. No. 17 / 080,729.
[0029]
[0033] The system may generate or access an abstraction (i.e., a network graph) of the mesh network based on these pair-wise data to track the performance of the mesh network. The system may access a network graph that includes a set of nodes, where each node represents a transceiver of the mesh network, and a set of edges, where each edge represents a connection between a pair of nodes of sufficient quality (e.g., signal-to-noise ratio) to obtain pair-wise data for the pair of nodes. Thus, the system may access a network graph that defines a connected graph. However, the system may access a network graph that is not a maximally connected (i.e., complete) graph due to low signal-to-noise ratio (hereinafter "SNR") caused by environmental factors or physical dispersion of the nodes. For example, a mesh network may include a set of RF transceivers that are spread over a large geographic area or an area with physical obstructions. Thus, various pairs of transceivers of the mesh network may not be able to perform frequency offset calibration and time synchronization protocols due to insufficient SNR for transmission between a pair of transceivers, and thus the network graph does not include edges between these transceivers.
[0030]
[0034] Thus, in block S110, the system can access a network graph that includes a set of nodes, where each node in the set of nodes represents a transceiver of the network, and a set of edges, where each edge in the set of edges connects a pair of nodes in the set of nodes and represents a communication channel between a pair of transceivers of the network of transceivers represented by the pair of nodes, the communication channel being characterized by a signal-to-noise ratio greater than a threshold signal-to-noise ratio.
[0031]
[0035] Additionally, the system may access and / or maintain a network state based on a network graph to characterize the state of transceivers of the mesh network and connections therebetween. More specifically, the network state includes edge values associated with each edge of the network graph and / or node values associated with each node of the network graph that respectively represent aspects of the communication channel represented by the edge and / or aspects of the transceiver represented by the node. Thus, in block S120, the system may access a network state that includes a set of edge values for the set of edges and a set of node values for the set of nodes.
[0032]
[0036] In one implementation, in addition to accessing a current network state of the mesh network represented by the network graph, the system may access a time series of the network state in block S120. More specifically, the system may access a network state that includes a time series of edge values for each edge of a set of edges and / or a time series of node values for each node of a set of nodes. Thus, the system may identify trends in edge and node values that characterize the state of the network.
[0033]
[0037] In another implementation, the system may access a set of edge properties and / or a set of node properties that represent static properties of the node that do not change. For example, the system may access a set of node properties that include the hardware type of the transceiver represented by the node. In another example, the system may access a set of edge properties that include a predefined line-of-sight distance between two static transceivers and / or a predefined frequency of the communication channel represented by the edge.
[0034]
[0038] In another implementation, where the set of nodes of the network graph includes both transmitter nodes and transceiver nodes, the system may have access to a network state that includes a set of transceiver-transceiver edge values for each edge between the transceiver nodes of the network graph and a set of transmitter-transceiver edge values for each edge between the transmitter nodes and the transceiver nodes of the network graph.
[0035] 3.1 Synchronization, calibration and ranging signals
[0039] In general, the system can access or generate network states based on synchronization, calibration and ranging signals transmitted between nodes of the network or between transmitters (e.g., user equipment, asset tags) and nodes of the network. More specifically, these synchronization, calibration and / or ranging signals may include orthogonal frequency division multiplexed signals (comprising a set of subcarrier signals) or frequency hopping signals (comprising a set of time division carrier signals), thereby enabling spread spectrum precision timing of these signals by the nodes of the network.
[0036] 3.2 Relative Time Bias
[0040] In general, the system can access reported pair-wise time biases between transceivers (e.g., from transceivers performing a time synchronization process) and reported pair-wise frequency offsets (e.g., from transceivers performing a frequency offset calibration process) from the network state to calculate a reference time for a mesh network of transceivers. More specifically, the system can generate and maintain an abstraction of a reference clock that defines a reference clock frequency and a reference time (e.g., an initial time from which subsequent times can be measured). To build this abstraction, the system can execute method S100 to select the most accurate clock among the transceivers as the master clock for the mesh network. Alternatively, the system can calculate a weighted average of the nominal clock frequencies and nominal reference times tracked by each transceiver of the set of verified transceivers and verified communication channels of the mesh network. The system can weight each nominal clock frequency and / or reference time corresponding to a transceiver based on a history of diagnostic scores generated for that transceiver. For example, the system may weight the nominal clock frequency and / or the nominal reference time for the transceiver based on a moving average, which may be a time-weighted moving average or a windowed moving average.
[0037]
[0041] In one implementation in which the system generates the reference clock based on an unweighted average of the transceiver clocks, upon generating the reference clock, the system may calculate the time bias (i.e., relative time bias) of each transceiver relative to the reference clock and store this value as a node value associated with the node representing the transceiver. Thus, in addition to representing the condition at each node, the set of node values may also represent the node's time bias relative to the reference clock, which may indicate poor performance of the node relative to other nodes in the network.
[0038]
[0042] In another implementation, the system can test the nominal clock frequency and nominal reference time from each transceiver in the mesh network and select the nominal clock frequency and nominal reference time that minimizes diagnostic errors across the network.
[0039]
[0043] However, the system may establish the reference time and reference clock frequency in any other manner.
[0040] 3.3 Relative Position
[0044] In general, the system can calculate a position for each node relative to a reference position based on pair-wise distances between nodes of a set of edge values of the network graph. More specifically, the system can access position data for one or more transceivers represented by nodes of the network graph to position these transceivers in a reference coordinate system. Having calculated the relative position of one transceiver of the network, the system can access positions of additional transceivers and / or orientation data for the same transceiver to orient the transceiver in the reference coordinate system. The system can then determine the positions of other transceivers in the network based on the calculated pair-wise distances between these transceivers. Thus, the system can access a set of node values that includes a relative position estimate for the transceiver represented by the node, and can compare this relative position estimate to other sources of position data for the transceiver, thereby identifying errors in the relative position estimate that may indicate a fault in the transceiver.
[0041]
[0045] In one implementation, the system can access position and / or orientation data for the transceivers via a secondary location technique implemented in the transceivers. For example, the system can access reference position and / or reference orientation data via a GNSS receiver, via an ultra-wideband location protocol (hereinafter "UWB" location protocol), via a signal strength location protocol, via an angle of arrival location protocol, via a dead-receiver or accelerometer-based location protocol, via magnetometer-based orientation detection, and / or via any other location or orientation protocol. Alternatively, the system can access a reference position database that includes known installation positions and / or orientations of a subset of transceivers to fix the subset of transceivers to a reference coordinate system. The system can then estimate the positions of other transceivers relative to the subset of transceivers.
[0042]
[0046] By accessing a location estimate for each transceiver based on multiple available location technologies, the system can estimate the network location performance at each transceiver and identify impairments at specific transceivers within the network. Thus, the system can access node values for a node that include a relative location estimate for the transceiver represented by the node based on pairwise distances of a set of edge values and a set of location estimates based on other location technologies.
[0043] 3.4 Environment Maps
[0047] In general, the system may also store an environmental map, which is a representation of the physical environment surrounding the mesh network of transceivers. More specifically, the system may store a network graph as a 3D representation of the calculated locations of the transceivers of the mesh network, and overlay a map of the environment, which may include the location and orientation of obstacles, such as physical obstacles or barriers, or anomalies (e.g., in a near-field RF environment), that prevent the transceivers from communicating with each other on the network graph. Additionally, the system may enhance the environmental map based on sensor data retrieved from the mesh network of transceivers, such as temperature data recorded at each node. In this example, the system may estimate the temperature of an area of the environmental map and predict temperature changes and corresponding degradation in the accuracy of pair-wise time biases and / or propagation delays reported by the transceivers in this area.
[0044]
[0048] Additionally, the system can update the environmental map by detecting anomalies in the environment based on errors due to pair-wise connections between transceivers (as opposed to errors due to a specific transceiver).
[0045]
[0049] In one implementation, the system can store an environment map relative to an absolute reference position or orientation, in which case, if one transceiver of a mesh network of transceivers is positioned at a known position relative to the environment map, the system can convert the relative position of each transceiver to an absolute position of the transceiver based on the environment map.
[0046] 3.5 Node Properties
[0050] In general, the system may also store and / or access node characteristics (e.g., fixed node values) in association with the network graph that represent known, non-transient characteristics of the transceiver represented by each node of the network graph, such as, for example, the nominal clock frequency (before correction by the calculated frequency offset of the transceiver), the oscillator type (e.g., quartz, atomic), the type of crystal cut (e.g., AT, SC, BT, IT, FC), the oscillator circuit type (e.g., ATCXO, CDXO, DTCXO, OCXO), the level of temperature or voltage control of the oscillator, the atomic clock type (e.g., cesium, rubidium, hydrogen), the antenna type of the transceiver, and / or any other hardware-related characteristics of the transceiver. Based on the set of node characteristics of each node of the network graph, the system may correlate the particular characteristics of each node with a range of expected behavior of the transceiver represented by the node. The system may then utilize these correlations to predict and / or identify faults in transceivers that exhibit behavior outside of this expected range. More specifically, the system may include a set of edge values, a set of node values and / or a set of edge characteristics in an input vector to the failure prediction model to predict whether current network conditions (and / or a time series of past network conditions) predict failure of any transceiver in the network.
[0047] 3.6 Edge characteristics
[0051] In general, the system may also store and / or access edge characteristics (e.g., fixed edge values) in association with the network graph that represent known, non-transient characteristics of the communication channels represented by each edge of the network graph, such as a known, fixed line-of-sight distance between fixed transceivers associated with the edge, a known, fixed number of line-of-sight obstructions between fixed transceivers associated with the edge, a predefined frequency or frequency range of the communication channel represented by the edge, and / or a medium of the communication channel (e.g., a radio frequency channel, a fiber optic cable communication channel). Based on the set of edge characteristics for each edge of the network graph, the system may correlate the particular edge characteristic with a range of expected performance of the communication channel represented by each edge of the network graph. The system may then utilize these correlations to predict and / or identify impairments of particular communication channels that exhibit performance levels outside of expected ranges. More specifically, the system may include a set of node characteristics in an input vector for the failure prediction model, along with a set of node characteristics, a set of edge values and / or a set of node values to identify whether current network conditions (and / or a time series of past network conditions) predict failure of any transceiver or communication channel in the network (as described further below).
[0048] 3.7 Node Values
[0052] As shown in Figure 5, the system can store a set of node values associated with each node of the network graph, the node representing a transceiver of the mesh network. More specifically, the system can access network state including node values representing transceiver relative position (calculated according to mesh network localization as described in U.S. Patent Application No. 17 / 080,729), transceiver GNSS position, transceiver frequency offset relative to a mesh network reference frequency, transceiver time bias relative to a mesh network reference time, transceiver temperature, transceiver speed, transceiver acceleration, and / or transceiver transducer life. Thus, the system can access network state representing the state of each transceiver of the mesh network.
[0049]
[0053] In one implementation, the system has access to a network state that includes a time series of node values, thereby representing each current node value as well as changes in these node values over time.
[0050] 3.7.1 Relative position of transmitter and receiver
[0054] Generally, the system may perform the method described in U.S. Patent Application No. 17 / 080,729 to locate transceivers relative to one another in a mesh network. More specifically, the system may define a relative coordinate system based on the position and / or orientation of a primary transceiver in the mesh network, and perform the method described in U.S. Patent Application No. 17 / 080,729 to estimate the relative position of each transceiver in the relative coordinate system. Alternatively, the system may have access to network state including the relative positions of the transceivers derived via any method implemented by the transceivers of the mesh network. Thus, the system may estimate the relative position of each transceiver of the mesh network based on pair-wise time bias and propagation delay values.
[0051] 3.7.2 Transmitter / Receiver GNSS Position
[0055] In general, the system can access network state including node values representing the GNSS position of each transceiver of the mesh network. More specifically, each transceiver can include a GNSS receiver capable of calculating the GNSS position of the transceiver. Thus, by including both the relative position and the GNSS position of each transceiver of the mesh network, the system can predict failure of a transceiver of the mesh network based on a large deviation of the relative position from the GNSS position.
[0052] 3.7.3 Transmitter / receiver frequency offset
[0056] In general, the system can access network state that includes node values that represent the frequency offset of a transceiver relative to a reference frequency maintained by the mesh network. More specifically, the system can generate a reference frequency abstraction based on a reference oscillator of the network's primary transceiver or as a trimmed average of oscillator frequencies across the mesh network. Thus, by including the total transceiver frequency offset in addition to the pair-wise frequency offset (associated with the edges) in the network state, the system can better identify transceivers that experience significant frequency drift from the reference frequency or reference frequency abstraction.
[0053] 3.7.4 Transmit / Receive Time Bias
[0057] In general, the system can access a network state that includes node values that represent the time bias of transceivers relative to a reference time maintained by the mesh network. More specifically, the system can generate a reference time abstraction based on a reference clock of a primary transceiver of the network or as a trimmed average of transceiver clocks across the mesh network. Thus, by including the total transceiver time bias in addition to pair-wise time bias (associated with edges) in the network state, the system can better identify transceivers that experience significant clock drift relative to the reference clock or reference clock abstraction.
[0054] 3.8 Edge Values
[0058] As shown in FIG. 4, the system can store a set of edge values associated with each edge of the network graph, where the edge represents a connection or communication channel between transceivers of the mesh network. More specifically, the system can access a network state including edge values, where the edge values represent any pairwise data generated by execution of a frequency offset calibration process and / or a time bias synchronization process by the pair of transceivers represented by the pair of nodes associated with the edge, such as a pairwise frequency offset between the transceivers associated with the pair of nodes, a pairwise time bias between the transceivers associated with the pair of nodes, and a pairwise distance between the transceivers associated with the pair of nodes. The system can also store edge values that represent characteristics of the connection between the transceivers of the network represented by the pair of nodes associated with the edge, such as the SNR of the connection between these transceivers. Additionally or alternatively, the system can store open source band usage information within the operating band of the transceivers of the network in the set of edge values. For example, the system can identify occupied frequency bands and therefore predict levels of interference on the communication channels represented by the edges of the network graph. Additionally, the system can store a time series of these edge characteristics to track these characteristics over time.
[0055]
[0059] As described further below, the system may have access to network state including secondary edge values (e.g., pairwise time bias), pairwise frequency offset (e.g., crystal oscillator frequency offset), pairwise distance and uncertainty measurements for these values; and / or primary edge values such as SNR, multipath profile, and number of physical obstacles. For example, the system may have access to network state including, for each edge of a network graph or some subgraph of the network graph (e.g., a triangular graph); pairwise time bias associated with the edge; time bias uncertainty associated with the edge; pairwise frequency offset associated with the edge; frequency offset uncertainty associated with the edge; and pairwise distance associated with the edge.
[0056] 3.8.1 Pairwise frequency offset calculation
[0060] Generally, given signal reception between a pair of transceivers of a mesh network, the pair of transceivers can perform a frequency offset calibration process that characterizes the relative frequency drift between the clocks of the pair of transceivers. This frequency offset calibration process is detailed in U.S. Patent Application No. 17 / 135,566, which is incorporated by reference in its entirety. As a result of the frequency offset calibration process, each pair of transceivers can calculate the frequency offset between their clocks to within a few ppb. The system can then access the frequency offset for the pair of transceivers and associate this frequency offset data with edges of a network graph that represents the connection between the pair of transceivers. More specifically, the system can access a network state that includes a set of edge values for a set of edges that includes a set of pair-wise frequency offsets of the network of transceivers.
[0057]
[0061] However, the system may access the frequency offset between a pair of transceivers in any other manner.
[0058] 3.8.2 Pairwise Time Bias Calculation
[0062] Generally, given signal reception between a pair of transceivers of a mesh network, the pair of transceivers can perform a time bias synchronization process to characterize the relative time bias between the clocks of the pair of transceivers. This process is detailed in U.S. Patent Application No. 17 / 025,635, which is incorporated by reference in its entirety. As a result of the time bias synchronization process, each pair of transceivers can calculate the time bias between the pair of transceivers to within one nanosecond. The system can then access the time bias for the pair of transceivers and associate the time bias with an edge of a network graph representing the connection between the pair of transceivers. More specifically, the system can access a network state that includes a set of edge values for a set of edge values, the set of edge values including a set of pair-wise time biases of the network of transceivers.
[0059]
[0063] However, the system may have access to the time bias between a pair of transceivers in any other manner.
[0060] 3.8.3 Pairwise Distance Calculation
[0064] Generally, assuming signal reception between a pair of transceivers of a mesh network, the pair of transceivers may also perform the time bias synchronization process criteria described above to characterize the propagation delay between the pair of transceivers. This process is detailed in U.S. Patent Application No. 17 / 025,635, which is incorporated by reference in its entirety. As a result of the time bias synchronization process, each pair of transceivers may calculate the propagation delay between the pair of transceivers to within one nanosecond, and therefore may calculate the distance between the pair of transceivers based on the speed of data communication in the medium between the transceivers (e.g., the speed of light for RF and / or optical transmission). The system may then access this propagation distance for the pair of transceivers and associate this propagation distance with an edge of a network graph that represents the connection between the pair of transceivers. More specifically, the system may access a network state that includes a set of edge values for the set of edges, the set of edge values including a set of pair-wise distances for the set of transceivers.
[0061]
[0065] However, the system may have access to the propagation distance between a pair of transmitters and receivers in any other manner.
[0062] 3.8.4 Timing Uncertainty
[0066] In general, in addition to calculating the pair-wise time bias, the system can access and / or measure the uncertainty of this time bias calculation to provide additional data characterizing the performance of transceivers of the network. More specifically, the system can access network conditions including a set of edge values for a set of edges, the set of edge values including a time bias uncertainty associated with each edge of the set of edges. Thus, the system can identify network conditions that indicate high uncertainty in the pair-wise time bias between a pair of transceivers of the network, and predict and / or identify failures of these transceivers.
[0063]
[0067] In one implementation, the system may have access to network state including measurements of time bias uncertainty, such as the uncertainty due to the sampling frequency of the transceivers, a measurement of the incoming phase variation across a subcarrier signal between the transceivers, a measurement of the incoming phase variation across a continuous synchronization signal of variable carrier frequency, a measurement of a hybrid matched filter peak width, and / or any other measurement of timing uncertainty that may arise when performing a time bias calculation as described in U.S. patent application Ser. No. 17 / 025,635.
[0064]
[0068] In another implementation, the system can access a set of edge values that include pairwise distance uncertainties derived from timing uncertainty measurements. The system can calculate pairwise distance uncertainty measurements based on timing uncertainty measurements because the pairwise propagation delay between the transmitter and receiver (from which the distance between the transmitter and receiver is calculated) is algebraically related to the pairwise time bias between the transmitter and receiver, as described in more detail in U.S. patent application Ser. No. 17 / 025,635.
[0065] 3.8.5 Frequency offset uncertainty
[0069] In general, in addition to calculating pair-wise frequency offsets between transceivers, the system can access and / or measure the uncertainty in this frequency offset calculation to further characterize the performance of the transceivers of the network. More specifically, the system can access a network state including a set of edge values for a set of edges, the set of edge values including a frequency offset uncertainty associated with each edge of the set of edges. Thus, the system can identify network states in which frequency offset variability is increased, and can predict and / or identify transceiver impairments based on the frequency offset uncertainty.
[0066]
[0070] In one implementation, the system can access network state including a measure of frequency offset uncertainty, such as a measure of calibration signal spacing variability for a set of calibration signals transmitted between a pair of nodes, for each edge of the network graph (as described further in U.S. Patent Application Serial No. 17 / 135,566). In one example, the system can access network state including a ratio of non-zero calibration signal spacing deviations to calibration signal spacings equal to zero (i.e., the percentage of calibration signal spacing deviations greater than zero) in a set of consecutive calibration signals. In this example, a low value of this ratio indicates low uncertainty in pair-wise frequency offsets associated with the same edge, while a high value of this ratio indicates high uncertainty in pair-wise frequency offsets associated with the same edge.
[0067]
[0071] In another example, the system may access a network state that includes, for each edge of the network graph, a cumulative measure of calibration signal interval deviation over a series of calibration signal intervals, where a higher cumulative deviation indicates a greater uncertainty in the pair-wise frequency offsets associated with the same edge, while a lower cumulative deviation indicates a lower uncertainty in the pair-wise frequency offsets associated with the same edge.
[0068] 3.8.6 Multipath Profiles
[0072] In general, a transceiver of a network can perform a multipath profile detection method on an inbound synchronization or calibration signal and report a multipath profile for the communication channel represented by the edge. More specifically, the system can access network state that includes a multipath profile associated with each edge of a set of edges. Thus, the system can calculate a level of uncertainty based on the detected multipath components of the signal.
[0069]
[0073] In one implementation, the transceivers of the system and / or network may perform a Multiple Signal Classification (hereinafter "MUSIC") algorithm on inbound signals, as described in U.S. patent application Ser. No. 17 / 511,433. More specifically, a transceiver of the network receives an inbound synchronization signal or an inbound calibration signal (in the form of a frequency hopping spread spectrum signal or an orthogonal frequency division multiplexed signal) from another transceiver or transmitter of the network; generates a received signal vector based on a series of digital samples representing each sub-signal of the inbound synchronization signal or the inbound calibration signal; calculates an autocorrelation matrix of the received signal vector; calculates, for each frequency of the set of frequencies, an eigenvector of the autocorrelation matrix and a corresponding eigenvalue of the autocorrelation matrix; sorts the eigenvectors for each frequency of the set of frequencies based on the corresponding eigenvalues for each frequency of the set of frequencies to identify a noise subspace and a signal subspace of the eigenvectors; evaluates an estimation function over a range of possible arrival times, thereby generating a multipath profile based on the noise subspace of the eigenvectors and the steering vector; identifies peaks of the estimation function as a set of multipath components of the ranging signal, each multipath component in the set of multipath components corresponding to an arrival time of a multipath. This process is described in more detail below.
[0070]
[0074] The system applies the MUSIC algorithm (often used for angle of arrival detection) to TOA calculation and multipath characterization according to the receiver and signal model shown in Figure 2. In Figure 2, each multipath component of a signal is represented by a received TOA τ for i ∈ {1, ..., D}. i Using TIFF0007617273000001.tif5170, where D represents the number of multipath components and k represents the digital samples of the ranging signal; the received signal vector, x(k), is captured for M sub-signals of different frequencies, and The system further implements the MUSIC algorithm based on the steering matrix, A, each describing each multipath component with a TOA τ in terms of a subcarrier signal configuration: TIFF0007617273000003.tif5170TIFF0007617273000004.tif5170, and Δf is the difference between two consecutive frequencies. Based on the receiver and signal model described above: TIFF0007617273000005.tif5170 and TIFF0007617273000006.tif7170 represent signal vectors, and TIFF0007617273000007.tif5170 represents the noise within each sub-signal of the ranging signal.
[0071]
[0001] The system then calculates the autocorrelation matrix: TIFF0007617273000008.tif5170TIFF0007617273000009.tif4170 TIFF0007617273000010.tif4170, and E represents the expectation function that corresponds to the statistical mean of the elements of its input.
[0072]
[0002] The system is R xx , the system calculates the eigenvectors for i ∈ {1, …, M} TIFF0007617273000011.tif5170 and the corresponding fixed value R xx and sort the eigenvectors in descending order of their corresponding eigenvalues. Based on an estimate of the number of multipath signals, the system then xx The eigenspace of the signal subspace TIFF0007617273000012.tif5170 and noise subspace The steering vector a(τ) at the true multipath delay spans the signal subspace and is therefore orthogonal to the eigenvectors in the noise subspace, i.e., for i ∈ {D+1, …, M}, TIFF0007617273000014.tif5170. Therefore, for the discrete range of τ, the MUSIC estimation function, P MU By evaluating (τ), the system can generate a pseudospectrum and identify peaks in this spectrum as the TOAs for each multipath component of the signal, as follows: TIFF0007617273000015.tif12170
[0073]
[0075] In this implementation, the system can derive relative timing, relative signal strength, and a certain number of multipath components, and thus, by including these multipath metrics in a set of edge values of the network state, the system can use the detected multipath severity of a communication channel to predict impairments of transceivers transmitting over this communication channel.
[0074] 3.8.7 Physical Obstructions
[0076] In general, the system can access a set of edge values including the number of line-of-sight obstructions between two nodes based on the environmental map. More specifically, the system can access a network state including the number of line-of-sight obstructions associated with each edge of the set of edges based on the physical map and the location of each node relative to the physical map. Thus, the system can predict failure of one or more transceivers or communication channels between the transceivers based on the number of physical obstructions between the transceivers. In this implementation, the system can include obstructions depicted on the environmental map along the communication channel in the number of obstruction metrics. These obstructions can include walls, windows, floors (for a three-dimensional map), shelves, terrain, and / or any other object known to affect high frequency communications within a frequency band occupied by a communication channel utilized by the network of transceivers.
[0075]
[0077] In one implementation, the system can access a detailed three-dimensional environment map that represents the material and thickness of obstacles between the transceivers. The system can then generate a more accurate prediction as to whether an obstacle is likely to cause failure of time synchronization or frequency calibration between the transceivers.
[0076] 3.8.8 Multipath Prediction
[0078] In general, the system can access a set of edge values including a predicted multipath profile for a communication channel between transceivers represented by the edges. More specifically, the system can access a network state including a predicted multipath profile associated with each edge of the set of edges based on a physical map, a position of each node relative to the physical map, and a signal propagation model. Additionally or alternatively, the system can leverage a historical multipath profile associated with each edge of the set of edges (e.g., for edges between two fixed nodes) to inform the predicted multipath profile. Furthermore, the system can leverage multipath profiles associated with similar edges of the set of edges (e.g., edges that share one node of a pair of nodes associated with each edge) based on an assumption that these similar edges are characterized by similar wireless channels. Thus, the system can better identify anomalies in the communication channel between the nodes by comparing a current multipath profile associated with an edge with a predicted multipath profile for the same edge. The system can further calculate a difference metric between the predicted multipath profile and the current multipath profile, and perform edge scoring based on the difference metric.
[0077]
[0079] In one implementation, for each edge between transceiver nodes of the network graph, the system can generate a predicted multipath profile for the communication link represented by the edge based on a set of historical multipath profiles associated with the edge. Additionally, the system can access a network graph including both a predicted multipath profile and a current multipath profile associated with the communication channel. More specifically, the system can access a network graph including a set of transceiver-transceiver edge values for each edge between transceiver nodes of the network graph, the set transceiver-transceiver edge values including a current multipath profile for the communication link represented by the edge and a predicted multipath profile for the communication link represented by the edge. Thus, in this implementation, the system can generate a predicted multipath profile as a secondary metric based on previously observed multipath profiles associated with the communication link between transceivers of the network.
[0078] 3.8.9 Mobility Classification
[0080] In general, the system can have access to a set of edge values that include mobility classifications that represent levels of mobility of transceivers associated with the communication channel represented by the edge. More specifically, the system can have access to a network state that includes a mobility classification associated with each edge of the set of edges. Thus, the system can have access to a network state that indicates whether any of the transceivers associated with the communication channel are mobile from their current locations.
[0079]
[0081] In one implementation, the system can access a set of edge values that include a mobility classification selected from a group of classifications including mobile, mobile-fixed, and / or fixed, in which the mobile classification indicates that both transceivers associated with the edge may be mobile (i.e., they are not fixed in location), the mobile-fixed classification indicates that at least one transceiver of a pair of transceivers may be mobile, and the fixed classification indicates that both transceivers associated with the edge are fixed in a given location.
[0080] 3.8.10 Multipath Variability
[0082] In general, the system can access a set of edge values including predicted multipath variability for a communication channel between transceivers represented by the edges. More specifically, the system can access network conditions including predicted multipath variability associated with each edge of the set of edges based on a historical set of multipath profiles associated with the edges. Thus, the system can adjust a threshold difference metric for anomaly detection to the expected variability of multipath in a particular communication channel between nodes. For example, a communication channel that spans a street or other space in which moving objects are often present may experience greater multipath profile variability as large objects move through the LOS of the communication channel. In this example, the system can record a set of historical multipath profiles in association with the edges representing the communication channel and calculate a multipath variability metric that characterizes the variability present in the set of historical multipath profiles. The system can then adjust a threshold difference metric (i.e., comparing a current multipath profile to a predicted multipath profile) for the communication channel based on the multipath variability metric.
[0081]
[0083] In one implementation, the system can predict multipath variability based on other edge values, such as a communication medium associated with the edge, a pairwise distance associated with the edge, a number of physical obstacles associated with the edge, a mobility classification associated with the edge, and / or any other edge value associated with the edge, etc. Thus, the system can predict multipath variability of a communication based on a holistic view of the characteristics of the communication channel, as represented by the edge values of the edges associated with the communication channel.
[0082] 4. Diagnostic Scoring
[0084] In one variation of method S100, the system may predict, identify, and / or diagnose faults occurring at particular transceivers of a mesh network and / or along pair-wise connections between transceivers of a mesh network by computing a set of consistency tests. More specifically, the system may perform a series of tests on groups of three connected nodes of the network graph to attribute sources of system-wide error (e.g., localization error and / or time synchronization error) to particular nodes and / or edges of the network graph. The system may then compute a component diagnostic score based on the set of tests, and repeat this process for each group of three connected nodes of the network graph (i.e., a triangular graph of the network graph). Thus, the system may compute a component diagnostic score (or separate component scores for each consistency test applied to the triangular graph) for each node or edge based on the number of groups of three nodes of which the node or edge is a member. The system may then compute a cumulative sum or other cumulative function of the component diagnostic scores associated with each node or edge to compute a cumulative diagnostic score for the node or edge. The system can then analyze these cumulative diagnostic scores to identify high cumulative diagnostic scores, which may indicate a greater contribution of the transceivers or the connections between the transceivers represented by the nodes or edges to the overall network error. Thus, the system can detect failures of specific transceivers and / or communication channels between the transceivers based on the cumulative diagnostic scores for the nodes or edges that exceed a threshold cumulative diagnostic score. Alternatively, the system can identify local maxima of the cumulative diagnostic scores across the nodes and edges included in the network graph to identify root causes of time synchronization, frequency calibration and / or distance calculation errors of the mesh network of transceivers.
[0083] 4.1 Triangular Graph Identification
[0085] In general, to calculate component diagnostic scores for a particular node and / or edge of a network graph, the system may identify a set of (unique) unique triangular graphs in the network graph and calculate component diagnostic scores for the nodes and edges in each identified triangular graph. More specifically, the system may identify the set of triangular graphs based on the network graph in block S130. For example, in a network graph of four fully connected nodes a, b, c, and d, the system may identify four groups of three nodes: a, b, and c; a, b, and d; a, c, and d; and b, c, and d. For network graphs that are not fully connected (e.g., not all transceivers of the network can establish direct connections), only groups of three nodes connected by three edges may be identified.
[0084]
[0086] The system may identify a triangle graph from the network graph by performing a triangle counting algorithm, such as by computing an adjacency matrix representing the network graph, by performing a clustering coefficient algorithm, or by performing any triangle counting algorithm. Thus, by identifying a triangle graph of the network graph, the system may access a subset of network states corresponding to the triangle graph for computing component diagnostic scores for each edge and node of the triangle graph.
[0085] 4.2 Subgraph Identification
[0087] In one variation shown in FIG. 3, instead of or in addition to identifying a set of triangular graphs, the system can identify subgraphs of other topologies (non-triangular subgraphs) associated with each node of the system. In this variation, instead of or in addition to performing a time bias self-consistency test, a frequency offset self-consistency test, and / or a triangular inequality self-consistency test, the system can execute a fault prediction model based on the network state of each identified subgraph of the network graph. More specifically, for each node of the network graph, the system can identify a subgraph of the network graph associated with the node in block S132. Thus, by identifying the subgraph associated with each node of the network graph, the system can reduce the size of the vectors input to the fault prediction model (e.g., by including node and edge values from only a subset of the nodes of the network closely associated with the target node).
[0086]
[0088] In one implementation, the system can identify a subset of nodes within a threshold number of edges from a target node based on the network graph. For example, the system can identify a subset of nodes within two degrees of separation (within two edges) of the target node, and identify all edges between the subset of nodes to identify a subgraph associated with the particular node. Furthermore, the system can identify a subset of nodes within some weighted edge distance from the target node based on an edge value or edge characteristic of each edge extending from the target node. More specifically, the system can identify a subset of nodes within a threshold edge distance of the target node of the network graph, such that the threshold edge distance is weighted by the edge value. For example, the system can calculate the edge distance between the nodes of the network graph weighted by the SNR of each edge, the pairwise distance of each edge, or any of the above-mentioned edge values or edge characteristics of the edges of the network graph. Thus, the system can limit the number of nodes and edges included in the subgraph to those nodes and edges associated with the target node.
[0087]
[0089] In another implementation, the system can input the entire network state of the network graph into a failure prediction model that, when executed by the system, outputs a cumulative diagnostic score for each node and / or edge of the network graph. Thus, in this implementation, the system does not identify any subgraphs of any or any triangular topology to predict failures at specific nodes and / or edges in the network graph, but instead interprets the state of the network as a whole.
[0088] 4.3 Network State Access
[0090] In one implementation, upon identifying the subgraph or triangular graph, the system may access a subset of edge and / or node values associated with the subgraph or triangular graph to calculate component diagnostic scores for the edges and / or nodes associated with the subgraph or triangular graph. More specifically, the system may access a network state of the subgraph including a subset of edge values for each edge of the subgraph and / or a subset of node values for each node of the subgraph at block S122. For example, the system may access a subset of edge values, where each edge of the subgraph includes a pair-wise time bias associated with each edge of the subgraph and a pair-wise frequency offset associated with each edge of the first subgraph. Thus, the system may access edge and / or node values associated with the identified subgraph of the network graph from the overall network state of the mesh network.
[0089] 4.4 Component Scoring
[0091] In general, the system may calculate a component diagnostic score based on a time bias self-consistency test, a frequency offset self-consistency test, a triangular inequality self-consistency test, and / or a fault detection model as performed based on a subset of edge values and / or a subset of node values associated with an identified subgraph (e.g., a triangular graph or other subgraph topology) of the network graph. More specifically, the system may calculate, for each triangular graph of the network graph, in block S140, a component diagnostic score based on: a subset of edge values of the set of edge values, a subset of edge values associated with edges of the triangular graph and a subset of node values of the set of node values; and a subset of node values of the set of node values, a subset of node values associated with nodes of the triangular graph. Alternatively, the system may calculate a component diagnostic score for each identified subgraph of the network graph based on: a subset of edge values of the set of edge values, a subset of edge values associated with edges of the subgraph; and a subset of node values of the set of node values, a subset of node values associated with nodes of the subgraph. Thus, the system can iterate through each triangle graph or subgraph present in the network graph and calculate a component diagnostic score for each edge and / or node contained in the target node of the triangle graph or subgraph.
[0090] 4.4.1 Frequency offset self-consistency test
[0092] In general, the system can perform a frequency offset self-consistency test on a triangular graph in a network graph. More specifically, the system can calculate a frequency offset self-consistency score based on a subset of pair-wise frequency offsets of a set of pair-wise frequency offsets, the subset of frequency offsets associated with edges of the triangular graph. Thus, by calculating a frequency offset self-consistency score for each triangular graph identified in the network graph, the system can directly identify inconsistencies between pair-wise frequency offsets in a network of transceivers.
[0091]
[0093] In one implementation, the system may access a triangular graph; access from the network state pairwise frequency offset values associated with edges of the triangular graph; and calculate a frequency offset self-consistency score equal to the difference between the first pairwise frequency offset and the sum of the second and third pairwise frequency offsets. Assuming precise frequency calibration between the transceivers represented by the triangular graph, the system calculates a frequency offset self-consistency score of zero. However, if one or more of the transceivers represented by the triangular graph experience a frequency calibration failure or experience crystal oscillator frequency drift, then the system calculates a non-zero frequency offset self-consistency score. Thus, the system may correlate a higher value of the frequency offset self-consistency score with a larger error in frequency offset calibration.
[0092]
[0094] Frequency offset self-consistency score ε f To calculate , the system may solve an equation of the form: TIFF0007617273000016.tif6170Δf a、brepresents the pair-wise frequency offset between transceivers a and b relative to a, which is stored on the edge between the nodes representing transceivers a and b. Thus, a group of three transceivers represented by a group of three nodes is perfectly synchronized in frequency, and the system calculates a frequency offset self-consistency score equal to zero. However, small non-zero values of the frequency offset self-consistency score are generally expected for any group of three nodes.
[0093]
[0095] Furthermore, the system is f It is possible to calculate the frequency offset self-consistency score, which is equal to any function of
[0094] 4.4.2 Time Bias Test
[0096] In general, the system can perform a time-biased self-consistency test on a triangular graph identified in the network graph. More specifically, the system can calculate a time-biased self-consistency score based on a subset of pairwise time biases of a set of pairwise time biases, the subset of pairwise biases being associated with edges of the triangular graph. Thus, by calculating a time-biased self-consistency score for each triangular graph identified in the network graph, the system can directly identify inconsistencies between pairwise time bias values of a network of transceivers.
[0095]
[0097] In one implementation, the system may access a triangular graph; access a subset of pairwise time bias values from the network state, the subset of pairwise time bias values associated with edges of the triangular graph; and calculate a time bias self-consistency score equal to the difference between the first pairwise time bias and the sum of the second pairwise time bias and the third pairwise time bias. Assuming precise time synchronization between the transceivers represented by the triangular graph, the system may calculate a time bias self-consistency score of zero. However, if one or more of the transceivers represented by the triangular graph experience clock drift and / or time synchronization failure, then the system may calculate a non-zero time bias self-consistency score. Thus, the system may correlate a higher value of the time bias self-consistency score with a larger error in the time bias synchronization.
[0096]
[0098] Time-biased self-consistency score ε b To calculate , the system may solve an equation of the form: TIFF0007617273000017.tif6170Δβ a、b represents the pair-wise time bias between transceivers a and b with respect to a, which is stored on the edge between the nodes representing transceivers a and b. Thus, if a group of three transceivers represented by a group of three nodes is perfectly synchronized in time, the system will calculate a time-biased self-consistency score equal to zero. However, small non-zero values of the time-biased self-consistency score are generally expected for any group of three nodes.
[0097]
[0099] Furthermore, the system is β We can compute a time-biased self-consistency score that is equal to any function of
[0098] 4.4 Triangle inequality test
[0100] In general, the system may perform a triangle inequality self-consistency test on a triangle graph in the network graph to test the accuracy of pairwise distances between nodes represented by the triangle graph that perform the time-biased synchronization process. More specifically, the system may calculate a triangle inequality score based on a subset of pairwise distances of the set of pairwise distances, the subset of pairwise distances associated with edges of the triangle graph. Thus, by calculating a triangle inequality self-consistency score, the system may identify geometric inconsistencies between pairwise distance values of a network of transceivers and associate the inconsistencies with failures in the time synchronization and / or frequency calibration of these transceivers.
[0099]
[0101] In one implementation, the system can access a triangular graph; access a subset of pairwise distance values from the network state, the subset of pairwise distance values being associated with edges of the triangular graph; and evaluate a triangular inequality to determine whether the distances between each of the transceivers represented by the triangular graph can form a triangle. In one implementation, the system can provide a binary triangular inequality score indicating whether a set of nodes fails a triangular inequality self-consistency test or passes a triangular inequality self-consistency test.
[0100]
[0102] To evaluate trigonometric inequalities, the system can evaluate each of the following inequalities: TIFF0007617273000018.tif20170d ab represents the distance between node a and node b.
[0101]
[0103] Additionally, the system can perform similar geometric comparisons between pairwise distances represented by the current network graph and known distances between transceivers in the environment map. For example, if the distance between two transceivers is known, the system can compare the calculated distance between these two transceivers based on various groups of nodes representing other transceivers to assess the accuracy of the transceiver represented by a group of nodes.
[0102]
[0104] In one implementation, instead of computing a binary triangle inequality self-consistency score, the system can compute a triangle inequality score based on the difference between the sum of the two shorter pairwise distances and the longest pairwise distance. Thus, in this alternative implementation, the system can output a continuous triangle inequality self-consistency score that represents the degree to which an edge in the triangular graph fails the triangle inequality self-consistency test.
[0103]
[0105] In another implementation, the system can perform diagnostic scoring based on a triangle inequality test on a triangle graph in a network graph including transmitter nodes, transceiver nodes, transmitter-transmitter edges, and transceiver-transmitter edges. More specifically, the system can identify a triangle graph in the network graph including: a first node in a set of nodes, the first node representing a first transceiver; a second node in the set of nodes, the second node representing a second transceiver; a third node in the set of nodes, the third node representing a first transmitter; a first transceiver-transmitter edge representing a communication channel between the first transceiver and the second transceiver; a first transmitter-transmitter edge representing a ranging signal transmitted from the first transceiver and received by the first transceiver; and a second transceiver-transmitter edge representing a ranging signal transmitted from the first transmitter and received by the second transceiver. Once the system identifies a triangular graph that includes both the transmitter and the transceiver, the system can access from the network state: a first pair-wise distance between the first transceiver and the second transceiver associated with the first transceiver-transceiver edge; a first pseudo-distance between the first transmitter and the first transceiver associated with the first transmitter-transceiver edge; and a second pseudo-distance between the first transmitter and the second transceiver associated with the second transceiver-transceiver edge. Thus, the system can calculate a triangular inequality based on the pseudo-distances between the first transceiver and the second transceiver and the transmitter, instead of the range between the transceivers as described above. More specifically, the system can calculate a component diagnostic score based on the set of edge values by calculating a triangular inequality based on the first pair-wise distance, the first pseudo-distance, and the second pseudo-distance; and calculating a component diagnostic score based on the triangular inequality.
[0104] 4.5 Cumulative Diagnostic Scoring
[0106] In general, since the system evaluates each of the above self-consistency tests on a triangular graph (as opposed to a single node), any component self-consistency score calculated for a triangular graph is equally relevant to the three nodes and three edges contained in the triangular graph. To calculate individual scores for a target node (or edge) such that the system can identify failures of individual transceivers or communication channels in the mesh network, the system can calculate a cumulative diagnostic score based on multiple component diagnostic scores calculated for the triangular graph of which the target node is a member.
[0105]
[0107] For example, in a set of four fully connected nodes a, b, c, and d, the system may identify four triangular graphs: a, b, and c; a, b, and d; a, c, and d; and b, c, and d. Thus, to calculate a cumulative diagnostic score for node a, the system may combine the component diagnostic scores calculated for the triangular graphs: a, b, and c; a, b, and d; and a, c, and d. Thus, a cumulative diagnostic score may be calculated that is a combination of the component diagnostic scores calculated for each unique triangular graph of which the target node and / or target edge is a member.
[0106] 4.5.1 Node Scoring
[0108] In one implementation, upon performing the frequency offset self-consistency test, the time bias self-consistency test, and / or the triangle inequality test on the triangular graph of the network graph, the system may combine the calculated frequency offset self-consistency score, the calculated time bias self-consistency score, and / or the calculated triangle inequality self-consistency score to calculate a component diagnostic score representative of the error due to the target triangular graph, and store the component diagnostic score in association with each of the three nodes of the triangular graph. More specifically, for each unique triangular graph of the network graph, and for each node of each unique triangular graph, the system may update a cumulative diagnostic score for the node based on the time bias self-consistency score, the frequency offset self-consistency score, and / or the triangle inequality self-consistency score in block S150.
[0107]
[0109] As the system performs a frequency offset self-consistency test, a time bias self-consistency test, and / or a triangle inequality test for each triangle graph of the network graph, the system may combine the calculated component diagnostic scores to calculate a cumulative diagnostic score for each node by adding (or otherwise combining) the successively calculated component diagnostic scores for each triangle graph of which the node is a member. Thus, by repeatedly testing nodes of the network graph that are members of multiple triangle graphs, the system calculates a higher cumulative diagnostic score for nodes that represent transceivers that cause more errors in the mesh network.
[0108]
[0110] In one implementation, the system may calculate multiple sets of component diagnostic scores and cumulative diagnostic scores, with each set of scores corresponding to a different self-consistency test. For example, the system may calculate a frequency offset cumulative diagnostic score, a time bias cumulative diagnostic score, and a triangle inequality cumulative diagnostic score. By calculating separate diagnostic scores, the system may partition the cause of a detected error to a particular type of process that was not performed properly in each transceiver represented by each node.
[0109]
[0111] In another implementation, the system may calculate the cumulative diagnostic score as a normalized sum of the node's component diagnostic scores. More specifically, the system may calculate the cumulative diagnostic score for the target node based on the average of the component diagnostic scores calculated for the target node or other measure of central tendency. Thus, the system calculates the cumulative diagnostic score independent of the number of triangle graphs of which the target node is a member, thereby preventing nodes with many connections in the mesh network from receiving artificially high cumulative diagnostic scores.
[0110] 4.5.2 Edge Scoring
[0112] In one implementation, upon performing the frequency offset self-consistency test, the time bias self-consistency test, and / or the triangle inequality test on the target triangle graph of the network graph, the system may combine the calculated frequency offset self-consistency score, the calculated time bias self-consistency score, and / or the calculated triangle inequality self-consistency score to calculate a component diagnostic score representative of errors due to the target triangle graph, and store the component diagnostic score in association with each of the three edges of the triangle graph. More specifically, for each unique triangle graph of the network graph and for each edge of each unique triangle graph, the system may update a cumulative diagnostic score for the edge based on the time bias self-consistency score, the frequency offset self-consistency score, and / or the triangle inequality self-consistency score in block S152.
[0111]
[0113] As the system performs the frequency offset self-consistency test, the time bias self-consistency test, and / or the triangle inequality test on each triangle graph of the network graph, the system may combine the calculated component diagnostic scores to calculate a cumulative diagnostic score for each edge by adding (or otherwise combining) the successively calculated component diagnostic scores for each triangle graph of which the edge is a member. Thus, by repeatedly testing edges of the network graph that are members of multiple triangle graphs, the system calculates higher cumulative diagnostic scores for edges that represent communication channels that cause more errors in the mesh network.
[0112]
[0114] In one implementation, the system can calculate multiple component diagnostic scores and a cumulative diagnostic score, each cumulative diagnostic score corresponding to a different self-consistency test. For example, the system can calculate a frequency offset cumulative diagnostic score, a time bias cumulative diagnostic score, and a distance-based cumulative diagnostic score. By calculating separate diagnostic scores, the system can distinguish the cause of a detected error to a particular type of signal being transmitted by a transceiver over a communication channel represented by a target edge.
[0113]
[0115] In another implementation, the system can calculate the cumulative diagnostic score as a normalized sum of the component diagnostic scores of the edges. More specifically, the system can calculate the cumulative diagnostic score for the target edge based on the average of the component diagnostic scores calculated for the target edge or other measures of central tendency. Thus, the system calculates a cumulative diagnostic score that is independent of the number of triangular graphs of which the target edge is a member, thereby preventing edges with many neighboring edges of the mesh network from receiving artificially high cumulative diagnostic scores.
[0114] 4.5 Fault Prediction Model
[0116] In general, the system can execute a failure prediction model on a subgraph of a network graph associated with a target node (or a target edge) in block S170. More specifically, upon identifying a target subgraph associated with a target node (or edge) and accessing network states associated with nodes and edges in the subgraph, the system can: generate an input vector including a subset of edge values associated with the target subgraph and a subset of node values associated with the target subgraph; and calculate a failure probability of a transceiver represented by the target node within a threshold time period based on the input vector and the failure prediction model. Thus, the system can execute a machine learning model to predict failure of a target transceiver (or a target communication channel) based on a target network state of a target subgraph associated with the target transceiver (or a target communication channel).
[0115]
[0117] The system may implement a failure prediction model, which is a statistical model that correlates the cumulative diagnostic scores of a node or edge with failures of the associated transceiver or communication channel. Alternatively, the system implements a failure prediction model, which is a statistical model that correlates network conditions represented by a subgraph of the network graph with failures of the transceiver or communication channel. Thus, the system can correlate any metric or set of metrics associated with a set of nodes and edges with failure events in the mesh network via the failure prediction model.
[0116]
[0118] By predicting failures prior to detectable failures (e.g., via the self-consistency tests described above), the system can take preemptive corrective actions to maintain mesh network performance. For example, an increase in the temperature surrounding a transceiver of a mesh network coincident with a small increase in the frequency offset self-consistency score associated with the transceiver may predict a future failure of the transceiver. In this example, the system can detect those otherwise unobservable signs of failure via the failure prediction model and take corrective actions before the performance of the mesh network degrades as a result of the impending failure of the transceiver.
[0117]
[0119] In one implementation, the system may generate an input vector for the target node that includes the target node's current time-biased self-consistency score, the target node's current frequency-offset self-consistency score, and / or the target node's current trigonometric inequality self-consistency score. Thus, the system may predict future failures defined by these self-consistency scores based on the current values of these self-consistency scores. Additionally, the system may generate an input vector for the target node that includes a time series of the target node's time-biased self-consistency score, a time series of the target node's frequency-offset self-consistency score, and / or a time series of the target node's trigonometric inequality self-consistency score.
[0118]
[0120] In another implementation, the system may generate an input vector that includes a set of node values or a time series of node values associated with the target node and / or any other nodes included in the target subgraph associated with the target node. For example, the system may generate an input vector that includes a time series of temperature values at each transceiver represented in the subgraph, a time series of inertial data at each transceiver represented in the subgraph, and a time series of cumulative diagnostic scores for each transceiver represented in the subgraph. Thus, the system may utilize data from transceivers associated with the target transceiver to predict failure of the target transceiver before the target transceiver fails.
[0119]
[0121] In yet another implementation, the system may generate an input vector that includes a set of edge values or a time series of edge values associated with the edges connected to the target node and / or any other edges included in a target subgraph associated with the target node. For example, the system may generate an input vector that includes a multipath profile for each edge of the target subgraph, a number of physical obstacles for each edge of the target subgraph, a pairwise frequency offset for each edge of the target subgraph, an uncertainty in the pairwise frequency offset for each edge of the target subgraph, a pairwise time bias for each edge of the target subgraph, an uncertainty in the pairwise time bias for each edge of the target subgraph, a pairwise distance for each edge of the target subgraph, and / or an uncertainty in the pairwise distance for each edge of the target subgraph. Thus, the system may utilize data regarding the communication channel between the transceivers associated with the target transceiver to predict a failure of the target transceiver before a failure occurs at the target transceiver.
[0120]
[0122] In one example, the system can generate an input vector to the impairment prediction model that includes a multipath profile as edge values of a set of edge values associated with each edge of the target subgraph. In this example, the system can generate an input vector that includes a full MUJIC pseudospectrum that represents the multipath characteristics associated with the edge. Alternatively, the input vector can include a set of peak delays and set peak amplitudes of the MUSIC pseudospectrum, or a summary derived from the MUSIC pseudospectrum, such as a Rice K-factor calculated based on the peaks of the MUSIC pseudospectrum. Thus, the system can predict, via the impairment prediction model, an impairment of a communication channel between two nodes based on the detection of a strong multipath signal between the two nodes.
[0121]
[0123] In another example, the system can generate an input vector to an impairment prediction model that includes the current multipath profile and the predicted multipath profile as edge values of a set of edge values associated with each edge of the target subgraph. In this example, the system can generate an input vector that represents both the current multipath profile and the predicted multipath profile in the same format (e.g., both profiles are represented as full MUSIC pseudospectrums, both profiles are represented via the same summary metric). In this example, the system can correlate differences between the current and predicted multipath profiles with transceiver and / or communication channel impairments via the impairment prediction model.
[0122]
[0124] In yet another implementation, the system may generate an input vector to the fault prediction model that includes a set of node characteristics and / or a set of edge characteristics associated with the nodes and / or edges of the target subgraph. The node characteristics and / or edge characteristics are non-transient characteristics of the transceivers and / or communication channels represented by the nodes and / or edges of the subgraph, although the system may still include these node characteristics and / or edge characteristics to provide additional context to the fault prediction model.
[0123]
[0125] In general, the system may execute a failure prediction model implemented as a machine learning model, such as an artificial recurrent neural network or a long short-term memory neural network, that receives as input an input vector generated by the system and outputs a probability of failure if a particular target node or each node of the network graph is in the network graph. More specifically, the system may execute the failure prediction model to generate a probability of failure for a target node or to generate an output vector that includes the probability of failure for each node of the network graph.
[0124]
[0126] In one implementation, the system may run a failure prediction model on a target subgraph of the network graph associated with the target node; and output a probability of failure of the target node. Thus, in this implementation, the system runs the failure prediction model once for each node in the network graph. Alternatively, the system may generate an input vector for the network graph (e.g., the entire network graph or a subgraph of some of the targets in the network graph); run the failure prediction model on the input vector; and generate an output vector that includes a probability of failure for each node in the network graph.
[0125]
[0127] Although the failure prediction model is described above with respect to the target node, the system can also execute the failure prediction model based on the target edge and the target subgraph associated with the target edge. In this implementation, the system executes the failure prevention model and outputs the probability of a communication anomaly evolving along the communication channel represented by the target edge within a threshold time.
[0126] 4.6.1 Training
[0128] In general, the system or collaborative computer system can train a fault prediction model based on training examples that include historical network graphs, as well as historical edge and node values associated with the historical network graphs captured during normal operation of a range of workloads / use cases of the mesh network. Each training example captures a time and may include the topology of the historical network graph, a current set of edge values for the historical network graph, a current set of node values for the historical network graph, a time series of edge values prior to a current state of the historical network graph, and / or a time series of node values prior to a current state of the historical network graph. Thus, each training example represents a snapshot of the historical mesh network at a particular time and includes data available to the system at that particular time. Additionally, each training example is labeled according to the state of one or more transceivers of the historical mesh network (either "fault" or "continues to operate") after a threshold time for fault detection (e.g., 10 seconds, 1 minute, 5 minutes). For example, a training example may include the state of each node of the historical mesh network 5 minutes after the current time of the training example and may include a time series of edge values and a time series of node values prior to a particular time.
[0127]
[0129] In general, the system can label training examples based on historical data as faulty for a particular transceiver in a historical mesh network in response to the cumulative diagnostic score for the particular transceiver exceeding a threshold score. Alternatively, the system can label a transceiver fault via any other means. Thus, the system can distinguish training examples of transceiver failures from training examples that show proper functioning of the transceiver of the mesh network.
[0128]
[0130] In one implementation, the system can generate a large number of training examples from the historical data set by generating a training example for each time step of a time series of node values and edge values associated with the associated historical network graph. For example, the system can generate a training example for each second interval of one of the historical data sets associated with the historical network graph. Thus, the system can extract a large number of training examples based on a limited number of historical data sets for the mesh network.
[0129]
[0131] Upon generating a set of training examples, the system can then execute a supervised learning algorithm to train a fault prediction model based on the training examples. Thus, the system can train an accurate fault prediction model based on historical data from previous mesh network implementations.
[0130]
[0132] Although the generation of training examples is described above with respect to the states of particular nodes of the historical network graph, the system can also generate training examples labeled according to failures of the communication channels represented by the edges of the historical network graph. Thus, the system can train a failure prediction model to calculate the probability of a communication anomaly evolving along the communication channel represented by the edge within a threshold time.
[0131] 5. Correction Trigger
[0133] Upon calculating the cumulative diagnostic scores or probabilities of failure for the nodes of the network, the system can trigger corrective actions at transceivers of the mesh network based on the cumulative diagnostic scores or probabilities of failure of the nodes. More specifically, the system can trigger a corrective action at a target transceiver represented by the target node, block S160, in response to detecting a cumulative diagnostic score for the target node that exceeds a threshold cumulative diagnostic score. Additionally or alternatively, the system can trigger a first corrective action at a first communication channel represented by the first edge, block S162, in response to detecting a first cumulative diagnostic score for a first edge that exceeds a first threshold cumulative diagnostic score. In another alternative implementation, the system can trigger a corrective action at a target transceiver, block S164, in response to detecting a probability of failure of the target node representing the target transceiver that exceeds a threshold likelihood. In yet another alternative implementation, the system can trigger a corrective action at a target communication channel, in response to detecting a probability of failure of a target edge representing the target communication channel that exceeds a threshold likelihood. Thus, the system can trigger corrective actions in transceivers and / or communication channels between transceivers based on either the current cumulative diagnostic score of a node or edge, or the probability of failure of a node or edge.
[0132] 5.1.1 Threshold Trigger
[0134] In one implementation, the system can: establish a threshold diagnostic score; and in response to a cumulative diagnostic score of a node exceeding the threshold diagnostic score, cause a transceiver associated with the node to recalibrate (i.e., perform a frequency offset calibration process) or resynchronize (i.e., perform a time synchronization process) with other nodes of the mesh network. In one implementation, in response to a cumulative diagnostic score of an edge exceeding the threshold diagnostic score, the system can cause a transceiver represented by a node associated with an edge to recalibrate and / or resynchronize.
[0133]
[0135] In another implementation, the system may establish separate diagnostic score thresholds for each separate type of cumulative diagnostic score calculated by the system. For example, the system may calculate a frequency offset cumulative diagnostic score, a time bias cumulative diagnostic score, and a triangle inequality cumulative diagnostic score, and store each of these in association with each node and edge of the network. The system may then compare each type of cumulative diagnostic score to a corresponding threshold diagnostic score. The system may then trigger a particular action by the transceiver based on the type of cumulative diagnostic score that exceeds the threshold diagnostic score.
[0134] 5.1.2 Proportional triggering
[0136] In another implementation, instead of triggering corrective actions based on a threshold, the system can: identify specific nodes and / or edges characterized by high cumulative diagnostic scores or high probability of failure; and trigger corrective actions to improve the functionality of transceivers or communication channels represented by the nodes or edges. In one implementation, the system can rank the nodes and / or edges from those with the highest cumulative diagnostic scores or probability of failure to those with the lowest cumulative diagnostic scores or probability of failure. The system can then trigger corrective actions at a threshold number or percentage of the highest ranked transceivers represented by these nodes and / or associated with these edges to prevent or recover from failures identified in these transceivers. For example, the system can trigger corrective actions in five transceivers represented by five nodes characterized by the highest cumulative diagnostic scores or probability of failure. In another example, the system can trigger corrective actions at the 95th percentile of transceivers with the highest cumulative diagnostic scores and / or probability of failure in the mesh network.
[0135] 5.1.3 Maximum detection
[0137] In yet another implementation, the system can: identify nodes and / or edges characterized by a cumulative diagnostic score or probability of failure that represents a local maximum in the network graph. More specifically, the system can trigger corrective action at a transceiver represented by a node at the local maximum in response to detecting a local maximum cumulative diagnostic score in the network graph. Alternatively, the system can trigger corrective action at a transceiver represented by a node at the local maximum in response to detecting a local maximum of failure in the network graph. Similarly, in response to detecting a local maximum in a cumulative diagnostic score or probability of failure on an edge in the network graph, the system can trigger corrective action at a transceiver represented by a node connected via the identified edge.
[0136] 5.2 Correction Operation
[0138] Generally, upon identification and / or failure of a transceiver or communication channel in a mesh network, the system can trigger a corrective action or set of corrective actions to return the transceiver and / or communication channel identified as failed or predicted to fail to normal operation. More specifically, the system can perform automatic corrective actions such as frequency recalibration or time resynchronization on a target transceiver or set of target transceivers (e.g., a set of target transceivers associated with a target communication channel). Alternatively, the system can prompt an operator of the mesh network of transceivers to perform a specific hardware replacement on a target transceiver of the mesh network. Thus, the system can remedy the failure or predicted failure to return the mesh network to normal operation.
[0137] 5.2.1 Frequency recalibration
[0139] In general, the system may trigger a frequency recalibration of a target transceiver or set of target transceivers in response to identifying or predicting a failure of the transceiver or communication channel. In one implementation, the system may trigger a retuning (i.e., a frequency recalibration) of a target transceiver represented by a target node in response to detecting a cumulative diagnostic score for the target node that exceeds a threshold cumulative diagnostic score. Alternatively, the system may trigger a retuning of a target transceiver in response to calculating a probability of failure of the target transceiver that exceeds a threshold probability of failure.
[0138]
[0140] In another implementation, the system calculates a frequency offset accumulated diagnostic score for the node; and in response to the frequency offset accumulated diagnostic score exceeding a threshold frequency offset diagnostic score, the system may trigger the transceiver represented by the node to perform a frequency offset calibration process. Due to the relationship between the frequency offset calibration process and the time bias synchronization process, the system may evaluate the node and / or edge based on the frequency offset diagnostic score before evaluating the node based on the time bias diagnostic score or the triangle inequality diagnostic score. Because the time bias synchronization process may occur after accurate frequency offset calibration has occurred between the two transceivers, the system may prioritize errors detected in the frequency offset between the nodes.
[0139]
[0141] In yet another implementation, in response to detecting or predicting a failure of a transceiver of the mesh network, the system can trigger a frequency recalibration between the transceivers in the mesh network and each connected transceiver. Alternatively, in response to detecting or predicting a failure of a communication channel of the mesh network, the system can trigger a pair of transceivers associated with the communication channel to perform a frequency recalibration.
[0140] 5.2.2 Time Bias Resync
[0142] In general, the system may trigger a time-biased resynchronization of a target transceiver or set of target transceivers in response to detecting or predicting failure of a transceiver or communication channel of the mesh network. In one implementation, the system may trigger a resynchronization of a target transceiver represented by a target node in response to detecting a cumulative diagnostic score for the target node that exceeds a threshold cumulative diagnostic score. Alternatively, the system may trigger a resynchronization of a target transceiver of the mesh network in response to predicting failure of the target transceiver.
[0141]
[0143] In another implementation, the system can calculate a time-biased cumulative diagnostic score for the nodes and / or edges of the network graph; and in response to the time-biased cumulative diagnostic score exceeding a threshold time-biased diagnostic score, the system can trigger the transceiver represented by the node to perform a time-biased resynchronization process. Furthermore, the system can calculate a triangular inequality cumulative diagnostic score for the nodes and / or edges of the network graph; and in response to the triangular inequality cumulative diagnostic score exceeding a threshold triangular inequality diagnostic score, the system can trigger the transceiver represented by the node to perform a time-biased synchronization process. Because the time-biased synchronization process provides both the time bias between two transceivers and the distance between the transceivers, the system can trigger the transceiver to resynchronize in response to an error in the distance between the nodes or the time bias between the nodes.
[0142]
[0144] In yet another implementation, the system may trigger a time bias resynchronization between the transceiver and each connected transceiver of the mesh network (on a pair-wise basis) in response to detecting or predicting a failure of a transceiver of the mesh network. Alternatively, in response to detecting or predicting a failure of a communication channel of the mesh network, the system may trigger a time bias resynchronization of a pair of transceivers associated with the communication channel.
[0143] 5.2.3 Hardware Reset or Replacement
[0145] Generally, in response to detecting repeated failures of a transceiver or communication channel of a mesh network, the system may prompt an operator of the mesh network to perform a hardware reset or replacement in the transceiver. For example, the system may prompt an operator of the mesh network to replace the transceiver's timing circuitry or the transceiver's crystal oscillator to improve the transceiver's performance in accurately calculating time bias, frequency offset, and distance to other transceivers in the mesh network.
[0144]
[0146] In one implementation, the system can trigger a hardware replacement of a target transceiver represented by the target node in response to detecting a cumulative diagnostic score for the target node that exceeds a threshold cumulative diagnostic score. In another implementation, the system can track diagnostic scores for a node over multiple iterations of method S100; and in response to computing a moving average diagnostic score greater than a threshold moving average diagnostic score for the node, the system can trigger an operator of the mesh network to replace or physically repair the transceiver corresponding to the node. The system can provide information to the operator regarding the type of error that triggered the trigger.
[0145] 5.2.4 Anomaly Detection
[0147] Generally, in response to detecting or predicting a failure of a mesh network communication channel, the system can detect anomalies in the near-field environment and prompt an operator of the mesh network to investigate the anomaly. For example, the system can prompt the operator to remove large metal objects or other obstructions in the vicinity of any transceiver associated with the failed communication channel. Thus, the system can assist the operator of the mesh network in identifying potential causes of the failure of the mesh network communication channel.
[0146]
[0148] In one implementation, the system can track diagnostic scores for an edge over multiple iterations of method S100; and, in response to calculating a moving average diagnostic score for an edge that is greater than a threshold moving average diagnostic score, the system can identify anomalies in the near-field RF environment that may cause recurring errors in the connection between the two transceivers represented by the edge.
[0147] 6. Transmitter-based node characteristic modification
[0149] In one variation of method S100, the system can access network state that also includes data based on signals transmitted from transmitters (e.g., user devices, asset tags, or any other devices transmitting to the network). More specifically, the system can access network state that includes a set of edges representing communication channels between the transceivers and the transmitters, and a set of nodes representing the transmitters. In this variation, the system can diagnose failures of transceivers of the network based on the localization errors made by the system for these transmitters and various characteristics of the communication channels between the transmitters and the transceivers. Thus, by including additional diagnostic information, the system can more accurately predict failures of nodes of the network.
[0148]
[0150] In this variant, the transmitter is not limited to a transmitting function (e.g., it may receive radio frequency signals), but is distinguished from the transceivers of a mesh network in that the transceiver transmits ranging signals that are received by the set of transceivers, while the transceiver receives these ranging signals in addition to synchronization and calibration signals transmitted by other transceivers of the set of transceivers.
[0149] 6.1 Transmitter Node Value
[0151] As shown in FIG. 6, the system can store a set of transmitter node values associated with each transmitter node of the network graph, where the transmitter node represents a transmitter of the mesh network. More specifically, the system can access network state that includes transmitter node values, where the transmitter node values represent: transmitter relative position (calculated by the system via TOA or TDOA multilateration by a set of transceivers based on a ranging signal transmitter by the transmitter), and / or transmitter GNSS position. Thus, the system can access network state that represents the state of each transmitter of the mesh network to correlate the transmitter values assigned to each transmitter node by the system or GNSS with system faults (e.g., by estimating the accuracy of the transmitter relative position determined by the network based on a comparison with the transmitter's GNSS position).
[0150]
[0152] In one implementation, the system has access to a network state that includes a time series of transmitter node values, thereby allowing the system to represent each current transmitter node value as well as changes in these transmitter node values over time.
[0151] 6.1.1 Transmitter relative position
[0153] In general, the system can access network state including transmitter relative positions associated with a set of transmitter nodes, thereby representing a system estimated position of the transmitters. More specifically, the system can execute a TOA or TDOA multilateration algorithm to estimate the position of each transmitter in the set of transmitters based on ranging signals transmitted by the transmitters and received by a subset of the set of transceivers. The system can then estimate the relative position of the transmitters (i.e., with respect to the mesh network) based on the estimated relative positions of the set of transceivers and the TOA or TDOA of the ranging signals at the set of transceivers (or a subset of the set of transceivers). Thus, the system can accurately estimate the position of each transmitter when the set of transceivers is functioning properly (e.g., within 30 centimeters). However, when one or more of the transceivers is not functioning properly, the accuracy of the relative position calculated by the system may be degraded compared to the GNSS position.
[0152]
[0154] In one implementation, the system can access network state including the transmitter relative position expressed in the relative coordinate system of the mesh network, such that the transmitter relative position can be directly compared to the stored transceiver relative positions associated with the transceiver nodes in the network state.
[0153] 6.1.2 Transmitter GNSS location
[0155] In general, the system may have access to a network state including transmitter GNSS positions associated with a set of transmitter nodes. More specifically, each transmitter operating within the mesh network may include a GNSS chipset configured to estimate the transmitter's position via GNSS, and each transmitter may report this GNSS position to the system. In particular, the system may have access to a network state including a set of transmitter node values including a GNSS position estimate for the transmitter represented by the transmitter node and a relative position estimate for the transmitter represented by the transmitter node. The system may then associate each reported transmitter GNSS position of each transmitter with the transmitter node representing each transmitter. Thus, the system may include a network state including both the GNSS position and the relative position of each transmitter operating within the mesh network, thereby enabling the system to correlate position location inaccuracies by the system with future failures of the transceivers or communication channels of the mesh network.
[0154]
[0156] In one implementation, the system can convert the reported GNSS position for each transmitter operating within the mesh network into the relative coordinate system of the mesh network such that both the relative position and the GNSS position of each transmitter in the mesh network are expressed in the relative coordinate system. Thus, in this implementation, the system can directly calculate the offset between the relative position and the GNSS position of each transmitter in the set of transmitters.
[0155] 6.2 Transmitter-Transmitter Edge Values
[0157] In general, the system can store a set of transmitter-transmitter edge values associated with each edge between a transmitter and a transceiver of a network graph, where the transmitter-transmitter edge represents a connection or communication channel between a transmitter and a transceiver of a mesh network. More specifically, the system can access network state including transmitter-transmitter edge values representing any characteristic of a ranging signal transmitted from a transmitter associated with the transmitter-transmitter edge and received by a transceiver associated with the transmitter-transmitter edge. For example, the system can access network state including an SNR of a ranging signal transmitted from the transmitter to the transceiver, a multipath profile of a ranging signal transmitted from the transmitter to the transceiver, and / or a pseudorange between the transmitter and the transceiver. Additionally, the system can store a time series of these transmitter-transmitter edge values to track these transmitter-transmitter edge values over time.
[0156]
[0158] In one implementation, the system can generate, for each edge between a transmitter node and a transceiver node in the network state, a predicted multipath profile of a current ranging signal represented by the edge based on a set of multipath profiles associated with the edge. Additionally, the system can access a network state including a set of transmitter-transceiver edge values for each edge between transceiver nodes of the network graph, a current multipath profile of the current ranging signal represented by the edge, and a predicted multipath profile of the current ranging signal represented by the edge. Thus, the system can compare the predicted multipath profile and the current multipath profile for the ranging signal between the transmitter and the transceiver operating in the mesh network via the failure detection model.
[0157] 6.3 Transmitter-Transmitter Diagnostic Scoring
[0159] In this variation of method S100, the system may predict, identify, and / or diagnose failures that have occurred at a particular transceiver of the mesh network and / or along pair-wise connections between transceivers of the mesh network by computing a set of consistency tests based on a subgraph of the network graph that includes the transmitter node and the transceiver node, as well as the transmitter-transceiver edges and the transceiver-transceiver edges. More specifically, the system may perform a series of tests on groups of three connected nodes of the network graph, which may include the transmitter or transceiver node and thus the transmitter-transceiver edges and the transceiver-transceiver edges, to attribute sources of system-wide errors (e.g., location errors and / or time synchronization errors) to particular nodes and / or edges of the network graph. The system may then compute a component diagnostic score based on the set of tests, and repeat this process for each group of three connected nodes (either transmitter nodes or transceiver nodes) of the network graph (i.e., each triangular graph of the network graph). Thus, the system can calculate a component diagnostic score (or separate component scores for each consistency test applied to the triangular graph) for each node or edge based on the number of groups of three nodes of which the node or edge is a member. The system can then calculate a cumulative sum or other cumulative function of the component diagnostic scores associated with each node or edge to calculate a cumulative diagnostic score for the node or edge. The system can then analyze these cumulative diagnostic scores to identify high cumulative diagnostic scores, which may indicate a large contribution of the transceiver or the connection between the transceivers represented by the node or edge, respectively, to the error of the overall network of transceivers. Thus, the system can detect failures of a particular transceiver and / or communication channel between the transceivers based on the cumulative diagnostic score for a node or edge that exceeds a threshold cumulative diagnostic score.Alternatively, the system may identify local maxima of cumulative diagnostic scores across nodes and edges in the network graph to identify the root causes of time synchronization, frequency calibration and / or distance calculation errors within a mesh network of transceivers.
[0158]
[0160] Thus, in this variation of method S100, the system may include edges and nodes associated with mesh network transmitters, as well as edges or nodes associated with mesh network transceivers, and the system may correlate data associated with these additional nodes with edges associated with transmitters as well as failures of mesh network transceivers via cumulative diagnostic scoring and / or fault prevention modeling.
[0159] 6.4 Transmitter-Transceiver Fault Prediction Model
[0161] In this variation, the system can execute the failure prediction model on a subgraph of the network graph associated with the target node (or target edge) in block S170, the subgraph of the network graph including the transmitter node and the transceiver-transmitter edge. More specifically, upon identifying a target subgraph associated with the target node (or edge) and accessing network states associated with the nodes and edges (including the transmitter node and the transmitter-transmitter edge) in the subgraph, the system can: generate an input vector including a subset of edge values and transmitter-transmitter edge values associated with the target subgraph and a subset of node values and transmitter node values associated with the target subgraph; and, based on the input vector and the failure prediction model, calculate a probability of failure of the transceiver represented by the target node within a threshold time. Thus, the system can execute a machine learning model to predict failure of the target transceiver (or target communication channel) based on the target network state of the target subgraph associated with the target transceiver (or target communication channel), while also taking into account data associated with transmitters operating in the mesh network.
[0160]
[0162] Generally, in this variation, the system can train and execute the failure prediction model as described above for network conditions that do not include transmitter nodes and transmitter-transmitter edges. More specifically, while the system is performing the subgraph identification for generating the input vector, the system can: identify a subgraph in the network graph that includes transmitter nodes, transceiver nodes, transmitter-transmitter edges, and transceiver-transmitter edges that are indirectly associated with the target node or target edge; generate an input vector to the failure prediction model based on the subgraph; and generate a probability of failure of the target node or target edge based on the input vector and the failure prediction model.
[0161]
[0163] The systems and methods described herein may be embodied and / or implemented at least in part as a machine configured to accept a computer readable medium that stores computer readable instructions. The instructions may be executed by a computer executable component integrated with an application, an applet, a host, a server, a network, a website, a communication service, a communication interface, a hardware / firmware / software element of a user computer or mobile device, a wristband, a smartphone, or any suitable combination thereof. Other systems and methods of embodiments may be embodied or implemented at least in part as a machine configured to accept a computer readable medium that stores computer readable instructions. The instructions may be executed by a computer executable component integrated with a device and a network of the above-mentioned types. The computer readable medium may be stored on any suitable computer readable medium, such as a RAM, a ROM, a flash memory, an EEPROM, an optical device (CD or DVD), a hard drive, a floppy drive, or any suitable device. The computer executable component may be a processor, although any suitable dedicated hardware device may (in addition or alternatively) execute the instructions.
[0162]
[0164] As those skilled in the art will recognize from the above detailed description and from the drawings and claims, modifications and variations can be made to the embodiments of the invention without departing from the scope of the invention, which is defined in the following claims.
Claims
1. Accessing a network graph, the network graph comprising: A set of nodes, a set of transceiver nodes representing a set of transceivers operating in a mesh network of transceivers; a set of transmitter nodes representing a set of transmitters in communication with the mesh network of transceivers; A set of edges, each edge of the set of edges comprising: connecting a pair of said nodes in said set of nodes; a set of edges representing a communication channel between a pair of transceivers of the network of transceivers represented by the pair of nodes or between a transmitter of the set of transmitters and a transceiver of the set of transceivers; identifying a first subgraph of the network graph associated with a first node of the set of nodes, the first node representing a first transceiver; accessing a first network state for the first subgraph including a set of edge values for each edge of the first subgraph; calculating a first probability of failure of the first transceiver within a threshold time period based on a first network state of the first subgraph and a failure prediction model; and in response to detecting that the first probability of failure of the first transceiver exceeds a threshold likelihood, triggering corrective action at the first transceiver.
2. The step of accessing the first network state of the first subgraph comprises: a set of transceiver-transceiver edge values for each edge between transceiver nodes of the first subgraph; and a set of transmitter-transmitter edge values for each edge between a transmitter node and a transceiver node of the first subgraph.
3. 2. The method of claim 1, wherein accessing the first network state of the first subgraph comprises accessing the first network state of the first subgraph comprising a set of transceiver-transceiver edge values for each edge between transceiver nodes of the first subgraph, the set of transceiver-transceiver edge values comprising pair-wise time biases between transceivers associated with the edges.
4. Accessing the first network state for the first subgraph includes accessing the first network state for the first subgraph including a set of transceiver-transceiver edge values for each edge between transceiver nodes of the first subgraph, the set of transceiver-transceiver edge values comprising: a pair-wise time bias between a transceiver associated with the edge; and and a time bias uncertainty of the pairwise time bias.
5. 2. The method of claim 1 , wherein accessing the first network state of the first subgraph comprises accessing the first network state of the first subgraph comprising a set of transceiver-transceiver edge values for each edge between transceiver nodes of the first subgraph, the set transceiver-transceiver edge values comprising pair-wise frequency offsets between transceivers associated with the edges.
6. The step of accessing the first network state of the first subgraph includes accessing the first network state of the first subgraph including a set of transceiver-transceiver edge values for each edge between transceiver nodes of the first subgraph, the transceiver-transceiver edge values being: a pair-wise frequency offset between a transceiver associated with the edge; and and a frequency offset uncertainty of the pair-wise frequency offset.
7. 2. The method of claim 1 , wherein accessing the first network state of the first subgraph comprises accessing the first network state of the first subgraph comprising a set of transceiver-transceiver edge values for each edge between transceiver nodes of the first subgraph, the established transceiver-transceiver edge values comprising pair-wise distances between transceivers associated with the edges.
8. 2. The method of claim 1 , wherein accessing the first network state of the first subgraph comprises accessing the first network state of the first subgraph comprising a set of transceiver-transceiver edge values for each edge between transceiver nodes of the first subgraph, the established transceiver-transceiver edge values comprising a multipath profile of a communication link represented by the edge.
9. and generating, for each edge between transmitter and receiver nodes of the first subgraph, a predicted multipath profile for a communication link represented by the edge based on a set of multipath profiles associated with the edge; The step of accessing the first network state of the first subgraph includes accessing the first network state of the first subgraph including a set of transceiver-transceiver edge values for each edge between transceiver nodes of the first subgraph, the transceiver-transceiver edge values being: a current multipath profile of the communication link represented by the edge; and the predicted multipath profile of the communication link represented by the edge.
10. 2. The method of claim 1 , wherein accessing the first network state of the first subgraph comprises accessing the first network state of the first subgraph including a set of transceiver node values for each transceiver node of the first subgraph, the set of transceiver node values including a set of temperatures of transceivers represented by the transceiver nodes.
11. 2. The method of claim 1 , wherein accessing the first network state for the first subgraph comprises accessing the first network state for the first subgraph including a set of transceiver node values for each transceiver node of the first subgraph, the set of transceiver node values including a set of accelerations of a transceiver represented by the transceiver node.
12. Accessing the first network state for the first subgraph includes accessing the first network state for the first subgraph including a set of transmitter node values for each transmitter node in the first subgraph, the set of transmitter node values comprising: a GNSS position estimate of a transmitter represented by said transmitter node; and and a relative position estimate of the transmitter represented by the transmitter node.
13. 2. The method of claim 1 , wherein the step of accessing the first network state for the first subgraph includes a set of transmitter-transmitter edge values for each edge between a transmitter node and a transceiver node of the first subgraph, the set of transmitter-transmitter edge values including pseudoranges of a transmitter represented by the transmitter node to a transceiver represented by the transceiver node.
14. 2. The method of claim 1 , wherein the step of accessing the first network state of the first subgraph includes a set of transmitter-transmitter edge values for each edge between a transmitter node and a transceiver node of the first subgraph, the set of transmitter-transmitter edge values including a signal-to-noise ratio of a ranging signal transmitted from a transmitter represented by the transmitter node to a transceiver represented by the transceiver node.
15. 2. The method of claim 1, wherein the step of accessing the first network state of the first subgraph includes a set of transmitter-transmitter edge values for each edge between a transmitter node and a transceiver node of the first subgraph, the set of transmitter-transmitter edge values including a multipath profile of a ranging signal transmitted from a transmitter represented by the transmitter node to a transceiver represented by the transceiver node.
16. and generating, for each edge between a transmitter node and a transceiver node of the first subgraph, a predicted multipath profile of a current ranging signal represented by the edge based on a set of multipath profiles associated with the edge; The step of accessing the first network state of the first subgraph includes accessing the first network state of the first subgraph including a set of transmitter-transmitter edge values for each edge between a transmitting node and a receiving node of the first subgraph, the set of transmitter-transmitter edge values being: a current multipath profile of the current ranging signal represented by the edges; and the predicted multipath profile of the current ranging signal represented by the edge.
17. A step of accessing a network graph, the network graph comprising: A set of nodes, a set of transceiver nodes representing a set of transceivers operating in a mesh network of transceivers; a set of transmitter nodes representing a set of transmitters in communication with the mesh network of transceivers; A set of edges, each edge of the set of edges comprising: connecting a pair of nodes in the set of nodes; a set of edges representing a communication channel between a pair of transceivers of the network of transceivers represented by the pair of nodes or between a transmitter of the set of transmitters and a transceiver of the set of transceivers; identifying a first triangular graph of the network graph that includes a first node of the set of nodes, the first node representing a first transceiver of the set of transceivers; accessing a first network state of the first triangular graph including a set of edge values for each edge of the first triangular graph; calculating a component diagnostic score based on the set of edge values; updating a first cumulative diagnostic score for the first node based on the component diagnostic scores; and in response to detecting that a first cumulative diagnostic score of the first transceiver node exceeds a threshold cumulative diagnostic score, triggering corrective action in a first transceiver represented by the first node.
18. The step of identifying the first triangular graph of the network graph comprises: a first node of the set of nodes, the first node representing the first transceiver; a second node of the set of nodes, the second node representing a second transceiver; a third node of the set of nodes, the third node representing the first transmitter; a first transceiver-transceiver edge representing a communication channel between the first transceiver and the second transceiver; a first transmitter-transmitter edge representing a ranging signal transmitted from the first transmitter and received by the first transceiver; a second transmitter-transmitter edge representing the ranging signal transmitted from the first transmitter and received by the second transceiver; The method comprises:
20. The method of claim 17, further comprising: updating a second cumulative diagnostic score for the second node based on the component diagnostic scores.
19. The step of accessing the first network state of the first triangular graph, comprising: a first pair-wise distance between the first transceiver and the second transceiver associated with the first transceiver-transceiver edge; a first pseudorange between the first transmitter and the first transceiver associated with the first transmitter-transceiver edge; and a second pseudorange between the first transmitter and the second transceiver associated with the second transmitter-transmitter edge.
20. Calculating the component diagnostic scores based on the set of edge values comprises: calculating a trigonometric inequality based on the first pairwise distance, the first pseudorange, and the second pseudorange; and calculating the component diagnostic scores based on the triangle inequality.
Citation Information
Patent Citations
Fault positioning method and device
CN109802855A
Network reliability evaluation device, method and program
JP2014023064A
Device and method for reliability evaluation, and program
JP2017028445A
Methods and systems for scheduling transmission of location signals and operating self-locating devices
JP2018517139A
Distributed microphone array and sound source positioning system applicable thereto
US20190116418A1