The present disclosure relates to a positioning system, a positioning method, and a positioning program.
In areas such as offices, factories, and commercial facilities, position information of people and things is attracting attention. In order to acquire position information, various positioning techniques are being considered
Non-Patent Literature 1 proposes a positioning technique that combines angle information and radio wave intensity.
Non-Patent Literature 1: S. Tomic, M. Beko, R. Dinis and L. Bernardo, “On Target Localization Using Combined RSS and AoA Measurements,” Sensors, Vol. 18, Issue.4, pp.1-25, 2018
In the positioning technique described in Non-Patent Literature 1, positioning accuracy is improved by a weighted least-squares method using weights based on radio wave intensity. Therefore, a problem is that positioning accuracy cannot be improved in an environment where radio wave intensity cannot be obtained or radio wave intensity fluctuates greatly.
An object of the present disclosure is to realize highly accurate positioning using only angle information.
A positioning system according to the present disclosure performs positioning of a communication device that wirelessly communicates with each base station of a plurality of base stations, and the positioning system includes
A positioning system according to the present disclosure calculates the position of a communication device as a device position, using a relative angle between each base station and the communication device and a weighting coefficient obtained based on the distance between each base station and the communication device. Therefore, the positioning system according to the present disclosure can realize highly accurate positioning using only angle information.
Embodiment 1;
An embodiment of the present disclosure will be described hereinafter with reference to the drawings. Throughout the drawings, the same or corresponding parts are denoted by the same reference signs. In the description of the embodiment, description of the same or corresponding parts will be suitably omitted or simplified. In the drawings hereinafter, the relative sizes of components may be different from actual ones. In the description of the embodiment, directions or positions such as “up”, “down”, “left”, “right”, “front”, “rear”, “top side”, and “back side” may be indicated.
These terms are used only for convenience of description, and are not intended to limit the placement and orientation of components such as devices, equipment, or parts.
Embodiment 1
*** Description of Configurations ***
The communication device 10 wirelessly communicates with each base station 20 of the plurality of base stations. Specifically, the communication device 10 is a terminal that communicates with the base station 20 by wireless communication, such as a smartphone terminal, a tablet terminal, or a smartwatch.
The base station 20 can calculate a relative angle 31 with the communication device 10 or another base station. In
Referring to
The positioning system 100 is a computer. The positioning system 100 includes a processor 910, and also includes other hardware such as a memory 921, an auxiliary storage device 922, an input interface 930, an output interface 940, and communication equipment 950. The processor 910 is connected with other hardware components via signal lines and controls these other hardware components.
The positioning system 100 may be installed in the communication device 10 or may be installed in the base station 20. Alternatively, the communication device 10 may be installed in a computer other than the base station 20.
The positioning system 100 includes, as functional elements, a relative angle acquisition unit 110, a provisional position calculation unit 120, a weight calculation unit 130, a device position calculation unit 140, and a storage unit 150. In the storage unit 150, base station information 151 is stored.
The functions of the relative angle acquisition unit 110, the provisional position calculation unit 120, the weight calculation unit 130, and the device position calculation unit 140 are realized by software. The storage unit 150 is provided in the memory 921. The storage unit 150 may be provided in the auxiliary storage device 922, or may be divided and provided in the memory 921 and the auxiliary storage device 922.
The processor 910 is a device that executes a positioning program. The positioning program is a program that realizes the functions of the relative angle acquisition unit 110, the provisional position calculation unit 120, the weight calculation unit 130, and the device position calculation unit 140.
The processor 910 is an integrated circuit (IC) that performs operational processing. Specific examples of the processor 910 is a central processing unit (CPU), a digital signal processor (DSP), and a graphics processing unit (GPU).
The memory 921 is a storage device to temporarily store data. Specific examples of the memory 921 are a static random access memory (SRAM) and a dynamic random access memory (DRAM).
The auxiliary storage device 922 is a storage device to store data. A specific example of the auxiliary storage device 922 is an HDD. Alternatively, the auxiliary storage device 922 may be a portable storage medium, such as an SD (registered trademark) memory card, CF, a NAND flash, a flexible disk, an optical disc, a compact disc, a Blu-ray (registered trademark), or a DVD. HDD is an abbreviation for Hard Disk Drive. SD (registered trademark) is an abbreviation for Secure Digital. CF is an abbreviation for CompactFlash (registered trademark). DVD is an abbreviation for Digital Versatile Disk.
The input interface 930 is a port to be connected with an input device such as a mouse, a keyboard, or a touch panel. Specifically, the input interface 930 is a Universal Serial Bus (USB) terminal. The input interface 930 may be a port to be connected with a local area network (LAN).
The output interface 940 is a port to which a cable of an output device such a display is to be connected. Specifically, the output interface 940 is a USB terminal or a High Definition Multimedia Interface (HDMI) (registered trademark) terminal. Specifically, the display is a liquid crystal display (LCD). The output interface 940 is referred to also as a display interface.
The communication equipment 950 has a receiver and a transmitter. The communication equipment 950 is connected to a communication network such as a LAN, the Internet, or a telephone line. Specifically, the communication equipment 950 is a communication chip or a network interface card (NIC).
The positioning program is executed in the positioning system 100. The positioning program is read into the processor 910 and executed by the processor 910. The memory 921 stores not only the positioning program but also an operating system (OS). The processor 910 executes the positioning program while executing the OS. The positioning program and the OS may be stored in the auxiliary storage device 922. The positioning program and the OS that are stored in the auxiliary storage device 922 are loaded into the memory 921 and executed by the processor 910. Part or the entirety of the positioning program may be embedded in the OS.
The positioning system 100 may include a plurality of processors as an alternative to the processor 910. These processors share execution of the positioning program. Each of these processors is, like the processor 910, a device that executes the positioning program.
Data, information, signal values, and variable values that are used, processed, or output by the positioning program are stored in the memory 921 or the auxiliary storage device 922, or stored in a register or a cache memory in the processor 910.
“Unit” of each of the relative angle acquisition unit 110, the provisional position calculation unit 120, the weight calculation unit 130, and the device position calculation unit 140 may be interpreted as “process”, “procedure”, or “step”. The positioning program causes a computer to execute a relative angle acquisition process, a provisional position calculation process, a weight calculation process, and a device position calculation process. “Process” of each of the relative angle acquisition process, the provisional position calculation process, the weight calculation process, and the device position calculation process may be interpreted as “program”, “program product”, “computer readable storage medium storing a program”, or “computer readable recording medium recording a program”. A positioning method is a method performed by execution of the positioning program by the positioning system 100. The positioning program may be stored and provided in a computer readable recording medium. Alternatively, the positioning program may be provided as a program product.
*** Description of Operation ***
Referring to
A procedure for the operation of the positioning system 100 is equivalent to the positioning method. A program that realizes the operation of the positioning system 100 is equivalent to the positioning program.
<Relative Angle Acquisition Process: Step S101>
The relative angle acquisition unit 110 acquires the relative angle 31 between each base station 20 of the plurality of base stations and the communication device 10 from each base station 20 of the plurality of base stations. As described in
Specifically, in step S11 of
Measurement noise occurs in angle measurement values. Therefore, the azimuth angle φi, the elevation angle Ψi, and expected values of measurement noise for the angle measurement values are expressed by Formula 1 below, where E(·) represents an expected value of ·.
ϕi=ϕi0+{tilde over (ϕ)}i
Ψi=Ψi0+{tilde over (Ψ)}i
{tilde over (ϕ)}i, {tilde over (Ψ)}i: Measurement noise
E({tilde over (ϕ)}i)=0
E({tilde over (Ψ)}i)=0
E({tilde over (ϕ)}i2)=σϕ
E({tilde over (Ψ)}i2)=σΨ
<Provisional Position Calculation Process: Step S102>The provisional position calculation unit 120 calculates the position of the communication device 10 as a provisional position 32, using the relative angle 31 between each base station 20 of the plurality of base stations and the communication device 10 and the position of each base station 20 of the plurality of base stations. The provisional position calculation unit 120 estimates the position of the communication device 10 by a least-squares method or the like, using the relative angle 31 acquired from the base station 20 and the position of the base station 20 and using geometric relationships as constraints.
Specifically, the provisional position calculation unit 120 calculates the provisional position 32 by performing the least-squares method using errors in the measurement noise of the position of the communication device 10. The errors in the measurement noise of the position of the communication device 10 are obtained based on the relative angles 31 between each base station 20 of the plurality of base stations and the communication device 10 and the position of each base station 20 of the plurality of base stations.
As indicated in
Specifically, in step S12 of
A relative position vector ri from the communication device 10 to the base station 20 is ri=x−ai. Based on the relative angles between the base station 20 and the communication device 10, orthogonal vectors c1i and c2i with respect to the relative position vector ri are expressed by Formula 2 below.
c
1i=[−sin(ϕi), cos(ϕi), 0]T
c
2i=[cos(ϕi)cos(Ψi), sin(ϕi)cos(Ψi), −sin(Ψi)]T (2)
By transforming the relative position vector ri=x−ai using the orthogonal vectors c1i and c2i of Formula 2, the relational expressions of Formula 3 below are obtained, where ϵ1i and ϵ2i are errors associated with measurement noise.
c
1i
T(x−ai)=ϵ1i
c
2i
T(x−ai)=ϵ2i (3)
As described above, the errors ϵ1i and ϵ2i in the measurement noise of the position of the communication device 10 are obtained based on the relative angles 31 between each base station 20 and the communication device 10 and the position of each base station 20. The provisional position 32, which is an estimated position of the communication device 10 obtained by the least-squares method, is represented by Formula 4 below. The provisional position 32 represented by Formula 4 is given as a solution to the minimum value problem of Formula 5 below.
{circumflex over (x)}
LS
=[{circumflex over (x)}
LS
, ŷ
LS
, {circumflex over (z)}
LS]T (4)
{circumflex over (x)}LS: Provisional position 32 of the communication device 10
{circumflex over (x)}LS: Provisional position 32 of the communication device 10
When Formula 5 is represented in a matrix format, the expression of Formula 6 below is obtained.
RM×N is a matrix with M rows and N columns. Therefore, R2N×3 is a matrix with 2N rows and three columns. R2N×1 is a matrix with 2N rows and one column.
{circumflex over (x)}LS: Provisional position 32 of the communication device 10
<Weight Calculation Process: Step S103>
The weight calculation unit 130 calculates the distance between each base station 20 of the plurality of base stations and the communication device 10, using the position of each base station 20 of the plurality of base stations and the provisional position 32. Based on the distance between each base station 20 of the plurality of base stations and the communication device 10, the weight calculation unit 130 calculates a weighting coefficient 33 for correcting the provisional position 32 for each base station 20 of the plurality of base stations. The weight calculation unit 130 calculates the weighting coefficient 33 so that the greater the distance, the smaller the influence of the error in the least-squares method.
There is an error in a relative angle calculated by the base station 20. As indicated in
Specifically, in step S13 of
It is assumed that the measurement noise in each of the azimuth angle and the elevation angle from the communication device 10 to the base station 20 is sufficiently smaller than 1, as indicated in Formula 7 below. Using geometric relationships and the addition theorem of trigonometric functions, Formula 3 can be transformed as indicated in Formula 8 below.
|{tilde over (ϕ)}i|, |{tilde over (Ψ)}i|«1 (7)
ϵ1i≅−R2i{tilde over (ϕ)}i
ϵ2i≅−R3i{tilde over (Ψ)}i (8)
R2 is the Euclidean distance between the base station and the communication device in an x-y plane, and is represented by Formula 9 below.
R
2i√{square root over (({circumflex over (x)}−xi)2+(ŷ−yi)2)} (9)
R3i is the Euclidean distance between the base station and the communication device in a three-dimensional space and is represented by Formula 10 below.
R
3i=√{square root over (({circumflex over (x)}−xi)2+(ŷ−yi)2+({circumflex over (z)}−zi)2)} (10)
It is assumed that the measurement noise in each of the azimuth angle and the elevation angle between the communication device 10 and the base station 20 is sufficiently smaller than 1, as indicated in Formula 11 below.
{tilde over (ϕ)}i«1, {tilde over (Ψ)}i«1 (11)
Variances σ1i2 and σ2i2 of ϵ1i and ϵ2i of Formula 8 can be calculated as indicated in Formula 12 below, where E(·) represents an expected value of ·.
Assuming that the variance of the measurement noise of the azimuth angle and the variance of the measurement noise of the elevation angle are roughly equal, the variances σ1i2 and σ2i2 can be represented using a constant C, as indicated in Formula 13 below.
σ1i2≅R2i2C
σ2i2≅R3i2C (13)
In this embodiment, the weighting coefficients 33 are calculated using Formula 6 representing the provisional position 32 in a matrix format and a position ai of the base station 20, as indicated in Formula 14 below.
Here, the weighting coefficients 33 are W1i and W2i. W1i is a weight corresponding to the orthogonal vector c1i and W2i is a weight corresponding to the orthogonal vector c2i. When the position of the communication device 10 is calculated, this allows weighting to be performed taking into consideration the influence of noise depending on the distance between the base station 20 and the communication device 10.
<Device Position Calculation Process: Step S104>
The device position calculation unit 140 calculates the position of the communication device 10 as a device position 34, using the relative angle 31 between each base station 20 of the plurality of base stations and the communication device 10, the position of each base station 20 of the plurality of base stations, and the weighting coefficients 33 for each base station 20 of the plurality of base stations. The device position calculation unit 140 calculates the device position 34 by performing the least-squares method by multiplying each error by the corresponding weighting coefficient 33.
Specifically, in step S14 of
In the weighted least-squares method, the device position 34, which is the estimated position of the communication device 10, is given as a solution to the minimum value problem of Formula 15 below. This allows the influence of the base station with a great noise influence to be reduced for the device position 34, which is the estimated position of the communication device 10.
{circumflex over (x)}: Device position 34 of the communication device 10
When Formula 15 is represented in a matrix format, Formula 16 is obtained.
{circumflex over (x)}=(ATWA)−1ATWb; (16)
where W=diag(w112, . . . , w1N2, w212, . . . , w2N2)∈2N×2N
*** Other Configurations ***
In this embodiment, the positions of the communication device 10 and the base station 20 are represented by three-dimensional coordinates, and the position of the communication device 10 is calculated by three-dimensional positioning.
In Variation 1 according to this embodiment, the positions of the communication device 10 and the base station 20 may be represented by two-dimensional coordinates, and the position of the communication device 10 may be calculated by two-dimensional positioning. A specific example of two-dimensional positioning will be described below.
In step S21, the relative angle acquisition unit 110 acquires an azimuth angle φi from the communication device 10 to the base station 20 from each base station 20.
In step S22, the provisional position calculation unit 120 performs two-dimensional positioning of the communication device 10, using the least-squares method.
An orthogonal vector c1i with respect to the relative position vector ri is represented by Formula 17 below, based on the azimuth angle φi.
c
1i=[−sin(ϕi), cos(ϕi)]T (17)
By transforming the relative position vector ri=x−ai using the orthogonal vector c1i, the relational expression of Formula 18 below is obtained, where ϵ1i is an error associated with measurement noise.
c
1i
T(x−ai)=ϵ1i (18)
The provisional position 32, which is the estimated position of the communication device 10, obtained by the least-squares method is represented by Formula 19 below. The provisional position 32 represented by Formula 19 is given as a solution to the minimum value problem of Formula 20 below.
{circumflex over (x)}
LS
=[{circumflex over (x)}
LS
, ŷ
LS]T (19)
{circumflex over (x)}LS: Provisional position 32 of the communication device 10
{circumflex over (x)}LS: Provisional position 32 of the communication device 10
When Formula 20 is expressed in a matrix format, the expression of Formula 21 below is obtained.
{circumflex over (x)}LS: Provisional position 32 of the communication device 10
In step S23, the weight calculation unit 130 calculates the weighting coefficient 33 of each of the base stations 20 as W1i, using the provisional position 32.
It is assumed that the measurement noise of the azimuth angle from the communication device 10 to the base station 20 is sufficiently smaller than 1, as indicated in Formula 7 above. Using geometric relationships and the addition theorem of trigonometric functions, Formula 18 can be transformed as indicated in Formula 22 below.
ϵ1i≅−R2i{tilde over (ϕ)}i (22)
R2i is the Euclidean distance between the base station and the communication device in the x-y plane, and is represented as in Formula 9 above.
A variance σ1i2 of ϵ1i of Formula 22 can be calculated as indicated in Formula 23 below, where E(·) represents an expected value of ·.
From Formula 23, the relationship in Formula 24 below is derived.
σ1i2∝R2i2 (24)
In this embodiment, the weighting coefficient 33 is calculated using Formula 21 representing the provisional position 32 and the position ai of the base station 20, as indicated in Formula 25 below.
Here, the weighting coefficient 33 is W1i.
In step S24, the device position calculation unit 140 calculates the device position 34 of the communication device 10 by the weighted least-squares method, using the weighting coefficient W1i of each base station 20. In the weighted least-squares method, the device position 34 of the communication device 10 is treated as an estimated position, and the device position 34 of the communication device 10 is given as a solution to the minimum value problem of Formula 26 below.
{circumflex over (x)}: Device position 34 of the communication device 10
When Formula 26 is expressed in a matrix format, Formula 27 is obtained.
{circumflex over (x)}=(ATWA)−1ZTWb; (27)
where W=diag(w112, . . . , w1N2)∈N×N
{circumflex over (x)}: Device position 34 of the communication device 10
In this embodiment, a terminal that communicates with the base station 20 by wireless communication, such as a smartphone terminal, a tablet terminal, or a smartwatch, is assumed as a specific example of the communication device 10. However, the communication device 10 may be one base station included in a plurality of base stations.
As described above, a base station may be regarded as the positioning target. As indicated in
In this embodiment, the functions of the relative angle acquisition unit 110, the provisional position calculation unit 120, the weight calculation unit 130, and the device position calculation unit 140 are realized by software. As a variation, the functions of the relative angle acquisition unit 110, the provisional position calculation unit 120, the weight calculation unit 130, and the device position calculation unit 140 may be realized by hardware.
Specifically, the positioning system 100 includes an electronic circuit 909 in place of the processor 910.
The electronic circuit 909 is a dedicated electronic circuit that realizes the functions of the relative angle acquisition unit 110, the provisional position calculation unit 120, the weight calculation unit 130, and the device position calculation unit 140. Specifically, the electronic circuit 909 is a single circuit, a composite circuit, a programmed processor, a parallel-programmed processor, a logic IC, a GA, an ASIC, or an FPGA. GA is an abbreviation for Gate Array. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array.
The functions of the relative angle acquisition unit 110, the provisional position calculation unit 120, the weight calculation unit 130, and the device position calculation unit 140 may be realized by one electronic circuit, or may be distributed among and realized by a plurality of electronic circuits.
As another variation, some of the functions of the relative angle acquisition unit 110, the provisional position calculation unit 120, the weight calculation unit 130, and the device position calculation unit 140 may be realized by the electronic circuit, and the rest of the functions may be realized by software. Alternatively, some or all of the functions of the relative angle acquisition unit 110, the provisional position calculation unit 120, the weight calculation unit 130, and the device position calculation unit 140 may be realized by firmware.
Each of the processor and the electronic circuit is also called processing circuitry. That is, the functions of the relative angle acquisition unit 110, the provisional position calculation unit 120, the weight calculation unit 130, and the device position calculation unit 140 are realized by the processing circuitry.
*** Effects of This Embodiment ***
As described above, the positioning system 100 according to this embodiment first calculates the provisional position of the communication device by the least-squares method or the like, using the relative angle acquired from each base station and the position of each base station and using geometric relationships as constraints. Then, the positioning system 100 calculates the distance between the communication device and each base station, based on the provisional position of the communication device and the position of each base station. Then, the positioning system 100 estimates the final position of the communication device as the device position by the weighted least-squares method or the like, using geometric relationships as constraints and using a weight based on the distance.
As described above, the positioning system 100 according to this embodiment can realize highly accurate positioning using only angle information by performing weighting such that the influence of a distant base station is reduced.
In Embodiment 1 above, each unit of the positioning system has been described as an independent functional block. However, the configuration of the positioning system may be different from the configuration in the above embodiment. The functional blocks of the positioning system may be configured in any way, provided that the functions described in the above embodiment can be realized. The positioning system may be a system composed of a plurality of devices instead of one device.
Portions of Embodiment 1 may be implemented in combination. Alternatively, one portion of this embodiment may be implemented. This embodiment may be implemented as a whole or partially in any other combination.
That is, in Embodiment 1, portions of the embodiment may be freely combined, any constituent element of the embodiment may be modified, or any constituent element may be omitted in the embodiment.
The embodiment described above is an essentially preferable example and is not intended to limit the scope of the present disclosure, the scope of applications of the present disclosure, and the scope of uses of the present disclosure. The embodiment described above can be modified in various ways as necessary.
10: communication device; 20, 20a: base station; 31: relative angle; 32: provisional position; 33: weighting coefficient; 34: device position; 100: positioning system; 110: relative angle acquisition unit; 120: provisional position calculation unit; 130: weight calculation unit; 140: device position calculation unit; 150: storage unit; 151: base station information; 909: electronic circuit; 910: processor; 921: memory; 922: auxiliary storage device; 930: input interface; 940: output interface; 950: communication equipment.
This application is a Continuation of PCT International Application No. PCT/JP2020/034582, filed on Sep. 11, 2020, which is hereby expressly incorporated by reference into the present application.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2020/034582 | Sep 2020 | US |
Child | 18158351 | US |