This disclosure is related to object positioning systems. More particularly, this disclosure is related to compensating for multiple signal paths in an object positioning system.
GPS-based geolocation as well as almost all forms of ranging and pseudo-ranging instrumentation are designed around the concept of “line-of-sight”, itself relying on the constant speed of light being used as a yardstick. One well-known error source to this approach has largely been summed up in the term “multi-path”, referring to the notion that a signal transmitted from one device and received by another can follow more than one path. This gives rise to errors in ranging. A variety of methods and instrumentation have been designed to explicitly mitigate this error source. Those persons practiced in this general art are well aware that the situation is much more complicated than the term multi-path implies. Indeed, an ideal electromagnetic (EM) pulse sent by one device will be received by a second device as an omnipath environmental response function, represented as the function at the bottom of
This disclosure outlines instrumentation and data processing approaches to measure and mitigate various classes of omnipath situations in network.
In one embodiment, systems and methods determine a location of a mobile device in a network. The network includes a plurality of fixed nodes. A method includes receiving, at the plurality of fixed nodes, receive messages transmitted from the mobile communication device. Each of the plurality of fixed nodes generates a receive count stamp for each receive message corresponding to a local counter value at the receipt of the receive message. At each of the plurality of fixed nodes, the method includes processing the receive count stamps to calculate a set of pseudo-ranges between the respective fixed node and the mobile device, and measuring multipath delay included within the set of pseudo-ranges. Based on the measurement, the multipath delay is removed from the set of pseudo-ranges to determine a range estimate between the mobile device and each of the fixed nodes. Based on the range estimates, a location of the mobile device is calculated.
In certain embodiments, the method further includes sending and receiving messages between the plurality of fixed nodes. Each of the fixed nodes generates local receive count stamps based on the messages received from the other fixed nodes.
In one embodiment, a method for multipath mitigation and evaluation within a network comprising a plurality of nodes includes receiving, at a plurality of first nodes, receive messages transmitted from a second node. Each of the plurality of first nodes generates a receive count stamp for each receive message corresponding to a local counter value at the receipt of the receive message. The method also includes processing the receive count stamps to determine range errors in at least one of an x-axis direction, a y-axis direction, and a z-axis direction with respect to a distance between at least one of the first nodes and the second node.
Additional aspects and advantages will be apparent from the following detailed description of preferred embodiments, which proceeds with reference to the accompanying drawings.
This disclosure outlines instrumentation and data processing approaches that measure and mitigate various classes of omnipath situations in highly generalized network situations. A “mantra” of this disclosure is “first and foremost, get the clocks right.” Through a greatly improved approach to monitoring clock deviations, a new suite of ongoing measurements and models become operable to better tackle multi-path situations of many kinds. Pseudo-range network consistency (static, dynamic and both) as well as “delay maps” are used in this suite of approaches. Advanced approaches then break down into “code ping” versus “RF waveform” approaches, where the former uses countstamp (timestamp) data derived from post-decoded RF signals, while the latter can dig down into the RF waveforms themselves. In certain embodiments, ongoing software structures and loop instructions are constantly assessing the forms of omnipath being encountered and adjusting algorithmic processing accordingly. One under-the-hood component to the structures are what has been dubbed “Riccian-Rayleigh-Quality” Tables, which keep track of all communication links in a group-solution network and qualify each in terms of its general omnipath characteristics. The end result is greatly improved location-determination even in very complicated EM environments, along with ongoing estimations of residual errors.
Aspects of certain embodiments are described in (referred to collectively herein as the “related disclosures” or the “companion disclosures”) U.S. Pat. No. 7,876,266, titled “Harmonic Block Technique for Computing Space-Time Solutions for Communication System Network Nodes,” issued Jan. 25, 2011 to Geoffrey Rhoads, U.S. Pat. No. 7,983,185, titled “Systems and Methods for Space-Time Determinations with Reduced Network Traffic,” issued Jul. 19, 2011 to Geoffrey Rhoads et al., U.S. Patent Application Publication No. 2009/0213828, titled “Wireless Local Area Network-Based Position Locating Systems and Methods,” filed Apr. 23, 2009 by Trent J. Brundage et al., U.S. Patent Application Publication No. 2009/0233621, titled “Systems and Methods for Locating a Mobile Device within a Cellular System,” filed Apr. 20, 2009 by Geoffrey B. Rhoads et al., and U.S. patent application Ser. No. 13/179,807, titled “Location Aware Intelligent Transportation Systems,” filed Jul. 11, 2011 by Geoffrey B. Rhoads, each of which is assigned to the assignee of the present application and is hereby incorporated by reference herein in its entirety for all purposes.
This disclosure outlines a family of specific instrumentation and software approaches to the detection of, and subsequent mitigation of, multi-path errors in timing and positioning networks. An aspect of the disclosed embodiments includes splitting the basic problem into two parts (at least as one embodiment and not as a requirement)—by isolating clock error and device delay correction as a more tractable first stage set of procedures, giving rise to a second set of procedures offering a cleaner and more geometric-oriented attack on multipath mitigation itself. Such embodiments provide an efficient long term framework for tackling multipath in highly complicated and mobile applications.
A series of figures attempts to metaphorically encapsulate this basic philosophy while the accompanying text explains the details of its implementation.
The disclosure is organized by having the first few sections give a general summary and deep framework of the problem. A variety of specific approaches are then described, including how these approaches can inter-operate. RRQ (Riccian-Rayleigh-Quality) Tables are then discussed, in parallel to similar descriptions in the related disclosures but here targeting multipath in particular. The disclosure then explores the generic multipath mitigation that this systematic framework-based approach can produce.
One conclusion derivable from the early sections which generalize multipath, and which certainly any practitioner in the multipath art may concur with, is that multipath is generally not something which can be “solved.” Typically, the best designers can do would be to beat down its distorting influences such that instrumentation will meet their empirical positioning performance specifications “almost all of the time,” or at least within some specific prescription of the extent of innate multipath distortions. Furthermore, for those times where multipath may be so severe that an instrument's position estimations do wander outside its stated specifications, the instrument should be smart enough to know so. Another way to put this might be: for the operational situation where, say, a person holding a wireless device walks from a city street deep inside an urban core, through a revolving door and into a complicated interior space, and company X claims they have “solved” multipath and fully eliminated its effects for this most general of situations—throw them out the door. What can be solved, however, is providing a stable implementation framework for mitigating many if not most or all forms of multipath. Cocktails of mitigation methods can be placed within this framework, instrumentation outfitted with such, and then ever-evolving empirical testing programs can iterate on what new plateaus the latest cocktails have achieved, leading inevitably to tweaking the cocktail ingredients or adding new ones. The existence of the cocktail glass itself, with a few promising classic drinks inside, is what certain disclosed embodiment are all about.
Background on “Multipath” and Relationship to this Disclosure
The commonly used term “multipath” is a convenient over-simplification of a very complicated general situation. Its use pre-dates GPS but its popular emergence certainly coincided with the growth in the GPS, where most basic textbooks technically describing the GPS give this issue a prominent role in the analysis of the common errors in timing and location determination. Many individuals, companies and universities have developed a variety of instrumentation and software approaches to measuring and mitigating the errors associated with multipath.
This disclosure largely focuses on the kinds of multi-path applicable to a network of mobile devices in constant communication with each other, as opposed to instruments that essentially listen for satellite signals or fixed pseudolite signals. Deep inside “urban canyons”, and certainly inside buildings or tunnels, become the locations for the headliner applications that see a great deal of multipath errors requiring redress.
A distinction of this disclosure from prior systems is that even prior to applying specific multipath methods, software structures need to be created that constantly monitor and adapt to ever-changing network configurations and environmental conditions between communicating nodes in the network. These new structures may often be tied to the word “framework,” where one general idea is that once such a framework is defined and enabled, itself already mitigating difficult error sources associated with clock errors and device delays, then many of these past fine examples of specific multipath mitigation can potentially be “plugged in” to that framework, and thereby enhance the overall resiliency of an instrument to multipath effects. Implementers would be free to pick and choose specific “real world hardened” components from existing GPS instrumentation, whilst following standard commercial practices of licensing and/or attribution for such. This disclosure highlights implementation details for how such clear prior methods might be so plugged in.
Omnipath: Generalizing Multipath for Arbitrary Networks
One of the points of the rather lengthy exploration of omnipath herein is to help understand the extent of the requirements that may be placed upon any arbitrary network hoping to generically deal with multipath mitigation. This exploration will have ancillary tutorial benefits and will also lead nicely toward both the generation of specific multipath mitigation techniques as well as a back-end analysis viewpoint on why and how all specific techniques reach certain limitations in effectiveness as a function of network dynamics within ever more complicated environments (where the environments themselves become ever more dynamic).
Indeed, analysis in its formal mathematical sense is also the point here. Getting one's arms around both the theoretical as well as the applied aspects of both integration and differentiation can be argued as a justifiable end in itself. The integration operation is ultimately the more tractable side of the applied problem conceptually; though taken to its extreme, it becomes a run-away computational problem. In certain embodiments, the differentiation operation may be the more useful, however. The simple reason for this distinction is that the very application of all of this to “dynamic networks” highlights the data processing role of “changes” in collected data characteristics, which is virtually the definition of “differentiation.” Of thousands of potential exemplar applications here, one can imagine a person with a personal digital assistant (PDA) device rounding a corner in a building and a previously established reflective channel which was not line-of-sight instantly changes to a highly dominant line-of-sight condition. These channel characteristics and the multipath mitigation techniques aimed at addressing them are fundamentally derivative-based phenomena from a data collection standpoint (where one is given, say, the last five seconds of collected data and no external knowledge, and ones job is to mitigate the multipath effects).
The approach taken, according to certain embodiments, starts simply by positing a perfect electromagnetic impulse that emanates from a transmitter to a receiver, as opposed to the long tradition of positing an oscillator driving a transmission. The discussion will eventually get back to oscillatory transmission models and its clear relationship to Feynman all-path integration. In certain embodiments, the impulse model may be more fundamental than the oscillation model from an applied point of view, and besides, a sinusoidal sequence of impulses can easily derive the latter model including a symbol modulated sinusoidal sequence resembling any communication method can likewise be derived from the purely impulse model.
The following discussion explores both the integration and differentiation operations based on the impulse model, always with an eye toward applying them to dynamic networks. As stated, this may also imply a requirements overlay on software structures and data-sharing protocols for any framework hoping to provide a long term infrastructure for evolving the multipath mitigation art.
Omnipath Analysis
Turning back to
The transmitting node TX 102 emits a delta-function EM pulse at some time t-naught (t0). This emitting of the pulse is labeled 105, where 105 is found in two locations in
The three near-full circles 110 surrounding TX 102 simply indicate that the energy from the pulse emanates uniformly in all directions (if it were indeed an impulse, this would dictate only a single circle). This broadcasting of the pulse power would be in all three dimensions, of course.
Due to the speed of light, the impulse response function 100, representing received power 111 by RX 112 registers a zero value over the period of time it takes light to travel from TX to RX, where this zero received power is labeled 115.
Label 118 in
Label 120 attempts to point out the instance in time when RX first receives the rf power of the pulse. It too is doubly presented both in the graphics and in the function. Conceptual representation allows for giving this impulse a small amount of breadth in time rather than being a pure spike (Dirac) impulse in the function. This disclosure is aimed at implementing various approaches to mitigating multipath in real instrumentation, and real instrumentation does not have pure Dirac delta functions as received signals. Label 121 indicates that there is some particular instance in time, trx, l-o-s, where the first measurable rf power is received and the period in time labeled 115 ends. All “ideal” and classic notions of “ranging” key in on this particular instant in time. This point in time of the function, multiplied by the speed of light, ideally delivers the distance between TX and RX. This provides “EM ranging.”
Label 122 introduces a new object into the TX-RX world. The notion with object 122 is that it represents some “strong reflector” that redirects the energy of the pulse toward RX. This may, for example, be a simple mirror for the case of a light impulse. The notional moment in time when this energy is received by RX is labeled 124. Its received power is also noticeably lower than the line-of-sight received power, as a general matter. Two primary components of this power reduction is the square-law of EM power reduction as a function of distance, and the common reflective dissipation introduced during normal reflections.
Label 130 introduces another new object which is qualitatively different from object 122. The notion here is that it is not always clean reflective objects that redirect energy toward RX but also extended objects as well, and that the redirection of energy itself can be rather weak and barely measureable. Both objects 122 and 130 are very high level summaries and the more general case of all objects will be discussed further on. Label 132 is singly represented in
Label 135 in
Omnipath: Formal Steps Toward Analysis
In the example shown in
We can begin the specific discussion about
Greek alpha (α), label 230 in
This integral includes a newly introduced function B, labeled 240 with associated text. This is the bireflectance function for any spatial point greek-alpha. The bireflectance function may tend to look pretty complicated in its full three dimensional form, but fundamentally it is a very simple physical concept. For the purposes of this disclosure we refer the reader to advanced optical textbooks or simply searching the internet on this function. Its ultimate role in explaining the implementation of this disclosure is fairly minor, so the discussion here will be limited. Of note is the case where essentially no material surface exists at a point nor undue amounts of Rayleigh-scattering particles. In this case, the spatial point on the ellipse is simply near-zero and the integration is collecting no power from such a point. Hence, it is where these ellipses overlap with speckly bits and physical surfaces where the real action is.
The basic idea behind the bireflectance function is that for any given point in space that may contain a surface or particle that might redirect electromagnetic waves, a function can be defined that has as one of its input variables being the direction “from which” the electromagnetic wave came to that point, and a second variable being the direction “to which” the subsequent redirected energy is sent. The function itself is a scalar value representing the re-direction strength of that specific incoming direction and the specific outgoing direction, for that point in space, generally being a material property and an orientation property of the point in question. An optical mirror, for example, has close to a “1” bireflectance value for all “mirror pairs” of incoming and outgoing angles, and near zero for all other combinations of angles. We re-emphasize that a deep knowledge of the bireflectance function is not in any way necessary for enablement of this disclosure; it is included here purely for the sake of thoroughness.
For reasons that will be more clear as the discussion proceeds, label 245 in
Referring to
Labels 250 and 252 immediately point out two new terms whose concepts are depicted in
From the embodiment implementation standpoint, three notes remain in
Note 255 by the “path delays” depicted with all the mist draws attention specifically to the word “delay” as opposed to attenuation. To be sure, both are present in atmospheric propagation, but
The second note, labeled 257, points out the time delay inherent in all physical reflections of electromagnetic waves. Note that implementers of applications using lower frequency communications (such as below 1 GHz) may want to examine whether this reflective delay is worth paying attention to and explicitly addressing.
The third label 260 simply alludes to the practical notion that a simple contraction length of the outer ellipse can be used to represent the combined effects of both propagation delay as well as reflective delay. With a variety of simplifying assumptions applied, mainly that surface reflections have a great deal of similarity in their effects and that atmospheric delays do not have extremely small scale structure, virtually all applications will find that lumpy ellipses are really not that lumpy after all, and a fairly low order application of the “tweak” shown by 260 is a sufficient remedy if one is needed.
At the end of the day,
Harkening back to the discussion surrounding
The remainder of
The reader is now asked to consider
IRF
3 bounce, 2-dimensional(d)=P1(d)+P2(d)+P3(d). (1)
Equation 1 subscripts the maximum number of bounces allowable, and we limit the explicit components to three. “Impulse Response Function” is also acronymized. The term “2-dimensional” is also subscripted for thoroughness, making sure that we don't forget that for explanatory purposes thus far, we have limited the discussion to a two dimensional universe of EM/RF pathways.
The full three dimensional (i.e. real world) impulse response function, IRF, 375, can be constructed up to any desired “bounce order” N. Hence the 3 and the N as co-subscripts on IRF. Our familiar time delay point “d” is the primary variable.
Pick a bounce order, any N, and the expression inside the brackets 377 is an added triple-integration layer to the overall formula constructing the full integral equation for that contributing element, P(d), corresponding to that number of bounces N. Once each of the N bounce formulae are thus constructed, they themselves need to be added together for the overall IRF function 379. The singular exception to this “layering” is for the single bounce case N=1, where the first integral labeled 380 does not need to be included since there is no “splitting up” of d occurring for the single bounce case.
Thus let's say we wish to construct the full IRF function across all “d” from 0 to infinity but limiting our analysis to only 3-bounces (and thus four paths). We then first construct all three component P(d)'s corresponding to one bounce, two bounces and three bounces, ultimately adding them together as in formula 379. The one-bounce P1(d) drops the first integral, 380, around the delay fraction variable since there is no fraction to speak of, and simply has a “layering” of one set in the brackets, giving a final double integral equation with a single bireflectance function 385 relating TX to TX1 as the incoming direction, and TX1 to RX as the outgoing direction. The resultant P1(d) is essentially formula 225 depicted in
The two bounce P2(d) retains these two integrals from the single bounce case but now “layers” three more integrals inside the bracket, forming a quintuple integration to describe the full two-bounce formula in three full dimensions. There are inherently two bireflectance functions 385 thus included, representing the angle-pairs going into the first bounce and the angle-pairs going into the second bounce. Likewise, the second ellipsoid of the second bounce now adds its two nested spatial integrations 395. A single integral layering is added by the splitting up of the “d” parameter into d1 and d2 components, labeled 380. The resultant P2(d) likewise resembles formula 326 depicted in
The three bounce case P3(d) thankfully just follows the above prescription for layering in three more integrals to the whole mess. The result is an 8-fold nested integral equation. One can clearly see that an explicit computational approach to integration has already become unwieldy in the three bounce model if not even the quintuple integral 2 bounce model.
What Next after Integration?
The discussion reaches a preliminary conclusion here by noting that at least in the abstract, which includes real-world notions of iso-delay surfaces, a complete “integration” analysis of multipath can thus be built around any transmitter-receiver pair. This has been, of course, the easy part. The much harder part breaks down into several even harder parts: a) developing a generalized cluttered mobile environment model wherein active communicating nodes interact with a wide variety of both mobile and non-mobile EM scattering objects; b) outlining and then describing approaches toward knowing anything whatsoever about the environment in and around the TX-RX pair; c) getting a grasp of the “differentiation” side of analyzing multipath/omnipath; d) further exploring the practical differences between impulse environmental responses and single-symbol-modulated environmental responses; and e) rolling all these things up into new forms of multipath/omnipath mitigation approaches for mobile networks.
To many practiced physicists, engineers and mathematicians, most of the discussion to this point can be recognized as a typical “forward problem” in the sense that if one “a priori knows” the details of the TX transmitter (e.g. its power and antenna radiation function), the same type of details on the RX receiver, and all of the snapshot (non-dynamic) details (relevant to the carrier frequency of EM/RF being employed) of the environment in which they are placed, then one can use these formulae to predict and simulate the expected omnipath behavior between TX and RX (and with careful symmetry assumptions, the identical omnipath behavior when RX sends an impulse back to TX). To be entirely fair, these latter so-called harder parts are much more difficult without the firm integration “forward problem” in hand, so the time spent to this point has been well worth it.
Generalized Mobile Network Omnipath Solutions
A powerful approach to mitigating multipath/omnipath effects in mobile networks is the one that has already been described in the related disclosures and other disclosures. See, for example, International Patent Application Publication No. WO/2008/073347, filed Dec. 7, 2007, by Geoffrey Rhoads, which is hereby incorporated by reference herein for all purposes. The present disclosure will attempt to add more details to this basic approach, tuned to the omnipath problem. A very basic approach to mitigating omnipath delay has already been presented in the related disclosures, and that was simply including the unknown common path delay as one of the H matrix columns in the basic g=Hf formulation covered extensively in the related disclosures. In other words, where these earlier descriptions keyed in on the unknowns of spatial movements and time deviations, the role of placing in an unknown parameter for common path delay can be more highlighted with respect to this disclosure dealing specifically with multipath and omnipath.
In the most general of networks where all spatial, time and delay parameters are unknown, simply adding common path unknown parameters to the f-vector adds dimensionality to allowed solutions as opposed to constraining solutions or producing a singular unique solution. To further complicate matters, omnipath-induced delays generally exhibit larger scale dynamic changes as a function of network mobility, relative to spatial and timing unknown parameters.
But before reviewing the details of including a common path unknown in the g=Hf framework, let's go back to the listing of the “harder problems” in the preceding section and first get through the task of describing a generalized mobile network architecture that is explicit about real-world omnipath situations. Even this “generalization” may be abstract and not look a great deal like any “real” world anyone might know, but this is done by design, letting symbols take the place of an enormous range of potential real world objects and communicating devices.
First: Removing “Time” from the Omnipath Problem
The legend in the top right part of
There are a variety of high level concepts depicted in
Note 445 provides a short comment that has several implications. It notes that some structures are not known to be present, which certainly implies that others must be known, and “known” implies some entity capable of knowing. Possibly the longest horizon vision for certain embodiments is that a local Zulutime group routinely develops its best estimate of the electromagnetic environment in which it is embedded, replete with a kind of tomographic understanding of both nodes and objects alike. This understanding is a matter of degree and not absolutes, and hence it is inherently open ended in terms of how the local group's knowledge of its environment evolves in data structure and shared protocol terms. This disclosure briefly provides several clear examples of some baseline examples of this local tomographic process, the process, that is, of building this local knowledge. Label 445 is also attached to two random filled-in rectangles in
Viewed in this way, all of
Text 455 uses the phrase “ . . . to a first level of measurement . . . ” more specifically.
The broader idea is that with timing variations substantially removed from the overall omnipath mitigation problem, classic forms of geometric analysis and attack can be applied in a straightforward manner. These approaches then don't need to worry about timing being mixed into the problem, and their own estimation then simply includes error terms based on the residual timing error from this first stage timing solution estimation. So timing error will still unequivocally be present, but the first stage timing solutions will have quantifiably reduced their initial extent, usually by several orders of magnitude on consumer-grade oscillators and clocks.
The local group can go to great lengths to estimate the expected residual timing error and report this estimate to omnipath algorithms, methods and routines. Those practiced in the art can appreciate that knowing this level of probable timing error can then propagate into broader estimates of positioning errors after certain operations have been performed to determine position estimates. Iterative loops (made explicit in
In
In certain embodiments, a form of “ping relationship” can be set up between such nodes in a local group, whereby priority is given to communications between such designated nodes, thereby greatly increasing the ability of a tighter sub-group (label 467) can have enhanced ping rates unencumbered by mobility and largely immune to major multipath/omnipath distortions and errors. Those practitioners in for example the GPS engineering industry well know that in duplex communication situations, multipath effects on differential timing synchronization are nearly zero for relatively static environments or environments where very larger scattering objects are not present. One embodiment strongly encourages fixed-infrastructure applications and applications where “server-like” services are delivered by fixed nodes to use these kinds of methods and approaches, all in the service of the broader local group's attempt to mitigate omnipath effects for all members. (This last statement harkens back to the mantra: before all else, get the timing right first).
The stationary node labeled 470 is another “special yet normal” case of a fixed server-like node that might also have a similar relationship with the Alphadawg 460, just like the nodes labeled 465 have. Only here there is clearly an obstruction between the two nodes at 460 and 470. Despite the non line-of-sight situation between these two nodes, keying in on the timing relationships between these two nodes (and many others) likewise is unencumbered by mobility and largely immune to multipath/omnipath effects. Not drawn in
There are also three other fixed nodes triply labeled 475 in
Several mobile communicating nodes, labeled 480, can also be seen. In
To the extent
Turning toward
Note 500 recasts this necessity where here we emphasize the word “structure” and several of its meanings. Structure is used in the shared blocking of time units across disparate elements of a group; “structures” are used in software code including information about groups, members, etc.; structured flows of protocol based shared information between nodes is used; and further structured flows are used to ingest blocks of input data and spit out staged solution vectors as described earlier and in the related disclosures. The text also adds the note about rapidly changing network topologies. The harmonic block approach yet again is an embodiment for dealing with this extremely difficult problem. Harmonic blocks form a stable template that flows through time, growing and shrinking (in data input and solution output size, not in time extent) as nodes come and go, all the while accepting sporadic bits of data wherever they may come from within the group and whenever they happen to have been recorded and shared. The ability to collect and properly organize, pre-filter and weight sporadic and asynchronous raw data is also best served by harmonic block structures, where one very practical and common benefactor of this pre-organized raw data stream will be the entire class of Kalman filtering that has developed both inside and outside the GPS industry. Indeed, standard Kalman filtering has been developed to accept certain classes of asynchronous data sources, where certain embodiments and the harmonic block structuring of group-defined epochs can properly frame data inputs such that many of these filters can be utilized in a given application if an implementer so chooses.
Note 505 points out that all of the t's, x's and d's wind up being mathematically structured as short waveform snippets across a single harmonic block period, abstractly depicted as a matrix-like bracket structure 510. Some snippets may be represented by a single variable, and others may have two or more variables which can describe sloped lines, curves and higher Taylor-esque polynomials (though other bases functions have easier border stitching properties). E is used to represent a given epoch, sub-scripted by i.
The line labeled 512 indicates the notion that all relevant variables get piled into these harmonic block structures, which mathematically winds up being g=Hf form H matrices, where explicit unknown parameters of the snippets are associated with columns of the H matrix, while raw ping data (or differentiated and/or filtered versions of ping data) is associated with the rows of H. Partially known variables can also be transformed into independent equations separate from raw ping data equations. For example, if a given semi-mobile node already “roughly” knows where it is, then it can simply state this fact and g=Hf formulations can place in weakly weighted equations placing that information into the system of equations, weighted by the confidence of the partial knowledge. Other forms of partial knowledge may or may not be included directly in linear formulations of solutions, but from the graphic standpoint one can imagine that such information is certainly thrown into the algorithmic mix at least as a constraint or non-linear element. Note 515 is attached to this piling in of all the knowns, partial knowns and unknowns, where again the brackets should be more suggestive of the harmonic block structuring of the waveform snippets than taken strictly as a linear H matrix.
The text labeled 520 in
Omnipath Effects on Timing (DZT) Solutions
Text note 525 takes two arbitrary nodes and alludes to this dynamism of the coarse direction vectors, where label 527 points out its effect on the g=Hf formalism and how it further increases error on the error-tolerant H matrix coefficients. As pointed out in the related disclosures, differences between the “actual” in situ direction vectors and the “coarse direction vectors” which are placed into the H matrices can be typically on the order of 5 or 10 degrees and still produce solution errors less than the innate noise floors represented by the raw noise on the ping data itself. But omnipath distortions can in practice swing these coarse direction vectors fairly abruptly over short periods of time, for example in cases where a line-of-sight condition all of the sudden becomes occluded and a purely reflected path is what is allowing one node to communicate with another. Fortunately, higher level PhaseNet/Zulutime processes can begin to take over in these situations, most notably the “RRQ” categorization tables (Riccian-Rayleigh-Quality) whereby any given pair of nodes is constantly assessing the state of “linqs” between a given node and another, assigning an RRQ state to that linq, and whereby abrupt changes of these states give rise to moving from one H matrix to another, sometimes at the rate of the harmonic blocks (i.e., very quickly, less than a second).
In practice, the point of all of this is that for first pass solutions, implementers may need to be quite cognizant of these additional sources of errors due to omnipath, and either just live with them and build them into the empirical-based error specifications for an application, or look toward the cocktail of post-first-linear solution approaches to further mitigating their propagated errors.
Physical demonstrations have shown that even in environments with fairly extensive omnipath distortions, single-digit nanosecond DZT measurements can nevertheless be produced by common consumer grade devices in highly dynamic situations, using the approach outlined in this disclosure thus far and as described in the related disclosures. This improvement in timing can itself form the basis for direct range-based algorithms where each singular ping from any node to any other can be seen as a relatively noisy and distorted pseudo-range data point between one node and another. The second descriptor “distorted” in this last sentence directly refers, primarily, to unknown multipath effects (where for the sake of this discussion, we can assume that a given receiving RX node has a relatively stable, known and therefore removable fixed RX delay).
GPS Approaches
Having thus far outlined the general analytic properties of multipath and omnipath distortions and their relationships to timing measurements within arbitrary environments, the disclosure now takes a step back to examine in more detail the art of dealing with multipath effects within GPS receivers and the GPS system as a whole, while at the same time taking a step forward to outline how some of these approaches can be modified for more complicated and arbitrary communications networks. Many of the basic physics principles are of course the same, but require specific modifications for omnipath environments rarely seen in GPS situations.
The Multipath Problem in GPS
Both GPS and ZuluTime obtain estimates of position by measuring the propagation time of radio signals from various points to other points in space. In GPS a number of satellites with known locations transmit one-way signals to a receiver, which measures the signal arrival time from each satellite. Each satellite sends data which provides the signal transmission time and the location of the satellite at that time. By measuring the arrival time of each satellite signal containing a wide-bandwidth spread-spectrum code (such as the widely used C/A code), the receiver can compute the relative signal propagation delays (hence relative ranges) from all satellites and use them to compute the position of the receiver using a process often loosely called “triangulation.”
However, errors in positioning occur if there are errors in measuring the signal arrival time. Objects in the vicinity of the receiver antenna, such as buildings or even the ground, can easily reflect GPS signals, resulting in one or more secondary propagation paths. These secondary path signals, which are additively superimposed on the desired direct-path signal, always have a larger propagation time and can significantly distort the amplitude and phase of the direct-path signal. In a GPS receiver without multipath protection, this can cause range errors of 10 meters or more, which can translate to positioning errors as large as 40 meters or more, depending on satellite-receiver geometry.
Multipath not only causes errors in the measurement of range using the GPS spread-spectrum code, but it can severely degrade the ambiguity resolution process required in another method of ranging using the carrier phase of the GPS signal.
Multipath propagation can be divided into two classes: static and dynamic. For a stationary GPS receiver, the propagation geometry changes slowly as the satellites move across the sky, making the multipath parameters essentially constant for perhaps several minutes. However, in mobile applications there can be rapid fluctuations in fractions of a second. Most past research has focused on static applications, such as surveying, where greater demand for high accuracy exists. However, the expansion of high-accuracy requirements into mobile applications is rapidly altering the situation.
How Multipath Causes Ranging Errors
A typical GPS receiver downconverts the frequency of the received signal to a baseband signal at zero frequency. In the absence of multipath the baseband signal has the form
r(t)=aejφc(t−τ), (2)
where c(t) is the amplitude-normalized, undelayed spread-spectrum code as transmitted, τ is the signal propagation delay, a is the signal amplitude, and φ is the carrier phase. For purposes of simplification we have omitted the noise on the signal, as well as any data modulation. Range estimation consists of estimating the delay parameter τ, which is accomplished in almost all GPS receivers by forming the cross-correlation function
R(τ)=∫T
of r(t) with a replica Cr(t) of the transmitted spread-spectrum code and choosing as the delay estimate that value of τ which maximizes the magnitude of this function. Without noise this occurs when the received and replica codes are in time alignment. Cross-correlation is used because under suitable assumptions it is optimal according to estimation theory. A typical noiseless cross-correlation function without multipath for C/A code receivers having a 2 MHz precorrelation bandwidth is shown by the solid curve in
If multipath is present with a single secondary propagation path, the waveform of expression (2) changes to
r(t)=aejφ
where the direct and secondary path signals have respective delays τ1 and τ2, amplitudes a and b, and phases φ1 and φ2. In a receiver not designed to mitigate multipath, the resulting cross-correlation function will now have two additively superimposed components, one from the direct path and one from the secondary path. The result is a function with a distortion depending on the relative amplitude, delay, and phase of the secondary path signal, as illustrated in
The Role of Signal Bandwidth
Regardless of the methods employed, reduction of multipath error depends on the bandwidth of the received signal. For best results, the bandwidth should be as large as possible, since this increases the ability to separate signal components with different delays. Although in GPS the designed bandwidth of the transmitted signal cannot be changed, the receiver bandwidth can be made wide enough to accommodate the full signal bandwidth. However, there are costs, which include higher sampling rates, greater power consumption, and increased susceptibility to interfering signals. With better multipath mitigation as a goal, the newer GPS signals, such as the L5 and the military M-coded signals have been designed with a wider bandwidth than the legacy L1 signals.
The Challenge of Close-in Multipath
Close-in multipath, in which at least one secondary path has a small delay relative to the direct path (less than approximately 100 nanoseconds), poses the greatest problem in effective multipath mitigation for two reasons: (1) Extraction of the direct-path delay from such a signal is an ill-conditioned parameter estimation problem, i.e., it is difficult to accurately separate the direct-path component from secondary components, and (2) Close-in secondary components tend to have a larger received power level compared to far-out components.
GPS Spatial Methods of Multipath Mitigation
Antenna Location Strategy: If the application permits, the receiver antenna can be located where it is less likely to receive reflected signals. For example, it can be located in a large area free of any structures, and can be placed directly at ground level to eliminate ground reflections. This is a constraint that is unacceptable in many applications.
Groundplane Antennas: Secondary path signals reflected from the ground can be reduced by using a metallic groundplane disc centered at the base of the antenna to shield the antenna from below. However, performance is somewhat compromised, because surface waves can be induced on top of the disk when the signal wavefronts arrive from below. The surface waves can be largely eliminated by replacing the groundplane with a choke ring, which is essentially a groundplane containing a series of concentric circular troughs one-quarter wavelength deep. However, the size, weight, and cost of a choke-ring antenna is significantly greater than that of simpler designs. The choke ring cannot effectively attenuate secondary-path signals arriving from above the horizontal, such as those reflecting from buildings or other structures.
Directive Antenna Arrays: A more advanced form of spatial processing uses antenna arrays to form a highly directive spatial response pattern with high gain in the direction of the direct-path signal and attenuation in directions from which secondary-path signals arrive. However, because signals from different satellites have different directions of arrival and different multipath geometries, many directivity patterns must be simultaneously operative, and each must be capable of adapting to changing geometries caused by satellite motion. For these reasons, directive antenna arrays seldom are practical for most applications.
Long-Term Signal Observation: If a GPS signal is observed for sizable fractions of an hour to several hours, changes in multipath geometry caused by satellite motion will cause changes in the relative phase of the direct and secondary path signals. By measuring the resulting variations of the phase and amplitude of the received signal, it is sometimes possible to extract the direct-path signal component. However, the requirement of long periods of signal observation is unacceptable in many applications.
GPS Receiver-Based Methods of Multipath Mitigation
Most of the practical approaches for GPS multipath mitigation employ special forms of signal processing within the receiver that have been developed by receiver manufacturers. To better understand these methods, recall that to make a range measurement, a GPS receiver must accurately locate the peak magnitude of the cross-correlation between the received spread-spectrum code and a receiver-generated reference code. To obtain continuous range measurements, the GPS receiver must be able to track this peak continuously in time. The standard tracking method is to generate an early, prompt (or central), and late version of the reference code and cross-correlate each against the received signal. The resulting early and late correlator output magnitudes are subtracted to form a code tracking error signal, and a code tracking loop utilizes the error signal to keep the prompt code in alignment with the received code. The time delay between the early and late reference codes is called the correlator spacing, which is usually expressed in terms of chips of the spread-spectrum code.
The following receiver-based multipath mitigation methods are mostly attempts to reduce errors in ranging using the received spread-spectrum code, and with one exception do not provide significant improvements in carrier phase measurements.
Narrow Correlator Technology (1990-1993): The first significant means to reduce GPS multipath effects by receiver processing was introduced in the early 1990's. Until that time, most GPS receivers had been designed with a 2 MHz precorrelation bandwidth that encompassed most, but not all, of the GPS spread-spectrum signal power. These receivers also used one-chip spacing between the early and late reference codes. However, a 1992 paper (A. J. Van Dierendonck, P. Fenton, and T. Ford, “Theory and Performance of Narrow Correlator Spacing in a GPS Receiver,” Proceedings of the National Technical Meeting, Institute of Navigation, San Diego, Calif., 1992, pp. 115-124) showed that using a significantly larger precorrelation bandwidth combined with a much smaller correlator spacing would dramatically reduce ranging accuracy both with and without multipath.
A 2 MHz precorrelation bandwidth causes the peak of the direct-path correlation function to be severely rounded, as we have seen in
Another advantage of a larger precorrelation bandwidth is that the correlator spacing between the early and late reference codes can be made smaller without significantly reducing the gain of the code tracking loop; hence the term narrow correlator. It can be shown that this causes the noises on the early and late correlator outputs to become more highly correlated, resulting in less noise on the loop error signal. An additional benefit is that the code tracking loop will be affected only by the multipath-induced distortions near the peak of the correlation function.
Correlation Function Leading-Edge Techniques: Since the direct-path signal always precedes secondary-path signals, a leading (left-hand) portion of the correlation function is uncontaminated by multipath, as illustrated in
For these reasons, in GPS applications the leading-edge approach best suits situations with a moderate to large direct-to-secondary path separation. However, even in these cases one must make the delay measurement insensitive to the slope of the correlation function leading edge, which can vary with signal strength. Such a problem does not exist in measuring the location of the correlation function peak.
There are applications other than GPS where the received signal power is orders of magnitude greater than that of a GPS signal. In these applications, such as the ZuluTime network, leading edge techniques might be effective, and will be discussed in more detail later.
Correlation Function Shape-Based Methods: Some GPS receiver designers have attempted to determine the parameters of the multipath signal from the shape of the correlation function. For best results, many correlations with different values of reference code delay are generally needed to obtain an estimate of the function shape. There is a practical difficulty of mapping each of the many possible shape distortions into a corresponding accurate direct-path delay estimate. Even in the simple two-path model of expression (4) there are six signal parameters, so a very large number of shape distortions must be handled.
An example of a heuristically developed shape-based approach called the early-late slope method (ELS) can be found in B. Townsend and P. Fenton, “A Practical Approach to the Reduction of Pseudorange Multipath Errors in a L1 GPS Receiver,” Proceedings of ION GPS-94, the 7th International Technical Meeting of the Satellite Division of the Institute of Navigation (Salt Lake City, Utah), ION, Alexandria, Va., 1994, pp. 143-148; and a method based on maximum-likelihood estimation called the multipath-estimating delay-lock loop (MEDLL) is described in B. Townsend, D. J. R. Van Nee, P. Fenton, and K. Van Dierendonck, “Performance Evaluation of the Multipath Estimating Delay Lock Loop,” Proceedings of the National Technical Meeting, Institute of Navigation, Anaheim, Calif., 1995, pp. 277-283.
Modified Correlator Reference Waveforms: Undoubtedly the most practical and popular method of GPS receiver-based multipath mitigation, which first appeared in 1996, is alteration of the receiver-generated correlator reference code to provide a cross-correlation function with inherent resistance to errors caused by multipath. Examples of this technique include the strobe correlator, see L. Garin, F. van Diggelen, and J. Rousseau, “Strobe and Edge Correlator Multipath Mitigation for Code,” Proceedings of ION GPS-96, the 9th International Technical Meeting of the Satellite Division of the Institute of Navigation (Kansas City, Mo.), ION, Alexandria, Va., 1996, pp. 657-664; the use of second derivative code reference waveforms described in L. Weill, “GPS Multipath Mitigation by Means of Correlator Reference Waveform Design,” Proceedings of the National Technical Meeting, Institute of Navigation (Santa Monica, Calif.), January 1997, ION, Alexandria, Va., pp. 197-206; and L. Weill, “Application of Superresolution Concepts to the GPS Multipath Problem,” Proceedings of the National Technical Meeting, Institute of Navigation (Long Beach, Calif.), 1998, ION, Alexandria, Va., pp. 673-682; and the gated correlator developed in G. McGraw and M. Braasch, “GNSS Multipath Mitigatiioon Using Gated and High Resolution Correlator Concepts,” Proceedings of the 1999 National Technical Meeting and 19th Biennial Guidance Test Symposium, Institute of Navigation, San Diego, Calif., 1999, pp. 333-342. These techniques, which are all basically similar, take advantage of the fact that the range information in the received GPS signal resides primarily in the polarity transitions of the received spread-spectrum code. By using a correlator reference waveform that is not responsive to the flat portions of the received code, the resulting cross-correlation function can be narrowed down to the width of a polarity transition, thereby being immune to multipath having a direct-to-secondary path separation greater than 30-40 meters. An example of such a reference waveform and the corresponding correlation function, as compared to the correlation function using a standard reference, is shown in
Some advantages of multipath mitigation using modified correlator reference waveforms are simplicity and low cost, and for this reason many GPS receivers currently employ this technique. However, it is not particularly effective for close-in multipath, in which the direct-to-secondary path separation is small. Later, more will be said about the difficulties engendered by close-in multipath.
Maximum Likelihood (ML) Multipath Parameter Estimation: Because ML estimation has certain optimality properties, some of the latest approaches to GPS multipath mitigation are based on ML theory. For a top-level example of the basic ML approach, we again consider the simple 2-path signal model of expression (4), but this time we include the noise n(t), which is a stationary additive zero-mean complex Gaussian noise process with flat power spectral density:
r(t)=aejφ
In this model the signal parameters are the same as previously described following expression (4). It will be convenient to group the signal parameters into the vector
θ=[a,φ1,τ1,b,φ2,φ2,τ2]. (6)
Observation of the received signal is accomplished by sampling it over a time interval [T1,T2] to produce a complex observed vector r, which is a random vector because of the noise n(t). The observation interval length T2−T1 is typically on the order of 1 second.
The ML estimate of the six signal parameters is the vector {circumflex over (θ)} of parameter values that maximizes the likelihood function p(r|θ), which is the probability density of the received signal vector conditioned on the values of the six signal parameters. In this maximization the vector r is held fixed at its observed value. Within the vector {circumflex over (θ)} the estimates {circumflex over (τ)}1 and {circumflex over (φ)}1 of direct-path delay and carrier phase are normally the only ones of interest for the purpose of multipath mitigation. However, the ML estimates of these parameters requires that the likelihood function p(r|θ) be maximized over the six-dimensional space of all multipath parameters (components of θ). For this reason the unwanted parameters are called nuisance parameters.
Since the natural logarithm is a strictly increasing function, the maximization of p (r|θ) is equivalent to maximization of L(r; θ)=ln p(r|θ), which is called the log-likelihood function, and in this application is simpler than the likelihood function itself.
Maximization of L(r; θ) can be a daunting task, because in this particular application it is a highly nonlinear function of the signal parameters. Even for the simple two-path propagation model, a brute-force search over the six-dimensional parameter space takes too long to be of practical value. Other well-known methods, based on gradient search, iteration, or maximization using calculus are either too slow, fail to converge, or find only a local maximum and not a global one. This is the main reason that historically, ML methods for multipath mitigation have not gained much acceptance. However, recent progress has been made in solving this difficulty. One example is the Multipath Mitigation Technology (MMT) ML estimator described in M. S. Grewal, L. R. Weill, and A. P. Andrews, Global Positioning Systems, Inertial Navigation, and Integration, Second Edition, John Wiley & Sons, New Jersey, 2007, pp. 172-183; and B. Fisher and L. R. Weill, Method for Mitigating Multipath Effects in Radio Ranging Systems, U.S. Pat. No. 6,031,881, Feb. 29, 2000, which uses an invertible transformation to linearize the amplitude and phase parameters. For the two-path model the log-likelihood function then becomes purely quadratic in four out of the six signal parameters and can be maximized with respect to these parameters by solving a linear system of equations. Thus, a search in 6 dimensions is reduced to a search in only two dimensions (τ1 and τ2). A similar reduction in computation occurs for signal models having more than two paths.
A virtue of the ML method is that it is capable of significantly better performance than any of the previous methods described, especially with close-in multipath. Under suitable assumptions it can be shown that no method of multipath mitigation can provide uniformly better results than the ML method. Another advantage is that ML estimation mitigates errors in both code and carrier-phase range measurements. Yet another advantage is that unlike most of the other multipath mitigation methods, ML performance improves with increased SNR, which can be obtained by increasing the processing gain of the receiver. The primary method of increasing the processing gain is to observe the received signal for a longer time interval. This is especially important in GPS applications because of the extremely low power levels of the received signals as compared to the receiver thermal noise level.
However, there are at least two useful disadvantages. First, the computation in maximizing the log-likelihood function can be onerous. Second, the performance of the ML method depends on an accurate multipath signal model, which basically means that the number of paths in the model must equal the number of paths that actually exist. If there is a mismatch in either direction, performance can degrade significantly. Some researchers have attempted to develop methods to estimate the number of paths, but this is also fraught with difficulties whose solution remains elusive. For example, suppose that diffuse multipath is present, where the path delays are not discrete, but instead are “smeared.” However, in many cases there is only one dominant secondary path (such as ground bounce), where a two-path model works well.
Performance Comparison of GPS Receiver-Based Methods
Multipath Mitigation: Similarities and Differences Between GPS and ZuluTime
The following includes some differences between the GPS and ZuluTime systems disclosed herein:
1. GPS uses one-way transmission between a number of satellites and a receiver, whereas ZuluTime has a multiplicity of nodes with the capability of two-way transmission between subsets of them.
2. For the current GPS system the received power levels are very small (less than about −130 dBm) due to the large satellite-to-receiver distance (approximately 22,000 kilometers) and limited power generated at the satellites. Such low-level signals are OK (at least for most outdoor positioning scenarios) because the data rate is low (50 bits/second) and narrow-bandwidth tracking loops can be used to obtain high processing gain for code- and carrier phase-based range measurements. On the other hand, for ZuluTime the transmitted power levels are such that high-speed data can be transmitted over relatively short node-to-node distances. Received power levels should generally be much larger than for GPS—perhaps in excess of −70 dBm.
3. The transmitted RF bandwidth of the current GPS system (roughly 30 MHz) is significantly larger than what is anticipated for ZuluTime (roughly 1-2 MHz to support high-speed data transmission).
4. GPS imposes two types of modulation on the transmitted RF carrier. The first is the wide-bandwidth spread-spectrum code which, among other things, is specifically designed for accurate range measurement. The second is simple binary phase-shift keying (BPSK) modulation at a much lower bandwidth, which includes data essential for determining the satellite position at any time (ephemeris data). On the other hand, the wireless systems used by ZuluTime are mostly designed for high-speed data transmission rather than positioning, and may only have data modulation, such as multiphase or orthogonal frequency-division multiplexing (OFDM). Without the freedom to use different types of modulation, there would be a possible constraint on multipath mitigation performance.
5. The carrier frequencies in the ZuluTime network may be higher than for GPS.
Some impacts of these differences are as follows:
1A: ZuluTime Clock Synchronization
In GPS, a solution for accurate time at the receiver is part of the navigation solution, which amounts to synchronization of the receiver clock with GPS time, the highly accurate time from atomic clocks in the satellites. Here synchronization is defined as determining the time difference between GPS time and time obtained from a master clock oscillator in the receiver. In the GPS community synchronization is often called time transfer. Because signals travel only from the satellites to the receiver and not in the reverse direction, multipath will cause not only errors in determining receiver position, but also errors in clock synchronization. Since determination of accurate time at the receiver is an essential element in accuracy of positioning, time errors will dilute the accuracy of GPS positioning.
However, the availability of two-way signal transmission between at least some nodal pairs in the ZuluTime system can, at least theoretically, significantly reduce the impact of multipath on internodal time synchronization accuracy, with a concomitant reduction in positioning errors at the nodes.
Consider two nodes A and B having identical transceivers, which are linked by two-way radio transmission. Within each transceiver is a clock. We show that under suitable assumptions, multipath has no effect on the accuracy of time synchronization between these nodes. To simplify the analysis, it is assumed that the transmissions are pulses, but this can be extended to arbitrary waveforms. Also, thermal noise is ignored, since only the effects of multipath are of interest. The symbols t and u will denote time as measured by the clocks at respective nodes A and B. The node A and node B clocks will respectively be called clock A and clock B. At any given time t observed on clock A, the difference in time observed on the two clocks at that instant is
e(t)=u−t. (7)
Note that e(t) is expressed in terms of node A time, and can vary with t.
Suppose that node A transmits a pulse at time t1 on its clock, and t1 is recorded. The arrival of the pulse at node B is detected at time t2, but the arrival time according to the node B clock is recorded as u2 at that same moment. Now suppose that node B has the capability transmitting a pulse at exactly the same time it receives the pulse from node A, that is, it transmits a pulse at time t2 (note that it is not necessary for node B to transmit a pulse at exactly the same time that it receives the pulse from node A, as long as the delay is known and is relatively short). The pulse is received by node A at time t3, and t3 is recorded.
The difference between times t1 and t2 for the forward transmission is
where d is the distance between the nodes, c is the speed of light, and ε is a bias error due to multipath in combination with the receiver measurement characteristics.
Assuming identical measurement characteristics in the two transceivers, the bias error for the forward and reverse transmissions is the same. This is guaranteed by the Law of Reciprocity in radio propagation, which says that the transfer function of the propagation path is the same in either direction, so that multipath characteristics are likewise the same. Thus, the difference between times t2 and t3 for the reverse transmission is
which is the same as that of the forward transmission, that is,
t
2
−t
1
=t
3
−t
2. (10)
Solving for t2, we obtain
Since the time of arrival t2 of the pulse in the forward transmission was recorded as u2 according to the node B clock, from (2) we have
e(t2)=u2−t2. (12)
Since t1, u2, and t3 have been recorded, t2 is now known from (11), and (12) gives the difference in times on the two clocks at known time t2 on clock A. Of course, there needs to be a way to transmit the recorded times to the location where the calculation of e(t2) takes place. For example, if the calculation takes place at node A, the value of u2 needs to be sent from node B to node A. However, this should not be a problem, since it is merely data transmission by radio.
Note that e(t2) can be calculated even if the clocks at the two nodes have different rates.
Determining Difference in Clock Rates: The difference in clock rates at the two nodes is readily obtained by repeating the above process a second time. In this case the recorded times would be t4, u5, and t6. The time t5 would be calculated by
The difference in clock rates would then be
where time in the denominator is measured using clock A. This method assumes that both clocks have negligible frequency variation over the time interval from t1 to t6. Since a typical time interval over which measurements establishing internodal distance will probably not exceed 1 second, this seems to be a reasonable assumption.
Of course, another method of measuring difference in clock rates is to make frequency measurements using carrier transmissions, which might be preferable according to certain embodiments.
Thermal Noise: At the transmitted power levels and maximum internodal distances anticipated in the ZuluTime system, error in synchronizing the clocks at nodes A and B due to thermal noise in many cases should be relatively small, especially if large amounts of processing gain are possible.
Extension to Multiple Nodes: The results presented above can be extended to multiple nodes: If A1, A2, . . . AN are nodes such that each of the node pairs (A1, A2), (A2, A3), (A3, A4), . . . (AN-1, AN) have two-way communication, then all N nodes can be mutually time-synchronized without errors due to multipath. Of course, this assumes that the change in the multipath environment for all nodes is negligible during the time that all signals are sent.
1B: Increased Positioning and Time Accuracy Due to Reduced System Error Sensitivity
The ability of the ZuluTime system to communicate node-to-node (sometimes in both directions) among a plurality of nodes offers an advantage over GPS in that the ratio of the number of possible node-to-node range measurements to the number of nodes can be made much larger than for GPS. If N nodes are communicating with each other and each makes a single range measurement to every other node, the maximum possible number M of range measurements is given by
For example, if there are N=6 nodes, then there are M=30 possible measurements. If the objective is to determine the three-dimensional positions of each of the 6 nodes, there will be 6×3=18 unknowns (an x, y, and z coordinate for each node), resulting in an overdetermined system of equations. In this case a minimum of 18 equations would be required for a unique solution, assuming that time synchronization of all the nodes has already been achieved (with two-way communication between every node pair, multipath causes no error in the time synchronization, at least theoretically). Assuming that the measurement errors are uncorrelated, zero-mean, and have the same variance, the additional equations (30−18=12 of them in this example) will generally result in a smaller positioning error at each node as compared to that using the minimum number of equations required.
If the positions of the nodes are obtained by linearized least-squares estimation, a quantitative measure of reduction in position error can be obtained. To illustrate this, assume that positioning is two-dimensional for simplicity (the analysis carries over directly to three dimensions). Let the position of the kth node be specified by the vector
Combine the positions of all N nodes into the single column vector (the multi-node position vector)
Let the range measurement obtained by a transmission from node j to node k be denoted by ρjk, a scalar. In this measurement the receiver at node k is measuring the time of arrival of a signal transmitted from node j. Arrange all of these range measurements in the single column vector (the measurement vector)
where it is understood that some range measurements may not occur. The basic linearized equation to be solved to estimate the positions of the nodes p from the set of measurements ρ is
ρ≈Ap, (20)
where A is the matrix consisting of the partial derivatives of the range measurements with respect to the x and y node coordinates evaluated at a base position vector p0, and the vectors ρ and p are respectively small displacements of the measurement and position vectors from their values at p0. For example, the first two rows of A, which respectively pertain to the first and second range measurements ρ12 and ρ21, are
The number of columns in A is twice the number N of nodes (to accommodate the two coordinates of each node), and the number of rows is equal to the number of measurements.
The well-known linear least-squares solution to equation (20), assuming a unique solution exists, is
p=(ATA)−1ATτ, (23)
where ATA is a symmetric positive definite matrix.
Assuming that the measurement errors in the components of p are uncorrelated zero-mean random variables with common variance σ2, the covariance matrix of the resulting position error components is
Expression (24) can be used to give a relationship between measurement errors and position errors by normalizing σ2, i.e., setting σ2=1. In GPS this relationship is called dilution of precision (DOP), given by
DOP=√{square root over (c112+c222+ . . . +cNN2)}, (250
which is just the square root of the sum of squares of the diagonal elements of Cp. In the ZuluTime application a more meaningful relationship might be called system error sensitivity (SES) for the position of a specific node, given by
SES for node n=√{square root over (cii2+cjj2+ckk2)}, (26)
where the elements cii, Cjj, and ckk are the diagonal elements of Cp which are respectively the variances of the x, y and z coordinates in the solution for the position of node n.
Now suppose we throw in additional measurements whose errors are zero-mean, uncorrelated among themselves and also uncorrelated with the original measurement errors, and have the same variance σ2. The matrix A now changes to the augmented matrix
and the covariance matrix of the position error components becomes
It can readily be verified that
(ATA+BTB)−1=(ATA)−1−(ATA)−1BT[I+B(ATA)−1BT]−1B(ATA) (29)
when the inverses exist, by left-multiplying both sides by ATA+BTB. Since ATA is assumed to be positive definite, its inverse exists. Furthermore, I is certainly positive definite, and both BTB and B(ATA)−1BT are at least nonnegative definite, so ATA+BTB and I+B(ATA)−1BT must be both be positive definite and have inverses.
Now the diagonal elements of (ATA)−1 are the variances, which are positive, of the position coordinates of the nodes resulting from the original set of measurements, and the diagonal elements of (ATA+BTB)−1 are the variances, also positive, that result from including the extra measurements. If B has full column rank (linearly independent columns), it is easy to show that the product subtracted from (ATA)−1 in (29) has positive diagonal elements. In this case it follows that including the extra measurements reduces the variance of both coordinates of every node in the position solution. If B does not have full column rank, the extra measurements will at least reduce the variance of some coordinates, and can never increase the variance of any coordinate.
It should be kept in mind, however, that this conclusion is valid only under the assumption that the errors in the measurement components are zero-mean uncorrelated random variables with the same variance. Including a measurement which has a large error compared to the others can actually worsen the positioning accuracy. This problem will be discussed in a later section on consistency checking.
2: The Advantage of Higher Received Signal Power in Mitigating Multipath
Although an increase in received signal power can reduce the thermal noise error components in time synchronization and positioning, there is no material improvement in multipath mitigation performance of the most popular receiver-based mitigation methods developed for GPS, including narrow correlator technology, correlation function shape-based methods, and modified correlator reference waveforms, all of which have previously been discussed. The reason is that the residual range error using these methods is in the form of a bias which is not noise-induced.
There are two notable exceptions: (1) The performance multipath mitigation performance of correlation function leading edge techniques is quite sensitive to SNR. As the SNR increases, the leading edge of the correlation function can be detected just as reliably with a smaller threshold, thus decreasing the extent of the multipath-free portion of the function. Thus, rejection of the influence of secondary paths closer to the direct path can be accomplished. (2) The ML estimate of the direct path delay also improves with SNR, and in the limit it becomes a zero-error estimate as the SNR approaches infinity, assuming the underlying ML multipath model matches the actual situation.
Since the received power in the ZuluTime application will generally be much larger than in GPS, these two forms of multipath mitigation might offer considerably better performance than with GPS, assuming they can be adapted to the types of modulation already existing in wireless networks, or that there is freedom to add an additional type of modulation.
3: Bandwidth Considerations
The significantly smaller signal bandwidths of typical wireless networks used by ZuluTime as compared to GPS are a disadvantage in obtaining good multipath mitigation performance.
4: Modulation
Aside from signal bandwidth, the types of modulation used in the ZuluTime wireless networks has a likely impact on any receiver-based multipath mitigation method. The specific implications will not be clear until further analysis is performed.
5: Carrier Frequency
Radio signals with higher carrier frequencies that may exist in the ZuluTime network reflect from objects more easily, thus making multipath mitigation more difficult.
Aside from the differences between GPS and ZuluTime just described, the challenges of multipath mitigation are similar when GPS positioning is attempted indoors and in urban canyons. In this case both systems must be capable of dealing with severe multipath due to the presence of multiple reflecting objects.
Some Aspects of Multipath Mitigation for ZuluTime
Generally, the GPS spatial multipath mitigation techniques previously described are not suitable for ZuluTime because of cost, non-adaptibility for mobile nodes, or excessive required signal observation times. Most of the GPS receiver-based methods could be used. However, there are some special considerations for the ZuluTime application, which we now describe.
The Benefit of Reduced System Error Sensitivity
The ability of the ZuluTime system to provide significant reduction in system error sensitivity can materially aid in reducing the effects of multipath. With multiple nodes, the multipath-induced measurement errors are likely to have a certain node-to-node “randomness,” including some negative and some positive values. As previously described, an overdetermined position solution will tend to reduce the position error based on the measurements, as compared to using the minimum required number of measurements.
Because the ratio of the number of equations to the number of unknowns in ZuluTime positioning can be made large, there is some capability to identify “outliers” in the range measurements likely to be caused by large multipath errors, and eliminate them from consideration. For least-squares estimation as described previously, this is easily done by observing the components of the residual vector
r=ρ−Ap=ρ−A(ATA)−1ATρ. (30)
One method of selecting which components of p to eliminate is to form the ratio of the magnitude of each component of r to the RMS residual
where N is the number of measurements, and ∥r∥ denotes the norm (length) of r. The measurements for which the ratio exceeds a predetermined threshold are eliminated, and then a new solution for position is computed.
It is also possible to improve consistency checking for mobile nodes by keeping a record of the residuals over time as position solutions are updated. If the residual of a particular measurement is sufficiently large compared to those of previous corresponding measurements, that measurement can be eliminated from the solution for the current position update.
Signal Compression
As has been mentioned previously, optimal measurement of range without multipath requires cross-correlation of a received waveform with a receiver-generated replica (the reference waveform) of the received waveform. Most GPS multipath mitigation methods still involve this cross-correlation process, which provides a large amount of processing gain to combat thermal noise. The generation of a reference waveform implies that the received waveform is known. In GPS the known received waveform is a pseudorandom code (the C/A code for most GPS receivers in current use), which has much wider bandwidth than the data modulation.
However, in the ZuluTime application there may be only high-bandwidth data modulation on the signal. The transmission of such data implies that over time intervals long enough to obtain processing gain, the entire waveform is not predictable. However, the waveforms of the individual symbols in the data stream are known, except for parameters such as amplitude, frequency, or phase. To make use of such signals to measure range, a process called signal compression may be employed. Signal compression may also be applied in global navigation satellite systems (GNSS's), which includes GPS, to reduce the amount of computation in generating correlation functions. See, L. Weill, “Theory and Application of Signal Compression in GNSS Receivers,” Proceedings of ION GNSS-2007, the 20th International Technical Meeting of the Satellite Division of the Institute of Navigation (Fort Worth, Tex.) September 2007, ION, Alexandria, Va., pp. 708-719 (hereinafter, “Weill”).
For simplicity, we describe signal compression for BPSK modulation, in which there is only one symbol waveform with a phase of 0 or 180 degrees, the phase generating one binary bit of information per symbol. Each symbol waveform is a rectangular pulse which has been filtered to some extent both in transmission and reception. All such waveforms have the same length Tb.
Referring to
As the leading edge of each demodulated bit in delay line B reaches the trigger point of delay line B, a snapshot is taken of the entire waveform in delay line A, and the polarity of the entire snapshot waveform is inverted if the triggering demodulated bit has negative polarity. The polarity-homogenized snapshots (one for each arriving data bit of the received signal) are pointwise accumulated to build up the compressed signal shown at the bottom of
The compressed signal has the appearance of a single symbol waveform, but it will be at a much higher SNR than any single symbol in the received signal if the compression is performed over a sufficiently long time interval. It might be asked why there is very little response outside the single symbol waveform. If the modulation consists of independent random symbols, the polarity homogenization process at the trigger point causes symbol waveforms outside the compressed waveform to statistically cancel. Actual modulation will generally have enough “randomness” to effectively perform this cancellation.
The compressed waveform can now be used for measuring range by any of a variety of techniques. Because of its augmented SNR, compression can be used with multipath mitigation techniques that improve with increasing SNR. Compression preserves all range information, which is supported by the Compression Theorem described in Weill.
The compression process can readily be extended to other types of modulation in which there may be more than one symbol type. In this case, symbols of each type are separately compressed. This can be achieved because the receiver's demodulator inherently identifies each type of symbol. It is only necessary that the received signal have enough power for data demodulation with a reasonably small error probability.
A Leading Edge Technique for Multipath Mitigation
A relatively simple leading-edge technique for ZuluTime multipath mitigation may prove useful. It is enhanced by the signal compression process just described, and signal cross-correlation is not required.
Suppose the signal arrival time is defined as the time at which the leading edge of the pulse crosses the threshold shown in
The multipath-free region of the leading edge drops significantly if threshold crossing of derivatives of the pulse are used instead of the pulse itself. In
One good reason for using signal compression to produce the pulse is the increase in SNR that results. This permits the threshold to be lowered, thus decreasing the size of the multipath-free region.
Taking Advantage of Mobile Node Multipath Characteristics
Due to the short carrier wavelength of typical wireless signals (on the order of 10-20 centimeters), a moving node will generally cause changing relative amplitudes and phases of secondary signal paths. In such situations, averaging or linear regression of the measurements over a predetermined time interval can reduce the multipath errors.
Network Generalizations of GPS-Like “Code Phase” and “Carrier Phase” Raw Data Introducing “Hard Pings” Versus “Waveform Pings”
A brief segue discussion is in order before outlining a variety of pseudo-range and delay solution approaches. This wide swath of solutions applies across a range of raw data production assumptions. Due to the extremely vast range of network types, such a generalization needs to be necessarily broad and sweeping.
A very well known distinction in raw data production has been handed down cleanly from the GPS world: the distinction between code-phase based data production and carrier-phase data production. It is well known that carrier-phase data has an innately higher data quality in pristine conditions, simply because it is derived from higher frequency components of arriving signals. Code-phase measurements on the other hand derive from much lower bandwidth “demodulated” signals. The original work in separating these two aspects of GPS signal measurement was focused on the sheer finer-scale timing measurements of the arrival of signals (nanosecond and sub-nanosecond scale for carrier phase; tens and hundreds of nanoseconds for code phase, generally speaking). However, as multipath-compensation techniques were developed for GPS, the distinction between code phase data and carrier phase data became increasingly important. A middle ground between the two, namely, so-called “I-Q waveforms” has become an important multipath raw data source, in that much of the phase and distortion effects from multipath are retained in post-demodulated waveforms.
This disclosure introduces a somewhat analogous difference in raw data sourcing for generalized networks, presented in the title to this section. “Hard Pings” refers to data sources where the count values associated with transmitted pings leaving a device and received pings arriving at a device are intimately tied to the symbol-encoding and symbol decoding logic of a device. Many of such count-stamping techniques have an innate lower-bound time resolution set by a counter's rate, which is almost always tied to the symbol rate and/or chip rate of a device.
“Waveform Pings” on the other hand derive from sample-sequence waveforms of either I-Q waveforms, or their more cutting edge equivalents of parallel demodulated waveforms in such communications approaches as OFDM and/or multiple-input and multiple-output (MIMO). A digression into describing such new communications approaches would be unwieldy at best, where the point here is that sequences of sample data are much better, vis-à-vis omnipath distortion measurement and mitigation, than a hard-coded singular value a la a count-stamp based method. It should be noted that for most if not all modern communication devices, these sequences are not the direct electromagnetic signals arriving at an antenna, but are instead in some demodulated form, whereby the carrier signal central frequency has been subtracted one way or another from the actual EM signal. (Again, going into endless discussion on the details would dilute the point for this disclosure: having a set of waveform data for every ping is much preferable to having a singular discrete value).
Hard-Ping Omnipath Measurement and Approaches
The following sections assume the former category of singular-value raw data production for ping data. That is, the sending of a ping and the receiving of a ping result in a singular discrete data value.
Pseudo-Ranges and Delays: Omnipath Effects and Multiple Solution Approaches
The baseline enablement of an embodiment is very straightforward at this point: go ahead and treat each ping as a pseudo-range measurement, knowing that there will be an unknown, generally “symmetric” additional delay caused by omnipath, as well as some quite small time-based residual error.
When node A transmits a signal and node B receives it, all following ping protocols, it then applies DZT corrections to both its counter and to node A's counter (which it knows via pung channels or implicitly), then calculates a distance measurement (pseudo-range) between itself and node A, knowing that this distance measurement is either pretty decent and not too distorted if there is no omnipath distortion present, or, more likely, is a bit too long by some small or not so small amount depending on this unknown amount of omnipath delay. The “symmetric” notion is that when B sends a signal back to A and the process is symmetrically repeated by A, then the “lengthening” of A's distance estimate should be roughly the same as for B's distance estimate, so long as the signals were exchanged within a second or less of each other in a moderately dynamic mobile network.
Label 530 in
Label 535 highlights the basic graphic structure used in the example, where a notional ping is sent out from one node and received by another, and this singular ping can be re-conceived as a range estimate replete with bias errors and random noise errors.
Label 540 and associated text highlight a hash mark (middle of three hash marks) which graphically represents the calculated range estimate based on a single ping exchange. The related disclosures go into great length in how this nominal range value can be directly calculated once DZT solutions are in place (which they are in this example, via the lengthy previous discussion herein).
Label 545 and associated text refer to the outer two hash marks of the three hash marks present. Those practiced in the art of any kind of measurement, and specifically in the art of pseudo-range measurements, can appreciate that a very wide variety of errors get lumped into a general conception of noise distributions represented by these “one-sigma” has marks. The idea behind the 540 and 545 pairing is that the sole component of error introduced explicitly by omnipath distortions (an error which is de facto non-negative) is separated out from the laundry list of all other error sources, where the headliner for these other sources is most often garden variety Gaussian noise on communications channels, with the very common co-star of “discrete binning” noise where the counters on board physical equipment are forced to choose integral numbers for their generated data. Poor estimates of innate instrument delays are another very common source of error lumping into these hash marks as well.
To be very explicit then, these outer two hash marks stand in for the elusive properties of actual noise and error distributions, as if hundreds and thousands of independent pings were sent concurrently with the physical singular ping in question, and we could somehow generate an actual distribution (which is certainly possible if we take out the dynamics in the nodes themselves and just run seconds-long and minutes-long tests). The totality of labels 535, 540 and 545 is then applied to our now familiar dynamic network environment where we will discuss a few interesting and common situations.
The first example to be discussed is the notional situation where node A has transmitted a ping and we will focus in on node B's receipt of that ping, labeled as the 550, 552 pair and quickly alluding to the 535-esque pseudo-ranging estimation to which this singular ping has effectively given rise. A note is that this same exact graphic could be flipped where the start of the pseudo-range estimate could emanate from B and the three hash marks parked around node A. This reverse graphic might better conform to the text description above, but we'll leave it as is, partially because this emphasizes that the pseudo-ranging view of the problem is as much an intuitive aid as it is an explicit algorithmic basis. It should be both, not one or the other.
In the single-ping pseudo-range event labeled 550, 552, we ask our gnome to come back out, faster than light he/she is, and ask the gnome to bring along with him/her a few hundred thousand dollars worth of specialized signal measurement equipment. This gnome is well versed in the elliptical integration understanding of the actual omnipath situation as it exists between node A and node B at this particular ping instant, knows very well which exact carrier frequencies are being used, how the ping-measurement data is being extracted, etc. Using their highly tuned measurement equipment, along with performing a whole bunch of parallel pings alongside the single physical ping, our gnome finds that the component of error due to omnipath delay is fairly slight, represented by label 555, and that the “everything else” errors distribute as referenced by the hash marks. The gnome surmises and can partially even measure that it is the two fixed walls immediately above nodes A and B which is the largest contributor to something around, e.g., a 5 nanosecond phase shift in the particular carrier frequency being used in, say, the 802.11 transmission which manifested the ping event, where such a phase shift then manifests itself as the depicted omnipath extension, OE 555. Smart gnome that, with a little help from some very expensive measurement equipment.
One practical “early real world” comment on an 802.11 network is based on the discloser's fairly recent experience with actual 2008-era commercial hardware. In practice, 2008-vintage 802.11 chips were not designed to carry out these kinds of high precision operations, where the “counter resolution” of any given commercially available discrete counter might be as coarse as 1 microsecond, and generally not much better that a few ten's of nanoseconds. The practical implication of this fact is that the outer one-sigma hash marks depicted in
Moving back to the discussion on
There is a third ping event example depicted in
One generic note about
Those practiced in the art of pseudo-range triangulation will recognize this situation as a fairly typical example of decent geometric diversity, with an over-determined set of variously biased estimators. Note that all estimates are “beyond” the actual position of G. One can further imagine that G now progress on some mobile path, with pings coming and going, with these range estimates become a virtual movie of, typically, dozens and dozens of these estimates appearing and disappearing per second (for a system where each node transmits a ping at least a few times per second). As G progresses on its spatial journey, a virtual cloud of position probabilities follow along, most typically being thrown into a classic Kalman filtering routine in order to determine an optimal path for G.
One can immediately see the “shadowing” effect discussed at length earlier, whereby a clear increase in length is caused by intervening EM scattering objects. The term “shadow” is not exactly correct, but hopefully the reader does not mind its use here. But what is also happening here, provided there is some method of providing “ground truth” on precisely where G happens to be (possibly relying on, or possibly not all relying on the H-G linq itself), is that the fixed omnipath delay map associated with H is making itself “partially” known, at least for the particular carrier frequency and modulation method being employed in the linq. A technician doing a few minutes of driving around in a local urban environment might be the form of this operation for a quick set-up routine, attached to the normal procedure of setting up node H as a local access point to node H, as but one of many examples. Ground truth methods can also be many, such as this technician using special purpose urban-canyon ruggedized GPS/INS hybrid positioning systems, as one example, or, if other access points have already been “omnipath calibrated,” then ground truth can simply come from normal PhaseNet/Zulutime estimations based on those pre-existing nodes, possibly ignoring node H's ping data. Further still, node H's actual data can be used to “roughly estimate” these maps, then as more and more random nodes travel through the environment, all fixed nodes can slowly improve their own delay maps by continually comparing their individual pseudo-range estimates of a given object and comparing that to what the broader local group decided the position was, at the instant that pseudo-range was determined (its ping time). Bottom line: there are many ways to create these delay maps.
Briefly examining the details of
Lower Bound Clumping
The preceding paragraphs explored a variety of details on artificially extended pseudo-range values due to omnipath distortions, with both the gnome-view which is unavailable to an actual functioning network, as well ignorance and discussions on how that ignorance can either be mitigated or simply lived with. The title of this section refers to a specific approach to generating position solutions based on several levels of ignorance relative to both omnipath-induced delays as well as residual device delays. The term “clumping” may be translated by mathematicians and engineers into least-squares terms, but in general refers to overall agreements of measurements. The guiding idea is that correct positional answers will clump together either over some short-defined epoch of time, or certainly over an evolution in time of say ten to twenty seconds. Omnipath-induced false solutions will tend to diverge from each other and not clump, as the opposing notion.
The phrase “lower bound” is a direct reference to the uni-directional effects of delays in time. Generally speaking, the “zero delay” answer to an amount of delay is the lowest one can go, while in a physical instrument there is generally some lowest value of delay that that device will necessarily introduce. Omnipath-induced delays merely increase the overall delay component of a pre-compensated pseudo-range value.
Four arbitrarily splayed fixed nodes A, B, C and D (650, 652, 654,656) are all producing pseudo-range estimates to moving node M (658). Methods described earlier in this disclosure and in the related disclosures outlined how such pseudo-range values are derived, while the additional step of removing device-induced delay values has been performed. The resulting graphic treatment then isolates the individual omnipath-induced delays for each of the four independent range-lines. The range-line from fixed node A to M extends only slightly beyond M, depicted as the 660 overhang. Likewise, nodes B and C's range-lines extend a bit further, 662, while the range-line from node D is quite a bit further out, 664. For all and arbitrary networks, where a variety of approaches exist that can boil down to this system of inherently over-determined pseudo-range values, the question becomes: what to do?
Lower bound clumping is felt to be a very reliable embodiment of positional solutions which has the property that it downplays outliers in much the same way that finding median values as opposed to mean values of an unknown variable tends to de-weight outliers. In particular, lower bound clumping re-formulates range-excess values into a form graphically represented by the plot in the lower left of
Specifically, the “algorithm” used in certain WiFi embodiments has been the following:
1) Determine the N independent pseudo-range values between all fixed nodes and a moving node for some epoch in time.
2) Pick any point in space and determine that point's N range distances from it to all fixed nodes, as if the moving node was at that point.
3) Subtract the second N-vector from the first, call it the difference N-vector, where it can be appreciated that any pseudo-range subject to an extreme form of omnipath-induced distortion will produce a higher resultant value than if it were not distorted.
4) Select the lowest value in the N-vector and subtract it from all others. This new N-vector will have a zero value where the lowest one was, and all other positive.
5) Simply sum the values in the N-vector of step 4.
6) Now search through space to find the spatial point which minimizes the N-vector sum of step 5.
There are numerous variants on this basic scheme, including various weighting schemes on the difference N-vector as well as simply throwing out all but the lowest two or three values. The main relationship that this “algorithm” has with the median operation is that it is not weighting via the square of differences, and indeed, the further outliers are often thrown out of the calculations altogether.
In deployed systems, the situation depicted in
The limitations of lower bound clumping relative to the degree of omnipath distortions present in a network can be clearly spelled out. The following discussion delves into roughly how far lower bound clumping can still produce decent positional solutions, and at what point it breaks down, resorting to waveform based approaches, advanced network consistency approaches, map based approaches and all their various combinations and permutations (the many cocktails and their various combinations).
In
Fortunately, use of a median-based definition of “clumping,” as opposed to a least-squares based definition, can help distinguish the correct global minimum 658 from one or more local minimum typified by the spatial point 694. A point is reached in an N-node fixed network whereby false local minimum overtake the “correct” answer. This answer will be entirely dependent on local conditions.
For example, a specific environment can be readily tested to see if only four or five fixed nodes generally suffice in order to achieve some level of omnipath distortion, as opposed to needing seven, eight or even higher, thereby increasing the basic odds that some small set of three or four will be agreeing on the spatial location of a mover. For environments with horrendous omnipath present, other methods previously discussed (specifically the map based method) and others following should be considered. Even when using more advanced techniques, however, the least bound clumping approach can still be brought into the solution process as it has excellent median-like properties in determining final solution choices.
The Best-Solution Clumping Value
It should be pointed out that the whatever specific median-like metric or any other type of metric is used to find a “global minimum,” itself becomes a form of feedback on what degree of omnipath distortion a given network is experiencing at any specific epoch in its operation. This is rather intuitive, in that if range-values are nicely agreeing with each other, this generally indicates that one way or another the omnipath distortions are either not present or are adequately being corrected-for, while if residual agreement in clumping is poor, the opposite case of heavy omnipath is probably at play.
The reason for being explicit about this is that such a final clumping value at the global minimum can be utilized both as feedback to current users of a network, helping them to better understand the error bars of the presented solutions; but perhaps more importantly to assist in calibration routines, network set-ups, and trouble shooting, with further discussion on these topics below.
Isolating Inherent Device Delays from Ephemeral/Omnipath Delays
The first type of measurement is quite straightforward, whereby a given device is put into a position where both line-of-sight delays and omnipath delays are essentially eliminated, and what is left is simply measuring this device-induced delay. This is what we refer to as calibrating the innate device-induced delay of that particular device. It is easier said than done, in that insuring that no omnipath delay is present can be rather tricky. Nevertheless, if one is willing to accept a few nanoseconds of residual error, or, go to lengths to take antennae out of the equation by doing wired links between devices, then one can measure and thereby calibrate a given device to discover its innate delay as well as the innate drift in the magnitude of that delay over minutes, hours, and days of time.
The second type of measurement has been covered extensively in the related disclosures, whereby it is treated as a full unknown parameter in the g=Hf formulations. Engineers will recognize that this may not be necessary where the devices are relatively stable and the residual errors introduced by using calibrated values are acceptable.
Static/Dynamic Combined Network Consistency
The earlier disclosure on lower bound clumping could be called a form of “static consistency” to solutions, in that the operation of the clump-map minimization was finding the point on the map where measured pseudo-ranges most agreed, or were consistent.
A broader view of consistency would involve dynamics within a mobile network as well, and in the process provides a very powerful additional tool in both sleuthing pseudo-range values which are particularly subject to omnipath-induced distortions, as well as disambiguating correct solutions from incorrect ones as omnipath distortions become particularly extreme. A further benefit-in-the-extreme of looking at static/dynamic consistency is when it is applied to new nodes joining an existing group or even when an entirely new group is set-up and calibrated: discussion below will outline how both direct and recursive procedures can be put in place whereby detailed delay maps can be measured, stored and thereafter utilized for normal solution refinements.
Fortunately, real networks probably will never reach this thought experiment conundrum as outlined in its pure logical form above. Basic random noise alone pretty much ensures this. Getting back, though, to the point behind the simplifications of
Specifically within the
As further noted in the text lines of
A useful point behind
Automated Delay-Map Generation: Further Details
Earlier in this disclosure the topic of mapping known or at least somewhat stable delay characteristics of a given fixed node can be used to create correction factors on individual range-values as a final spatial solution is converged upon. Now that a few more specific approaches to generating solutions has been discussed and some of their omnipath-induced behaviors elucidated,
In
Those practiced in the art of positioning systems can appreciate that, in the situation where omnipath delays or other forms of delays are not “outrageous and out of control” to put it in vernacular, one has the opportunity to set up a “convergent solution” approach to generating delay maps even in situations where all fixed nodes are new, i.e., a Zulutime fixed network group is being set-up for the first time. Note 750 summarizes this possibility, where various cocktails of solution methods can be employed, most definitely including lower-bound clumping and dynamic/static separations, but any number more as well, where (N−1) fixed nodes produce interim spatial solutions and the Nth node's measured range value is compared to the N−1 answer. A very crude initial estimate is formed for the delay map of node N, and this same procedure is cycled through all fixed nodes in the network. Mathematicians will note that this is simply tracking the deviation of each node from the average of all others. Producing crude first-stage delay maps can then be used (generally with what is called a “damping factor” applied to delay-corrections) to partially correct for a next iteration of solutions. For networks where omnipath distortions are not hopeless, many indoor situations, even rather complicated situations, will find a useable convergence to delay maps that, certainly, further more involved calibration steps can refine. This self-calibration approach can at least noticeably reduce out-of-the-box error bars for a newly set-up network.
Omnipath Symmetries and Asymmetries
The note 790 begins with a critically important phrase: “ . . . running on Zulutime.”
Back to this disclosures central mantra: remove timing from the problem and the problem greatly simplifies. Here is one clear instance where the intuitive notion of each and every ping generating a pseudo-range value becomes manifest. As such, it can be clearly scene that symmetries and asymmetries of pseudo-range values can be directly measured, once all nodes are “running on Zulutime.” At the deeper error-bar level, residual timing errors are of course still making their way into actual measurements, but their probable magnitudes can be easily estimated and in almost all practical applications, brought to a sufficiently low level that they become dwarfed by larger error sources, with the operative one of this section being omnipath distortions.
Accepting this approach leads directly to the conclusion that measuring and exploiting asymmetries in duplex pseudo-range values is readily achievable.
One of the exploitations has to do with the third case 780, of egregious asymmetric omnipath-induced distortions. In spread-spectrum based networks in particular, but in any communication system where there is a systematic binning of signal values into “chip rate” oriented logical discrete values (which includes virtually all modern communication systems, even very recent ones such as OFDM and/or MIMO), an interesting (and annoying) situation can occur where a multitude of paths can contribute to a received RF signal at an antenna which when demodulated into the lower bandwidth logical structures, can exhibit abrupt phase shifts between binning an incoming signal into one particular “phase” of the binning logic (“the chip rate” in classic spread spectrum) and some adjacent phase of the binning. For systems running at relative low chip rates, say 10 mega-chips per second or lower, this phase shifting can abruptly shift “code-phase” based arrival count-stamp procedures from one value to another one a full chip later (or sometimes sooner, if restoring from a delayed state). This shifting is one of the primary drawbacks of code-phase count-stamping approaches, where waveform-based approaches in general have many tools available to whisk away this pesky fly. But in much of current communication systems where the sheer sophistication of count-stamping has not been economically driven into low level RF designs, this shifting can become a fundamental omnipath-induced delay. In the 780 case of
Knowledge of the existence of this cycle-slip behavior can also certainly inform previously-described and hereafter-described specific solution approaches, along with their interim tasks of identifying individual behaviors of resultant range values.
Minimum-Delay Range-Line Logic: 3 or 4 of N
The figure above the 812 sub-group is further refined, wherein some unknown global delay parameter can be gradually subtracted (or ignored, with subsequent minor residual error consequences) until one of the two arc-intersection points is found representing a very classic two-point lateration of a solution point in two dimensional space. The nodes C and D can then provide possible adjudication on choosing among two points, or can be input into a weighted least-bound clumping routine, where the minimal delay choosing operation has simply pre-filtered highly probably nodes with clearly higher omnipath-induced delay values.
Omnipath/Multipath Identification in Explicitly Noisier Networks
Much of the previous disclosure concentrates on core principles where the notoriously noisy conditions of many commercial systems are implicitly treated as Gaussian processes affecting end solutions in standard-art manners. The following sections and its two figures attempt to be more explicit in their operations within rather noisy situations, at the same time presenting further variants on the identification and subsequent mitigation of omnipath distortions.
Multipath Link Detection
After clock and device delay parameters have been established, a residual error term for the ranging estimate between the mobile node(s) and all other nodes it is in communication with can be computed. Typically there are two ranging estimates per communication link, one for each of the two duplex paths. The ranging estimate takes into account all previously estimated parameters including: distance between the nodes, clock rate differences between the nodes, and path delay.
Each group of measurements for the residual error contains N terms, where both clock parameters and mobile position are presumed quasi-stationary. If there is an abrupt change from LOS to a multi-path obscured path, we might expect a corresponding increase in residual error. Owing to the very high noise environment with respect to measuring position, the increase in residual error would only be observed on average.
The upper subplot in
The other nodes that are in communication with the fixed node would show a much more gradual increase in residual error. The error increases because in general the mobile node is expected to move from its previous position. The contrast provides a means for detecting a link with multipath.
A second method for assessing whether a multipath link is present is the leaving-one-out approach. In this method, one would solve for the new position of the mobile M separate times, where for each solution a different one of the M nodes the mobile node is in communication with is left out. If there is multipath present on one of the links, the solution may bounce around to accommodate the link with multipath whenever it is included in the calculation. Moreover, when the multipath link is left out of the calculation the solution should be consistent with previous solutions. Alternatively, it may be desirable to use a small group version of this method. In this case small subgroups of the M nodes are used to determine position in the usual fashion. Any subgroup containing the node with multipath should exhibit a bias in the solution.
A third way to determine whether multi-path is present and to measure its delay is to include explicit delay terms for it in the matrix equation. However, it is advisable to do this in a way that does not increase the relative number of unknowns. By way of repetition: over the course of multiple harmonic blocks clock solutions are calculated and mobile position is estimated. Treating these parameters as knowns and generating a new system of equations that singles out the unknown multipath delay(s) leads to an overdetermined system of equations. Focusing only on links with the mobile over the course of N harmonic blocks of data, there are 2N equations and one unknown per duplex link. In an example scenario where exactly one duplex link has multipath, solving for the unknowns in this manner should lead to exactly one parameter of appreciable size.
Multipath Link Estimation
Upon determination that one of the links contains multipath, the first step is to estimate its associated delay. In a first multipath example, this is done by leaving the multipath link out of the emplacement calculation to measure the mobile's new position, pk, and reconstructing the residual error for the multipath afflicted link, excluding the estimate of mobile position in the calculation. The residual is an estimate of the path delay, which includes transmission of a ping from the fixed node, reflection of the ping off a strong reflector, and reception of the ping at the mobile node's antenna. Assuming duplex communication, the same is true of the reverse link. This step can be refined by only using data from after the transition region labeled in
The type of multipath present on the link should fit into one of the following three categories: (a) LOS path with contribution from one or more strong reflectors. Delay would be dependent upon reflected signal phase, etc. This might vary significantly as the position of the mobile changes. If highly variable the MP simply becomes part of the system noise that is best dealt with via averaging or outright rejection. If not highly variable, then it is advisable to model and remove the delay in the residual calculation. (b) Blocked LOS with a single strong reflector. (c) Blocked LOS with multiple reflections.
In a second multipath example, may be estimated by focusing on case b and assuming that there are M fixed nodes and one mobile node. Only one of the M nodes has blocked LOS with the mobile node. As in the first multipath example, the second multipath example includes leaving the multipath link out of the emplacement calculation to measure the mobile's new position, pk, and reconstructing the residual error for the multipath afflicted link, excluding the estimate of mobile position in the calculation. These steps are performed over one or more blocks to obtain consecutive estimates of mobile position and path delay.
The second multipath example also includes creating an ellipse of possible strong reflection locations for the just estimated total path delay, during which the mobile moves from point A to point B. This step is repeated for another discrete solution time to create another ellipse. Then, an intersection point of the ellipses is used as an estimate of the location of the strong reflector. Using this location, the method includes calculating the distance from the strong reflector to the fixed node afflicted by multipath, df.
The second multipath example further includes re-introducing the offending node to the emplacement calculation, and modifying the solution for mobile position to use the bounce-path for the multipath node rather than the line-of-site path. A ping that is transmitted from the fixed node is received by the mobile node (rx−tx) seconds later, which is modeled as the total path delay plus instrument delay. Given a series of measurements, (rx−tx)k over a block of time, k, construct an estimate of the distance from the mobile to the strong reflector at solution time k.
d
k,fwd=avg(rx−tx)k−delinstr−df+N, (32)
where delinstr is the instrument delay, N represents a generic system noise term, and the subscript “fwd” denotes that this is the forward path. There is a corresponding expression for the case where the mobile node is the transmitter and the fixed node the receiver. In this case the subscript on the distance term would be “rev.”
Dropping the subscript for solution time k, the method includes finding a unique mobile position that minimizes sum(2*d(mobilepos,m)−dm,fwd−dm,rev)m over all M non-mobile nodes in the system, where d(mobilepos,m) is the distance from the candidate mobile position to node m. For the case of the multipath afflicted node, dm,f and dm,r have the form shown in equation 32. For all other cases, the form is the same except that the df term is set to zero. The procedure for minimization can be done in a variety of ways, one example of which is gradient descent. The reader is referred to the related disclosure for details.
In
Implementation Example of Topographic Oozing
The following example uses the term “topographic oozing” to describe fluid, layered redundant group association dynamics. The very word “topographic” could be either replaced or supplemented with the similar term “topologic,” in that generic network nodes often use this latter term to describe specific configurations of active node linqs, very often ignoring the “geometric” aspects of those linqs.
Example implementations of topographic oozing are provided to illustrate further details on how the principles disclosed herein can be applied on current technology RF devices. As Dedicated Short-Range Communications (DSRC) devices may be much harder to come by (at least for the engineering details desired) than 802.11 “WiFi” devices, 802.11 devices are temporarily described for the example implementations, trying in the process to show how DSRC devices can be built to do the same operations. The example switches the baseline usage example from an urban core to the interior of a retail shopping store having similar challenges of mobile devices randomly moving through a large array of fixed nodes. Here to, it is shown how the same basic implementation details can readily apply to urban traffic cores as well as suburban roadways and intersections.
Each installed GS 1011 is within range of at least one of the APs 301, 302. (Here again, normally there may be more than two APs, but this implementation example uses just two APs for explication purposes; if “range” becomes an issue for a particular application, then the number of APs may be increased, e.g., to three or four or many more for very large stores.)
Before describing how a given mobile device, and eventually many mobile devices, can communicate with the depicted devices of
Presumably, an information technology (IT) professional has installed the two APs 301, 302 as is typical for APs servicing a given area intended for many client WiFi devices. This example assumes that these two APs have been so installed and they operate according to very normal AP standards and methods.
Similarly, an IT professional or a trained installation technician may mount the 30 GS 1011's and ensure that they are properly powered and “booted up”. They do not necessarily need to be on the ceiling, though this is useful in certain embodiments. Two additional operations take place on each of the GS 1011 devices during this physical mounting and powering step. Once powered, the GS 1011 devices are instructed to act like a normal WiFi client, contacting and communicating with and through one or both APs 301, 302. The other step is that the individual doing the physical installation, or some assistant thereto, logs the actual location of where he/she has installed the given individual device, e.g., relative to a store map. The manner of this logging has many variants, with one method being logging in with a smartphone application indicating the ID number of the GS 1011 device, its IP address, and its store location, usually indicated in aisle numbers and post numbers. Later on, an additional program transfers the logged locations into physical coordinates relative to the 500 by 200 foot dimensions of the physical store, usually including the height of the GS 1011 (above the floor) as well. The accuracy goals of the entire system may require that one should log the locations to slightly better than the position accuracy desired for device tracking, where this is currently roughly a meter or so.
As each GS 1011 device powers up and communicates with an AP, it can perform a variety of provisioning tasks. One task includes contacting some “installation” or set-up IP address in order to fetch further instructions, if any. Or, it may just query a “Zulutime Web Service” and announce it is a new participant. All 30 GS 1011 devices are thus installed, powered up and tested, where any faulty devices (usually none) are immediately flagged and replaced. It is recommended, but not required, that each GS 1011 node chooses one of the other of the APs to be its primary association AP and to choose the channel of that AP as the primary channel that it “listens to” for other WiFi traffic, as will be described further below.
A function of the GS 1011 devices is to listen for transmitted WiFi packets from any and all random mobile WiFi devices that establish a WiFi session with the primary AP that it (the GS 1011 device) is associated with. For example,
The pung packets from the GS 1011 nodes are thus sending their data to some specified IP address (in this example referred to as a Zulutime Web Service), where data processing of the type explained in other sections of this disclosure track clock drifts between the various GS 1011 nodes, remove such drifts from the countstamp data, compute multipath-distorted pseudo-range values, and thereafter calculate optimal positions for the mobile devices using multipath mitigation methods describe in the related disclosures. Even without using multipath mitigation methods, standard techniques exist to compute positions based on, typically, three or more pseudo-ranges. There may be larger relatively larger error bars on the calculated positions in the case where multipath is ignored.
This is the point where this disclosure can more explicitly turn back to the detailed implementation of topographic ooze.
In this example, it is assumed that a person with a mobile smartphone is walking along at about 5 feet per second, then the person takes approximately 20 seconds to walk about 100 feet between location of 312A and the location of 312C. To keep things simple, this example assumes that only the three “linq states” exist during this 20 second period. The first linq state is graphically indicated by 312A where again 10 GS 1011 nodes receive packets from mobile device 312 over six seconds. The second linq state is indicated by 312B where 6 GS 1011 nodes, still associated with AP 301, receive packets over the next seven seconds from mobile device 312. Then, over a very short period, e.g., one quarter of one second, the mobile device 312 re-associates with AP 302 and the third linq state is indicated by 312C where a total of 8 GS 1011 devices (devices that are associated with AP 302), receive and countstamp packets from mobile device 312 over the remaining 6 seconds of our original 20 second stretch.
The details of the topographic ooze take place at the Zulutime Web Service (ZWS) and the individual GS1011 nodes in the store need not concern themselves with anything other than dutifully transmitting the node and packet IDs of the packets they hear along with the countstamp of when they heard each packet.
The ZWS, on the other hand, is continuously monitoring for exactly how many GS1011 devices are “hearing” any given active mobile node. While the number of linqs grows and shrinks on a second by second basis, clock solutions and position solutions can nevertheless be smoothly tracked and determined. Thus, when the linq state moves from 312A to 312B, several of the listening nodes remain the same and these solution techniques may be used in the transition from 312A to 312B. At the juncture where the mobile device 312 re-associates with AP 302, however, a near-split-second switch now occurs between one set of GS 1011 devices on one channel (that of AP 301) and another set on another channel (that of AP 302).
In this instance, the ZWS had been previously aware of the different channels employed by the various GS 1011 nodes during their set-up and registration process. The ZWS is expecting such abrupt changes to occur in terms of which GS 1011 devices are listening to which mobile devices. In this case, the ID (typically MAC address in the WiFi case) of the same mobile device 312 becomes the continuity factor in stitching the previous positional solutions of 312A and 312B with the newly calculated positional solutions of 312C. In practice, there may be an annoying gap of two or three seconds whereby the solution set of 312C is trying to accumulate sufficient pung data to form a solution, but even here classic Kalman filtering techniques familiar to GPS receiver designers can help bridge the smoothness-and-accuracy-of-solution gap.
Another advanced variant on the descriptions of
As stated in the introductory material of this disclosure, omnipath distortions are generally not something amenable to being “solved”, per se, but are eminently capable of being sleuthed, exploited and ultimately mitigated inside all but the most horrifically complicated EM environments. This disclosure has outlined a wide variety of approaches to mitigating these effects, where in this conclusion we also reiterate the concept of the cocktail glass, itself, and the various cocktails that can go into that cocktail glass: The glass itself remains the very framework of communicating and cooperating nodes, sharing information and enabling the capability of sharing one singular “Zulutime,” thereby eliminating timing as an issue in the omnipath problem, at least to some acceptable error floor criteria. Having removed timing from the problem, a wide variety of specific cocktail ingredients show up on the bartender's shelf, where elements in isolation or many elements in combination can be utilized in order to mitigate omnipath-induced distortions, mixed in ways that adapt to the given application and the given environment within which nodes find themselves.
It will be understood to those having skill in the art that many changes may be made to the details of the above-described embodiments without departing from the underlying principles of the invention. The scope of the present invention should, therefore, be determined only by the following claims.
This application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application No. 61/366,413, filed Jul. 21, 2010, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
61366413 | Jul 2010 | US |