Vehicular self-positioning
11506745 · 2022-11-22
Assignee
Inventors
Cpc classification
G01S5/02585
PHYSICS
H04W64/00
ELECTRICITY
G01S5/0294
PHYSICS
H04W72/23
ELECTRICITY
G01S5/0273
PHYSICS
International classification
Abstract
A method for vehicular self-positioning is executed by a positioning device in a vehicle. The positioning device computes a current estimated position of the vehicle as a function of local motion data obtained from a motion sensor in the vehicle, and operates an RF module in the vehicle to receive a reference signal from one or more base stations in an environment of the vehicle, the respective base station being configured for telecommunication and being part of a 3GPP infrastructure. The positioning device further processes the reference signal to determine measured values of at least one path parameter for a selected set of multipath components, and operates a positioning algorithm, e.g. SLAM, on at least the current estimated position and the measured values to calculate a current output position of the vehicle and position information for an origin of each of the multipath components.
Claims
1. A computer-implemented positioning method executed by a controller in a vehicle, said positioning method comprising: obtaining local motion data generated by a motion detector in the vehicle; computing a current estimated position of the vehicle as a function of the local motion data; operating an RF module in the vehicle to receive a reference signal from at least one base station in an environment of the vehicle, wherein the at least one base station is configured for telecommunication and is part of a 3GPP infrastructure; processing the reference signal to determine measured values of at least one path parameter for a selected set of multipath components; and operating a positioning algorithm on at least the current estimated position and the measured values to calculate a current output position of the vehicle and position information for an origin of each of the multipath components, wherein the positioning algorithm is configured to assume a linear path between the RF module and the position of the origin for each of the multipath components, wherein said processing the reference signal comprises: determining, at a current time point, measured values of the at least one path parameter for a plurality of multipath components; and identifying the selected set of multipath components among the plurality of multipath components by finding a best match between the measured values of the at least one path parameter for the plurality of multipath components and preceding values of the at least one path parameter for the selected set of multipath components at a preceding time point.
2. The method of claim 1, further comprising: deriving heading, velocity and acceleration of the vehicle from the local motion data, wherein the current estimated position of the vehicle is computed as a function of the heading, the velocity and the acceleration.
3. The method of claim 1, wherein said identifying the selected set of multipath components comprises: computing, as a function of the preceding values, predicted values of the at least one path parameter for the selected set of multipath components at the current time point; and operating a data association algorithm on the measured values for the plurality of multipath components and the predicted values, wherein the selected set is defined to include the multipath components for which the measured and the predicted values are associated by the data association algorithm.
4. The method of claim 1, wherein the at least one path parameter comprises one or more of: a propagation time of the respective multipath component to the RF module, an angle-of-arrival of the respective multipath component at the RF module, and a power value of the respective multipath component at the RF module.
5. The method of claim 1, wherein the reference signal is a downlink reference signal defined by a 3GPP standard.
6. The method of claim 1, wherein the reference signal comprises one or more of a CRS and a PRS in accordance with 3GPP-LTE.
7. A non-transitory computer-readable medium comprising computer instructions which, when executed by a controller, cause the controller to perform the method of claim 1.
8. A computer-implemented positioning method executed by a controller in a vehicle, said positioning method comprising: obtaining local motion data generated by a motion detector in the vehicle; computing a current estimated position of the vehicle as a function of the local motion data; operating an RF module in the vehicle to receive a reference signal from at least one base station in an environment of the vehicle, wherein the at least one base station is configured for telecommunication and is part of a 3GPP infrastructure; processing the reference signal to determine measured values of at least one path parameter for a selected set of multipath components; and operating a positioning algorithm on at least the current estimated position and the measured values to calculate a current output position of the vehicle and position information for an origin of each of the multipath components, wherein the positioning algorithm is configured to assume a linear path between the RF module and the position of the origin for each of the multipath components, wherein the RF module is operated to receive the reference signal as transmitted between different pairs of antennas on the at least one base station and the RF module, and wherein said processing the reference signal comprises: determining, for each pair of antennas, measured values of the at least one path parameter for a plurality of multipath components; analyzing the measured values for all of the pairs of antennas for grouping of the measured values into clusters; computing cluster values for at least a subset of the clusters as a function of the measured values in the respective cluster; and processing the cluster values to determine the measured values for the selected set of multipath components.
9. The method of claim 8, wherein said processing the reference signal further comprises: eliminating clusters that contain less than a minimum number of measured values.
10. A computer-implemented positioning method executed by a controller in a vehicle, said positioning method comprising: obtaining local motion data generated by a motion detector in the vehicle; computing a current estimated position of the vehicle as a function of the local motion data; operating an RF module in the vehicle to receive a reference signal from at least one base station in an environment of the vehicle, wherein the at least one base station is configured for telecommunication and is part of a 3GPP infrastructure; processing the reference signal to determine measured values of at least one path parameter for a selected set of multipath components; and operating a positioning algorithm on at least the current estimated position and the measured values to calculate a current output position of the vehicle and position information for an origin of each of the multipath components, wherein the positioning algorithm is configured to assume a linear path between the RF module and the position of the origin for each of the multipath components, wherein said processing the reference signal comprises: determining, at a sequence of time steps, measured values of the at least one path parameter for a plurality of multipath components; analyzing the measured values determined at the sequence of time steps for grouping of the measured values into clusters; computing cluster values for at least a subset of the clusters as a function of the measured values in the respective cluster, and processing the cluster values to determine the measured values for the selected set of multipath components.
11. A computer-implemented positioning method executed by a controller in a vehicle, said positioning method comprising: obtaining local motion data generated by a motion detector in the vehicle; computing a current estimated position of the vehicle as a function of the local motion data; operating an RF module in the vehicle to receive a reference signal from at least one base station in an environment of the vehicle, wherein the at least one base station is configured for telecommunication and is part of a 3GPP infrastructure; processing the reference signal to determine measured values of at least one path parameter for a selected set of multipath components; and operating a positioning algorithm on at least the current estimated position and the measured values to calculate a current output position of the vehicle and position information for an origin of each of the multipath components, wherein the positioning algorithm is configured to assume a linear path between the RF module and the position of the origin for each of the multipath components, further comprising: intermittently updating the selected set of multipath components by addition or removal of one or more multipath components as a function of at least one of a quality parameter for the respective multipath component and a duration for the respective multipath component.
12. The method of claim 11, wherein the quality parameter is computed to represent one of as a power of the respective multipath component and a signal-to-noise ratio of the respective multipath component.
13. The method of claim 12, further comprising: storing, in a data structure, time sequences of the measured values for the selected set of multipath components, said addition resulting in a new time sequence and said removal resulting in a terminated time sequence.
14. The method of claim 13, further comprising: analyzing the time sequences in the data structure for identifying one or more connections between one or more new time sequences and one or more terminated time sequences that are separated in time.
15. The method of claim 14, wherein said identifying one or more connections comprises: determining at least one first value of an end point of the one or more terminated time sequences; determining at least one second value of a starting point of the one or more new time sequences; and operating a data association algorithm on the at least first value and the at least one second value.
16. The method of claim 15, wherein the data association algorithm is configured to identify the one or more connections as a best match between the one or more new time sequences and the one or more terminated time sequences.
17. The method of claim 15, wherein the data association algorithm is configured to identify the one or more connections given a limitation comprising one or more of: a maximum time difference between the end point and the starting point, a maximum difference of the at least one path parameter between the end point and the starting point, and a maximum difference in power between the end point and the starting point.
18. The method of claim 15, further comprising: generating, when a connection is identified between a terminated time sequence and a new time sequence, one or more interpolated values by interpolation between the at least one first value of the end point of the terminated time sequence and the at least one second value of the starting point of the new time sequence; forming a connected time sequence by inserting the one or more interpolated values between the end point and the starting point; and determining the measured values for the selected set of multipath components as a function of the connected time sequence.
19. The method of claim 12, further comprising: generating smoothed time sequences by operating a smoothing function on time sequences in a data structure, and determining the measured values for the selected set of multipath components as a function of the smoothed time sequences.
20. A computer-implemented positioning method executed by a controller in a vehicle, said positioning method comprising: obtaining local motion data generated by a motion detector in the vehicle; computing a current estimated position of the vehicle as a function of the local motion data; operating an RF module in the vehicle to receive a reference signal from at least one base station in an environment of the vehicle, wherein the at least one base station is configured for telecommunication and is part of a 3GPP infrastructure; processing the reference signal to determine measured values of at least one path parameter for a selected set of multipath components; and operating a positioning algorithm on at least the current estimated position and the measured values to calculate a current output position of the vehicle and position information for an origin of each of the multipath components, wherein the positioning algorithm is configured to assume a linear path between the RF module and the position of the origin for each of the multipath components, wherein said processing the reference signal comprises: determining a frequency response vector for the reference signal, generating a first matrix comprising mutually displaced subsets of the frequency response vector; computing eigenvalues for a covariance matrix of the first matrix; identifying significant multipath components based on the eigenvalues; and determining the measured values for the selected set of multipath components as a function of the significant multipath components.
21. The method of claim 20, further comprising: generating a plurality of first matrices at a sequence of time steps, wherein the eigenvalues are computed for covariance matrix that represents a time average of the first matrices.
22. The method of claim 20, further comprising: computing a noise value as a function of a subset of the eigenvalues; and identifying the significant multipath components based on the eigenvalues in relation to the noise value.
23. A positioning device for a vehicle, comprising: a motion detector configured to generate local motion data for the vehicle, an RF module, and a controller which is configured to: obtain the local motion data from the motion detector; compute a current estimated position of the vehicle as a function of the local motion data; operate the RF module to receive a reference signal from at least one base station in an environment of the vehicle, wherein the at least one base station is configured for telecommunication and is part of a 3GPP infrastructure; process the reference signal to determine measured values of at least one path parameter for a selected set of multipath components; and operate a positioning algorithm on at least the current estimated position and the measured values of the at least one path parameter to calculate a current output position of the vehicle and position information for an origin of each of the multipath components, wherein the positioning algorithm is configured to assume a linear path between the RF module and the position of origin for each of the multipath components, wherein processing the reference signal to determine measured values comprises: determining, at a current time point, measured values of the at least one path parameter for a plurality of multipath components; and identifying the selected set of multipath components among the plurality of multipath components by finding a best match between the measured values of the at least one path parameter for the plurality of multipath components and preceding values of the at least one path parameter for the selected set of multipath components at a preceding time point.
24. A positioning device for a vehicle, comprising: a motion detector configured to generate local motion data for the vehicle, an RF module, and a controller which is configured to: obtain the local motion data from the motion detector; compute a current estimated position of the vehicle as a function of the local motion data; operate the RF module to receive a reference signal from at least one base station in an environment of the vehicle, wherein the at least one base station is configured for telecommunication and is part of a 3GPP infrastructure; process the reference signal to determine measured values of at least one path parameter for a selected set of multipath components; and operate a positioning algorithm on at least the current estimated position and the measured values of the at least one path parameter to calculate a current output position of the vehicle and position information for an origin of each of the multipath components, wherein the positioning algorithm is configured to assume a linear path between the RF module and the position of origin for each of the multipath components, wherein the RF module is operated to receive the reference signal as transmitted between different pairs of antennas on the at least one base station and the RF module, and wherein processing the reference signal to determine measured values comprises: determining, for each pair of antennas, measured values of the at least one path parameter for a plurality of multipath components; analyzing the measured values for all of the pairs of antennas for grouping of the measured values into clusters; computing cluster values for at least a subset of the clusters as a function of the measured values in the respective cluster; and processing the cluster values to determine the measured values for the selected set of multipath components.
25. A positioning device for a vehicle, comprising: a motion detector configured to generate local motion data for the vehicle, an RF module, and a controller which is configured to: obtain the local motion data from the motion detector; compute a current estimated position of the vehicle as a function of the local motion data; operate the RF module to receive a reference signal from at least one base station in an environment of the vehicle, wherein the at least one base station is configured for telecommunication and is part of a 3GPP infrastructure; process the reference signal to determine measured values of at least one path parameter for a selected set of multipath components; and operate a positioning algorithm on at least the current estimated position and the measured values of the at least one path parameter to calculate a current output position of the vehicle and position information for an origin of each of the multipath components, wherein the positioning algorithm is configured to assume a linear path between the RF module and the position of origin for each of the multipath components, wherein the processing the reference signal to determine measured values comprises: determining, at a sequence of time steps, measured values of the at least one path parameter for a plurality of multipath components; analyzing the measured values determined at the sequence of time steps for grouping of the measured values into clusters; computing cluster values for at least a subset of the clusters as a function of the measured values in the respective cluster, and processing the cluster values to determine the measured values for the selected set of multipath components.
26. A positioning device for a vehicle, comprising: a motion detector configured to generate local motion data for the vehicle, an RF module, and a controller which is configured to: obtain the local motion data from the motion detector; compute a current estimated position of the vehicle as a function of the local motion data; operate the RF module to receive a reference signal from at least one base station in an environment of the vehicle, wherein the at least one base station is configured for telecommunication and is part of a 3GPP infrastructure; process the reference signal to determine measured values of at least one path parameter for a selected set of multipath components; and operate a positioning algorithm on at least the current estimated position and the measured values of the at least one path parameter to calculate a current output position of the vehicle and position information for an origin of each of the multipath components, wherein the positioning algorithm is configured to assume a linear path between the RF module and the position of origin for each of the multipath components, wherein the controller is further configured to: intermittently update the selected set of multipath components by addition or removal of one or more multipath components as a function of at least one of a quality parameter for the respective multipath component and a duration for the respective multipath component.
27. A positioning device for a vehicle, comprising: a motion detector configured to generate local motion data for the vehicle, an RF module, and a controller which is configured to: obtain the local motion data from the motion detector; compute a current estimated position of the vehicle as a function of the local motion data; operate the RF module to receive a reference signal from at least one base station in an environment of the vehicle, wherein the at least one base station is configured for telecommunication and is part of a 3GPP infrastructure; process the reference signal to determine measured values of at least one path parameter for a selected set of multipath components; and operate a positioning algorithm on at least the current estimated position and the measured values of the at least one path parameter to calculate a current output position of the vehicle and position information for an origin of each of the multipath components, wherein the positioning algorithm is configured to assume a linear path between the RF module and the position of origin for each of the multipath components, wherein processing the reference signal to determine measured values comprises: determining a frequency response vector for the reference signal, generating a first matrix comprising mutually displaced subsets of the frequency response vector; computing eigenvalues for a covariance matrix of the first matrix; identifying significant multipath components based on the eigenvalues; and determining the measured values for the selected set of multipath components as a function of the significant multipath components.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1) Embodiments of the invention will now be described in more detail with reference to the accompanying schematic drawings.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
(14) Embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. Like reference signs refer to like elements throughout.
(15) Also, it will be understood that, where possible, any of the advantages, features, functions, devices, and/or operational aspects of any of the embodiments of the present invention described and/or contemplated herein may be included in any of the other embodiments of the present invention described and/or contemplated herein, and/or vice versa. In addition, where possible, any terms expressed in the singular form herein are meant to also include the plural form and/or vice versa, unless explicitly stated otherwise. As used herein, “at least one” shall mean “one or more” and these phrases are intended to be interchangeable. Accordingly, the terms “a” and/or “an” shall mean “at least one” or “one or more,” even though the phrase “one or more” or “at least one” is also used herein. As used herein, except where the context requires otherwise owing to express language or necessary implication, the word “comprise” or variations such as “comprises” or “comprising” is used in an inclusive sense, that is, to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
(16)
(17)
(18) Embodiments of the invention relate to techniques that enable a positioning device in the vehicle 1 to determine the position of the vehicle 1 based on the one or more path parameters measured for the paths p1, p2′ of one or more RF signals that are generated by one or more physical transmitters 4. In the following, the signal components that arrive at the receiver on different paths from a common physical transmitter 4 are denoted multipath components (MPCs). Thus, the MPCs correspond to the paths p1, p2′. The techniques disclosed herein do not differentiate between physical and virtual transmitters: each MPC arriving at the receiver, no matter if via an LOS path or an NLOS path, is treated as a signal from a transmitter in a pure LOS condition.
(19) Although not shown in
(20) In some embodiments, the positioning device may be configured to differentiate between RF signals from different physical transmitters 4, provided that the RF signals enable such differentiation.
(21) In some embodiments, the MPCs may also include RF signals that are scattered, e.g. from a punctual scatterer. In contrast to a reflection, in which the reflected signal has the same angle to the surface normal as the incident signal, scattering occurs if a signal (electromagnetic wave) impinges on an object and the energy is spread out in all directions. The incorporation of scattering will not be described in further detail herein, but is straight-forward for the skilled person based on the teachings in the article by Ulmschneider et al (2016), which is referenced in the Background section and which is incorporated herein in its entirety.
(22) In one embodiment, the respective physical transmitter 4 is a base station (BS) that is configured to transmit 3G, LTE or 5G signals compliant with the 3GPP standard, and the vehicle is equipped with a receiver for receiving and processing such 3G/LTE/5G signals. Thus, the vehicular positioning may be achieved by use of RF signals that are broadcast by the existing and widely available 3GPP infrastructure. Such an embodiment significantly facilitates implementation of the vehicular positioning and reduces or eliminates the need to install dedicated RF transmitters. Further, with the on-going standardization progress of 5G, base stations configured for transmitting 5G signals will also be widely deployed in a near future. The RF signal may be any available downlink reference signal which is generated by a 3G, LTE or 5G BS and has a structure that is known to the positioning device so as to allow the positioning device to determine one or more relevant path parameters for each MPC. One example of such a reference signal is a Common Reference Signal (CRS) transmitted by an LTE BS. Another example is a Position Reference Signal (PRS), which is designed for positioning and may give higher resolution than the CRS. Other examples of reference signals that may be transmitted by the BSs 4 include MBSFN-RS, UE-RS, and CSI reference signals. As a further example, the reference signal may be a dedicated signal generated in accordance with the Cellular Vehicle-to-Everything (V2X) standard in 3GPP LTE Release 14. In this standard, additional DMRS symbols have been added to a dedicated signal to handle the high Doppler associated with the relative speeds of vehicles (up to 500 kph), allowing for improved accuracy of the path parameters at high vehicle speed.
(23) In the following, it is assumed that each physical transmitter 4 is a base station (BS), and the respective virtual transmitter 4′ is denoted virtual base station (VBS).
(24)
(25) In the illustrated example, step 301 obtains the current position, r.sub.u(t.sub.k), of the vehicle in an absolute coordinate system, e.g. coordinate system (x,y) in
(26) Step 302 operates the positioning device (e.g. an RF module 440,
(27) Step 303 obtains initial values of path parameters for a predefined number N of MPCs. In the illustrated example, the path parameters are time delay and AoA, and the initial values are represented as {circumflex over (ϑ)}, {circumflex over (θ)} which may be vectors containing initial values of N MPCs. Step 303 may involve selecting a set of N MPCs among the M MPCs identified in step 302, e.g. based on a quality parameter such as signal strength (“power”) or SNR, and setting the initial values {circumflex over (ϑ)}, {circumflex over (θ)} the measured values ϑ, θ of the selected set of MPCs.
(28) Step 304 acquires local motion data from a motion detector in the vehicle 1. The local motion data includes heading β.sub.u(t.sub.k) and velocity v.sub.u(t.sub.k), and preferably also acceleration a.sub.u(t.sub.k).
(29) After these initial steps 301-304, the method proceeds to repeatedly execute step sequence 30 in
(30) Step 306 computes an estimated vehicle position {circumflex over (r)}.sub.u(t.sub.k) at the current time step t.sub.k based on the local motion data obtained in step 304, i.e. at the preceding time step t.sub.k-1. The estimated vehicle position {circumflex over (r)}.sub.u(t.sub.k) computed in step 306 may be used as input to both step 308 and step 310. It is currently believed that an improved accuracy of the estimated vehicle position {circumflex over (r)}.sub.u(t.sub.k) computed by step 306 will result in a significant improvement in the accuracy of the output position as calculated by step 310 (below). To this end, it is preferable to calculate the estimated vehicle position {circumflex over (r)}.sub.u (t.sub.k) as a function of heading, velocity and acceleration as obtained by step 304 at the preceding time step t.sub.k-1, i.e. as a function of β.sub.u(t.sub.k-1), v.sub.u(t.sub.k-1) and a.sub.u(t.sub.k-1). For example, the estimated vehicle position may be given by:
(31)
(32) where r.sub.u(t.sub.k-1) is a vehicle position determined in the preceding time step (e.g. by step 301, step 306 or step 310), v.sub.u(t.sub.k) is given by T.Math.v.sub.u(t.sub.k-1), a.sub.u(t.sub.k) is given by T.Math.a.sub.u(t.sub.k-1), where T is a 2-dimensional rotation matrix representing the heading β.sub.u, as is readily understood by the skilled person. An example of a definition and use of the rotation matrix T is given in the above-mentioned article by Ulmschneider et al (2016).
(33) Step 307 corresponds to step 302 and measures the path parameters ϑ, θ for the MPCs impinging on the receiver at the current time step. Like 302, step 307 may result in path parameters for any number M of MPCs.
(34) Step 308 generates estimated (predicted) path parameters {circumflex over (ϑ)}, {circumflex over (θ)} for the current time step as a function of the estimated vehicle position {circumflex over (r)}.sub.u(t.sub.k) generated by step 306. Step 308 may involve a straight-forward geometric correction of either {circumflex over (ϑ)}, {circumflex over (θ)} or ϑ, θ, computed at time step t.sub.k-1, based on the change in vehicle position between time steps t.sub.k-1 and t.sub.k. It is realized that the propagation length and angle to the respective transmitter 4, 4′ will change deterministically for a given change in position of the vehicle with time, and that such a change may be computed based on the resulting change of geometry. The purpose of step 308 is to generate input data for step 309.
(35) It should be understood that the method operates on measured path parameters for N transmitters 4, 4″, i.e. N MPCs, when calculating the output position in step 310 (below). However, it is not unlikely that step 307 measures the path parameters ϑ, θ for a larger number of the MPCs. It is also to be understood that the number M of MPCs in step 307 may vary considerably over time, since it depends on the local surroundings of the vehicle, e.g. the structure, location and number of reflecting surfaces 3, and the number of physical transmitters 4. It is currently believed that a structured and optimized selection of N MPCs among the M MPCs identified in step 307 will result in a significant improvement in the accuracy of the output position as calculated by step 310 (below). Such a structured, automatic and optimized selection is performed by step 309, which selects measured path parameters for N MPCs among the measured path parameters for M MPCs identified in step 307 and allocates these measured path parameters to individual MPCs. In one embodiment, step 309 performs the allocation by finding a best match between the measured path parameters ϑ, θ for M MPCs from step 307 and the estimated path parameters {circumflex over (ϑ)}, {circumflex over (θ)} for N MPCs from step 308, e.g. by use of any available algorithm for data association (DA). In one embodiment, step 309 comprises finding the subset of the measured path parameters ϑ, θ that yields the minimum sum of (absolute) differences when subtracted from the estimated path parameters {circumflex over (ϑ)}, {circumflex over (θ)}. Thus, step 309 outputs a selected set ϑ.sub.S, θ.sub.S of measured path parameters ϑ, θ for N MPCs. Example algorithms for finding the selected set ϑ.sub.S, θ.sub.S are e.g. described in the article “A Consistent Metric for Performance Evaluation of Multi-Object Filters”, by Schuhmacher et al, published in IEEE Trans. Signal Process. vol. 56, no. 8, pp 3447-3457, 2008, and the article “Algorithms for the Assignment and Transportation Problems”, by Munkres, published in J. Soc. Indust. Appl. Math. vol. 5, no. 1, 1957. In a variant, step 309 also uses the signal strength (power) of the MPCs to find the best match between the measured path parameters (from step 307) and the estimated path parameters (from step 308), e.g. by modifying the above-mentioned sum of differences to also include differences between the signal strengths of the measured path parameters (i.e. the signal strengths of the corresponding MPCs) and the signal strengths of the estimated path parameters (e.g. given by the signal strength of the corresponding MPCs that were measured at one or more preceding time steps).
(36) Step 310 estimates the positions of the transmitters 4, 4′ for the N MPCs and calculates an output position that represents the current position of the vehicle, by operating any implementation of the well-known Simultaneous Localization And Mapping (SLAM) algorithm on the estimated vehicle position {circumflex over (r)}.sub.u(t.sub.k) computed in step 306 at the current time, and possibly during one or more preceding time steps, as well as the selected set ϑ.sub.S, θ.sub.S extracted in step 309, and optionally velocity data and/or acceleration data given by the local motion data in step 304. In certain implementations, the SLAM algorithm may generate a 2-dimensional probability function for the location of the respective transmitter 4, 4′. In one embodiment, the SLAM algorithm is Bayesian feature-based SLAM, e.g. a Rao-Blackwellization Particle Filter, which is well-known to the skilled person.
(37) Step 311 evaluates the MPCs to be included in the selected set ϑ.sub.S, θ.sub.S. Thereby, step 311 may replace one MPC for another MPC, add an MPC or remove an MPC. Thus, by step 311, the predefined number N may be changed. In one embodiment, a limit value N.sub.max is set to define the maximum number of MPCs to be included in the selected set. Step 311 is designed to include, in the selected set ϑ.sub.S, θ.sub.S, the MPCs that are deemed to be most reliable at the respective time instant. For example, step 311 may evaluate all MPCs identified by step 307 with respect to one or more quality parameters (e.g. power, SNR, etc) and/or duration. For example, if a non-allocated MPC is found to persist for a sufficient number of time steps and if the signal strength of the MPC exceeds a predefined threshold, step 311 may add the measured value of the MPC to the selected set ϑ.sub.S, θ.sub.S. For example, if an allocated MPC is found to be unreliable, step 311 may remove the MPC from the selected set ϑ.sub.S, θ.sub.S. It is currently believed that step 311 may improve the accuracy of the output position calculated by step 310 and reduce computational complexity, by selectively selecting the most reliable or significant MPCs to be used for calculating the output position.
(38) In a variant, step 311 is performed before step 310, which thereby operates on the measured values in the selected set ϑ.sub.S, θ.sub.S as updated by step 311.
(39) Step 312 calculates estimated path parameters {circumflex over (ϑ)}, {circumflex over (θ)} for the MPCs in the selected set based on the estimated positions of the transmitters 4, 4′ and the vehicle position generated by step 310. The estimated path parameters {circumflex over (ϑ)}, {circumflex over (θ)} will then be used by step 308 at the next time step.
(40) The method 300 then performs step 304 to acquire local motion data from the motion detector at the current time step and proceeds to step 305 for execution at the next time step.
(41)
(42) In the following, a second embodiment of a self-positioning method for a vehicle based on reference signals received from surrounding BSs will be described with reference to
(43) In
(44)
(45) The functionality of the modules and sub-modules in
(46) The following description of the estimation method 600 in
(47) As indicated in
(48)
(49) where δ denotes the Dirac delta function, h.sub.l is the complex channel gain associated with the lth path, F is a Fourier transformation, and τ.sub.l is the corresponding time delay with τ.sub.0< . . . <τ.sub.L-1.
(50) As a general illustration, consider an idealized signal h(t) comprising a sequence of impulses at different time delays ϑ.sub.1, . . . , ϑ.sub.9 as shown in
(51) As indicated by step 603, the method 600 repeatedly executes steps 601A-602 to generate a time sequence of snapshot matrices X. Step 604 receives the time sequence of snapshot matrices X generated by step 602 and performs an element-wise time averaging of a number n of consecutive snapshot matrices X to generate an average snapshot matrix:
(52) Step 605 computes the eigenvalues a of the autocorrelation matrix of
(53) In an alternative implementation, the autocorrelation matrix may be computed as
(54) Step 606 computes values of one or more quality parameters based on the eigenvalues and evaluates the quality parameter values to identify significant MPCs. Step 606 is based on the fact that the eigenvalues generated by step 607 represent the signal power of potential MPCs in the reference signal as received by the receiver 501. Thus, the eigenvalues may be seen to represent the strength of the respective arrow in
(55) In step 606, the feature of estimating the noise power and using the noise power for identifying significant MPCs is advantageous in that it mitigates the risk of identifying noise components as significant MPCs.
(56) In step 607, the time delay values for the significant MPCs are calculated (cf. ϑ.sub.1, . . . ϑ.sub.9 in
(57) As indicated by step 608, the method 600 may repeatedly execute steps 604-607 to generate a time sequence of delay vectors {tilde over (ϑ)}. If so, step 609 receives the time sequence of delay vectors {tilde over (ϑ)} generated by step 607 and generate an average delay vector
(58) Alternatively or additionally, presuming that the receiver 501 and/or the BS transmitter 4 comprises more than one antenna 501′, 4′, step 609 may perform averaging of delay vectors {tilde over (ϑ)} that are generated based on the reference signal as transmitted between different pairs of antennas (and received by step 601A). Thus, provided that the receiver 501 is operable to separate the incoming reference signals into instances transmitted between different pairs of antennas, steps 601A-609 may be performed in parallel or in sequence for each of the instances to generate a respective sequence of delay vectors {tilde over (ϑ)}. The distance between antennas on a BS 4 or a positioning device 500 is generally small compared to vehicle movement and time variations in the delay values, and thus the processing of the different instances of the reference signal should result similar delay values, which may thus be averaged for improved quality.
(59)
(60) Generally step 609 may thus be seen to perform an averaging of measured values over time and/or over different antenna pairs, by grouping measured values into clusters, computing cluster values for at least a subset of the clusters as a function of the measured values in the respective cluster, and arranging the cluster values as measured values in the average delay vector
(61) Reverting to the method 600 in
(62)
(63) where u.sub.c.sup.(n) describes the observed delay value, i.e. J=[1 0], and v.sup.(n) denotes the observation noise with covariance matrix L. Based on these definitions, the Kalman filter may be operated with the following equations for prediction:
ϑ.sub.c.sup.(n|n−1)=Φϑ.sub.c.sup.(n−1)
M.sup.(n|n−1)=ΦM.sup.(n−1|n−1)Φ.sup.T+Q
(64) and the following equations for update:
K.sup.(n|n)=M.sup.(n|n−1)J.sup.T(JM.sup.(n|n−1)J.sup.T+L).sup.−1
ϑ.sub.c.sup.(n|n)=ϑ.sub.c.sup.(n|n−1)+K.sup.(n|n)(u.sub.c−jϑ.sub.c.sup.(n|n−1))
M.sup.(n|n−1(=(I−K.sup.(n|n)J)M.sup.(n|n−1)
(65)
(66) Step 611 compares each of the predicted delay values {circumflex over (ϑ)}.sub.1,2, {circumflex over (ϑ)}.sub.2,2 at time t.sub.2 to the measured delay values
(67) If the difference (in delay time) to the nearest neighbor is below a threshold, which may be predefined, step 611 designates an association between the predicted and measured delay values, computes a corrected prediction (as a function of the predicted and measured delay values), updates the Kalman filter with the corrected prediction, and adds the measured delay value to a data structure 60 (
(68) If the difference to the nearest neighbor from a predicted delay value exceeds the threshold, step 611 designates a termination of an MPC sequence, and removes the predicted delay value from the Kalman filter. No delay value is added to the data structure 60. This procedure is exemplified in
(69) If the difference to the nearest neighbor from a measured delay value exceeds the threshold, step 611 designates a birth of a new MPC sequence, adds the predicted delay value to the Kalman filter, and adds the measured delay value as included in a new MPC sequence in the data structure 60. This is exemplified in
(70) The foregoing description of step 611 is given as a non-limiting example. More advanced data association algorithms may be utilized for evaluating potential associations between consecutive delay values, e.g. assignment algorithms such as the Hungarian algorithm, probabilistic data association, etc.
(71) In a variant, steps 610-611 also account for the power associated with the respective measured delay value (e.g. given by the eigenvalues determined in step 605) when identifying associations, terminations and births. As understood by the skilled person, the above-described Kalman filter may be readily modified to also generate predictions of power.
(72) From the foregoing, it is clear that steps 610-611 operate on current delay values, generated by step 609, to update the data structure 60 with current delay values of existing MPC sequences and current delay values for any new MPC sequences that may emerge, while also refraining from adding any delay values to existing MPC sequences that are found to be terminated.
(73) Step 612 operates on the data structure 60 to analyze new MPC sequences for possible connections to previously terminated MPC sequences. Specifically, step 612 applies a set of rules to determine if a new MPC sequence and a previously terminated MPC sequence are likely to correspond to the same MPC. The rules may be given as a function of difference in delay values and/or time and/or power between end points and starting points of terminated and new MPC sequences, respectively. Step 612 may thereby be seen to join or “stitch” discontinuous MPC sequences. Step 612 may apply a time limit that defines the maximum time difference between the end of a terminated MPC sequence and the start of a new MPC sequence. Such a time limit may, e.g., be in the range of 0.1-5 seconds or 0.5-2 seconds. The data structure 60 may be automatically cleared of delay values that are older than the time limit.
(74)
(75) In a simple implementation example, step 612 may determine the nearest neighbor to each new MPC sequence among the terminated MPC sequences based on a distance given as a function of one of Δt, Δϑ and ΔP, or a combination thereof (e.g. a sum of absolute differences, a sum of squares, etc) and identify a connection to the nearest neighbor if the distance to the nearest neighbor is below a threshold.
(76) A more advance implementation example is illustrated in
(77) The foregoing description of step 612 is given as a non-limiting example. More advanced data association algorithms may be utilized for evaluating potential connections between end points and starting points, e.g. assignment algorithms such as the Hungarian algorithm, probabilistic data association, etc.
(78) Step 613 operates on each connection identified by step 612 to add fictitious delay values between the new MPC sequence and the previously terminated MPC sequence, to thereby form a connected or stitched MPC sequence. The fictitious delay values are added in accordance with the time resolution of delay values in the data structure 60 and may be computed by interpolation between one or more delay values at the end of the previously terminated MPC sequence and one or more delay values at the beginning of the new MPC sequence. Any interpolation may be used, e.g. linear, polynomial, spline, etc. Thus, step 613 may be seen to heal a gap between discontinuous MPC sequences.
(79) To further improve the quality of the delay values, step 614 may perform a smoothing of all MPC sequences (including stitched MPC sequences, if any) to reduce the impact of measurement and computational noise. Any smoothing algorithm may be used, e.g. moving average, low-pass filtering, smoothing spline, curve fitting, etc. For example, curve fitting with a polynomial function of order 2 or 3 has been found yield good results.
(80) Step 615 outputs the smoothed delay values of all existing MPC sequences (including stitched MPC sequences) at a selected time point. The delay values may be arranged in the above-mentioned selected vector ϑ.sub.S (
(81)
(82) It may be noted that steps 609-614 may also be applied for processing of other path parameters that may be determined from the reference signal, such as the above-mentioned angle-of arrival θ, so that step 615 outputs an angle vector θ.sub.S containing selected angle values for existing and stitched MPC trajectories, in addition to or instead of the delay vector ϑ.sub.S.
(83)
(84) Embodiments of the present invention also relate to cooperative positioning, as schematically depicted in
(85) In a first embodiment of cooperative positioning, the position information is communicated between vehicles by any suitable DSRC technology. In
(86) In a second embodiment of cooperative positioning, which may be combined with the first embodiment, the vehicles may be configured to upload the position information to a server 10, e.g. by communication via BS 4 as shown in
(87) The disclosed and other embodiments and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. The disclosed and other embodiments can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, a data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or any combination thereof.
(88) A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
(89) While this specification contains many specifics, these should not be construed as limitations on the scope of what being claims or of what may be claimed, but rather as descriptions of features specific to particular embodiments. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.
(90) Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.