The present application relates to wirelessly detecting positions of devices, e.g., portable or mobile devices.
There is an increasing need for ways of determining the location of mobile or portable objects or devices, e.g., cellular telephones or blood-borne sensors. GPS, LORAN, and similar systems can provide location information, but often only with resolution on the order of 15 m. Moreover, such systems can be more difficult to use indoors due to changes in signal propagation through walls and other features of buildings. WIFI or BLUETOOTH triangulation has been proposed and may have an accuracy as low as 1-2 m indoors. However, these schemes often require large databases of known transmitters (TX). There is, therefore, a need of positioning systems that provide high accuracy and do not require large databases.
Reference is made to US 2013/0166002 by Jung et al., published Jun. 27, 2013, the disclosure of which is incorporated herein by reference.
The above and other objects, features, and advantages of the present invention will become more apparent when taken in conjunction with the following description and drawings wherein identical reference numerals have been used, where possible, to designate identical features that are common to the figures, and wherein:
The attached drawings are for purposes of illustration and are not necessarily to scale.
In the following description, some aspects will be described in terms that would ordinarily be implemented as software programs. Those skilled in the art will readily recognize that the equivalent of such software can also be constructed in hardware, firmware, or micro-code. Because data-manipulation algorithms and systems are well known, the present description will be directed in particular to algorithms and systems forming part of, or cooperating more directly with, systems and methods described herein. Other aspects of such algorithms and systems, and hardware or software for producing and otherwise processing the signals involved therewith, not specifically shown or described herein, are selected from such systems, algorithms, components, and elements known in the art. Given the systems and methods as described herein, software not specifically shown, suggested, or described herein that is useful for implementation of any aspect is conventional and within the ordinary skill in such arts.
Various aspects herein advantageously permit position to be determined rapidly using a low-power microcontroller. No large database of hotspots or antennas is required. Various aspects permit very high-speed tracking of motion.
Throughout this disclosure, the term “coil” when used in reference to an antenna is not limiting, and other types of antennas capable of performing the listed functions can be used. Various aspects herein use low frequencies, e.g., <1 MHz or <500 kHz, ˜70 kHz, or ˜80 kHz or ˜35kHz. Other frequencies can also be used, e.g., >1 MHz. Magnetic sensors described herein can include sensors including two or more substantially orthogonal coils for measuring components of a magnetic field. A triaxial or other magnetoresistive sensor can also or alternatively be used.
Throughout this disclosure, references to the Earth's coordinate system include other reference coordinate systems common or substantially common to transmitter and receiver.
In one embodiment, an approximate location can be used as a starting point to locate the magnetic-field vector of interest. Initial estimates of the approximate location can be made in various ways. The approximate location is within an area determined using the determined signal strengths (magnetic field strengths) of the arriving signals and a corresponding estimate of distance to each transmitter (as in distance estimation using WiFi, Bluetooth, RFID signal strength).
In one example, an exhaustive search is performed of coarsely-spaced sample points in the search area. More closely-spaced sample points are then tested around the coarsely-spaced point that gives the minimum error. This procedure is repeated with successively more closely-spaced sets of sample points (successively finer sampling grids) until the required spatial accuracy is satisfied.
Throughout this disclosure, once a position or orientation of the receiver is determined with respect to the transmitter, that position or orientation can be transformed into other coordinate systems, e.g., Earth-relative systems such as WGS84 or local systems such as a coordinate frame of a room or building. Coordinate transforms can be done using rotations, skews, and other techniques well known in the computer-graphics and cartographic arts.
In view of the foregoing, various aspects providing determination of the location of a receiver in proximity to a wireless transmitter are disclosed. A technical effect is to detect magnetic fields from the transmitter(s) and determine the location of the receiver using the detected fields. Further technical effects of various aspects include presenting an indication of the receiver's position on an electronic display and transmitting the determined position to the transmitter, a computer or computing unit, or another device.
The transmitting coils 102 will generate a spatial magnetic field where the field strength and direction depends on the position in the space. Because the two signals from the two transmitters have slightly different frequencies, the amplitude of the magnetic field signal at any given position (x, y, z) will be modulated where the modulation frequency is the difference between the two transmitting signal frequencies |f1−f2|.
Amplifiers 112, A/D converters 116 may be operatively connected as shown to amplify and convert the output of the magnetic sensor 106 to a digital form suitable for input by a computing unit 118.
As shown in
By measuring the maximum and minimum values of the modulated signal,) we can estimate the magnetic field signal vectors (Eu1, Ev1, Ew1) and (Eu2, Ev2, Ew2) in the receiver 104 coordinate frame (U, V, W). The magnitudes of the two measured magnetic field signal vectors and the angle between the two vectors may be estimated using the following equations:
The magnetic field vectors in the transmitter coils 102 coordinate frame (X, Y, Z) is still unknown. However, because the magnitude of a magnetic field vector measured by the receiver 104 at a given position must be the same regardless of the coordinate frame, we can show that:
|E1|=√{square root over (Eu12E+v12+Ew12)}=√{square root over (Ex12+Ey12+Ez12)}
|E2|=√{square root over (Eu22+Ev22+Ew22)}=√{square root over (Ex22+Ey22+Ez22)} (2)
where
(Ex1, Ey1, Ez1) and (Ex2, Ey2, Ez2) are the expected magnetic field vectors in the transmitter's coordinate frame (X, Y, Z), and
(Eu1, Ev1, Ew1) and (Eu2, Ev2, Ew2) are the measured magnetic field vectors in the receiver's coordinate frame (U, V, W).
The following is a graphical explanation of the above method.
The receiver position may be found by comparing the estimated angle θ with the measured angle θM because the difference between the estimated angle and the measured angle |θ−θM| will be the minimum, ideally zero, at the receiver 104 position. This works because the angle between any two vectors remains the same when the coordinate frame rotates, and hence the calculated angle between the two estimated vectors in the transmitter's 104 coordinate frame (X, Y, Z) and the angle between the two measured vectors in the receiver's own coordinate frame (U, V, W) must be the same ideally at the position of the receiver 104.
Note that the position of the receiver 104 above is found without its orientation information. To find the orientation of the receiver 104 (α, β, γ) with respect to the transmitter 102 coordinate frame (X, Y, Z), we can use the estimated magnetic field vectors (Ex1, Ey1, Ez1) and (Ex2, Ey2, Ez2) at the found position and the measured magnetic field vectors (Eu1, Ev1, Ew1) and (Eu2, Ev2, Ew2). For example, we can estimate the rotation matrix for the rotation from (Ex1, Ey1, Ez1) to (Eu1, Ev1, Ew1), and/or from (Ex2, Ey2, Ez2) to (Eu2, Ev2, Ew2). Using the rotation matrix, we can estimate the orientation of the receiver (α, β, γ) with respect to the transmitter's coordinate frame (X, Y, Z).
If the error from step 810 is within the predetermined limit, the process moves to stage 816, where the x/y/z step size is compared to a predetermined minimum. If the step size is at the minimum, the computing unit 118 outputs the estimated x,y,z position of the receiver 104 (stage 820). If not, the step size is reduced (stage 818) and the error is again evaluated (step 810).
At stage 822, The magnetic-field vector at the receiver 104 position (x, y, z) in the transmitter coil 102 co-ordinate system is determined. From the magnetic field vectors ({right arrow over (E)}1 and {right arrow over (E)}z) in the transmitter coil 102 co-ordinate system (which uses (X, Y, Z)) and its projection in the receiver 104 co-ordinate system (which uses (U, V, W)), the rotation or orientation angles are determined and output (stage 824).
In order to resolve potential problems with polarity ambiguity, the following method may be used in one embodiment. The receiver 104 can possibly be located in one of the four quadrants relative to the transmitter coils 102: (+X, +Y), (+X, −Y), (−X, +Y), (+X, +Y). The signals directly from the tri-axial magnetic sensor 106 (before low-pass filtering) are processed to determine the polarity. The following algorithm is used to find polarity (No rotation is assumed here: α=β=γ0, and w,coil >(u,coil+w,coil)):
1. If max(u,coil+w,coil)>max(w,coil), then X is positive, else X is negative
2. If max(v,coil+w,coil)>max(w,coil), then Y is positive, else Y is negative
3. If α≠0 or β≠0 or γ≠0, then angle correction needs to be applied based on the magnetic field vectors at estimated (x, y, z) location and then the above algorithm is reapplied.
This method works because, assuming α=β=γ=0, when the receiver position is shifted from one quadrant to another, the direction of flux lines entering the u, v coil (among the three tri-axial coils) changes, changing the amplitude sign. The w coil at the same time, always remains in one side of the coil and is hence used as a reference.
In another embodiment, a 3-Dimensional sensor (e.g., a compass+accelerometer) can be used to find out the rotation angle direction with respect to the transmitter 102 which can be used to detect the quadrant of the receiver 104. As only the sign of rotation is to be determined here with some computation, one of the sensors can be removed. E.g. if the transmitter coils 102 are laid flat on a table and the receiver 104 hovers above it, only pitch and roll angles are required to detect the correct quadrant of the receiver and hence the quadrant detection will be achieved only with an accelerometer.
Indoor RF transmission modalities can be heavily affected by channel characteristics, e.g., the structure of buildings. In various embodiments, frequencies <1 MHz are used for effective propagation through, e.g., walls, human bodies, and other features of indoor environments. Such frequencies have wavelengths in the tens of meters, so the receivers can operate in the near field of the transmitting antenna, and not in the far field. Therefore radiative effects do not need to be considered or compensated for, in various examples. Lower frequencies increase the antenna size and provide improved penetration of objects. In various embodiments using frequencies of 12 MHz or higher, position accuracy can be more affected by walls than at lower frequencies. However, frequencies of 12 MHz and above can be used, and advantageously still pass through human bodies.
In the disclosed embodiments, various low frequencies can be used since the electromagnetic spectrum is not heavily used at LF. Other users include ham radio operators. Multiple frequencies can be used for different transmitters, and receivers can include notch filters corresponding to specific transmitter frequencies to avoid interference.
Any of the computing units 118, the receiver 104, the magnetic sensor 106, the signal generator 110, the driver 112 may include one or more computer processors, memory, and data storage units for analyzing data and performing other analyses described herein, and related components. The processors can each include one or more microprocessors, microcontrollers, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), programmable logic devices (PLDs), programmable logic arrays (PLAs), programmable array logic devices (PALs), or digital signal processors (DSPs). The data storage unit can include or be communicatively connected with one or more processor-accessible memories configured to store information. The memories can be, e.g., within a chassis or as parts of a distributed system. The phrase “processor-accessible memory” is intended to include any data storage device to or from which processor 186 can transfer data, whether volatile or nonvolatile; removable or fixed; electronic, magnetic, optical, chemical, mechanical, or otherwise. Exemplary processor-accessible memories include but are not limited to: registers, floppy disks, hard disks, tapes, bar codes, Compact Discs, DVDs, read-only memories (ROM), erasable programmable read-only memories (EPROM, EEPROM, or Flash), and random-access memories (RAMs). One of the processor-accessible memories in the data storage system 140 can be a tangible non-transitory computer-readable storage medium, i.e., a non-transitory device or article of manufacture that participates in storing instructions that can be provided to processor for execution.
Various aspects described herein may be embodied as systems or methods. Accordingly, various aspects herein may take the form of an entirely hardware aspect, an entirely software aspect (including firmware, resident software, micro-code, etc.), or an aspect combining software and hardware aspects. These aspects can all generally be referred to herein as a “service,” “circuit,” “circuitry,” “module,” or “system.”
Furthermore, various aspects herein may be embodied as computer program products including computer readable program code stored on a tangible non-transitory computer readable medium. Such a medium can be manufactured as is conventional for such articles, e.g., by pressing a CD-ROM. The program code includes computer program instructions that can be loaded into the processor (and possibly also other processors), to cause functions, acts, or operational steps of various aspects herein to be performed by the processor. Computer program code for carrying out operations for various aspects described herein may be written in any combination of one or more programming language(s).
The invention is inclusive of combinations of the aspects described herein. References to “a particular aspect” or “embodiment” and the like refer to features that are present in at least one aspect of the invention. Separate references to “an aspect” (or “embodiment”) or “particular aspects” or the like do not necessarily refer to the same aspect or aspects; however, such aspects are not mutually exclusive, unless so indicated or as are readily apparent to one of skill in the art. The use of singular or plural in referring to “method” or “methods” and the like is not limiting. The word “or” is used in this disclosure in a non-exclusive sense, unless otherwise explicitly noted.
The invention has been described in detail with particular reference to certain preferred aspects thereof, but it will be understood that variations, combinations, and modifications can be effected by a person of ordinary skill in the art within the spirit and scope of the invention.
The present application claims the benefit of U.S. provisional application Ser. No. 61/984,242, filed Apr. 25, 2014, the contents of which are hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61984242 | Apr 2014 | US |