WO2015188847A1 - Supporting indoor positioning - Google Patents

Supporting indoor positioning Download PDF

Info

Publication number
WO2015188847A1
WO2015188847A1 PCT/EP2014/061975 EP2014061975W WO2015188847A1 WO 2015188847 A1 WO2015188847 A1 WO 2015188847A1 EP 2014061975 W EP2014061975 W EP 2014061975W WO 2015188847 A1 WO2015188847 A1 WO 2015188847A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile device
level
determined
area
building
Prior art date
Application number
PCT/EP2014/061975
Other languages
French (fr)
Inventor
Muhammad Irshan KHAN
Jari Tapani SYRJÄRINNE
Pavel Ivanov
Original Assignee
Here Global B.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Here Global B.V. filed Critical Here Global B.V.
Priority to PCT/EP2014/061975 priority Critical patent/WO2015188847A1/en
Publication of WO2015188847A1 publication Critical patent/WO2015188847A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/013Identifying areas in a building
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S2205/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S2205/01Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations specially adapted for specific applications
    • G01S2205/02Indoor

Definitions

  • the invention relates to indoor positioning, and more specifically to a method, an apparatus, a computer program and a computer program product supporting indoor positioning of mobile devices.
  • Satellite positioning technologies namely satellite signal based positioning technologies and cellular based positioning technologies, which are mainly used outdoors, are usually not suited to deliver a satisfactory performance in terms of reliability and accuracy when used for indoor positioning.
  • Satellite signals of global navigation satellite systems like the global positioning system (GPS), do not penetrate through walls and roofs strongly enough for an adequate signal reception indoors.
  • Cellular signals use too narrow frequency bands for enabling accurate ranging by default.
  • GPS global positioning system
  • solutions for indoor positioning have been developed and commercially deployed during the past years. Examples comprise solutions that are based on pseudolites, which are GPS-like short-range beacons, ultra-sound positioning solutions, Bluetooth low energy (BTLE) signal based solutions, and wireless local area network (WLAN) fingerprinting based solutions.
  • pseudolites which are GPS-like short-range beacons
  • ultra-sound positioning solutions ultra-sound positioning solutions
  • Bluetooth low energy (BTLE) signal based solutions Bluetooth low energy (BTLE) signal based solutions
  • WLAN wireless local area network fingerprinting based solutions.
  • a method comprises, performed by at least one apparatus, determining an area, in which a mobile device is located and which is associated with a building, based on measurements of the mobile device, the measurements relating to radio signals of at least one non-cellular terrestrial communication node, and based on data about radio environments of a plurality of buildings.
  • the method further comprises determining in a separate subsequent action a level in the determined area at which the mobile device is located based on information determined at the mobile device.
  • the method further comprises determining in a further separate subsequent action a position, at which the mobile device is located at the determined level, based on the measurements of the mobile device and on data about a radio environment of the determined level of the determined area.
  • the means of the apparatus can be implemented in hardware and/or software. They may comprise for instance at least one processor for executing computer program code for realizing the required functions, at least one memory storing the program code, or both. Alternatively, they could comprise for instance circuitry that is designed to realize the required functions, for instance implemented in a chipset or a chip, like an integrated circuit. In general, the means may comprise for instance one or more processing means.
  • an apparatus which comprises at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause an apparatus at least to perform the actions of the presented method.
  • any of the described apparatuses may be a module or a component for a device, for example a chip.
  • any of the mentioned apparatuses may be a device, for instance a server or a mobile device.
  • Any of the described apparatuses may further comprise only the indicated components or one or more additional components.
  • a system which comprises one of the described apparatuses and in addition a memory configured to store data about radio environments and/or at least one non-cellular terrestrial communication node.
  • the described methods are information providing methods
  • the described apparatuses are information providing apparatuses.
  • the methods are methods for supporting indoor positioning.
  • the apparatuses are apparatuses for supporting indoor positioning.
  • a non-transitory computer readable storage medium is described, in which computer program code is stored. The computer program code causes at least one apparatus to perform the actions of the presented method when executed by at least one processor.
  • the computer readable storage medium could be for example a disk or a memory or the like.
  • the computer program code could be stored in the computer readable storage medium in the form of instructions encoding the computer-readable storage medium.
  • the computer readable storage medium may be intended for taking part in the operation of a device, like an internal or external hard disk of a computer, or be intended for distribution of the program code, like an optical disc.
  • Fig. 1 is a schematic block diagram of an example embodiment of an apparatus
  • Fig. 2 is a flow chart illustrating an example embodiment of a method
  • Fig. 3 is a schematic block diagram of an example embodiment of a system
  • Fig. 4 is a flow chart illustrating a first example embodiment of an operation in the system of Figure 3;
  • Fig. 5 is a flow chart illustrating a second example embodiment of an operation in the system of Figure 3;
  • Fig. 6 is a diagram illustrating an example cascaded indoor positioning
  • Fig. 7 is a flow chart illustrating an example cascaded indoor positioning in the scope of the operation of Figure 4 or 5;
  • Fig. 8 is a diagram illustrating an example floor detection in the cascaded indoor positioning of
  • Fig. 9 is a schematic block diagram of an example embodiment of an apparatus.
  • Fig. 10 is a schematic block diagram of an example embodiment of an apparatus.
  • Fig. 1 1 schematically illustrates example removable storage devices.
  • Figure 1 is a schematic block diagram of an example embodiment of an apparatus 100.
  • Apparatus 100 comprises a processor 101 and, linked to processor 101 , a memory 102.
  • Memory 102 stores computer program code for supporting an indoor positioning of mobile devices.
  • Processor 101 is configured to execute computer program code stored in memory 102 in order to cause an apparatus to perform desired actions.
  • Apparatus 100 could be a mobile device or a stationary device, like a server. Apparatus 100 could equally be a module, like a chip, circuitry on a chip or a plug-in board, for a mobile device or a stationary device. Optionally, apparatus 100 could comprise various other components, like a data interface, a user interface, a further memory, a further processor, etc.
  • Processor 101 and the program code stored in memory 102 cause an apparatus to perform the operation when the program code is retrieved from memory 102 and executed by processor 101.
  • the apparatus that is caused to perform the operation can be apparatus 100 or some other apparatus, for example but not necessarily a device comprising apparatus 100.
  • the apparatus determines an area, in which a mobile device is located and which is associated with a building, based on measurements of the mobile device, the measurements relating to radio signals of at least one non-cellular terrestrial communication node, and based on data about radio environments of a plurality of buildings, (action 201)
  • the apparatus moreover determines in a separate subsequent action a level in the determined area at which the mobile device is located based on information determined at the mobile device, (action 202)
  • the apparatus moreover determines in a further separate subsequent action a position, at which the mobile device is located at the determined level, based on the measurements of the mobile device and on data bout a radio environment of the determined level in the determined area, (action 203)
  • Certain embodiments of the invention thus provide that a position of a mobile device is determined in a cascaded approach, by determining first a building related area in which the device is located, then the level in the area at which the device is located, and finally the horizontal position at which the device is located.
  • the positioning is based at least partly on measurements on radio signals of non- cellular terrestrial communication nodes and on available data about radio environments.
  • Certain embodiments of the invention may have the effect that it enables an efficient indoor positioning in more than one building based on signals of communication nodes that are neither satellites nor base stations of a cellular communication network.
  • Certain embodiments of the invention may have the effect that indoor positioning is enabled on a large scale.
  • embodiments of the invention may have the effect that a position of a mobile device can be determined nevertheless with limited processing power; if a mobile device is known to be located in an area that is associated with a particular building and on a particular level based on first analyses, the required extent of the possibly computationally intensive determination of the exact horizontal position of the mobile device may be limited significantly. Certain embodiments of the invention may have the effect that the indoor positioning results in a position with three - or 2.5 - dimensions. Certain embodiments of the invention may have the effect that a position of a mobile device can be solved and tracked unambiguously when the mobile device is moving between multiple areas, levels and/or horizontal locations.
  • Apparatus 100 illustrated in Figure 1 and the method illustrated in Figure 2 may be implemented and refined in various ways.
  • the area associated with a building could be the indoor area of the building. In this case, determining an area in which the mobile device is located could generally mean determining a particular building in which the mobile device is located. In another example embodiment, the area associated with a building could be an area comprising an area of the building. That is, the area could correspond to the indoor area of the building or to a larger area including the indoor area of the building as well as one or more outdoor areas. Such outdoor areas could comprise for instance sections of the streets adjacent to the building or outdoor facilities of the building, like a courtyard, a surrounding park, etc.
  • the level in a determined area associated with a building is a floor of the building.
  • determining a level could generally correspond to determining a floor of the building.
  • the level in the determined area could comprise an indoor component and/or an outdoor component.
  • An indoor component could correspond again to a floor of the building.
  • An outdoor component could be for instance a roof-deck, a balcony, a courtyard, a surrounding park or an adjacent street, etc. From another point of view, possible levels in a determined area could be considered to comprise indoor floors and outdoor floors of a building.
  • outdoor areas in addition to indoor areas with respect to buildings and levels may have the effect that in addition to an indoor positioning, an outdoor positioning may be supported to a limited extent. This, in turn, may have the effect that a smooth tracking of a mobile device in transition areas can be achieved, for example when a user moves between buildings or when a user changes between indoor and outdoor facilities of a building. For other embodiments, it could be of interest to consider indoor areas only, in order to limit the required processing power and/or storage space.
  • the data about radio environments may be data that is assembled in advance, for example on a large scale. In certain embodiments, it may be updated continuously or from time to time. It may be stored permanently in the apparatus performing the positioning or in a memory that is accessible by this apparatus. Alternatively, it may be received by the apparatus from some other entity whenever needed, for instance upon request. In the latter case, the received data could optionally be a selected subset of data about radio environments that is stored at the other entity.
  • the data about radio environments can be data of various kinds. It could comprise a grid representing a coverage area of a communication node, with an indication of expected received signal strengths (RSS) for signals transmitted by the node at various locations in the coverage area mapped to grid points of the grid. It could comprise an indication of an estimated or known location of the node and an indication of a coverage area of the node.
  • the indication of the coverage area could be simply an indication of a range, for instance in the form of a radius of a circular area or of a major and minor axis of an ellipse.
  • the data could comprise parameters of an equation defining a distribution of expected received signal strengths or pathloss values for signals from a respective node.
  • the data could comprise parameters defining three dimensional Gaussian distributions for the probability that a mobile device is located at a particular position when receiving signals from a respective node.
  • the Gaussian distributions could optionally be cut off on one or more side, for instance for limiting the nonzero values to the area of a respective level for which the data is provided.
  • the data could comprise a likelihood value indicating the likelihood that a mobile device is located in an area associated with a building or at a level of such an area or at a position at such a level when receiving signals from a particular communication node.
  • the data can be considered to be or to belong to radio model data of some kind.
  • the data about radio environments of a building could comprise for example radio model data for indoors only, common radio model data for indoors and outdoors or dedicated radio model data for indoors on the one hand and outdoors on the other hand.
  • data about radio environments of a level in a particular area could comprise for example radio model data for indoors only, radio model data for outdoors only, common radio model data for indoors and outdoors or dedicated radio model data for indoors on the one hand and outdoors on the other hand.
  • the data about radio environments of a building could consist for example in the combined data about radio environments of all levels in an area associated with this building, or a selection of some of this data.
  • determining the area comprises determining a likelihood that the mobile device is located in an area associated with a respective one of the plurality of buildings based on the data about radio environments of a plurality of buildings and on a measurement relating to signals of a respective one of the at least one communication node.
  • the measurements relating to radio signals of at least one communication node comprise measurements relating to radio signals of more than one communication node
  • the determined likelihood for the communication nodes may be combined separately.
  • the area associated with the building with the highest combined likelihood may then be selected as the area in which the mobile device is located. This may have the effect that an area can be determined reliably with limited processing effort. This may further have the effect that a hypothesis that a mobile device is located in a particular area can be checked for several buildings in parallel.
  • the information determined at the mobile device and used for determining the level at which the mobile device is located comprises as well the measurements of the mobile device relating to radio signals of at least one non-cellular terrestrial communication node.
  • the measurements may be used together with data about radio environments of a plurality of levels in the determined area for determining the level at which the mobile device is located.
  • the information could comprise measurement values provided by a barometer of the mobile device, which are used together with an indication of an altitude of the levels in the area for determining the level at which the mobile device is located.
  • the barometer could be used for example for providing information on an absolute altitude. It could be calibrated to this end on a regular basis, for instance using a satellite signal based positioning when the mobile device is outdoors.
  • the barometer could be used for providing information on changes in altitude, which could be used in combination with additional information, like a height of a ground floor of a building or an altitude of a street in front of the building, based on corresponding information in a map, etc.
  • additional information like a height of a ground floor of a building or an altitude of a street in front of the building, based on corresponding information in a map, etc.
  • An indication of an altitude of levels could correspond to some default value. For some or all levels, it could also correspond to stored actual altitude values.
  • determining the level at which the mobile device is located may comprise in an example embodiment determining a likelihood that the mobile device is located at a respective level based on data about radio environments of at least one level and a measurement relating to signals of the at least one communication node. A sum of respective products of the likelihood for a level and an altitude of the level may then be determined to obtain an altitude of the mobile device. Moreover, the determined altitude may be mapped to a level with the closest altitude. This level with the closest altitude may be determined as the level at which the mobile device is located.
  • the altitude of a respective level used for the products could correspond again to some default value or to a stored actual altitude value.
  • At least one Kalman filter is applied for filtering a determined level and/or for filtering a determined position at a determined level, while the mobile device moves around. This may have the effect that a converging solution is obtained, which is suited to increase the reliability of the indoor positioning. At the same time, it may enable a reliable tracking of a mobile device.
  • the at least one non-cellular terrestrial communication node could comprise any communication node that is configured to transmit radio signals.
  • it comprises at least one wireless local area network access point and/or at least one Bluetooth transmitter and/or at least one Bluetooth low energy transmitter.
  • WLAN and Bluetooth communication nodes are already installed in many buildings. Furthermore, WLAN and Bluetooth technologies are already supported in many mobile user devices, like smartphones, tablets, laptops and in the majority of feature phones. Using WLAN access points, Bluetooth transmitters and/or BTLE transmitters as communication nodes may thus have the effect that the presented indoor positioning can be based on an existing infrastructure in buildings and on existing capabilities in mobile devices. As a result, the approach can be globally scalable and have low maintenance and deployment costs. The deployment of new infrastructure, including for example beacons and tags, is not necessary.
  • a Bluetooth transmitter and a BTLE transmitter could optionally be a part of a respective transceiver.
  • the measurements relating to transmissions of at least one non-cellular terrestrial communication node comprise a received signal strength indication and/or a pathloss indication and/or a timestamp indicating the time of measurement and/or an identification of the at least one communication node.
  • a received signal strength indication and/or a pathloss indication can be used for example as an indication that the mobile device detected radio signals from a certain communication node.
  • a received signal strength indication and/or a pathloss indication could moreover be used for example to precisely locate the mobile device at a determined level.
  • the timestamp can be used for example to check that only recent measurements are employed or that measurements are used in the correct order in a filter operation.
  • FIG. 3 is a schematic block diagram of an example embodiment of a system according to the invention.
  • the system supports an indoor positioning of mobile devices. For reasons of clarity, the following description will focus on pure indoor positioning. It is to be understood, however, that the exemplary embodiment can easily be extended to a positioning in outdoor areas associated with a building, in order to support a positioning during transitions between indoor and outdoor areas as well.
  • the system comprises a server 300 and a mobile device 320.
  • the system further comprises a network 340, for example the Internet.
  • the system further comprises a plurality of communication nodes 360, which are connected to network 340.
  • Server 300 may be for instance a dedicated learning/positioning server, or some other kind of server. It comprises a processor 301 that is linked to a first memory 302, to a second memory 305 and to an interface (I/F) 304.
  • Processor 301 is configured to execute computer program code, including computer program code stored in memory 302, in order to cause server 300 to perform desired actions.
  • Memory 302 stores computer program code for supporting indoor positioning.
  • the computer program code may comprise program code for determining a position of a mobile device. In this case, it may comprise similar program code as memory 102.
  • the computer program code may comprise program code for retrieving and providing selected radio model data upon a request of a mobile device to enable the mobile device to determine its position.
  • memory 302 could store computer program code configured to realize other functions, like program code for supporting a collection of fingerprint data from mobile devices and program code for generating and storing radio map data for a large number of communication nodes.
  • memory 302 could also store other kind of data.
  • Processor 301 and memory 302 may optionally belong to a chip or an integrated circuit 303, which may comprise in addition various other components, for instance a further processor or memory.
  • Memory 305 can equally be accessed by processor 301. It is configured to store data of a positioning database, including radio model data for a plurality of terrestrial non-cellular communication nodes.
  • the data for each communication node is associated with one or more buildings in which signals of the node can be heard and with one or more floors on which signals of the node can be heard.
  • the radio model data for the communication nodes comprises data about radio environments of a plurality of buildings and about radio environments of a plurality of floors.
  • the data could comprise data for indoor areas and outdoor areas associated with the buildings, as well as data for indoor and outdoor floors of the building. In this case, it could be determined for example separately for the outdoor areas whether signals of a particular communication can be observed in the concerned outdoor area.
  • the radio model data for each communication node could comprise for example for some or all buildings in which a communication node can be heard an individual likelihood value indicating the likelihood that a mobile device observing signals from this node is located in the particular building.
  • the buildings could be limited for instance to buildings that are open to the public.
  • the radio model data for each communication node could further comprise for example for some or all of the floors of these buildings on which the communication node can be heard an individual likelihood value.
  • These likelihood values could indicate the likelihood that a mobile device observing signals from this node is located on a particular floor of a particular building, optionally under the condition that the mobile device is located in the particular building.
  • the floors could be limited for instance to floors that are open to the public.
  • the radio model data for each communication node could further comprise for example for some or all floors for which a likelihood value is available an estimated location of the node and information on the coverage area of the node and/or a model of the distribution of the measurable RSS over the floor and/or parameters of a probability distribution for the position of a mobile device on the floor.
  • a likelihood value for a respective building could also be selected to correspond to the maximum of the likelihood values for the floors of the building for a particular communication node. In this case, separate likelihood values for buildings could be omitted.
  • the radio model data could be based for example on a statistical evaluation of a large number of fingerprint data.
  • the radio model data for a communication node may originate entirely or partially from users of non-cellular terrestrial positioning technologies. This kind of data collection is also referred to as “crowd-sourcing”.
  • the information provided by users can be in the form of "fingerprints", which contain a location that is estimated based on, e.g., received satellite signals of a global navigation satellite system (GNSS) and measurements taken from one or more radio interfaces for signals of a non-cellular terrestrial system.
  • GNSS global navigation satellite system
  • the results of the measurements may contain a basic service set identification (BSSID), like the medium access control (MAC) address of observed access points (APs), the service set identifier (SSID) of the access points, and the signal strength of received signals (received signal strength indication RSSI or physical Rx level in dBm with a reference value of 1 mW, etc.).
  • BSSID basic service set identification
  • MAC medium access control
  • SSID service set identifier
  • RSSI received signal strength indication
  • the radio model data in memory 305 can thus be based on huge volumes of indoor radio measurements data harvested via crowd-sourcing from mobile consumer terminals that are equipped with the necessary functionality to enable such data collection as a background process with the end-user consent. It would also be possible to use input from volunteers - in exchange of some reward or recognition - who survey particular buildings by scanning for coverage of communication nodes while climbing up in places and venues that are important for key customers.
  • a mobile terminal may scan the environment at regular intervals for non-cellular terrestrial communication nodes 360. At the same time, it may determine its position using an integrated satellite signal receiver whenever the receiver is activated and receives signals from a sufficient number of satellites.
  • the mobile terminal may then provide measurement results of the scan along with an indication of a satellite signal based position as a fingerprint, and transmit the fingerprint in a message to server 300.
  • the collected data may be processed in order to obtain the required radio model data.
  • the data collection and/or the data processing for obtaining the required radio model data may be performed by server 300. Alternatively, these operations could be performed by some other server. In this case, server 300 could only receive and store the radio model data for retrieval whenever needed. It is to be understood that a memory storing any of the mentioned data could also be external to server 300; it could be for instance on another physical or virtual server.
  • Interface 304 is a component which enables server 300 to communicate with other devices, like mobile device 320, via network 340.
  • Interface 304 could comprise for instance a TCP/IP socket.
  • Component 303 or server 300 could be an example embodiment of an apparatus according to the invention, in case the computer program code in memory 302 comprises program code for determining a position of a mobile device.
  • Mobile device 320 may be for instance a mobile telephone, like a smartphone, a tablet PC, a laptop or any other mobile terminal that is able to scan for signals of communication nodes 360. It comprises a processor 321 that is linked to a first memory 322, to at least one transceiver 324, to a second memory 325 and optionally to a barometer 327.
  • Processor 321 is configured to execute computer program code, including computer program code stored in memory 322, in order to cause mobile device 320 to perform desired actions.
  • Memory 322 stores computer program code for supporting an indoor positioning.
  • the computer program code may include program code for causing a scan for communication nodes.
  • the computer program code could also comprise program code for determining a position of mobile device 320.
  • the computer program code may comprise for example similar program code as memory 102.
  • the computer program code could also comprise program code for requesting radio model data for particular communication nodes.
  • the computer program code could comprise program code for transmitting the results of a scan to server 300 and for requesting a position from server 300.
  • memory 322 could store computer program code configured to realize other functions as well as any other kind of data.
  • Processor 321 and memory 322 may optionally belong to a chip or an integrated circuit 323, which may comprise in addition various other components, for instance a further processor or memory.
  • Memory 325 can equally be accessed by processor 321. It is optionally configured to store radio model data for selected communication nodes, either permanently or temporarily.
  • Transceiver 324 is a component which enables mobile device 320 to communicate with other devices, like server 300, via one kind of radio communication nodes, for instance via WLAN access points.
  • mobile device 320 supports a communication via several kinds of communication nodes, including for example WLAN access points and Bluetooth based nodes, a dedicated transceiver may be provided for each kind of communication node.
  • Component 323 or mobile device 320 could be an example embodiment of an apparatus according to the invention, in case the computer program code in memory 322 comprises program code for determining a position of mobile device 320.
  • the communication nodes 360 could comprise WLAN access points, Bluetooth transceivers, BTLE transceivers or any other non-cellular terrestrial communication nodes.
  • Figure 4 is a flow chart illustrating an overview over operations at server 300 and mobile device 320 for an assisted positioning performed at mobile device 320.
  • Processor 301 and some of the program code stored in memory 302 causes server 300 to perform the actions presented on the right hand side when the program code is retrieved from memory 302 and executed by processor 301.
  • Processor 321 and some of the program code stored in memory 322 causes mobile device 320 to perform the actions presented on the left hand side when the program code is retrieved from memory 322 and executed by processor 321.
  • the user may cause execution of indoor positioning program code in memory 322, for example by starting a dedicated positioning application to which the code belongs.
  • the program code may be caused to be executed for instance by some authorized other application requiring the current location of mobile device 320.
  • mobile device 320 preforms a scan for one or more types of non-cellular terrestrial communication nodes 360, for example for WLAN access points, BT transmitters and/or BTLE transmitters, (action 401)
  • the measurements may result in an RSS value, a node identifier (ID) and a timestamp for each detected node.
  • ID node identifier
  • a typical WLAN scan for example, provides information of several observations of the heard access points with their RSS and timestamps.
  • the observation data for measurements on signals of WLAN access points could have for example the following form:
  • the parameter Timestamp is the time when the radio measurements were performed, for example in Coordinated Universal Time (UTC).
  • the parameters AP I to AP_N are unique identifiers, for example MAC-addresses, for 1 .. . N access points.
  • the parameters RSS l to RSS N represent the measured RSS values from the access points at the current location of mobile device 320.
  • Mobile device 320 requests from server 300 radio model data for the detected communication nodes 360. It may transmit to this end at least the identifiers of the communication nodes detected in the scan to server 300. (action 402)
  • Server 300 may retrieve the radio model data that is stored for the identified nodes from memory 305 and provide the data to mobile device 320. (action 403) Mobile device 320 may buffer the received data in a working memory (not shown) and/or store the data in memory 325.
  • the communication between mobile device 320 and server 300 may take place for example via one of the observed communication nodes 360, or via a cellular communication network.
  • Mobile device 320 may now perform a cascaded indoor positioning based on the measurements of action 401 and on the received radio model data, (action 404)
  • the cascaded indoor positioning will be described in more detail further below with reference to Figures 6 to 8.
  • the result of the indoor positioning is an indication of the building in which mobile device 320 is located, an indication of the floor on which mobile device 320 is located and an indication of the position of mobile device 320 on this floor.
  • the indicated position on the floor could be a general position consisting of longitude and latitude values.
  • FIG. 3 is a flow chart illustrating an overview over alternative operations at server 300 and mobile device 320 for a positioning of mobile device 320 that is performed at server 300.
  • Processor 301 and some of the program code stored in memory 302 causes server 300 to perform the actions presented on the right hand side when the program code is retrieved from memory 302 and executed by processor 301.
  • Processor 321 and some of the program code stored in memory 322 causes mobile device 320 to perform the actions presented on the left hand side when the program code is retrieved from memory 322 and executed by processor 321.
  • the user may cause execution of indoor positioning program code in memory 322.
  • the program code may be caused to be executed for instance by some authorized application requiring the current location of mobile device 320.
  • mobile device 320 preforms a scan for one or more types of non-cellular terrestrial communication nodes 360, for example for WLAN access points, BT transmitters and/or BTLE transmitters, (action 501)
  • the measurements obtained in the scan may include for example again the node ID of each detected communication node 360, an RSS value for signals received from each detected node 360 and a timestamp.
  • Mobile device 320 transmits the measurements to server 300 and request to be provided with a position of mobile device 320 based on these measurements, (action 502)
  • Server 300 receives the measurements and the request, (action 503) Server 300 retrieves the radio model data that is stored for the communication nodes 360 identified in the measurements from memory 305. (action 504) Server 300 may buffer the retrieved data in a working memory (not shown) for processing. Based on the received measurements and the retrieved data, server 300 may perform a cascaded indoor positioning, which will be described in more detail further below with reference to Figures 6 to 8. (action 505) The result of the positioning is again an indication of the building in which mobile device 320 is located, an indication of the floor on which mobile device 320 is located and an indication of the position of mobile device 320 on this floor.
  • the determined position is provided for transmission and transmitted to mobile device 320.
  • mobile device 320 receives the received position information and displays it to a user and/or provides the position information to a local application or to an external entity providing some service relying on the position of mobile device 320.
  • action 507 receives the received position information and displays it to a user and/or provides the position information to a local application or to an external entity providing some service relying on the position of mobile device 320.
  • the communication between mobile device 320 and server 300 may take place again for example via one of the observed communication nodes 360, or via a cellular communication network.
  • FIG. 6 schematically illustrates the cascaded indoor positioning of action 404 of Figure 4 or action 505 of Figure 5.
  • mobile device 320 may observe communication nodes that can be heard in a first building A' 601, a second building 'B' 602 and in a third building 'C 603.
  • Each building 601-603 has a first floor '0' 611, 613, 615, and a second floor '1' 612, 614, 616. Any position on any floor 611-616 may be indicated by a latitude value 'Lat' and a longitude value 'Lon' 621-626.
  • the indoor positioning may be performed for example by means of three modules.
  • a cascaded filter implemented by the program code in memory 322 or by the program code in memory 302 may integrate the modules by providing a filter for each of the modules, that is, a building filter, a floor filter and a 2D horizontal positioning filter.
  • the cascaded filter may also define an order of the usage of these filters which effectively enables indoor positioning in more than one building.
  • the order to use these filter is first to use the building filter to determine a building in which the user is located, second to use the floor filter to detect the floor on which the user is located, and third to solve the horizontal position of the user with radio model data assigned to the detected floor.
  • the proposed sequence of the building filter and floor filter enables an efficient use of resources by limiting exhaustive position calculation to only one floor at the time using floor-specific radio models. This may be of particular advantage in case the position is computed by mobile device 320 as presented with reference to Figure 4.
  • Figure 7 is a flow chart which illustrates in more detail some actions that may be performed by an apparatus in the scope of the cascaded positioning of action 404 of Figure 4 or in the scope of the cascaded positioning of action 505 of Figure 5, respectively.
  • the apparatus could thus be for example mobile device 320 or component 323, while in the case of Figure 5 the apparatus could be for example server 300 or component 303.
  • the apparatus determines the building in which mobile device 320 is located using the building filter.
  • the apparatus determines the likelihood that mobile device 320 is located in a particular building separately for all communication nodes detected in the scan of mobile device 320 and for all buildings covered by the selected radio model data, (action 701)
  • the likelihood for all buildings, for which no likelihood value is included in the radio model data for a particular communication node, can be assumed to be zero.
  • the apparatus may then combine the determined likelihood that mobile device 320 is located in a particular building for all communication nodes.
  • the combination could comprise for example a summing of the individual likelihood values, (action 702)
  • Action 702 can be carried out in parallel for all buildings covered by the radio model data for all detected communication nodes.
  • the building can be determined with this approach, even if a mobile device hears the same nodes with equal signal powers.
  • the floor of the determined building is estimated on which mobile device 320 is located using the floor filter.
  • the apparatus determines to this end the likelihood that mobile device 320 is located on a particular floor of the selected building.
  • the determination is performed separately for each floor of the building - at least as far as data is available for a floor.
  • the likelihood may be determined at first separately for each communication node that was detected in the scan by mobile device 320, and the determined likelihood values for a respective floor may then be combined to obtain a single likelihood value for each floor, (action 704)
  • the apparatus may then estimate the altitude of mobile device 320 based on the following equation (action 705): n
  • Altitude ⁇ (floor _ likelihood i * floor _ alt i ) (1)
  • Altitude is the estimated altitude of mobile device 320
  • N is the number of (considered) floors of the building
  • floor Jikelihoodt is the combined likelihood value for the 1 th floor of the building
  • floor _alti is the altitude of the 1 th floor in meters from the ground floor.
  • the information of the height of each floor can be obtained for instance from a map of the building or it can be surveyed as well; such information could be determined once and stored in memory 305 and retrieved along with the radio mode data. In case individual information on the height of the floors is not available, a default height of 4 meters, for example, could be used. Such a default value could be included as a parameter in the program code.
  • the altitude of each floor is obtained by adding the height of floors below the estimated floor. If there is no floor below a particular floor, then a height of 0.0 meters is assumed for this particular floor.
  • the apparatus could estimate the variance of the calculated altitude Altitude_var based on the following equation:
  • Altitude var i is the variance of the altitude of the 1 th floor. If the altitude of a floor is based on survey data, this value could be pre-computed from collected fingerprint data. If the altitude of a floor is determined from a map of a building, the variance could be set to zero. In both cases, the variance and be could be stored in memory 305 and be made available along with in the radio model data. If the altitude of a floor is based on a default height of floors, the variance for each level could be an available statistical value for each level. In this case, the variance could also be defined as a parameter value in the program code.
  • the altitude and variance estimates could be computed repeatedly and used in a Kalman filter to calculate a filtered altitude of mobile device 320, for instance while mobile device 320 is moving around, (action 706)
  • a Kalman filter is employed, a constant position Kalman filter may be used that operates in vertical direction only. That is, the horizontal dimension may not be considered at all. This simplifies the computations and may make the result more accurate.
  • the height of mobile device 320 could also be obtained based on measurement values of barometer 327 in mobile device 320, which could provide for example continuous measurements of changes in the height or altitude, and thus a relative altitude.
  • the apparatus may then map the estimated and optionally Kalman filtered altitude of mobile device 320 to the floor having the closest altitude, (action 707) If the estimated altitude that is mapped to a floor is a Kalman filtered altitude, this may result in more reliable and accurate floor information than what could be obtained by using single measurements. It is also possible to subsequently map each output of the Kalman filter to a floor, in order to obtain a reliable tracking of mobile device 320.
  • Figure 8 schematically presents three floors of a building, 'Floor ⁇ 801, 'Floor 2' 802 and 'Floor 3' 803.
  • a default height of 4 meters is assumed.
  • the absolute height in meters of each floor relative to ground is indicated.
  • the height of 'Floor ⁇ 801 is 0 meters from ground
  • the height of 'Floor 2' 802 is 4 meters from ground
  • the height of 'Floor 3' 803 is 8 meters from ground.
  • the estimated altitude, determined based equation (1) or resulting in a Kalman filtering, is assumed to be 7 meters from ground and indicated in Figure 8 by means of black circular area 811.
  • the estimated altitude is mapped to the floor having the closest altitude.
  • 'Floor 3' 803 with an altitude of 8 meters is the floor with the closest altitude.
  • Mobile device 320 is therefore assumed to be on 'Floor 3' 803.
  • a default index of the floor can also be used in the floor filter, constituting a so called 2.5D filter, where the floor does not have an exact physical dimension. For example, in action 704, simply the floor with the highest likelihood value could be selected as the floor on which mobile device 320 is assumed to be located.
  • the horizontal position of the device is estimated using the position filter.
  • the position filter determines the horizontal position of mobile device 320. (action 708) It considers no altitude or floor information in the positioning computations; rather the filter estimates only the horizontal location, for example as Latitude/Longitude coordinates or as East/North coordinates. This may reduce the processing load significantly compared to a three-dimensional positioning.
  • the position can be determined in various ways. For example, it could be determined to lie in the center of an intersection of the coverage areas of all communication nodes detected in the scan, if the coverage area is defined by the radio model data. For refinement, different coverage areas could be defined for different observed signal strengths. It would also be possible that each floor is divided into different sections and that the stored radio model data for a respective communication node assigns different likelihood values to each section of each floor on which signals of the
  • the correct section could be determined in an analog manner as the correct building by selecting the section with the highest combined likelihood for all observed communication nodes. If the radio model data for each communication node comprises a probability distribution for the floor, it would also be possible to combine the distributions of all communication nodes detected in the scan to obtain the location with the highest probability.
  • the estimated position on the selected floor can also be filtered using a Kalman filter, while mobile device 320 is moving around and collects further measurements, (action 709)
  • a Kalman filter could only consider horizontal dimensions. That is, a vertical dimension may not be considered at all. It is also possible to consider each output of the Kalman filter as a new position to obtain a reliable tracking of mobile device 320.
  • Certain embodiments of the invention may thus help to provide accurate content to a user inside a building by enabling reliable building and floor detection in challenging radio environments. Certain embodiments of the invention may further enable an efficient utilization of available processing capacities and memory resources by following a sequential estimation of building, floor and horizontal position of a mobile device, instead of estimating directly a three-dimensional position without any consideration of information restricting the possible search space. Radio signals of non- cellular terrestrial communication nodes often penetrate more than one floor and are also measurable in the near-by buildings, so the presented cascaded filter reduces the computational load by focusing on the most likely options only.
  • Certain embodiments of the invention may further enable deployment of indoor positioning on a large scale by minimizing the use of required resources. Certain embodiments of the invention may allow using computationally complex and expensive algorithms for indoor positioning as the load can be controlled by intelligent filters and filter logic.
  • the indoor position may furthermore be determined without relying on a map or a layout of buildings.
  • Various embodiments of the invention may be used with any radio measurement and system as long as suitable radio model data has been created.
  • connection in the described embodiments is to be understood in a way that the involved components are operationally coupled.
  • connections can be direct or indirect with any number or combination of intervening elements, and there may be merely a functional relationship between the components.
  • circuitry refers to any of the following:
  • circuits and software combinations of circuits and software (and/or firmware), such as: (i) to a combination of processor(s) or (ii) to portions of processor(s)/ software (including digital signal processors)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone, to perform various functions) and
  • circuits such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.
  • This definition of 'circuitry' applies to all uses of this term in this text, including in any claims.
  • the term 'circuitry' also covers an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and/or firmware.
  • the term 'circuitry' also covers, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone.
  • Any of the processors mentioned in this text could be a processor of any suitable type.
  • Any processor may comprise but is not limited to one or more microprocessors, one or more processor(s) with accompanying digital signal processor(s), one or more processor(s) without accompanying digital signal processor(s), one or more special-purpose computer chips, one or more field- programmable gate arrays (FPGAS), one or more controllers, one or more application-specific integrated circuits (ASICS), or one or more computer(s).
  • FPGAS field- programmable gate arrays
  • ASICS application-specific integrated circuits
  • the relevant structure/hardware has been programmed in such a way to carry out the described function.
  • any of the memories mentioned in this text could be implemented as a single memory or as a combination of a plurality of distinct memories, and may comprise for example a read-only memory (ROM), a random access memory (RAM), a flash memory or a hard disc drive memory etc.
  • any of the actions described or illustrated herein may be implemented using executable instructions in a general-purpose or special-purpose processor and stored on a computer-readable storage medium (e.g., disk, memory, or the like) to be executed by such a processor.
  • a computer-readable storage medium e.g., disk, memory, or the like
  • References to 'computer-readable storage medium' should be understood to encompass specialized circuits such as FPGAs, ASICs, signal processing devices, and other devices.
  • Example embodiments using at least one processor and at least one memory as a non-transitory data medium are shown in Figures 9 and 10.
  • Figure 9 is a schematic block diagram of a device 900.
  • Device 900 includes a processor 902.
  • Processor 902 is connected to a volatile memory 903, such as a RAM, by a bus 908.
  • Bus 908 also connects processor 902 and RAM 903 to a non- volatile memory 904, such as a ROM.
  • a communications interface or module 905 is coupled to bus 908, and thus also to processor 902 and memories 903, 904.
  • SW software
  • Software application 907 may be a positioning application, although it may take some other form as well.
  • An operating system (OS) 906 also is stored in ROM 904.
  • Figure 10 is a schematic block diagram of a device 910.
  • Device 910 may take any suitable form.
  • device 910 may comprise processing circuitry 912, including one or more processors, and a storage device 913 comprising a single memory unit or a plurality of memory units 914.
  • Storage device 913 may store computer program instructions 917 that, when loaded into processing circuitry 912, control the operation of device 910.
  • a module 91 1 of device 910 may comprise processing circuitry 912, including one or more processors, and storage device 913 comprising a single memory unit or a plurality of memory units 914.
  • Storage device 913 may store computer program instructions 917 that, when loaded into processing circuitry 912, control the operation of module 91 1.
  • the software application 907 of Figure 9 and the computer program instructions 917 of Figure 10, respectively, may correspond e.g. to the computer program code in any of memories 102, or either 302 or 322, respectively.
  • any non-transitory computer readable medium mentioned in this text could also be a removable/portable storage or a part of a removable/portable storage instead of an integrated storage.
  • Example embodiments of such a removable storage are illustrated in Figure 1 1 , which presents, from top to bottom, schematic diagrams of a magnetic disc storage 920, of an optical disc storage 921 , of a semiconductor memory circuit device storage 922 and of a Micro-SD semiconductor memory card storage 923.
  • processor 101 in combination with memory 102, or processor 301 in combination with memory 302, or processor 321 in combination with memory 322, or the integrated circuit 303, or the integrated circuit 323 can also be viewed as means for determining an area, in which a mobile device is located and which is associated with a building, based on measurements of the mobile device, the measurements relating to radio signals of at least one non-cellular terrestrial communication node, and based on data about radio environments of a plurality of buildings; as means for determining in a separate subsequent action a level in the determined area at which the mobile device is located based on information determined at the mobile device; and as means for determining in a further separate subsequent action a position, at which the mobile device is located at the determined level, based on the measurements of the mobile device and on data about a radio environment of the determined level in the determined area.
  • the program codes in memories 102 and 302 or 322 can also be viewed as comprising such means in the form of functional modules.
  • Figures 2, 4, 5 and 7 may also be understood to represent example functional blocks of computer program codes supporting a coverage area modeling.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

An apparatus determines an area, in which a mobile device is located and which is associated with a building, based on measurements of the mobile device, the measurements relating to radio signals of at least one non-cellular terrestrial communication node, and based on data about radio environments of a plurality of buildings. The apparatus determines in a separate subsequent action a level in the determined area at which the mobile device is located based on information determined at the mobile device. The apparatus determines in a further separate subsequent action a position,at which the mobile device is located at the determined level, based on the measurements of the mobile device and on data about a radio environment of the determined level in the determined area.

Description

Supporting indoor positioning
FIELD OF THE DISCLOSURE
The invention relates to indoor positioning, and more specifically to a method, an apparatus, a computer program and a computer program product supporting indoor positioning of mobile devices.
BACKGROUND
"Traditional" positioning technologies, namely satellite signal based positioning technologies and cellular based positioning technologies, which are mainly used outdoors, are usually not suited to deliver a satisfactory performance in terms of reliability and accuracy when used for indoor positioning.
Satellite signals of global navigation satellite systems, like the global positioning system (GPS), do not penetrate through walls and roofs strongly enough for an adequate signal reception indoors. Cellular signals use too narrow frequency bands for enabling accurate ranging by default. Thus, these positioning technologies are not able to deliver a performance indoors that would enable seamless, equal and accurate navigation experience outdoors and indoors.
Therefore, several dedicated solutions for indoor positioning have been developed and commercially deployed during the past years. Examples comprise solutions that are based on pseudolites, which are GPS-like short-range beacons, ultra-sound positioning solutions, Bluetooth low energy (BTLE) signal based solutions, and wireless local area network (WLAN) fingerprinting based solutions.
SUMMARY OF SOME EMBODIMENTS OF THE INVENTION
A method is described which comprises, performed by at least one apparatus, determining an area, in which a mobile device is located and which is associated with a building, based on measurements of the mobile device, the measurements relating to radio signals of at least one non-cellular terrestrial communication node, and based on data about radio environments of a plurality of buildings. The method further comprises determining in a separate subsequent action a level in the determined area at which the mobile device is located based on information determined at the mobile device. The method further comprises determining in a further separate subsequent action a position, at which the mobile device is located at the determined level, based on the measurements of the mobile device and on data about a radio environment of the determined level of the determined area.
Moreover an apparatus is described, which comprises means for realizing the actions of the presented method.
The means of the apparatus can be implemented in hardware and/or software. They may comprise for instance at least one processor for executing computer program code for realizing the required functions, at least one memory storing the program code, or both. Alternatively, they could comprise for instance circuitry that is designed to realize the required functions, for instance implemented in a chipset or a chip, like an integrated circuit. In general, the means may comprise for instance one or more processing means.
Moreover an apparatus is described, which comprises at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause an apparatus at least to perform the actions of the presented method.
Any of the described apparatuses may be a module or a component for a device, for example a chip. Alternatively, any of the mentioned apparatuses may be a device, for instance a server or a mobile device.
Any of the described apparatuses may further comprise only the indicated components or one or more additional components.
Moreover a system is described, which comprises one of the described apparatuses and in addition a memory configured to store data about radio environments and/or at least one non-cellular terrestrial communication node.
In certain embodiments, the described methods are information providing methods, and the described apparatuses are information providing apparatuses.
In certain embodiments of the described methods, the methods are methods for supporting indoor positioning. In certain embodiments of the described apparatuses, the apparatuses are apparatuses for supporting indoor positioning. Moreover a non-transitory computer readable storage medium is described, in which computer program code is stored. The computer program code causes at least one apparatus to perform the actions of the presented method when executed by at least one processor.
The computer readable storage medium could be for example a disk or a memory or the like. The computer program code could be stored in the computer readable storage medium in the form of instructions encoding the computer-readable storage medium. The computer readable storage medium may be intended for taking part in the operation of a device, like an internal or external hard disk of a computer, or be intended for distribution of the program code, like an optical disc.
It is to be understood also the respective computer program code by itself has to be considered embodiment of the invention. The computer program code could also be distributed to several computer readable storage mediums.
It is to be understood that the presentation of the invention in this section is merely by way of example and non-limiting.
Other features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims. It should be further understood that the drawings are not drawn to scale and that they are merely intended to conceptually illustrate the structures and procedures described herein.
BRIEF DESCRIPTION OF THE FIGURES
Fig. 1 is a schematic block diagram of an example embodiment of an apparatus;
Fig. 2 is a flow chart illustrating an example embodiment of a method;
Fig. 3 is a schematic block diagram of an example embodiment of a system;
Fig. 4 is a flow chart illustrating a first example embodiment of an operation in the system of Figure 3;
Fig. 5 is a flow chart illustrating a second example embodiment of an operation in the system of Figure 3;
Fig. 6 is a diagram illustrating an example cascaded indoor positioning; Fig. 7 is a flow chart illustrating an example cascaded indoor positioning in the scope of the operation of Figure 4 or 5;
Fig. 8 is a diagram illustrating an example floor detection in the cascaded indoor positioning of
Figure 7;
Fig. 9 is a schematic block diagram of an example embodiment of an apparatus;
Fig. 10 is a schematic block diagram of an example embodiment of an apparatus; and
Fig. 1 1 schematically illustrates example removable storage devices.
DETAILED DESCRIPTION OF THE FIGURES
Figure 1 is a schematic block diagram of an example embodiment of an apparatus 100. Apparatus 100 comprises a processor 101 and, linked to processor 101 , a memory 102. Memory 102 stores computer program code for supporting an indoor positioning of mobile devices. Processor 101 is configured to execute computer program code stored in memory 102 in order to cause an apparatus to perform desired actions.
Apparatus 100 could be a mobile device or a stationary device, like a server. Apparatus 100 could equally be a module, like a chip, circuitry on a chip or a plug-in board, for a mobile device or a stationary device. Optionally, apparatus 100 could comprise various other components, like a data interface, a user interface, a further memory, a further processor, etc.
An operation of apparatus 100 will now be described with reference to the flow chart of Figure 2. The operation is an example embodiment of a method according to the invention. Processor 101 and the program code stored in memory 102 cause an apparatus to perform the operation when the program code is retrieved from memory 102 and executed by processor 101. The apparatus that is caused to perform the operation can be apparatus 100 or some other apparatus, for example but not necessarily a device comprising apparatus 100.
The apparatus determines an area, in which a mobile device is located and which is associated with a building, based on measurements of the mobile device, the measurements relating to radio signals of at least one non-cellular terrestrial communication node, and based on data about radio environments of a plurality of buildings, (action 201) The apparatus moreover determines in a separate subsequent action a level in the determined area at which the mobile device is located based on information determined at the mobile device, (action 202) The apparatus moreover determines in a further separate subsequent action a position, at which the mobile device is located at the determined level, based on the measurements of the mobile device and on data bout a radio environment of the determined level in the determined area, (action 203)
Certain embodiments of the invention thus provide that a position of a mobile device is determined in a cascaded approach, by determining first a building related area in which the device is located, then the level in the area at which the device is located, and finally the horizontal position at which the device is located. The positioning is based at least partly on measurements on radio signals of non- cellular terrestrial communication nodes and on available data about radio environments. Certain embodiments of the invention may have the effect that it enables an efficient indoor positioning in more than one building based on signals of communication nodes that are neither satellites nor base stations of a cellular communication network. Certain embodiments of the invention may have the effect that indoor positioning is enabled on a large scale. Certain
embodiments of the invention may have the effect that a position of a mobile device can be determined nevertheless with limited processing power; if a mobile device is known to be located in an area that is associated with a particular building and on a particular level based on first analyses, the required extent of the possibly computationally intensive determination of the exact horizontal position of the mobile device may be limited significantly. Certain embodiments of the invention may have the effect that the indoor positioning results in a position with three - or 2.5 - dimensions. Certain embodiments of the invention may have the effect that a position of a mobile device can be solved and tracked unambiguously when the mobile device is moving between multiple areas, levels and/or horizontal locations.
Apparatus 100 illustrated in Figure 1 and the method illustrated in Figure 2 may be implemented and refined in various ways.
In an example embodiment, the area associated with a building could be the indoor area of the building. In this case, determining an area in which the mobile device is located could generally mean determining a particular building in which the mobile device is located. In another example embodiment, the area associated with a building could be an area comprising an area of the building. That is, the area could correspond to the indoor area of the building or to a larger area including the indoor area of the building as well as one or more outdoor areas. Such outdoor areas could comprise for instance sections of the streets adjacent to the building or outdoor facilities of the building, like a courtyard, a surrounding park, etc.
In an example embodiment, the level in a determined area associated with a building is a floor of the building. In this case, determining a level could generally correspond to determining a floor of the building. In another example embodiment, the level in the determined area could comprise an indoor component and/or an outdoor component. An indoor component could correspond again to a floor of the building. An outdoor component could be for instance a roof-deck, a balcony, a courtyard, a surrounding park or an adjacent street, etc. From another point of view, possible levels in a determined area could be considered to comprise indoor floors and outdoor floors of a building.
Considering outdoor areas in addition to indoor areas with respect to buildings and levels may have the effect that in addition to an indoor positioning, an outdoor positioning may be supported to a limited extent. This, in turn, may have the effect that a smooth tracking of a mobile device in transition areas can be achieved, for example when a user moves between buildings or when a user changes between indoor and outdoor facilities of a building. For other embodiments, it could be of interest to consider indoor areas only, in order to limit the required processing power and/or storage space.
The data about radio environments may be data that is assembled in advance, for example on a large scale. In certain embodiments, it may be updated continuously or from time to time. It may be stored permanently in the apparatus performing the positioning or in a memory that is accessible by this apparatus. Alternatively, it may be received by the apparatus from some other entity whenever needed, for instance upon request. In the latter case, the received data could optionally be a selected subset of data about radio environments that is stored at the other entity.
The data about radio environments can be data of various kinds. It could comprise a grid representing a coverage area of a communication node, with an indication of expected received signal strengths (RSS) for signals transmitted by the node at various locations in the coverage area mapped to grid points of the grid. It could comprise an indication of an estimated or known location of the node and an indication of a coverage area of the node. The indication of the coverage area could be simply an indication of a range, for instance in the form of a radius of a circular area or of a major and minor axis of an ellipse. The data could comprise parameters of an equation defining a distribution of expected received signal strengths or pathloss values for signals from a respective node. The data could comprise parameters defining three dimensional Gaussian distributions for the probability that a mobile device is located at a particular position when receiving signals from a respective node. The Gaussian distributions could optionally be cut off on one or more side, for instance for limiting the nonzero values to the area of a respective level for which the data is provided. The data could comprise a likelihood value indicating the likelihood that a mobile device is located in an area associated with a building or at a level of such an area or at a position at such a level when receiving signals from a particular communication node. In general, the data can be considered to be or to belong to radio model data of some kind. The data about radio environments of a building could comprise for example radio model data for indoors only, common radio model data for indoors and outdoors or dedicated radio model data for indoors on the one hand and outdoors on the other hand. Similarly, data about radio environments of a level in a particular area could comprise for example radio model data for indoors only, radio model data for outdoors only, common radio model data for indoors and outdoors or dedicated radio model data for indoors on the one hand and outdoors on the other hand. The data about radio environments of a building could consist for example in the combined data about radio environments of all levels in an area associated with this building, or a selection of some of this data.
In an example embodiment, determining the area comprises determining a likelihood that the mobile device is located in an area associated with a respective one of the plurality of buildings based on the data about radio environments of a plurality of buildings and on a measurement relating to signals of a respective one of the at least one communication node. In case the measurements relating to radio signals of at least one communication node comprise measurements relating to radio signals of more than one communication node, for each of the plurality of buildings the determined likelihood for the communication nodes may be combined separately. The area associated with the building with the highest combined likelihood may then be selected as the area in which the mobile device is located. This may have the effect that an area can be determined reliably with limited processing effort. This may further have the effect that a hypothesis that a mobile device is located in a particular area can be checked for several buildings in parallel.
In an example embodiment, the information determined at the mobile device and used for determining the level at which the mobile device is located comprises as well the measurements of the mobile device relating to radio signals of at least one non-cellular terrestrial communication node. The measurements may be used together with data about radio environments of a plurality of levels in the determined area for determining the level at which the mobile device is located. Alternatively or in addition, the information could comprise measurement values provided by a barometer of the mobile device, which are used together with an indication of an altitude of the levels in the area for determining the level at which the mobile device is located. The barometer could be used for example for providing information on an absolute altitude. It could be calibrated to this end on a regular basis, for instance using a satellite signal based positioning when the mobile device is outdoors. Alternatively or in addition, the barometer could be used for providing information on changes in altitude, which could be used in combination with additional information, like a height of a ground floor of a building or an altitude of a street in front of the building, based on corresponding information in a map, etc. An indication of an altitude of levels could correspond to some default value. For some or all levels, it could also correspond to stored actual altitude values.
If the information determined at the mobile device and used for determining the level at which the mobile device is located comprises the measurements of the mobile device relating to radio signals of the at least one non-cellular terrestrial communication node, determining the level at which the mobile device is located may comprise in an example embodiment determining a likelihood that the mobile device is located at a respective level based on data about radio environments of at least one level and a measurement relating to signals of the at least one communication node. A sum of respective products of the likelihood for a level and an altitude of the level may then be determined to obtain an altitude of the mobile device. Moreover, the determined altitude may be mapped to a level with the closest altitude. This level with the closest altitude may be determined as the level at which the mobile device is located. This may have the effect that a hypothesis that a mobile device is located at a particular level in a determined area can be checked for several levels in the area in parallel. The altitude of a respective level used for the products could correspond again to some default value or to a stored actual altitude value.
In an example embodiment, at least one Kalman filter is applied for filtering a determined level and/or for filtering a determined position at a determined level, while the mobile device moves around. This may have the effect that a converging solution is obtained, which is suited to increase the reliability of the indoor positioning. At the same time, it may enable a reliable tracking of a mobile device.
The at least one non-cellular terrestrial communication node could comprise any communication node that is configured to transmit radio signals. In an example embodiment, it comprises at least one wireless local area network access point and/or at least one Bluetooth transmitter and/or at least one Bluetooth low energy transmitter. WLAN and Bluetooth communication nodes are already installed in many buildings. Furthermore, WLAN and Bluetooth technologies are already supported in many mobile user devices, like smartphones, tablets, laptops and in the majority of feature phones. Using WLAN access points, Bluetooth transmitters and/or BTLE transmitters as communication nodes may thus have the effect that the presented indoor positioning can be based on an existing infrastructure in buildings and on existing capabilities in mobile devices. As a result, the approach can be globally scalable and have low maintenance and deployment costs. The deployment of new infrastructure, including for example beacons and tags, is not necessary. In addition, the end-user experience may be acceptable with these technologies, since a horizontal positioning accuracy of 2-3 meters as well as close to 100% reliability in floor detection can be achieved. It is to be understood that a Bluetooth transmitter and a BTLE transmitter could optionally be a part of a respective transceiver.
In an example embodiment, the measurements relating to transmissions of at least one non-cellular terrestrial communication node comprise a received signal strength indication and/or a pathloss indication and/or a timestamp indicating the time of measurement and/or an identification of the at least one communication node. A received signal strength indication and/or a pathloss indication can be used for example as an indication that the mobile device detected radio signals from a certain communication node. A received signal strength indication and/or a pathloss indication could moreover be used for example to precisely locate the mobile device at a determined level. The timestamp can be used for example to check that only recent measurements are employed or that measurements are used in the correct order in a filter operation. The identification of a
communication node can be used for example to retrieve or request data about radio environments specifically for this node. Figure 3 is a schematic block diagram of an example embodiment of a system according to the invention. The system supports an indoor positioning of mobile devices. For reasons of clarity, the following description will focus on pure indoor positioning. It is to be understood, however, that the exemplary embodiment can easily be extended to a positioning in outdoor areas associated with a building, in order to support a positioning during transitions between indoor and outdoor areas as well.
The system comprises a server 300 and a mobile device 320. The system further comprises a network 340, for example the Internet. The system further comprises a plurality of communication nodes 360, which are connected to network 340. Server 300 may be for instance a dedicated learning/positioning server, or some other kind of server. It comprises a processor 301 that is linked to a first memory 302, to a second memory 305 and to an interface (I/F) 304. Processor 301 is configured to execute computer program code, including computer program code stored in memory 302, in order to cause server 300 to perform desired actions.
Memory 302 stores computer program code for supporting indoor positioning. Optionally, the computer program code may comprise program code for determining a position of a mobile device. In this case, it may comprise similar program code as memory 102. Alternatively or in addition, the computer program code may comprise program code for retrieving and providing selected radio model data upon a request of a mobile device to enable the mobile device to determine its position. In addition, memory 302 could store computer program code configured to realize other functions, like program code for supporting a collection of fingerprint data from mobile devices and program code for generating and storing radio map data for a large number of communication nodes. In addition, memory 302 could also store other kind of data.
Processor 301 and memory 302 may optionally belong to a chip or an integrated circuit 303, which may comprise in addition various other components, for instance a further processor or memory. Memory 305 can equally be accessed by processor 301. It is configured to store data of a positioning database, including radio model data for a plurality of terrestrial non-cellular communication nodes. The data for each communication node is associated with one or more buildings in which signals of the node can be heard and with one or more floors on which signals of the node can be heard. Thus, the radio model data for the communication nodes comprises data about radio environments of a plurality of buildings and about radio environments of a plurality of floors. As indicated above, it is to be understood that the data could comprise data for indoor areas and outdoor areas associated with the buildings, as well as data for indoor and outdoor floors of the building. In this case, it could be determined for example separately for the outdoor areas whether signals of a particular communication can be observed in the concerned outdoor area.
The radio model data for each communication node could comprise for example for some or all buildings in which a communication node can be heard an individual likelihood value indicating the likelihood that a mobile device observing signals from this node is located in the particular building. The buildings could be limited for instance to buildings that are open to the public. The radio model data for each communication node could further comprise for example for some or all of the floors of these buildings on which the communication node can be heard an individual likelihood value. These likelihood values could indicate the likelihood that a mobile device observing signals from this node is located on a particular floor of a particular building, optionally under the condition that the mobile device is located in the particular building. The floors could be limited for instance to floors that are open to the public. The radio model data for each communication node could further comprise for example for some or all floors for which a likelihood value is available an estimated location of the node and information on the coverage area of the node and/or a model of the distribution of the measurable RSS over the floor and/or parameters of a probability distribution for the position of a mobile device on the floor.
A likelihood value for a respective building could also be selected to correspond to the maximum of the likelihood values for the floors of the building for a particular communication node. In this case, separate likelihood values for buildings could be omitted. The radio model data could be based for example on a statistical evaluation of a large number of fingerprint data.
The radio model data for a communication node may originate entirely or partially from users of non-cellular terrestrial positioning technologies. This kind of data collection is also referred to as "crowd-sourcing". The information provided by users can be in the form of "fingerprints", which contain a location that is estimated based on, e.g., received satellite signals of a global navigation satellite system (GNSS) and measurements taken from one or more radio interfaces for signals of a non-cellular terrestrial system. For measurements on wireless local area network (WLAN) signals, for example, the results of the measurements may contain a basic service set identification (BSSID), like the medium access control (MAC) address of observed access points (APs), the service set identifier (SSID) of the access points, and the signal strength of received signals (received signal strength indication RSSI or physical Rx level in dBm with a reference value of 1 mW, etc.).
In an example embodiment, the radio model data in memory 305 can thus be based on huge volumes of indoor radio measurements data harvested via crowd-sourcing from mobile consumer terminals that are equipped with the necessary functionality to enable such data collection as a background process with the end-user consent. It would also be possible to use input from volunteers - in exchange of some reward or recognition - who survey particular buildings by scanning for coverage of communication nodes while climbing up in places and venues that are important for key customers. For supporting the collection of learning data for a positioning database, a mobile terminal may scan the environment at regular intervals for non-cellular terrestrial communication nodes 360. At the same time, it may determine its position using an integrated satellite signal receiver whenever the receiver is activated and receives signals from a sufficient number of satellites. The mobile terminal may then provide measurement results of the scan along with an indication of a satellite signal based position as a fingerprint, and transmit the fingerprint in a message to server 300. The collected data may be processed in order to obtain the required radio model data. The data collection and/or the data processing for obtaining the required radio model data may be performed by server 300. Alternatively, these operations could be performed by some other server. In this case, server 300 could only receive and store the radio model data for retrieval whenever needed. It is to be understood that a memory storing any of the mentioned data could also be external to server 300; it could be for instance on another physical or virtual server.
Interface 304 is a component which enables server 300 to communicate with other devices, like mobile device 320, via network 340. Interface 304 could comprise for instance a TCP/IP socket.
Component 303 or server 300 could be an example embodiment of an apparatus according to the invention, in case the computer program code in memory 302 comprises program code for determining a position of a mobile device. Mobile device 320 may be for instance a mobile telephone, like a smartphone, a tablet PC, a laptop or any other mobile terminal that is able to scan for signals of communication nodes 360. It comprises a processor 321 that is linked to a first memory 322, to at least one transceiver 324, to a second memory 325 and optionally to a barometer 327. Processor 321 is configured to execute computer program code, including computer program code stored in memory 322, in order to cause mobile device 320 to perform desired actions.
Memory 322 stores computer program code for supporting an indoor positioning. The computer program code may include program code for causing a scan for communication nodes. The computer program code could also comprise program code for determining a position of mobile device 320. In this case, the computer program code may comprise for example similar program code as memory 102. The computer program code could also comprise program code for requesting radio model data for particular communication nodes. Alternatively or in addition, the computer program code could comprise program code for transmitting the results of a scan to server 300 and for requesting a position from server 300. In addition, memory 322 could store computer program code configured to realize other functions as well as any other kind of data. Processor 321 and memory 322 may optionally belong to a chip or an integrated circuit 323, which may comprise in addition various other components, for instance a further processor or memory. Memory 325 can equally be accessed by processor 321. It is optionally configured to store radio model data for selected communication nodes, either permanently or temporarily.
Transceiver 324 is a component which enables mobile device 320 to communicate with other devices, like server 300, via one kind of radio communication nodes, for instance via WLAN access points. In case mobile device 320 supports a communication via several kinds of communication nodes, including for example WLAN access points and Bluetooth based nodes, a dedicated transceiver may be provided for each kind of communication node.
Component 323 or mobile device 320 could be an example embodiment of an apparatus according to the invention, in case the computer program code in memory 322 comprises program code for determining a position of mobile device 320.
The communication nodes 360 could comprise WLAN access points, Bluetooth transceivers, BTLE transceivers or any other non-cellular terrestrial communication nodes.
Example operations in the system of Figure 3 will now be described with reference to Figures 4 to 8.
Figure 4 is a flow chart illustrating an overview over operations at server 300 and mobile device 320 for an assisted positioning performed at mobile device 320. Processor 301 and some of the program code stored in memory 302 causes server 300 to perform the actions presented on the right hand side when the program code is retrieved from memory 302 and executed by processor 301. Processor 321 and some of the program code stored in memory 322 causes mobile device 320 to perform the actions presented on the left hand side when the program code is retrieved from memory 322 and executed by processor 321.
When a user of mobile device 320 is located indoors and wishes to be positioned, the user may cause execution of indoor positioning program code in memory 322, for example by starting a dedicated positioning application to which the code belongs. Alternatively, the program code may be caused to be executed for instance by some authorized other application requiring the current location of mobile device 320. There could also be an application that switches automatically from a satellite signal based positioning mode to an indoor positioning mode, when the satellite signals become too week or too few for a satellite signal based positioning.
Thereupon, mobile device 320 preforms a scan for one or more types of non-cellular terrestrial communication nodes 360, for example for WLAN access points, BT transmitters and/or BTLE transmitters, (action 401) The measurements may result in an RSS value, a node identifier (ID) and a timestamp for each detected node.
A typical WLAN scan, for example, provides information of several observations of the heard access points with their RSS and timestamps. The observation data for measurements on signals of WLAN access points could have for example the following form:
Figure imgf000015_0001
Here, the parameter Timestamp is the time when the radio measurements were performed, for example in Coordinated Universal Time (UTC). The parameters AP I to AP_N are unique identifiers, for example MAC-addresses, for 1 .. . N access points. The parameters RSS l to RSS N represent the measured RSS values from the access points at the current location of mobile device 320. Mobile device 320 requests from server 300 radio model data for the detected communication nodes 360. It may transmit to this end at least the identifiers of the communication nodes detected in the scan to server 300. (action 402)
Server 300 may retrieve the radio model data that is stored for the identified nodes from memory 305 and provide the data to mobile device 320. (action 403) Mobile device 320 may buffer the received data in a working memory (not shown) and/or store the data in memory 325.
The communication between mobile device 320 and server 300 may take place for example via one of the observed communication nodes 360, or via a cellular communication network.
Mobile device 320 may now perform a cascaded indoor positioning based on the measurements of action 401 and on the received radio model data, (action 404) The cascaded indoor positioning will be described in more detail further below with reference to Figures 6 to 8. The result of the indoor positioning is an indication of the building in which mobile device 320 is located, an indication of the floor on which mobile device 320 is located and an indication of the position of mobile device 320 on this floor. The indicated position on the floor could be a general position consisting of longitude and latitude values.
The obtained position information can be displayed to a user. Alternatively or in addition, it could be provided to a local application or to an external service for further use. (action 405) Figure 5 is a flow chart illustrating an overview over alternative operations at server 300 and mobile device 320 for a positioning of mobile device 320 that is performed at server 300. Processor 301 and some of the program code stored in memory 302 causes server 300 to perform the actions presented on the right hand side when the program code is retrieved from memory 302 and executed by processor 301. Processor 321 and some of the program code stored in memory 322 causes mobile device 320 to perform the actions presented on the left hand side when the program code is retrieved from memory 322 and executed by processor 321.
When a user of mobile device 320 is located indoors and wishes to be positioned, the user may cause execution of indoor positioning program code in memory 322. Alternatively, the program code may be caused to be executed for instance by some authorized application requiring the current location of mobile device 320.
Thereupon, mobile device 320 preforms a scan for one or more types of non-cellular terrestrial communication nodes 360, for example for WLAN access points, BT transmitters and/or BTLE transmitters, (action 501)
The measurements obtained in the scan may include for example again the node ID of each detected communication node 360, an RSS value for signals received from each detected node 360 and a timestamp. Mobile device 320 transmits the measurements to server 300 and request to be provided with a position of mobile device 320 based on these measurements, (action 502)
Server 300 receives the measurements and the request, (action 503) Server 300 retrieves the radio model data that is stored for the communication nodes 360 identified in the measurements from memory 305. (action 504) Server 300 may buffer the retrieved data in a working memory (not shown) for processing. Based on the received measurements and the retrieved data, server 300 may perform a cascaded indoor positioning, which will be described in more detail further below with reference to Figures 6 to 8. (action 505) The result of the positioning is again an indication of the building in which mobile device 320 is located, an indication of the floor on which mobile device 320 is located and an indication of the position of mobile device 320 on this floor.
The determined position is provided for transmission and transmitted to mobile device 320. (action 506) Alternatively, it could be provided for transmission to some other entity that provides some service relying on the position of mobile device 320. Mobile device 320 receives the received position information and displays it to a user and/or provides the position information to a local application or to an external entity providing some service relying on the position of mobile device 320. (action 507)
The communication between mobile device 320 and server 300 may take place again for example via one of the observed communication nodes 360, or via a cellular communication network.
Figure 6 schematically illustrates the cascaded indoor positioning of action 404 of Figure 4 or action 505 of Figure 5. In the presented situation, mobile device 320 may observe communication nodes that can be heard in a first building A' 601, a second building 'B' 602 and in a third building 'C 603. Each building 601-603 has a first floor '0' 611, 613, 615, and a second floor '1' 612, 614, 616. Any position on any floor 611-616 may be indicated by a latitude value 'Lat' and a longitude value 'Lon' 621-626.
The indoor positioning may be performed for example by means of three modules. A cascaded filter implemented by the program code in memory 322 or by the program code in memory 302 may integrate the modules by providing a filter for each of the modules, that is, a building filter, a floor filter and a 2D horizontal positioning filter. The cascaded filter may also define an order of the usage of these filters which effectively enables indoor positioning in more than one building. The order to use these filter is first to use the building filter to determine a building in which the user is located, second to use the floor filter to detect the floor on which the user is located, and third to solve the horizontal position of the user with radio model data assigned to the detected floor. The proposed sequence of the building filter and floor filter enables an efficient use of resources by limiting exhaustive position calculation to only one floor at the time using floor-specific radio models. This may be of particular advantage in case the position is computed by mobile device 320 as presented with reference to Figure 4.
Figure 7 is a flow chart which illustrates in more detail some actions that may be performed by an apparatus in the scope of the cascaded positioning of action 404 of Figure 4 or in the scope of the cascaded positioning of action 505 of Figure 5, respectively. In the case of Figure 4 the apparatus could thus be for example mobile device 320 or component 323, while in the case of Figure 5 the apparatus could be for example server 300 or component 303.
First, the apparatus determines the building in which mobile device 320 is located using the building filter.
To this end, the apparatus determines the likelihood that mobile device 320 is located in a particular building separately for all communication nodes detected in the scan of mobile device 320 and for all buildings covered by the selected radio model data, (action 701) The likelihood for all buildings, for which no likelihood value is included in the radio model data for a particular communication node, can be assumed to be zero.
The apparatus may then combine the determined likelihood that mobile device 320 is located in a particular building for all communication nodes. The combination could comprise for example a summing of the individual likelihood values, (action 702)
Action 702 can be carried out in parallel for all buildings covered by the radio model data for all detected communication nodes.
Now, the building with the highest combined likelihood value is selected as the building in which mobile device 320 is located, (action 703)
The building can be determined with this approach, even if a mobile device hears the same nodes with equal signal powers. Next, the floor of the determined building is estimated on which mobile device 320 is located using the floor filter.
The apparatus determines to this end the likelihood that mobile device 320 is located on a particular floor of the selected building. The determination is performed separately for each floor of the building - at least as far as data is available for a floor. The likelihood may be determined at first separately for each communication node that was detected in the scan by mobile device 320, and the determined likelihood values for a respective floor may then be combined to obtain a single likelihood value for each floor, (action 704)
The apparatus may then estimate the altitude of mobile device 320 based on the following equation (action 705): n
Altitude = ^ (floor _ likelihoodi * floor _ alti ) (1)
i=l
In this equation, Altitude is the estimated altitude of mobile device 320, N is the number of (considered) floors of the building, floor Jikelihoodt is the combined likelihood value for the 1th floor of the building, and floor _alti is the altitude of the 1th floor in meters from the ground floor. The information of the height of each floor can be obtained for instance from a map of the building or it can be surveyed as well; such information could be determined once and stored in memory 305 and retrieved along with the radio mode data. In case individual information on the height of the floors is not available, a default height of 4 meters, for example, could be used. Such a default value could be included as a parameter in the program code. The altitude of each floor is obtained by adding the height of floors below the estimated floor. If there is no floor below a particular floor, then a height of 0.0 meters is assumed for this particular floor.
In addition, in particular if a Kalman filter is to be employed, the apparatus could estimate the variance of the calculated altitude Altitude_var based on the following equation:
Altitude _var = (2)
Figure imgf000019_0001
In this equation, Altitudevar i is the variance of the altitude of the 1th floor. If the altitude of a floor is based on survey data, this value could be pre-computed from collected fingerprint data. If the altitude of a floor is determined from a map of a building, the variance could be set to zero. In both cases, the variance and be could be stored in memory 305 and be made available along with in the radio model data. If the altitude of a floor is based on a default height of floors, the variance for each level could be an available statistical value for each level. In this case, the variance could also be defined as a parameter value in the program code.
Optionally, the altitude and variance estimates could be computed repeatedly and used in a Kalman filter to calculate a filtered altitude of mobile device 320, for instance while mobile device 320 is moving around, (action 706) If a Kalman filter is employed, a constant position Kalman filter may be used that operates in vertical direction only. That is, the horizontal dimension may not be considered at all. This simplifies the computations and may make the result more accurate.
It has to be noted that the height of mobile device 320 could also be obtained based on measurement values of barometer 327 in mobile device 320, which could provide for example continuous measurements of changes in the height or altitude, and thus a relative altitude.
The apparatus may then map the estimated and optionally Kalman filtered altitude of mobile device 320 to the floor having the closest altitude, (action 707) If the estimated altitude that is mapped to a floor is a Kalman filtered altitude, this may result in more reliable and accurate floor information than what could be obtained by using single measurements. It is also possible to subsequently map each output of the Kalman filter to a floor, in order to obtain a reliable tracking of mobile device 320.
The mapping of an estimated altitude to a floor is illustrated in Figure 8.
Figure 8 schematically presents three floors of a building, 'Floor Γ 801, 'Floor 2' 802 and 'Floor 3' 803. For each floor 801-803, a default height of 4 meters is assumed. The absolute height in meters of each floor relative to ground is indicated. The height of 'Floor Γ 801 is 0 meters from ground, the height of 'Floor 2' 802 is 4 meters from ground and the height of 'Floor 3' 803 is 8 meters from ground. The estimated altitude, determined based equation (1) or resulting in a Kalman filtering, is assumed to be 7 meters from ground and indicated in Figure 8 by means of black circular area 811.
The estimated altitude is mapped to the floor having the closest altitude. In the present case, 'Floor 3' 803 with an altitude of 8 meters is the floor with the closest altitude. Mobile device 320 is therefore assumed to be on 'Floor 3' 803. If no information on the height of the floors is available, a default index of the floor can also be used in the floor filter, constituting a so called 2.5D filter, where the floor does not have an exact physical dimension. For example, in action 704, simply the floor with the highest likelihood value could be selected as the floor on which mobile device 320 is assumed to be located.
Finally, the horizontal position of the device is estimated using the position filter.
The position filter determines the horizontal position of mobile device 320. (action 708) It considers no altitude or floor information in the positioning computations; rather the filter estimates only the horizontal location, for example as Latitude/Longitude coordinates or as East/North coordinates. This may reduce the processing load significantly compared to a three-dimensional positioning.
The position can be determined in various ways. For example, it could be determined to lie in the center of an intersection of the coverage areas of all communication nodes detected in the scan, if the coverage area is defined by the radio model data. For refinement, different coverage areas could be defined for different observed signal strengths. It would also be possible that each floor is divided into different sections and that the stored radio model data for a respective communication node assigns different likelihood values to each section of each floor on which signals of the
communication node can be heard. In this case, the correct section could be determined in an analog manner as the correct building by selecting the section with the highest combined likelihood for all observed communication nodes. If the radio model data for each communication node comprises a probability distribution for the floor, it would also be possible to combine the distributions of all communication nodes detected in the scan to obtain the location with the highest probability.
Optionally, the estimated position on the selected floor can also be filtered using a Kalman filter, while mobile device 320 is moving around and collects further measurements, (action 709) Such a Kalman filter could only consider horizontal dimensions. That is, a vertical dimension may not be considered at all. It is also possible to consider each output of the Kalman filter as a new position to obtain a reliable tracking of mobile device 320.
Certain embodiments of the invention may thus help to provide accurate content to a user inside a building by enabling reliable building and floor detection in challenging radio environments. Certain embodiments of the invention may further enable an efficient utilization of available processing capacities and memory resources by following a sequential estimation of building, floor and horizontal position of a mobile device, instead of estimating directly a three-dimensional position without any consideration of information restricting the possible search space. Radio signals of non- cellular terrestrial communication nodes often penetrate more than one floor and are also measurable in the near-by buildings, so the presented cascaded filter reduces the computational load by focusing on the most likely options only.
Certain embodiments of the invention may further enable deployment of indoor positioning on a large scale by minimizing the use of required resources. Certain embodiments of the invention may allow using computationally complex and expensive algorithms for indoor positioning as the load can be controlled by intelligent filters and filter logic.
In certain embodiments of the invention, the indoor position may furthermore be determined without relying on a map or a layout of buildings.
Various embodiments of the invention may be used with any radio measurement and system as long as suitable radio model data has been created.
It is to be understood that the presented example system as well as the presented example operations may be varied in many ways.
Any presented connection in the described embodiments is to be understood in a way that the involved components are operationally coupled. Thus, the connections can be direct or indirect with any number or combination of intervening elements, and there may be merely a functional relationship between the components.
Further, as used in this text, the term 'circuitry' refers to any of the following:
(a) hardware-only circuit implementations (such as implementations in only analog and/or digital circuitry)
(b) combinations of circuits and software (and/or firmware), such as: (i) to a combination of processor(s) or (ii) to portions of processor(s)/ software (including digital signal processors)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone, to perform various functions) and
(c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term in this text, including in any claims. As a further example, as used in this text, the term 'circuitry' also covers an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and/or firmware. The term 'circuitry' also covers, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone.
Any of the processors mentioned in this text could be a processor of any suitable type. Any processor may comprise but is not limited to one or more microprocessors, one or more processor(s) with accompanying digital signal processor(s), one or more processor(s) without accompanying digital signal processor(s), one or more special-purpose computer chips, one or more field- programmable gate arrays (FPGAS), one or more controllers, one or more application-specific integrated circuits (ASICS), or one or more computer(s). The relevant structure/hardware has been programmed in such a way to carry out the described function.
Any of the memories mentioned in this text could be implemented as a single memory or as a combination of a plurality of distinct memories, and may comprise for example a read-only memory (ROM), a random access memory (RAM), a flash memory or a hard disc drive memory etc. Moreover, any of the actions described or illustrated herein may be implemented using executable instructions in a general-purpose or special-purpose processor and stored on a computer-readable storage medium (e.g., disk, memory, or the like) to be executed by such a processor. References to 'computer-readable storage medium' should be understood to encompass specialized circuits such as FPGAs, ASICs, signal processing devices, and other devices.
Example embodiments using at least one processor and at least one memory as a non-transitory data medium are shown in Figures 9 and 10.
Figure 9 is a schematic block diagram of a device 900. Device 900 includes a processor 902.
Processor 902 is connected to a volatile memory 903, such as a RAM, by a bus 908. Bus 908 also connects processor 902 and RAM 903 to a non- volatile memory 904, such as a ROM. A communications interface or module 905 is coupled to bus 908, and thus also to processor 902 and memories 903, 904. Within ROM 904 is stored a software (SW) application 907. Software application 907 may be a positioning application, although it may take some other form as well. An operating system (OS) 906 also is stored in ROM 904. Figure 10 is a schematic block diagram of a device 910. Device 910 may take any suitable form. Generally speaking, device 910 may comprise processing circuitry 912, including one or more processors, and a storage device 913 comprising a single memory unit or a plurality of memory units 914. Storage device 913 may store computer program instructions 917 that, when loaded into processing circuitry 912, control the operation of device 910. Generally speaking, also a module 91 1 of device 910 may comprise processing circuitry 912, including one or more processors, and storage device 913 comprising a single memory unit or a plurality of memory units 914. Storage device 913 may store computer program instructions 917 that, when loaded into processing circuitry 912, control the operation of module 91 1.
The software application 907 of Figure 9 and the computer program instructions 917 of Figure 10, respectively, may correspond e.g. to the computer program code in any of memories 102, or either 302 or 322, respectively.
In example embodiments, any non-transitory computer readable medium mentioned in this text could also be a removable/portable storage or a part of a removable/portable storage instead of an integrated storage. Example embodiments of such a removable storage are illustrated in Figure 1 1 , which presents, from top to bottom, schematic diagrams of a magnetic disc storage 920, of an optical disc storage 921 , of a semiconductor memory circuit device storage 922 and of a Micro-SD semiconductor memory card storage 923.
The functions illustrated by processor 101 in combination with memory 102, or processor 301 in combination with memory 302, or processor 321 in combination with memory 322, or the integrated circuit 303, or the integrated circuit 323 can also be viewed as means for determining an area, in which a mobile device is located and which is associated with a building, based on measurements of the mobile device, the measurements relating to radio signals of at least one non-cellular terrestrial communication node, and based on data about radio environments of a plurality of buildings; as means for determining in a separate subsequent action a level in the determined area at which the mobile device is located based on information determined at the mobile device; and as means for determining in a further separate subsequent action a position, at which the mobile device is located at the determined level, based on the measurements of the mobile device and on data about a radio environment of the determined level in the determined area. The program codes in memories 102 and 302 or 322 can also be viewed as comprising such means in the form of functional modules.
Figures 2, 4, 5 and 7 may also be understood to represent example functional blocks of computer program codes supporting a coverage area modeling.
It will be understood that all presented embodiments are only examples, and that any feature presented for a particular example embodiment may be used with any aspect of the invention on its own or in combination with any feature presented for the same or another particular example embodiment and/or in combination with any other feature not mentioned. It will further be understood that any feature presented for an example embodiment in a particular category may also be used in a corresponding manner in an example embodiment of any other category.

Claims

What is claimed is:
1. A method comprising, performed by an apparatus:
determining an area, in which a mobile device is located and which is associated with a building, based on measurements of the mobile device, the measurements relating to radio signals of at least one non-cellular terrestrial communication node, and based on data about radio environments of a plurality of buildings;
determining in a separate subsequent action a level in the determined area at which the mobile device is located based on information determined at the mobile device; and
determining in a further separate subsequent action a position, at which the mobile device is located at the determined level, based on the measurements of the mobile device and on data about a radio environment of the determined level in the determined area.
2. The method according to claim 1, wherein at least one of:
the area associated with the building is an area of the building;
the area associated with the building is an area comprising an area of the building; the level in the determined area associated with the building is a floor of the building; the level in the determined area comprises an indoor component; and
the level in the determined area comprises an outdoor component.
3. The method according to any of claims 1 and 2, wherein determining the area comprises:
determining a likelihood that the mobile device is located in an area associated with a respective one of the plurality of buildings based on the data about radio environments of a plurality of buildings and a measurement relating to signals of a respective one of the at least one communication node;
in case the measurements relating to radio signals of at least one communication node comprise measurements relating to radio signals of more than one communication node, combining separately for each of the plurality of buildings the determined likelihood for the communication nodes; and
selecting the area associated with the building with the highest combined likelihood as the area in which the mobile device is located. The method according to any of claim 1 to 3, wherein the information determined at the mobile device and used for determining the level at which the mobile device is located comprises one of:
the measurements of the mobile device relating to radio signals of at least one non- cellular terrestrial communication node, the measurements being used together with data about radio environments of a plurality of levels in the determined area for determining the level at which the mobile device is located; and
measurement values provided by a barometer of the mobile device, the measurement values being used together with an indication of an altitude of the levels in the area in which the mobile device is located for determining the level at which the mobile device is located.
The method according to any of claims 1 to 4, wherein the information determined at the mobile device and used for determining the level at which the mobile device is located comprises the measurements of the mobile device relating to radio signals of the at least one non-cellular terrestrial communication node, and wherein determining the level at which the mobile device is located comprises:
determining a likelihood that the mobile device is located at a respective level in the determined area based on data about radio environments of at least one level and a measurement relating to signals of the at least one communication node;
determining a sum of respective products of the likelihood for a level and an altitude of the level to obtain an altitude of the mobile device; and
mapping the determined altitude to a level with the closest altitude, the level with the closest altitude being determined as the level at which the mobile device is located.
The method according to any of claims 1 to 5, further comprising applying at least
Kalman filter while the mobile device moves around for filtering at least one of:
a determined level; and
a determined position at a determined level.
The method according to any of claims 1 to 6, wherein the at least one non-cellular terrestrial communication node comprises at least one of:
at least one wireless local area network access point;
at least one Bluetooth transmitter; and
at least one Bluetooth low energy transmitter.
8. The method according to any of claims 1 to 7, wherein the measurements relating to transmissions of at least one non-cellular terrestrial communication node comprise at least one of:
a received signal strength indication;
a pathloss indication;
a timestamp; and
an identification of the beacon.
9. An apparatus comprising means for realizing the actions of the method of any of claims 1 to 8.
10. The apparatus according to claim 9, wherein the apparatus is one of:
a mobile device;
a component for a mobile device;
a stationary device;
a component for a stationary device;
a server; and
a component for a server. 11. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause at least one apparatus at least to perform:
determine an area, in which a mobile device is located and which is associated with a building, based on measurements of the mobile device, the measurements relating to radio signals of at least one non-cellular terrestrial communication node, and based on data about radio environments of a plurality of buildings;
determine in a separate subsequent action a level in the determined area at which the mobile device is located based on information determined at the mobile device; and
determine in a further separate subsequent action a position, at which the mobile device is located at the determined level, based on the measurements of the mobile device and on data about a radio environment of the determined level in the determined area.
12. The apparatus according to claim 11 , wherein at least one of:
the area associated with the building is an area of the building;
the area associated with the building is an area comprising an area of the building; the level in the determined area associated with the building is a floor of the building; the level in the determined area comprises an indoor component; and
the level in the determined area comprises an outdoor component.
The apparatus according to any of claims 11 and 12, wherein determining the area comprises determining a likelihood that the mobile device is located in an area associated with a respective one of the plurality of buildings based on the data about radio environments of a plurality of buildings and a measurement relating to signals of a respective one of the at least one communication node;
in case the measurements relating to radio signals of at least one communication node comprise measurements relating to radio signals of more than one communication node, combining separately for each of the plurality of buildings the determined likelihood for the communication nodes; and
selecting the area associated with the building with the highest combined likelihood as the area in which the mobile device is located.
The apparatus according to any of claims 11 to 13, wherein the information determined at the mobile device and used for determining the level at which the mobile device is located comprises one of:
the measurements of the mobile device relating to radio signals of at least one non- cellular terrestrial communication node, the measurements being used together with data about radio environments of a plurality of levels in the determined area for determining the level at which the mobile device is located; and
measurement values provided by a barometer of the mobile device, the measurement values being used together with an indication of an altitude of the levels in the area in which the mobile device is located for determining the level at which the mobile device is located.
The apparatus according to any of claims 11 to 14, wherein the information determined at the mobile device and used for determining the level at which the mobile device is located comprises the measurements of the mobile device relating to radio signals of the at least one non-cellular terrestrial communication node, and wherein determining the level at which the mobile device is located comprises:
determining a likelihood that the mobile device is located at a respective level in the determined area based on data about radio environments of at least one level and a measurement relating to signals of the at least one communication node; determining a sum of respective products of the likelihood for a level and an altitude of the level to obtain an altitude of the mobile device; and
mapping the determined altitude to a level with the closest altitude, the level with the closest altitude being determined as the level at which the mobile device is located.
16. The apparatus according to any of claims 11 to 15, wherein the computer program code is configured to, with the at least one processor, cause the at least one apparatus to apply at least one Kalman filter while the mobile device moves around for filtering at least one of:
a determined level; and
a determined position at a determined level.
17. The apparatus according to any of claims 11 to 16, wherein the at least one non-cellular
terrestrial communication node comprises at least one of:
at least one wireless local area network access point;
at least one Bluetooth transmitter; and
at least one Bluetooth low energy transmitter.
18. The apparatus according to any of claims 11 to 17, wherein the measurements relating to transmissions of at least one non-cellular terrestrial communication node comprise at least one of:
a received signal strength indication;
a pathloss indication;
a timestamp; and
an identification of the beacon.
19. The apparatus according to any of claims 11 to 18, wherein the apparatus is one of:
a mobile device;
a component for a mobile device;
a stationary device;
a component for a stationary device;
a server; and
a component for a server.
20. A system comprising the apparatus according to any of claims 9 to 19, and at least one of: a memory configured to store data about radio environments of a plurality of buildings; and
at least one non-cellular terrestrial communication node.
21. A computer program code, the computer program code when executed by a processor causing at least one apparatus to perform the actions of the method of any of claims 1 to 8.
22. A non-transitory computer readable storage medium in which computer program code is stored, the computer program code when executed by a processor causing at least one apparatus to perform the following:
determine an area, in which a mobile device is located and which is associated with a building, based on measurements of the mobile device, the measurements relating to radio signals of at least one non-cellular terrestrial communication node, and based on data about radio environments of a plurality of buildings;
determine in a separate subsequent action a level in the determined area at which the mobile device is located based on information determined at the mobile device; and
determine in a further separate subsequent action a position, at which the mobile device is located at the determined level, based on the measurements of the mobile device and on data about a radio environment of the determined level in the determined area.
PCT/EP2014/061975 2014-06-10 2014-06-10 Supporting indoor positioning WO2015188847A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2014/061975 WO2015188847A1 (en) 2014-06-10 2014-06-10 Supporting indoor positioning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2014/061975 WO2015188847A1 (en) 2014-06-10 2014-06-10 Supporting indoor positioning

Publications (1)

Publication Number Publication Date
WO2015188847A1 true WO2015188847A1 (en) 2015-12-17

Family

ID=50976603

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/061975 WO2015188847A1 (en) 2014-06-10 2014-06-10 Supporting indoor positioning

Country Status (1)

Country Link
WO (1) WO2015188847A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018060545A1 (en) * 2016-09-29 2018-04-05 Nokia Technologies Oy Positioning
WO2019110117A1 (en) * 2017-12-08 2019-06-13 Here Global B.V. Supporting a selection of a floor
EP3663787A1 (en) * 2018-12-04 2020-06-10 HERE Global B.V. Location estimate correction
WO2023048608A1 (en) * 2021-09-27 2023-03-30 Telefonaktiebolaget Lm Ericsson (Publ) Measurement based identification of floors in need for network related action

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120182180A1 (en) * 2009-09-10 2012-07-19 Thomas Wolf Wide area positioning system
WO2013006922A1 (en) * 2011-07-14 2013-01-17 Norwood Systems Pty Ltd Method, device and system for determining topology of a wireless communication network
US20130035110A1 (en) * 2011-08-02 2013-02-07 Qualcomm Incorporated Likelihood of mobile device portal transition
US20140156180A1 (en) * 2012-11-30 2014-06-05 Apple Inc. Reduction Of The Impact Of Hard Limit Constraints In State Space Models

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120182180A1 (en) * 2009-09-10 2012-07-19 Thomas Wolf Wide area positioning system
WO2013006922A1 (en) * 2011-07-14 2013-01-17 Norwood Systems Pty Ltd Method, device and system for determining topology of a wireless communication network
US20130035110A1 (en) * 2011-08-02 2013-02-07 Qualcomm Incorporated Likelihood of mobile device portal transition
US20140156180A1 (en) * 2012-11-30 2014-06-05 Apple Inc. Reduction Of The Impact Of Hard Limit Constraints In State Space Models

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018060545A1 (en) * 2016-09-29 2018-04-05 Nokia Technologies Oy Positioning
WO2019110117A1 (en) * 2017-12-08 2019-06-13 Here Global B.V. Supporting a selection of a floor
US11156694B2 (en) 2017-12-08 2021-10-26 Here Global B.V. Supporting a selection of a floor
EP3663787A1 (en) * 2018-12-04 2020-06-10 HERE Global B.V. Location estimate correction
WO2023048608A1 (en) * 2021-09-27 2023-03-30 Telefonaktiebolaget Lm Ericsson (Publ) Measurement based identification of floors in need for network related action

Similar Documents

Publication Publication Date Title
EP3227707B1 (en) Supporting positioning quality assurance
US10845456B2 (en) Supporting the use of radio maps
US10180488B2 (en) Positioning performance
EP3227706B1 (en) Supporting radio model quality assurance
EP3234627B1 (en) Checking the health of radio model data
EP3594711B1 (en) Determining a plurality of potential installation positions
EP3271739B1 (en) Enabling a validation of an estimated position of a mobile device
EP3227708A1 (en) Supporting a collaborative collection of data
US11226391B2 (en) Floor levels of a venue
US10520578B2 (en) Checking fingerprint samples for a radio model
US20220342024A1 (en) Reconfiguration of a radio positioning support system
WO2015188847A1 (en) Supporting indoor positioning
US20220312147A1 (en) Proximity-based offline geofencing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14731188

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14731188

Country of ref document: EP

Kind code of ref document: A1