The present application relates generally to mobile localization or positioning. In particular the application relates to device to device communication in a wireless mesh network.
Wireless communication has moved from simply being concerned with conveying verbal information to being more focused on total digital interactivity. While originally limited to voice communication (for example telephone calls on cellular handsets), enhancements in wireless technology have substantially improved ability, quality of service (QoS), speed, etc. These developments have contributed to an insatiable desire for new functionality. Portable wireless apparatuses are no longer just tasked with making telephone calls. They have become integral, and in some cases essential, tools for managing the professional and/or personal life of users.
The effect of this evolving technology may be seen in instances where a plurality of apparatuses have been replaced with a single multifunction device. The functionality that was formally provided by landline telephones and facsimiles, laptop computers, portable digital assistants (PDA), game systems, music players, digital storage devices may be supported in a single digital communication apparatus. The above functionality may be further supplemented through the provision of applications that were not previously available in portable apparatuses (for example directional/tracking features, wireless financial transactions, social networking, etc.).
Wireless (for example cellular) service providers and device manufacturers are continually challenged to deliver value and convenience to consumers by, for example, providing compelling network services, applications, and content. One area of development is the use of device-to-device communication networks and devices to automatically determine information and context about the local environment. For example is an environment where devices or nodes are communication via a mesh network like an ad-hoc network there is a possibilty to exchange information from device to device via one ore more intermediate devices.
Various aspects of examples of the invention are set out in the claims.
According to a first aspect of the present invention, discloses a method comprising detecting at least one remote apparatus by a first apparatus, wherein each of the at least one remote apparatus and the first apparatus is identified by an identification information, determining a local distance information between the first apparatus and at least one of the at least one remote apparatus, receiving at least one distance measurement report from any one or each one of the at least one remote apparatus. The at least one distance measurement report comprises at least one peer identification information of at least one peer apparatus and an associated peer distance information between the remote apparatus and the at least one peer apparatus. The method further comprises, and determining a topology map based on the at least one identification information, local distance information, and the at least one distance measurement report. The topology map comprises the at least one remote apparatus and the at least one peer apparatus.
According to a second aspect of the present invention, discloses an apparatus comprising at least one processor configured to detect at least one remote apparatus, wherein each of the at least one remote apparatus and the apparatus is identified by an identification information, determine a local distance information between the apparatus and at least one of the at least one remote apparatus, receive at least one distance measurement report from any one or each one of the at least one remote apparatus. The at least one distance measurement report comprises at least one peer identification information of at least one peer apparatus and an associated peer distance information between the remote apparatus and the at least one peer apparatus. The apparatus further comprises determine a topology map based on the at least one identification information, local distance information, and the at least one distance measurement report. The topology map comprises the at least one remote apparatus and the at least one peer apparatus.
According to a third aspect of the present invention, discloses a method comprising detecting at least one remote apparatus by a first apparatus, wherein each of the at least one remote apparatus and the first apparatus is identified by an identification information, determining a distance information between the first apparatus and at least one of the at least one remote apparatus, generating at least one distance measurement report The at least one distance measurement report comprises for any one or each one of the at least one of the detected remote apparatus the identification information and the distance information. The method further comprises transmitting the at least one generated distance measurement report.
According to a fourth aspect of the present invention, discloses an apparatus comprising at least one processor configured to detect at least one remote apparatus, wherein each of the at least one remote apparatus and the apparatus is identified by an identification information, determine a distance information between the apparatus and at least one of the at least one remote apparatus, generate at least one distance measurement report. The at least one distance measurement report comprises for any one or each one of the at least one of the detected remote apparatus the identification information and the distance information, and the apparatus further comprises transmit the at least one generated distance measurement report.
According to a fifth aspect of the present invention, discloses a computer program, comprising code for detecting at least one remote apparatus by a first apparatus, wherein each of the at least one remote apparatus and the first apparatus is identified by an identification information, code for determining a local distance information between the first apparatus and at least one of the at least one remote apparatus, code for receiving at least one distance measurement report from any one or each one of the at least one remote apparatus. The at least one distance measurement report comprises at least one peer identification information of at least one peer apparatus and an associated peer distance information between the remote apparatus and the at least one peer apparatus. The computer program further comprises code for determining a topology map based on the at least one identification information, local distance information, and the at least one distance measurement report. The topology map comprises the at least one remote apparatus and the at least one peer apparatus when the computer program is run on at lease one processor.
According to a sixth aspect of the present invention, discloses a computer program, comprising code for detecting at least one remote apparatus by a first apparatus, wherein each of the at least one remote apparatus and the first apparatus is identified by an identification information, code for determining a distance information between the first apparatus and at least one of the at least one remote apparatus, code for generating at least one distance measurement report. The at least one distance measurement report comprises for any one or each one of the at least one of the detected remote apparatus the identification information. The computer program further comprises the distance information, and code for transmitting the at least one generated distance measurement report when the computer program is run on at least one processor.
According to another aspect of the present invention, discloses an apparatus comprising means for detecting at least one remote apparatus, wherein each of the at least one remote apparatus and the apparatus is identified by an identification information, means for determining a local distance information between the apparatus and at least one of the at least one remote apparatus, means for receiving at least one distance measurement report from any one or each one of the at least one remote apparatus. The at least one distance measurement report comprises at least one peer identification information of at least one peer apparatus and an associated peer distance information between the remote apparatus and the at least one peer apparatus. The apparatus further comprises means for determining a topology map based on the at least one identification information, local distance information, and the at least one distance measurement report. The topology map comprises the at least one remote apparatus and the at least one peer apparatus.
According to a further more aspect of the present invention, discloses an apparatus comprising means for detecting at least one remote apparatus, wherein each of the at least one remote apparatus and the apparatus is identified by an identification information, means for determining a distance information between the apparatus and at least one of the at least one remote apparatus, means for generating at least one distance measurement report. The at least one distance measurement report comprises for any one or each one of the at least one of the detected remote apparatus the identification information and the distance information. The apparatus further comprises means for transmitting the at least one generated distance measurement report.
For a more complete understanding of example embodiments of the present invention, reference is now made to the following descriptions taken in connection with the accompanying drawings in which:
a depicts an example simulation result of an estimation of a location map test case;
b depicts an example local topology map and an example remote topology map;
c represents an exemplary embodiment of a rotated remote topology map and a rotated local topology map;
d depicts an exemplary embodiment of a rotated extended topology map;
e depicts exemplary a derotated extended topology map;
An example embodiment of the present invention and its potential advantages are understood by referring to
A wireless apparatus for example a wireless node or device may transmit one ore more periodic messages that comprise some identification information like a unique address or a media access control address (MAC address/identification) or a temporary identification of the transmitting wireless node. In some short-range communication protocols the periodic messages are known as beacons. A wireless node like for example wireless nodes or terminals may identify the availability of one or more other remote wireless nodes in communication range by listening to the channel and with the identified periodic messages the wireless apparatus is configured to measure the received signal strength indicator (RSSI) towards each of the one ore more remote nodes identified by the identification information. The identified RSSI value may be used to determine the distance information towards a remote node based on EQUATION 1. The distance representation may be in any units. In an embodiment the distance representation may be in meters. In another embodiment the distance representation may be defined in predefined distance categories.
In another embodiment the distance information may be determined from phase offset estimation. In further embodiments a wireless node may transmit a request and all remote nodes that may identify the request may response with a response message with similar content as the periodic message. The response messages could be used for a determination of a distance information based methods like time of flight, time of arrival, angle of arrival or phase difference or distance class information.
The wireless node may distribute all its identified distance information towards remote apparatuses together with the respective identification information to other apparatuses. The distribution may be done by transmission of a periodical message or by responding to a received request for a distance information message. The distance information may be used to determine a topology map. A topology map shows relative positions of surrounding wireless nodes with respect to the node that generates the topology map. For example if wireless node 101 estimates a location map or topology map of the wireless node around it, wireless node 101 collects all the distance information from the wireless nodes in its communication range. In this example from nodes 111, 113 and 115. Beside that it collects distributed distance information or distance measurement reports from remote wireless nodes 111, 113. The distributed distance information comprises identification and distance information of peer wireless nodes of the remote wireless node. In an example distance measurement report distributed by wireless node 111 would include distance information and related wireless identification of nodes 101, 113, 121 and 123. Not all of the wireless nodes are in the communication range of wireless node 101. In this example wireless nodes 121 and 123 are out of wireless node 101 communication range.
In an embodiment wireless nodes that are moving rapidly with respect to others that could be determined from a distance measurement history stored in a wireless node are not reported to other wireless nodes. Consequently, they are excluded from the determination of the topology map. In another embodiment the number of distance measurements may be limited by a threshold, for example only distance measurements below a distance threshold (for example available in a restricted area) are distributed to reduce the traffic in the mesh network.
After wireless node 101 collects all the distance information the topology map around wireless apparatus may be determined by a minimization of a cost function. There are more measurements than unknown parameter in the scenario. For example, in case of ten nodes there are 90 measurements of distance or distance estimates available which correspond to 45 pairs of the distance information and the distance of each pair is measured from both ends. Only 18 unknown parameters need to be determined. In this scenario they are x, y coordinates of the nine other wireless nodes with respect to the position of the wireless node 101. Because of this, possible noise in the distance estimates may be suppressed to some extent by the minimization.
In the following embodiment local topology estimation is presented by ranging distance measurements between nodes. The following EQUATION 2 maybe used to determine the f(x, y) cost function for two dimensions.
dj,i represents the distance information, corresponding to estimated distance between wireless nodes j and i.
N represents the number of nodes identified or reported to wireless node
Sj,i is used to identify if wireless nodes j and i are in direct communication. It is equal to 1 if j and i can hear each other, otherwise 0. It is also 0 if j=i are the same
x, y represents related coordinates
EQUATION 3 and 4 are used for partial derivates of EQUATION 2 with respect to x's and y's (j=1, . . . , N). EQUATION 3 and 4 are gradient descent optimizations. Not all N positions may be chosen at a time instead only one position may be chosen at a time during the optimization.
Sign( ) represents a sign operation. The sign operation controls the step size and may improve the stability.
Δxj represents the changes to x coordinates, j=1, . . . , N
Δyj represents the changes to y coordinates, j=1, . . . , N
To avoid local minima one summand at time may be used. EQUATION 5 and 6 represents the optimized equation. One pair of j and i may be chosen at a time and only those may be updated, not all i,j=1, . . . , N. Pair j and i may be chosen randomly. This adds some ‘noise’ to optimization and may help to avoid local minima.
Δxj represents a change to coordinate xj
Δyj represents a change to coordinate yj
x, y represents related coordinates
dj,i represents the distance information, corresponding to estimated distance between wireless nodes j and i.
Sj,i is used to identify if wireless nodes j and i are in direct communication.
For the location map determination following steps may be used:
1. t=0; Nsteps=Number of iterations. Parameter α is some small value.
2. t=t+1;
3. Choose j and i randomly.
4. Update xj(t)=xj(t−1)+αΔxj(t), yj(t)=yj(t−1)+αΔyj(t)
5. If t>Nsteps, end, else goto 2.
a depicts an example simulation result 300 of an estimation of a location map.
In an embodiment where the distance measurements reflect a real distance of the wireless nodes (for example based on time-delay measuring methods), the calculated topology represent the real geometry of the wireless nodes. By knowing the real geographical position of two wireless nodes (for example using GPS data or predefined position of a fixed wireless node) the local topology map may reveal the real geographical positions of all the identified and reported wireless nodes.
In another embodiment the cost function may involve besides the x, y coordinates also a third dimension. EQUATION 7 maybe used to determine the f(x, y, z) cost function for three dimensions. The equation is similar to EQUATION 2.
The local generated topology map may be distributed on a request to other wireless nodes. This allows the requesting wireless node to extend the topology map based on the received topology map and so to present a bigger topology map.
b depicts an example local topology map 310 and an example remote topology map 320. The local topology map 310 is locally determined by wireless node 311. The position of wireless node 311 is assumed to be (0, 0). The local topology map 310 comprises further nodes 312, 313, 313 and 315. The remote topology map 320 may be received from a remote wireless node 312. The position of wireless node 312 is assumed to be (0, 0). Beside that the remote topology map comprises nodes 311, 313, 316 and 317. As a first step the node 311 may align the orientation of the two topology maps. Node 311 may rotate the local topology map so that position of node 311 and position of node 312 are on the X axis. The rotation may be done based on an angle given by an angle of line between node 311 and 312. The rotation may be realized by a complex multiplication of the position of all nodes in the local topology map by conjugate of node 312 positions. The similar rotation may be done for the remote location map. However, in the remote topology map node 312 is in the center position (0, 0). Thus, the conjugate of position node 311 would be used for the complex multiplication for all node positions in the remote topology map.
Instead or additionally to the rotation there may be a step that comprises a check if the local and remote topology maps are in the same order. If it is the case it may be checked if there is a need for a flip of the remote topology map. This may be realized by checking the signs of y coordinates in the local and the remote topology map. If they are not matching with the local topology map the remote topology map is flipped or mirrored. The y coordinates may be multiplied by −1 so that the local and remote topology map is in the same order. If they are matching there may be no need for any corrections.
The next step may require that the rotated remote topology map is shifted so that node 311 is the center node in the rotated remote topology map. For this an offset value is determined between node 311 and 312. Each node positions in the rotated remote topology map may be corrected based on the determined offset value between node 311 and 312. Finally the two topology maps may be combined or added to an extended topology map. From the remote topology map only node position may be used that are unknown for node 311. In the example it may be node 317 and 316. The others may be discarded.
d depicts exemplary embodiment of a rotated extended topology map 350. The extended topology map is based on the local topology map 310 and remote topology map 320. The extended topology map comprises nodes 311 to 316. Node 311 is located at position (0, 0). A last step may be that the extended topology map is derotated to the original orientation of the local topology map. This may be done on the previous determined angle.
In another embodiment the topology information may comprise X, Y and Z coordinates for a three dimensional representation. This three dimension topology information may be defined based on a different MSG TYPE identifier. In another embodiment the topology information may include further an indication if the comprised coordinates are real geographical or estimated coordinates. Also this may be identified by a specific MSG TYPE identifier.
In one embodiment, the chip set 800 includes a communication mechanism such as a bus 801 for passing information among the components of the chip set 800. A processor 803 has connectivity to the bus 801 to execute instructions and process information stored in, for example, a memory 805. The processor 803 may include one or more processing cores where each core configured to perform independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or greater numbers of processing cores. Alternatively or in addition, the processor 803 may include one or more microprocessors configured in tandem via the bus 801 to enable independent execution of instructions, pipelining, and multithreading. The processor 803 may also be accompanied with one or more specialized components to perform certain processing functions and tasks such as one or more digital signal processors (DSP) 807, or one or more application-specific integrated circuits (ASIC) 809. A DSP 807 typically is configured to process real-world signals (for example sound) in real time independently of the processor 803. Similarly, an ASIC 809 may be configured to performed specialized functions not easily performed by a general purposed processor. Other specialized components to aid in performing the inventive functions described herein include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips.
The processor 803 and accompanying components have connectivity to the memory 805 via the bus 801. The memory 805 may include both dynamic memory (for example RAM, magnetic disk, writable optical disk, etc.) and static memory (for example ROM, CD-ROM, etc.) for storing executable instructions that when executed perform the exemplary steps described herein to provide distance and/or topology information over a mesh network 100. The memory 905 also stores the data associated with or generated by the execution of the exemplary steps described herein.
Computer executable instructions and data used by processor 928 and other components of mobile device 912 may be stored in a storage facility such as memory 934. Memory 934 may comprise any type or combination of read only memory (ROM) modules or random access memory (RAM) modules, including both volatile and nonvolatile memory such as disks. Software 940 may be stored within memory 934 to provide instructions to processor 928 such that when the instructions are executed, processor 928, mobile device 912 and/or other components of mobile device 912 are caused to perform various functions or methods such as those described herein. Software may include both applications and operating system software, and may include code segments, instructions, applets, pre-compiled code, compiled code, computer programs, program modules, engines, program logic, and combinations thereof. Computer executable instructions and data may further be stored on computer readable media including electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, DVD or other optical disk storage, magnetic cassettes, magnetic tape, magnetic storage and the like. Some or all of the instructions implemented by one ore more processors represented by processor 928 or other components so as to carry out the operations described herein may also be stored as hard-wired instructions (for example logic gates). For example, processor 928 could include one or more application specific integrated circuits (ASICs) configured to carry out operations such as those described herein.
The presented controller, elements or components are shown as an exemplary embodiment. In an alternative embodiment the controller, elements or components may be combined or some of them are not presented at all. Beside any components, elements or controller may be combined or separated in a different functional manner.
Mobile device 912 or its various components may be configured to transmit and/or receive, decode and process various types of transmissions including digital broadband broadcast transmissions that are based. Other digital transmission formats may alternatively be used to deliver content and information regarding availability of supplemental services. Additionally or alternatively, mobile device 912 may be configured to receive, decode and process transmissions through FM/AM Radio transceiver 942, short-range communication transceiver like for example wireless local area network (WLAN) transceiver 943, and/or telecommunications transceiver 944. Transceivers 941, 942, 943 and 944 may, alternatively, include individual transmitter and receiver components. In one or more arrangements, mobile device 912 may further include a gyroscopic sensor (not shown) configured to determine an orientation of mobile device 912. According to one or more further aspects, mobile device 912 may include a GPS receiver 961 for receiving and determining location information from one or more GPS satellites.
Although the above description of
The steps presented in the process by
Without in any way limiting the scope, interpretation, or application of the claims appearing below, a technical effect of one or more of the example embodiments disclosed herein is exchanging message between devices for local topology estimation. Another technical effect of one or more of the example embodiments disclosed herein is the distance determination may be based on normal data packets which may reduce generated traffic on a channel and power consumption in a device. Another technical effect of one or more of the example embodiments disclosed herein is the distribution of location information by occupying only a small amount of available wireless channel capacity. Another technical effect of one or more of the example embodiments disclosed herein is that no central unit like a server is needed for the determination of the topology map as wireless nodes may calculate the topology map on its own. This results also in a reduced traffic overhead for location information distribution. Another technical effect of one or more of the example embodiments disclosed herein is that a user may see from its mobile device how other users or devices are positioned with respect to him.
Embodiments of the present invention may be implemented in software, hardware, application logic or a combination of software, hardware and application logic. In an example embodiment, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a “computer-readable medium” may be any media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer, with one example of a computer described and depicted in
If desired, the different functions discussed herein may be performed in a different order and/or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined.
Although various aspects of the invention are set out in the independent claims, other aspects of the invention comprise other combinations of features from the described embodiments and/or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims.
It is also noted herein that while the above describes example embodiments of the invention, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope of the present invention as defined in the appended claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FI10/50413 | 5/21/2010 | WO | 00 | 7/24/2013 |