An acoustic positioning method for a smartphone and a wearable device, wherein the acoustic positioning method for the smartphone and the wearable device comprises:
- transmitting a ranging signal by virtue of a base station network, receiving and decoding the ranging signal by virtue of a user terminal, estimating distances from base stations to the user terminal according to first arrival signals, and estimating the position of a user according to a plurality of distances measured on the position of the user;
- wherein the acoustic positioning method for the smartphone and the wearable device comprises the following steps:
- step 1, designing Chirp signals of which the frequencies are 12 kHz to 21 kHz;
- step 2, performing precise ranging based on acoustic waves;
- and
- step 3, performing positioning based on acoustic ranging and an inertial sensor;
- wherein performing positioning based on acoustic ranging and an inertial sensor in the step 3 further comprises:
- by applying a sliding window program to the measurement of an IMU of which the step length is 10 Hz, obtaining the output rate, which is 20 Hz, of a learned velocity vector, wherein a displacement vector is estimated by multiplying a time interval of two continuous periods t1 and t2 by the velocity vector and is expressed as follows:
- [
- Δ
-
- x
- Δ
-
- y
- Δ
-
- z
- ]
- =
- [
- v
- x
- v
- y
- v
- z
- ]
-
- (
- t
- 2
- -
- t
- 1
- )
- collecting measured values of a distance and an azimuth from absolute coordinates, and estimating the position of the user by using a 2D method;
- fusing the displacement vector obtained from a PDR network by adopting the extended Kalman filter, wherein the displacement vector is located in local coordinates L(x, y, u) defined by an initial heading x and a vertical direction u, and the y axis is defined under the action of right-handed Cartesian coordinates;
- as final coordinates output by the EKF are in navigation coordinates G(e, n, u) defined in an east, north, up direction, forming, by the two coordinates G and L, a rotation angle θ on a horizontal plane:
- introducing the rotation angle θ to a state vector of the filter as follows:
- X
- k
- =
- [
- e
- k
- n
- k
- θ
- k
- ]
- T
- wherein [ek,nk] are respectively horizontal coordinates in east and north directions within an epoch k:
- θk comprises a rotation angle between the coordinates G and L and an accumulated drift error of the gyroscope:
- a state transition equation of a system is described as follows:
- X
- ~
- k
- =
- f
-
- (
- X
- k
- -
- 1
- )
- +
- W
- k
- =
- [
- e
- k
- -
- 1
- +
- Δ
-
- x
- k
-
- cos
-
- (
- θ
- k
- -
- 1
- )
- +
- Δ
-
- y
- k
-
- sin
-
- (
- θ
- k
- -
- 1
- )
- n
- k
- -
- 1
- -
- Δ
-
- x
- k
-
- sin
-
- (
- θ
- k
- -
- 1
- )
- +
- Δ
-
- y
- k
-
- cos
-
- (
- θ
- k
- -
- 1
- )
- θ
- k
- -
- 1
- ]
- +
- W
- k
- wherein {tilde over (X)}k is a predicted state vector:
- Wk is process noise subject to normal distribution N(0, Qk), and Qk is a covariance matrix of the process noise;
- and Δxk and Δyk are displacement components in the local coordinates L from a period k-1 to a period k obtained by a data-driven PDR network;
- synchronizing clocks among all the signal transmitters by using a 433 MHz radio frequency, and achieving a synchronization error which is smaller than 0.1 ms;
- if the ranging signal is received from the plurality of signal transmitters, using a plurality of TDoA observation data, wherein an observation equation Zk is expressed as:
- Z
- k
- =
- h
-
- (
- X
- k
- )
- +
- V
- k
- ,
- =
- [
- (
-
- X
- k
- -
- S
- 2
-
- -
-
- X
- k
- -
- S
- 1
-
- )
- /
- c
- ⋮
- (
-
- X
- k
- -
- S
- i
-
- -
-
- X
- k
- -
- S
- i
- -
- 1
-
- )
- /
- c
- ⋮
- (
-
- X
- k
- -
- S
- m
-
- -
-
- X
- k
- -
- S
- m
- -
- 1
-
- )
- /
- c
- ]
- +
- V
- k
- ,
- i
- =
- (
- 2
- ,
- …
- ,
- m
- )
-
- Z
- ~
- k
- =
- h
-
- (
- X
- ~
- k
- )
- =
- [
- (
-
- X
- ~
- k
- -
- S
- 2
-
- -
-
- X
- ~
- k
- -
- S
- 1
-
- )
- /
- c
- ⋮
- (
-
- X
- ~
- k
- -
- S
- i
-
- -
-
- X
- ~
- k
- -
- S
- i
- -
- 1
-
- )
- /
- c
- ⋮
- (
-
- X
- ~
- k
- -
- S
- m
-
- -
-
- X
- ~
- k
- -
- S
- m
- -
- 1
-
- )
- /
- c
- ]
- ,
- c
- =
- 331.45
- 1
- +
- T
- 273.15
- wherein h(*) is an observed transition matrix, {tilde over (Z)}k is a vector of a predicted observed value calculated by using the predicted state vector {tilde over (X)}k, S is a coordinate vector of an ith transmitter in the coordinates G, Vk, is an error vector of Zk, and Zk is subject to normal distribution N(0, Rk) wherein Rk is a covariance matrix of Zk, m is the number of the transmitters available on the current position of the user, and c is a sound velocity at the temperature T;
- updating the EKF as:
- {tilde over (P)}k=FkPk-1FkT+Qk
- Kk={tilde over (P)}kHkT(Hk{tilde over (P)}kHkT+Rk)−1
- Xk={tilde over (X)}k+Kk(Zk−{tilde over (Z)}k)
- Pk=(I−KkHk){tilde over (P)}k,
- wherein Fk=∂h/∂Xk, Hk=∂h/∂Xk, Xk is state estimation, {tilde over (P)}k is a predicated covariance matrix, Pk is an updated covariance matrix, Kk is a Kalman gain, and I is a unit vector.