Device and method for determining at least one position of a mobile terminal

11480648 · 2022-10-25

Assignee

Inventors

Cpc classification

International classification

Abstract

A device for determining at least one position of a mobile terminal includes at least one memory apparatus, a magnetometer sensor unit, a classification unit, and a position-determining unit to determine the position of the mobile terminal. The classification unit is configured to determine states, in particular operating states, of at least one electric motor and/or a vehicle driven by means of at least one electric motor using the magnetometer sensor data. The classification unit is also configured to store the determined states in the at least one memory apparatus. The position-determining unit reads out the states from the at least one memory apparatus and determines the at least one position of the mobile terminal with the help of the states.

Claims

1. A device for determining at least one position of a smart phone, comprising: at least one memory apparatus; a magnetometer sensor unit to output magnetometer sensor data; a classification unit; a position-determining unit configured to determine the position of the mobile terminal, wherein the classification unit is configured to a) determine operating states of an electric motor of a vehicle, in which the smart phone is carried, driven by means of the electric motor using the magnetometer sensor data, and b) store the determined operating states in the at least one memory apparatus; and the position-determining unit reads out the operating states from the at least one memory apparatus and determines the position of the smart phone based at least in part on the operating states stored in the at least one memory apparatus, wherein the operating states include at least one first motor state and at least one second motor state, with the first state indicating that a drive voltage is applied at the electric motor and the second state indicating that no drive voltage is applied at the electric motor; wherein the position-determining unit is developed to use additional signals to determine the at least one position of the smart phone, in particular signals of GSM towers and signals of WiFi access points; wherein the position-determining unit is designed to calculate from the additional signal data a degree for the quality of the determined position; wherein the position-determining unit determines the position using a sequential Monte Carlo method and/or a Dynamic Bayes Network and/or a Kalman filter.

2. The device according to claim 1, wherein the classification unit determines the state of the electric motor and/or the vehicle driven by means of the electric motor using a support vector machine and/or a linear discriminant analysis for classification.

3. The device according to claim 2, wherein the classification unit determines the states from a finite quantity of states with a cardinality of less than 5.

4. The device according to claim 1, wherein the classification unit is developed to determine at least one first field state and at least one second field state, with the first field state indicating that the measured values are below a threshold value, and the second state indicating that the values are above a threshold value.

5. The device according to claim 4, wherein the classification unit is developed to determine at least one first vehicle state and at least one second vehicle state, with the first vehicle state indicating that the vehicle is accelerating and/or the second indicating that the vehicle is standing still.

6. The device according to claim 2, wherein the smart phone is developed to store magnetometer sensor data and meta-information, in particular timestamps, wherein the meta-information is to be related to the magnetometer sensor data.

7. The device according to claim 6, wherein the position-determining unit for determining the at least one position of the smart phone receives network data that represent a network plan, comprising at least a multitude of stations; connections between the stations; and optionally: distances between the stations; and travel time between the stations.

8. The device according to claim 7, wherein the at least one memory apparatus stores data that provide a characteristic signal path, and that the classification unit compares said data to the magnetometer sensor data to determine the operating states.

9. The device according to claim 8, wherein the at least one memory apparatus stores polynomial coefficients for the representation of characteristic signal paths.

10. The device according to claim 1, wherein the operating states include a third state in which a detected signal increases, and a fourth state in which a detected signal remains constant.

11. A method for determining the position of a smart phone, comprising the acts of: detecting of magnetic and/or electric field data of an electric motor; storing the magnetic and/or electric field data in at least one memory apparatus; classifying a state of the electric motor or a vehicle driven by means of an electric motor; storing said states in the at least one memory apparatus; and determining a position of the smart phone, which is carried in the vehicle based at least in part on the states stored in the at least one memory apparatus, wherein the states include at least one first motor state and an existence of at least one second motor state, with the first state indicating that a drive voltage is applied at the electric motor and the second state indicating that no drive voltage is applied at the electric motor; wherein the position is determined using additional signals to determine the position of the mobile terminal, in particular signals of GSM towers and signals of WiFi access points; further comprising calculating from the additional signals data a degree for the quality of the determined position; wherein the act of determining the position of the mobile terminal is carried out using a sequential Monte Carlo method and/or a Dynamic Bayes Network and/or a Kalman filter.

12. A computer-readable storage medium storing executable instructions that when executed prompt a computer to implement the method according to claim 11.

13. The method according to claim 11, wherein the classifying act determines the state of the electric motor and/or the vehicle driven by means of an electric motor using a support vector machine and/or a linear discriminant analysis for classification.

14. The method according to claim 13, wherein the classifying act determines the states from a finite quantity of states with a cardinality of less than 5.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 is a schematic top view of a subway with three-phase induction motor and a first smart phone;

(2) FIG. 2 is a flow diagram of the position-determining by means of the first smart phone according to FIG. 3;

(3) FIG. 3 is the first smart phone according to FIG. 1 with an overview of the components of the first smart phone required for position-determining;

(4) FIG. 4 is a representation of magnetometer sensor data, which were recorded by means of a magnetometer sensor unit;

(5) FIG. 5 is the network plan of a public transportation system, which is used for position-determining according to FIG. 2 and FIG. 7;

(6) FIG. 6 is a schematic top view of the subway with three-phase induction motor according to FIG. 1 and a second smart phone, in which a GSM tower and a WiFi station are arranged in the vicinity of the subway;

(7) FIG. 7 is a second option of position-determining in the context of the arrangement in FIG. 6; and

(8) FIG. 8 is the second smart phone in FIG. 6 with overview of the components required for the position-determining according to FIG. 7.

DETAILED DESCRIPTION OF THE DRAWINGS

(9) In the description below, the same reference numerals are used for parts that are identical or function identically.

(10) The goal of position determining in a first development is to estimate the position of a smart phone 30, which is carried along in a subway 10, within a network plan 62 of the public transportation system.

(11) FIG. 1 shows a schematic top view of the subway 10, which is driven by a three-phase induction motor 20, and the first smart phone 30, which is being used by a passenger.

(12) The principal process of the position determining of the first smart phone 30 is shown in FIG. 2.

(13) A magnetometer sensor unit 31 first records the field properties of the magnetic field induced by the three-phase induction motor 20. The magnetometer sensor data 60 and the associated timestamps are transferred to a classification unit 32.

(14) Thereafter, the magnetometer sensor data 60 are assigned a state 61 in the classification unit 32. The respective determined state 61 is then stored in a memory apparatus 34 together with a timestamp.

(15) At defined points in time, such as every minute, for example, or after each new stored state, a position-determining unit 33 reads out states 65 from the memory apparatus 34. The driving times of the subway 10 are estimated from the states 65 and the timestamps. In combination with the network plan 62 and the driving times between stops stored therein, the system according to the invention determines an estimated position 63.

(16) FIG. 3 shows the first smart phone 30 with the components required for position determining. The first smart phone 30 comprises, among other things, the magnetometer sensor unit 31, the classification unit 32, the position-determining unit 33 as well as the memory apparatus 34.

(17) The memory apparatus 34 is developed as flash EEPROM memory. The network plan 62 of a local public transportation system is stored in the memory apparatus 34. According to the invention, other developments of the memory apparatus 34 are possible such as, for example, a network memory solution or an Internet memory solution (cloud storage), which store the data at a physically separate location.

(18) The magnetometer sensor unit 31 is a component of a 9-degree of freedom sensor that is realized with the system-in-package integration approach. The further components that provide the remaining six degrees of freedom are a gyroscope as well as an accelerometer. The magnetometer sensor unit 31 provides a vectorial representation of the field properties of the magnetic field induced by the three-phase induction motor 20. The measured field properties are recorded together with the recording time as tuples.

(19) FIG. 4 shows the measuring values of the magnetic field strength of the three-phase induction motor 20 while the subway 10 is running, which were recorded with the magnetometer sensor unit 31 of the first smart phone 30. The area in which the subway 10 accelerates, and is thus in the state ACCELERATING Z1, and the area in which the subway 10 is standing still, and is thus in the state STANDSTILL Z2, are emphasized.

(20) The classification unit 32 in FIG. 3 is implemented as a support vector machine that has been trained in advance with annotated training data.

(21) The support vector machine interprets the input values as points in a hyperspace. The input values are extracted from the magnetometer sensor data 60. By means of a hyperplane determined by the training, various classes are separated. For the purpose of classification, it is determined on which side of the hyperplane a point is located. In the first exemplary embodiment, the dimensions of the hyperspace are as follows:

(22) amount of magnetic field strength;

(23) n dimensions for the coefficients of an interpolating polynomial of the nth degree, which interpolates the temporal progress of the magnetic field strength.

(24) What is more, the classification unit 32 stores the determined state 61 together with a timestamp in the memory apparatus 34.

(25) The classification unit 32 is trained to distinguish between the classes of the states ACCELERATE and STANDSTILL, with ACCELERATE indicating that the subway 10 is accelerating, and STANDSTILL indicating that the subway 10 is standing still.

(26) The position-determining unit 33 interprets the states 65 determined in the classification unit 32. For example, the state ACCELERATING Z1 is interpreted such that the subway 10 leaves a station of the network plan 62, and the state STANDSTILL Z2 is interpreted such that the subway 10 is in a station of the network plan 62. The drive from one station to the next station is then seen as a sequence of a state ACCELERATING Z1 and STANDSTILL Z2. Furthermore, with the help of the timestamps, which are stored together with the states 65, an estimated driving time of the subway 10 is determined for each completed run between two stations.

(27) The position-determining unit 33 is developed for use of a sequential Monte Carlo method. The position-determining unit 33 moves in a multitude of steps and is developed to use the data of the network plan 62.

(28) The network plan 62, which is shown in FIG. 5 and stored in the memory apparatus, includes five stations s.sub.1, . . . , s.sub.5 as well as four connections v.sub.1, . . . , v.sub.4. Each of the connections connects two stations and is assigned to a drive time t.sub.1, . . . , t.sub.4 provided for this purpose. The network plan 62 is interpreted as an undirected graph with nodes and edges that connect said nodes. The stations of the network plan 62 are represented as the nodes of the graph and the connections of the network plan are represented as the edges of the graph. The drive times t.sub.1, . . . , t.sub.4 of the corresponding connections of the network plan 62 are assigned to the edges of the graph as weights.

(29) With the help of this information, the position-determining unit 33 can estimate the position of the smart phone 30 within the network plan 62 according to the following algorithm:

(30) So-called particles are generated in an initialization phase. They are 2-tuple, to each of which one node of the graph and a particle weight is assigned. The particle weight is a positive, not necessarily whole, number.

(31) Exactly one particle is generated for each node of the graph. The particle weights are the same for all particles during the initialization, such as 1, for example.

(32) The further process comprises the following steps: 1. Perform the following action for each particle: For each incident edge of the node associated with the particle, add a number to the particle weight. The size of the number depends on the amount of the difference between the measured driving time of the subway 10 and the weight of the incident edge in the graph. If the difference for the weight of an incident edge is very small, a large number is added to the particle weight. If the difference is large, a small number is added. 2. Generate a new set of particles. The same number of particles is generated as in the initialization phase. The nodes are assigned to particles as follows: The probability of whether a certain node is assigned to a particle depends on the particle weight of the particles in Step 1, which are assigned to the corresponding node. This results in an agglomeration of new particles that were assigned such nodes having particles that were assigned a high particle weight in Step 1. In another consideration, only the particles generated in Step 2 are considered. The node that was most frequently assigned to a particle in said step represents the station that is outputted to the user as current estimated position 63. If there is a plurality of nodes that are set in the same number of particles, a node is selected from the same by random principle and information about the uncertainty of the position-determining is outputted to the user. 3. The transition of the subway 10 from a first station to a second station is simulated. To that end, it is assumed that per run, the subway always drives only one of the potential connections v.sub.1, . . . , v.sub.4 in the network plan 62. To simulate the transition, all particles are duplicated often enough that for each node, there are exactly as many particles as there are incident edges to said node. Thereafter, for each particle, the node is exchanged for an adjacent node in the graph. Then follows Step 1.

(33) The position-determining unit 32 is additionally developed to use WiFi signals 66 and GSM signals 67. To that end, in Step 1 of the previous segment, the WiFi signals 66 and the GSM signals 67 are used as Additional Criteria to determine the weight of the particles.

(34) FIG. 6 is a schematic top view according to FIG. 1. Furthermore, a second smart phone 30′ is carried in the subway 10 by a passenger. A GSM tower 50 and a WiFi station 40 are arranged in the vicinity of the subway 10.

(35) FIG. 7 shows the process of position determining according to the second exemplary embodiment by means of the second smart phone 30′ shown in FIG. 8 and the arrangement in FIG. 6. The process is essentially different than the process shown in FIG. 2 in that WiFi signals 66 and GSM signals 67 are used in the position-determining unit 33 to improve estimating the position 63. To this end, the second smart phone 30′ records the WiFi signals 66 of a WiFi station 40 with a WiFi receiving unit 35 as well as the GSM signals 67 of a GSM tower 50 with a GSM receiving unit 36. The WiFi signals 66 and the GSM signals 67 are transmitted to the position-determining unit 33 as additional parameters.

(36) FIG. 8 shows the components of the second smart phone 30′, which are required for position determining according to FIG. 6. Unlike the first smart phone 30, the GSM receiving unit 36 and the WiFi receiving unit 37 are present as well.

(37) In the second embodiment, the position-determining unit 33 is developed as described for use of GSM signals 67 and WiFi signals 66. To that end, the algorithm used in the first embodiment to determine the position has to be adapted. This is essentially limited to Step 2 of the algorithm:

(38) To better estimate the position 63, the GSM signals 67 and the WiFi signals 66 are evaluated and can be assigned to a number of stations in the network plan 62. This requires advance mapping of the GSM signals 67 and the WiFi signals 66 in the network plan. Generally, this is the case and can be queried via publicly accessible interfaces.

(39) In Step 2 of the algorithm, all particles to which a node representing a station in which the GSM signals 67 or WiFi signals 66 occur was assigned then additionally receive a higher weight. As a result, the driving time is not the only measure used in estimating the position 63, which improves the result.

(40) In a third embodiment, based on the first or second embodiment, the network plan 62 can additionally include the routes of a subway system. The position-determining unit 32 is developed to also determine on which line the passenger is and thus make the position determining more robust with respect to classification errors.

(41) In a fourth embodiment of the invention, the passenger in the subway 10 receives a warning to get off the train after a certain number of stations.

(42) To that end, no network plan 62 is stored in the memory apparatus 34.

(43) In addition, the position-determining unit 33 is implemented by a deterministic method. Specifically, a deterministic decision tree is implemented. In addition to its root node, said decision tree has only a first leaf and a second leaf, e.g. nodes that have no offspring themselves.

(44) Alternatively, a rule is being used where the first leaf is selected when the state ACCELERATING Z1 is applied and the second leaf is selected when the state STANDSTILL Z2 is applied.

(45) When selecting the first leaf, a function “InformUser” is called up, which increases a variable initialized with 1 by 1. The function then checks whether a maximum number MAX has been reached. Further, the value of the variable MAX is specified by the user and states the maximum number of subway stations to be traveled. When MAX has been reached, the user is informed that his destination has been reached. Nothing further has to be done when a state STANDSTILL is applied. The function “InformUser”, which implements such a decision tree, is shown in the following as pseudo code:

(46) TABLE-US-00001 InformUser (state, MAX):    //state from classification unit,                //MAX from user of memory       IF state EQUALS ACCELERATE:          Count = Load(Count) //    Load count          If not Count: /// Count is initialized at first execution             Count = 1          Count = Count + 1       If Count EQUAL MAX:          Inform user (“You have arrived at your destination”)          Count = 1 // program reset       ELSE:          Save(Count) // store count END decision tree

(47) In the shown embodiments, it is an advantage that the classification unit 32 and the position-determining unit 33 are implemented as software; the instructions of said software can be read and executed by a processor. This makes sense with respect to development and economy. Furthermore, other embodiments are conceivable as well where the two components are implemented as dedicated hardware components.

REFERENCE SYMBOLS

(48) 10 Subway 20 Three-phase induction motor 30 First smart phone 30′ Second smart phone 40 WiFi station 50 GSM tower 31 Magnetometer sensor unit 32 Classification unit 33 Position-determining unit 34 Memory apparatus 35 WiFi receiving unit 36 GSM receiving unit 60 Magnetometer sensor data 61 State 62 Network plan 63 Position determining 65 States 66 WiFi signals 67 GSM signals t.sub.1 Time interval 1 t.sub.2 Time interval 2 t.sub.3 Time interval 3 t.sub.4 Time interval 4 v.sub.1 Connection 1 v.sub.2 Connection 2 v.sub.3 Connection 3 v.sub.4 Connection 4 s.sub.1 Station A s.sub.2 Station B s.sub.3 Station C s.sub.4 Station D Z1 ACCELERATING Z2 STANDSTILL

(49) The foregoing disclosure has been set forth merely to illustrate the invention and is not intended to be limiting. Since modifications of the disclosed embodiments incorporating the spirit and substance of the invention may occur to persons skilled in the art, the invention should be construed to include everything within the scope of the appended claims and equivalents thereof.