APPARATUS AND METHOD FOR DETERMINING A 3D DIRECTIONAL VECTOR BETWEEN A SENDING DEVICE AND A RECEIVING DEVICE

20230084336 · 2023-03-16

    Inventors

    Cpc classification

    International classification

    Abstract

    In a method for determining a 3D directional vector between a sending device and a receiving device, the receiving device comprises at least two antenna arrays that each comprise a plurality of linearly arranged antenna elements that are aligned to different orientations. The method comprises receiving, with the antenna arrays, a signal sent from the sending device, sampling, based on the received signal, outputs of each antenna element of each antenna array at a plurality of time instants, determining, for each antenna array, a Propagator Direct Data Acquisition, PDDA, pseudo-spectrum by performing a 1-dimensional PDDA, 1D-PDDA, based on the sampled outputs of the respective antenna array and on a plurality of steering vectors associated with the respective antenna array, determining a maximum of each PDDA pseudo-spectrum, determining an angular quantity (Ψ) for each antenna array based on the respective maximum of the PDDA pseudo-spectrum, and determining the 3D directional vector based on the angular quantities (Ψ) of each antenna array and on the orientations of the antenna arrays.

    Claims

    1. A method for determining a 3-dimensional (3D) directional vector between a sending device and a receiving device, the receiving device comprising a first antenna array and at least a second antenna array, wherein the first and the second antenna array each comprises a plurality of linearly arranged antenna elements that are aligned to different orientations, the method comprising: receiving, with the first antenna array and the second antenna array, a signal sent from the sending device; sampling, based on the received signal, outputs of each antenna element of each of the first and the second antenna array at a plurality of time instants; determining, for each antenna array of the first and the second antenna arrays, a Propagator Direct Data Acquisition (PDDA) pseudo-spectrum by performing a 1-dimensional PDDA (1D-PDDA) based on the sampled outputs of the respective antenna array and on a plurality of steering vectors associated with the respective antenna array; determining a maximum of each PDDA pseudo-spectrum; determining an angular quantity (Ψ) for each of the first and the second antenna array based on the respective maximum of the PDDA pseudo-spectrum; and determining the 3D directional vector based on the angular quantities (Ψ) of each of the first and the second antenna arrays and on the orientations of the first and the second antenna arrays.

    2. A method for determining a 3-dimensional (3D) directional vector between a sending device and a receiving device, the sending device comprising a first antenna array and at least a second antenna array, wherein the first and the second antenna array each comprises a plurality of linearly arranged antenna elements that are aligned to different orientations, the method comprising: receiving, at the receiving device, a signal sent from the sending device, the signal being sent with each antenna element of the first antenna array and the second antenna array separately in a timed sequence; generating signal samples for each antenna element of each of the first and the second antenna arrays by sampling the received signal at a plurality of time instants associated with the timed sequence; determining, for each antenna array of the first and the second antenna arrays, a Propagator Direct Data Acquisition (PDDA) pseudo-spectrum by performing a 1-dimensional PDDA (1D-PDDA) based on the signal samples of the respective antenna array and on a plurality of steering vectors associated with the respective antenna array; determining a maximum of each PDDA pseudo-spectrum; determining an angular quantity (Ψ) for each of the first and the second antenna arrays based on the respective maximum of the PDDA pseudo-spectrum; and determining the 3D directional vector based on the angular quantities (Ψ) of each of the first and the second antenna arrays and on the orientations of the first and the second antenna arrays.

    3. The method according to claim 1, wherein, for each antenna array, each steering vector of the plurality of steering vectors depends on a geometry information of the respective antenna array and on potential angles of arrival of the received signal.

    4. The method according to claim 3, wherein the geometry information of each antenna array includes at least one of position information or spacing information of the comprised antenna elements.

    5. The method according to claim 1, wherein the plurality of steering vectors associated with each antenna array is at least one pre-calculated or stored in a memory.

    6. The method according to claim 1, wherein the first and the second antenna arrays have one antenna element in common.

    7. The method according to claim 1, wherein the angular quantity (Ψ) for each of the first and the second antenna arrays is determined based on a position of the respective maximum of the PDDA pseudo-spectrum.

    8. The method according to claim 1, wherein determining the maximum of each PDDA pseudo-spectrum is performed with a polynomial approximation algorithm that is based on a Lagrange interpolation.

    9. The method according to claim 1, further comprising determining at least one of an angle of arrival or an angle of departure of the received signal based on the 3D directional vector.

    10. The method according to claim 1, wherein the received signal is a Bluetooth direction finding signal or a radio frequency (RF) signal.

    11. An apparatus for determining a 3-dimensional (3D) directional vector between a sending device and an antenna arrangement, the antenna arrangement comprising a first antenna array and at least a second antenna array, wherein the first and the second antenna array each comprises a plurality of linearly arranged antenna elements that are aligned to different orientations, the apparatus comprising: a receiver connectable to the antenna arrangement and configured to sample, based on a signal received with the antenna arrangement from the sending device, outputs of each antenna element of each of the first and the second antenna arrays at a plurality of time instants; and a processing unit configured to: determine, for each antenna array of the first and the second antenna arrays, a Propagator Direct Data Acquisition, (PDDA) pseudo-spectrum by performing a 1-dimensional PDDA (1D-PDDA) based on the sampled outputs of the respective antenna array and on a plurality of steering vectors associated with the respective antenna array; determine a maximum of each PDDA pseudo-spectrum; determine an angular quantity (Ψ) for each of the first and the second antenna arrays based on the respective maximum of the PDDA pseudo-spectrum; and determine the 3D directional vector based on the angular quantities (Ψ) of each of the first and the second antenna arrays and on the orientations of the first and the second antenna arrays.

    12. An apparatus for determining a 3-dimensional (3D) directional vector between a receiving device and an antenna arrangement, the antenna arrangement being coupled to a sending device and comprising a first antenna array and at least a second antenna array, wherein the first and the second antenna array each comprises a plurality of linearly arranged antenna elements that are aligned to different orientations, the apparatus comprising: a receiver configured to: receive a signal sent from the sending device, the signal being sent with each antenna element of the first antenna array and the second antenna array separately in a timed sequence; and generate signal samples for each antenna element of each of the first and the second antenna arrays by sampling the received signal at a plurality of time instants associated with the timed sequence; and a processing unit configured to: determine, for each antenna array of the first and the second antenna array, a Propagator Direct Data Acquisition (PDDA) pseudo-spectrum by performing a 1-dimensional PDDA (1D-PDDA) based on the signal samples of the respective antenna array and on a plurality of steering vectors associated with the respective antenna array; determine a maximum of each PDDA pseudo-spectrum; determine an angular quantity (Ψ) for each of the first and the second antenna arrays based on the respective maximum of the PDDA pseudo-spectrum; and determine the 3D directional vector based on the angular quantities (Ψ) of each of the first and the second antenna arrays and on the orientations of the first and the second antenna arrays.

    13. A positioning system for determining a position of a mobile device, the positioning system comprising: a positioning engine (LPE) and one of: the mobile device and a plurality of first anchor points, each first anchor point comprising an apparatus according to claim 11; or the mobile device, which comprises an apparatus according to claim 12, and a plurality of second anchor points comprising sending devices and associated antenna arrangements; wherein the positioning engine is configured to: receive the respective 3D directional vectors associated with the mobile device from the plurality of first anchor points or from the mobile device; and determine the position of the mobile device based on the received 3D directional vectors.

    14. (canceled)

    15. At least one machine-readable storage medium comprising machine-readable instructions that, when executed by at least one computing device, cause the at least one computing device to determine a 3-dimensional (3D) directional vector between a sending device and a receiving device, the receiving device comprising a first antenna array and at least a second antenna array, wherein the first and the second antenna array each comprises a plurality of linearly arranged antenna elements that are aligned to different orientations, wherein determining the 3D directional vector comprises: receiving, with the first antenna array and the second antenna array, a signal sent from the sending device; sampling, based on the received signal, outputs of each antenna element of each of the first and the second antenna array at a plurality of time instants; determining, for each antenna array of the first and the second antenna arrays, a Propagator Direct Data Acquisition (PDDA) pseudo-spectrum by performing a 1-dimensional PDDA (1D-PDDA) based on the sampled outputs of the respective antenna array and on a plurality of steering vectors associated with the respective antenna array; determining a maximum of each PDDA pseudo-spectrum; determining an angular quantity (Ψ) for each of the first and the second antenna array based on the respective maximum of the PDDA pseudo-spectrum; and determining the 3D directional vector based on the angular quantities (Ψ) of each of the first and the second antenna arrays and on the orientations of the first and the second antenna arrays.

    16. At least one machine-readable storage medium comprising machine-readable instructions that, when executed by at least one computing device, cause the at least one computing device to determine a 3-dimensional (3D) directional vector between a sending device and a receiving device, the receiving device comprising a first antenna array and at least a second antenna array, wherein the first and the second antenna array each comprises a plurality of linearly arranged antenna elements that are aligned to different orientations, wherein determining the 3D directional vector comprises: receiving, at the receiving device, a signal sent from the sending device, the signal being sent with each antenna element of the first antenna array and the second antenna array separately in a timed sequence; generating signal samples for each antenna element of each of the first and the second antenna arrays by sampling the received signal at a plurality of time instants associated with the timed sequence; determining, for each antenna array of the first and the second antenna arrays, a Propagator Direct Data Acquisition (PDDA) pseudo-spectrum by performing a 1-dimensional PDDA (1D-PDDA) based on the signal samples of the respective antenna array and on a plurality of steering vectors associated with the respective antenna array; determining a maximum of each PDDA pseudo-spectrum; determining an angular quantity (Ψ) for each of the first and the second antenna arrays based on the respective maximum of the PDDA pseudo-spectrum; and determining the 3D directional vector based on the angular quantities (Ψ) of each of the first and the second antenna arrays and on the orientations of the first and the second antenna arrays.

    17. The method according to claim 2, wherein, for each antenna array, each steering vector of the plurality of steering vectors depends on a geometry information of the respective antenna array and on potential angles of arrival of the received signal.

    18. The method according to claim 17, wherein the geometry information of each antenna array includes at least one of position information or spacing information of the comprised antenna elements.

    19. The method according to claim 2, wherein the plurality of steering vectors associated with each antenna array is at least one pre-calculated or stored in a memory.

    20. The method according to claim 2, wherein the first and the second antenna arrays have one antenna element in common.

    21. The method according to claim 2, wherein the angular quantity (Ψ) for each of the first and the second antenna arrays is determined based on a position of the respective maximum of the PDDA pseudo-spectrum.

    Description

    BRIEF DESCRIPTION OF DRAWINGS

    [0040] The improved direction finding concept will be explained in more detail in the following with the aid of the drawings. Elements and functional blocks having the same or similar function bear the same reference numerals throughout the drawings. Hence their description is not necessarily repeated in following drawings.

    [0041] In the drawings:

    [0042] FIG. 1 shows a flowchart of a method for determining a 3D directional vector;

    [0043] FIG. 2 shows an example vector with spherical coordinates;

    [0044] FIG. 3 shows an example representation of an antenna array with two elements;

    [0045] FIGS. 4A and 4B show example schematic antenna arrangements;

    [0046] FIGS. 5A and 5B show example configurations of a linear antenna array;

    [0047] FIGS. 6 and 7 show example pseudo-spectrums;

    [0048] FIG. 8 shows another example schematic antenna arrangement;

    [0049] FIG. 9 shows an example configuration with an antenna arrangement and a target;

    [0050] FIG. 10 shows an example of a tag and an anchor point with an antenna arrangement;

    [0051] FIG. 11 shows another example of a tag and an anchor point with an antenna arrangement;

    [0052] FIG. 12 shows an example of a positioning system; and

    [0053] FIG. 13 shows a 3D view of anchors and a tag.

    DETAILED DESCRIPTION

    [0054] FIG. 1 shows a flow diagram of an example implementation of a method 100 for determining a 3D directional vector between a sending device and a receiving device. The sending device can be a tag that transmits an RF signal, like a Bluetooth direction finding signal, which includes a constant tone extension packet, CTE. Other RF signals like Wi-Fi signals or cellular signals could be used as an alternative, for example. The receiving device, which may be an anchor point or the like, comprises two or more antenna arrays with linearly arranged antenna elements for each antenna array, wherein the antenna elements are arranged such that they are aligned to different orientations. This allows, for example, direction finding with an AoA principle.

    [0055] For implementing an AoD principle, the sending device may be an anchor point and the receiving device may be a tag.

    [0056] In the following, the improved direction finding concept is described for an AoA principle.

    [0057] Accordingly, in step 101, the sending device sends the RF signal, which is received by the receiving device in step 102. The signals transmitted from the sending device reach the antenna elements of the two or more antenna arrays with a slight phase shift relative to each other. Assuming that the signal propagates as a planar wave, the slight phase differences observed at each antenna element can be used to calculate its angle of arrival, AoA, respectively the directional vector in 3D space.

    [0058] Referring now to FIG. 2, a definition of spherical coordinates is shown that is going to be used in this disclosure.

    [0059] In mathematics, a spherical coordinate system is a coordinate system for three-dimensional space where the position of a point is specified by three numbers: the radial distance r of that point from a fixed origin, its polar angle θ measured from a fixed zenith direction, and the azimuthal angle φ of its orthogonal projection on a reference plane that passes through the origin and is orthogonal to the zenith, measured from a fixed reference direction on that plane.

    [0060] The spherical coordinates vary at the following range:


    r≥0


    0≤θ≤π


    0≤φ<2π or −π<φ≤π  (1)

    [0061] The transformation between spherical and Cartesian coordinates x, y, z is given by the following formulas:

    [00001] r = x 2 + y 2 + z 2 θ = cos - 1 ( z x 2 + y 2 + z 2 ) = tan - 1 ( x 2 + y 2 z ) φ = tan - 1 ( y x ) ( 2 ) x = r cos φ sin θ y = r sin φ sin θ z = r cos θ ( 3 )

    [0062] Referring now to FIG. 3, an antenna array as used in the receiving device is a group of antennas that are used for receiving or transmitting the same signals. For a receiver array, the signals received by all array elements can be combined and then processed for various applications, including the AoA estimation.

    [0063] A main entity that characterizes an antenna array is the steering vector. For exploring the principle idea of a steering matrix as a combination of several steering vectors, and its derivation, FIG. 3 shows a two-element antenna array with a first antenna element EL.sub.0 and a second antenna element EL.sub.1.

    [0064] Antenna element EL.sub.0(x.sub.0,y.sub.0,z.sub.0) is placed at the origin of the reference frame. So, we have:


    x.sub.0=y.sub.0=z.sub.0=0  (4)

    [0065] Another antenna element EL.sub.1(x.sub.1,y.sub.1,z.sub.1) is placed somewhere in the space. The target P is located at the point P(r.sub.p,θ.sub.7,φ.sub.p) Let

    [00002] u .fwdarw. = EL 0 P .fwdarw. .Math. E L 0 P .fwdarw. .Math.

    be the unit vector that has the direction from the axis origin towards the target's position. From (3) it will be:


    {right arrow over (u)}=cos φ.sub.p sin θ.sub.p{right arrow over (i)}+sin φ.sub.p sin θ.sub.p{right arrow over (j)}+cos θ.sub.p{right arrow over (k)}  (5)

    [0066] Let the vector {right arrow over (v)}={right arrow over (EL.sub.0EL.sub.1)} be the vector from the element EL.sub.0up to the element EL.sub.1. It will be:


    {right arrow over (v)}=(x.sub.1−x.sub.0){right arrow over (i)}+(y.sub.1−y.sub.0){right arrow over (j)}+(z.sub.1−z.sub.0){right arrow over (k)}=x.sub.1{right arrow over (i)}+y.sub.1{right arrow over (j)}+z.sub.1{right arrow over (k)}  (6)

    [0067] The length difference of the two paths from point P towards the two antenna elements, will be given by


    ΔS.sub.01=∥{right arrow over (EL.sub.0P)}∥−∥{right arrow over (EL.sub.1P)}∥={right arrow over (v)}*{right arrow over (u)},

    [0068] where {right arrow over (v)}*{right arrow over (u)} is the inner product of the two vectors.

    [0069] Using (5) and (6) we get:


    ΔS.sub.01=∥{right arrow over (EL.sub.0P)}∥−∥{right arrow over (EL.sub.1P)}∥=x.sub.1 cos φ.sub.p sin θ.sub.p±y.sub.1 sin φ.sub.p sin θ.sub.p+z.sub.1 cos θ.sub.p  (7)

    [0070] In fact, the quantity ΔS.sub.01 is the projection of {right arrow over (v)} onto {right arrow over (u)} (since ∥{right arrow over (u)}∥=1) and contains the information which path is longer in its sign.

    [0071] The received signal of the two antenna elements can be represented as:

    [00003] r ( t ) = [ 1 e j Δ S 0 1 λ 2 π ] [ s ( t ) ] = [ 1 e j x 1 cos φ p s i n θ p + y 1 sin φ p s i n θ p + z 1 c o s θ p λ 2 π ] [ s ( t ) ] ( 8 )

    [0072] where s(t) is the transmitted signal and A the corresponding wavelength.

    [0073] In general, the steering vector for a target at a point P(r,θ,φ) and for a linear antenna array, LA, with M elements EL.sub.0(0,0,0), EL.sub.1(x.sub.1,y.sub.1,z.sub.1), . . . , EL.sub.k(x.sub.k,y.sub.k,z.sub.k), . . . , EL.sub.1(x.sub.M-1,y.sub.M-1,z.sub.M-1), is defined as

    [00004] α ( θ , φ ) = [ 1 e j Δ S 01 λ 2 π .Math. e j Δ S 0 k λ 2 π .Math. e j Δ S 0 ( M - 1 ) λ 2 π ] = [ 1 e j x 1 cos φ sin θ + y 1 sin φ sin θ + z 1 cos θ λ 2 π .Math. e j x k cos φ sin θ + y k sin φ sin θ + z k cos θ λ 2 π .Math. e j x M - 1 cos φ sin θ + y M - 1 sin φ sin θ + z M - 1 cos θ λ 2 π ] ( 9 )

    [0074] FIG. 4A and FIG. 4B show example implementations of combinations of linear antenna arrays in a schematic form. In both examples the antenna arrays are located in the y−z plane such that x=0 for all antenna elements. In FIG. 4A there are a first and a second linear antenna array LA1, LA2 with three antenna elements each. The two linear arrays LA1, LA2 share one common antenna element in the origin. While this has structural advantages, it is not mandatory.

    [0075] Generally, there can be as many linear arrays as desired along radials on the y−z plane. For example, FIG. 4B shows an antenna arrangement with the first, the second and a third linear array LA3 described by the equation z=m*y and x=0, where m expresses the slope of the line. In the set of all possible radials the two main axes can also be included. The y axis is described by the equation z=0 and x=0 and the z axis is described by the equation y=0 and x=0.

    [0076] Applying the generic equation (9), we derive the following steering vectors:

    [0077] M-element LA on the Y axis:

    [00005] α ( θ , φ ) = [ 1 e j Δ S 01 λ 2 π .Math. e j Δ S 0 k λ 2 π .Math. e j Δ S 0 ( M - 1 ) λ 2 π ] = [ 1 e j y 1 sin φ sin θ λ 2 π .Math. e j y k sin φ sin θ λ 2 π .Math. e j y M - 1 sin φ sin θ λ 2 π ] ( 10 )

    [0078] M-element LA on the Z axis:

    [00006] α ( θ , φ ) = [ 1 e j Δ S 01 λ 2 π .Math. e j Δ S 0 k λ 2 π .Math. e j Δ S 0 ( M - 1 ) λ 2 π ] = [ 1 e j z 1 cos θ λ 2 π .Math. e j z k cos θ λ 2 π .Math. e j z M - 1 cos θ λ 2 π ] ( 11 )

    [0079] M-element LA on the z=my locus:

    [00007] α ( θ , φ ) = [ 1 e j Δ S 01 λ 2 π .Math. e j Δ S 0 k λ 2 π .Math. e j Δ S 0 ( M - 1 ) λ 2 π ] = [ 1 e j y 1 sin φ sin θ + z 1 cos θ λ 2 π .Math. e j y k sin φ sin θ + z k cos θ λ 2 π .Math. e j y M - 1 sin φ sin θ + z M - 1 cos θ λ 2 π ] = [ 1 e j y 1 ( sin φ sin θ + m cos θ ) λ 2 π .Math. e j y k ( sin φ sin θ + m cos θ ) λ 2 π .Math. e j y M - 1 ( sin φ sin θ + m cos θ ) λ 2 π ] ( 12 )

    [0080] Without loss of generality, we will use for our analysis the case which is given by (12) and we will consider that M=4, as it is shown in FIGS. 5A and 5B.

    [0081] From (12), we observe that the ratio of any two ΔS is independent of the values of the two angles φ, θ and therefore independent of the position of the tag. This becomes evident from the following equation:

    [00008] Δ S 0 1 Δ S 0 k = y 1 ( sin φsinθ + m cos θ ) y k ( sin φsinθ + m cos θ ) = y 1 y k ( 13 )

    [0082] Our aim is to determine the quantity ΔS.sub.01 (or any other ΔS.sub.0k) and since the values y.sub.k are known, to estimate the quantity sin φ sin θ+m cos θ.

    [0083] Although the ratio of any two ΔS is independent of the tag's position, the phase of the exponential terms of the steering vector at (12), varies accordingly the values of the two angles. Let d.sub.0k be the length of the segment defined by antenna elements EL.sub.0 and EL.sub.k (for example d.sub.02 is the distance between element 0 and 2). Then, as it is shown in FIG. 5B, the range of ΔS.sub.0k, is the following:


    d.sub.0k≤ΔS.sub.0k≤d.sub.0k  (14)

    [0084] If we choose to put the target at the position that maximizes the values of ΔS, we will derive ΔS.sub.01=d.sub.01 and ΔS.sub.0k=d.sub.0k and we can rewrite (13):

    [00009] Δ S 0 1 Δ S 0 k = y 1 y k = d 0 1 d 0 k , k ( 15 )

    [0085] The last equation (15) is valid for every value of, φ and θ and proves that the ratio of the phases, e.g. the phases of the exponentials terms comprised in the steering vector of (12), depends only on the geometry of the LA and not on the position of the mobile tag.

    [0086] Referring back to FIG. 1, Step 102, the outputs of the M antenna elements of each antenna array are sampled simultaneously at the time instants t.sub.1, t.sub.2, . . . ,t.sub.N. Of course, due to implementation purposes, the sampling of the antenna elements may be sequential. However, with the use of signal processing techniques, an equivalent synchronous sampling can be obtained.

    [0087] The signals, which are transmitted from the target, are assumed to travel through a medium and then impinge onto the M elements of the antenna. The transmission medium between the target's transmitter and the antenna elements is assumed to be isotropic and linear.

    [0088] The target is located far from the antenna array such that the signal wavefront generated by its transmitter arrives at all the elements at an equal direction of propagation and the wavefront is planar (far-field approximation).

    [0089] From the samples from the antenna arrays, the following matrix can be constructed for each antenna array, respectively:

    [00010]  r = [ r 0 ( t 1 ) r 0 ( t 2 ) .Math. r 0 ( t N ) r 1 ( t 1 ) r 1 ( t 2 ) .Math. r 1 ( t N ) .Math. .Math. .Math. .Math. r M - 1 ( t 1 ) r M - 1 ( t 2 ) .Math. r M - 1 ( t N ) ] ( 16 )

    [0090] In step 103, a 1D-PDDA is performed, based on the sampled outputs of the respective antenna array.

    [0091] This includes dividing the r matrix into two sub-matrices as follows:

    [00011] 1 × N = [ r 0 ( t 1 ) r 0 ( t 2 ) .Math. r 0 ( t N ) ] ( M - 1 ) × N = [ r 1 ( t 1 ) r 1 ( t 2 ) .Math. r 1 ( t N ) .Math. .Math. .Math. .Math. r M - 1 ( t 1 ) r M - 1 ( t 2 ) .Math. r M - 1 ( t N ) ] ( 17 )

    [0092] Here, custom-character represents the first row of the matrix r and custom-character represents the remaining part.

    [0093] From this, the propagator vector p can be computed:

    [00012] p = 1 .Math. H .Math. H ( 18 )

    [0094] The propagator p is a 1×(M−1) vector

    [0095] We construct the e vector, which is a M×1 vector, by adding a unit element:


    e=[1p].sup.T  (19)

    [0096] Regarding the steering vector, using (15) for a random position i of the target, it is defined

    [00013] μ i = Δ S 0 1 d 0 1 = Δ S 0 2 d 0 2 = .Math. = Δ S 0 k d 0 k = .Math. = Δ S 0 ( M - 1 ) d 0 ( M - 1 ) ( 20 )

    [0097] For this random position i (which corresponds to the random values φ.sub.i and θ.sub.i), the steering vector is given by:

    [00014] α i = [ 1 e j Δ S 01 λ 2 π .Math. e j Δ S 0 k λ 2 π .Math. e j Δ S 0 ( M - 1 ) λ 2 π ] = [ 1 e j μ i d 01 λ 2 π .Math. e j μ i d 0 k λ 2 π .Math. e j μ i d 0 ( M - 1 ) λ 2 π ] , - 1 μ i 1 ( 21 )

    [0098] We can define a partitioning of the interval [−1,1] and receive the following steering matrix which corresponds to n positions of the target.

    [00015] A = [ α 1 α 2 .Math. α i .Math. α n ] = [ 1 1 .Math. 1 .Math. 1 e j μ 1 d 01 λ 2 π e j μ 2 d 01 λ 2 π .Math. e j μ i d 01 λ 2 π .Math. e j μ n d 01 λ 2 π .Math. .Math. .Math. .Math. .Math. .Math. e j μ 1 d 0 k λ 2 π e j μ 2 d 0 k λ 2 π .Math. e j μ i d 0 k λ 2 π .Math. e j μ n d 0 k λ 2 π .Math. .Math. .Math. .Math. .Math. .Math. e j μ 1 d 0 ( M - 1 ) λ 2 π e j μ 2 d 0 ( M - 1 ) λ 2 π .Math. e j μ i d 0 ( M - 1 ) λ 2 π .Math. e j μ n d 0 ( M - 1 ) λ 2 π ] , ( 22 ) [0099] where −1≤μ.sub.1<μ.sub.2< . . . <y.sub.i< . . . <μ.sub.n≤1

    [0100] Usually, we define a uniform partitioning but in the general case the partitioning could be non-uniform.

    [0101] Using the steering matrix of (22), the Propagator Direct Data Acquisition (PDDA) algorithm can be performed.

    [0102] To this end, for each antenna array, the vector e is compared with each column of the steering matrix A in order to find which of them correlates better, by defining the PDDA pseudo-spectrum as:


    P(i)=|α.sub.i.sup.T.Math.e|.sup.2|, 1≤i≤n  (23)

    [0103] So, for each value of i we have the corresponding value P(i) of the pseudo-spectrum.

    [0104] In step 104 the pseudo-spectrum values are searched to find the maximum among them. The maximum value indicates which α.sub.i from (22) is closer to the sampled data and leads to the corresponding value of μ.sub.i from (21).

    [0105] Since μ.sub.i is found, in step 105 we use equation (20) to find ΔS.sub.01, and a quantity W that depends on the angles φ and θ (see equation (12)):

    [00016] Ψ = sin φsinθ + m cos θ = Δ S 0 1 y 1 ( 24 )

    [0106] Referring now to FIG. 6, an example of a PDDA pseudo-spectrum is shown, wherein the circles denote the sparse samples, the asterisks denote the maximum and its neighbors and the solid line resembles dense samples. Pos_true indicates the true position of the maximum.

    [0107] Using the sparse pseudo-spectrum samples, one can estimate the maximum of them and then, in conjunction with the neighborhood samples, estimate the exact position of the true maximum. Determining the maximum of each PDDA pseudo-spectrum e.g. is performed with a polynomial approximation algorithm. The polynomial approximation algorithm may be based on a Lagrange interpolation.

    [0108] Referring now to FIG. 7, a graph of an example of a pseudo-spectrum is shown with the sampled value pairs (μ.sub.i,P.sub.i) at the sample maximum and its neighbors (μ.sub.i−1,P.sub.i−1) and (μ.sub.i+1,P.sub.i+1). With a Lagrange interpolation, the maximum μ.sub.max can be interpolated. For example, if we consider the general case where the partitioning of (22) is not uniform, the value μ.sub.max that corresponds to the true maximum is given by:

    [00017] μ max = μ i - 1 2 ( P i - P i + 1 ) + μ i + 1 2 ( P i - 1 - P i ) - μ i 2 ( P i - 1 - P i + 1 ) 2 [ μ i - 1 ( P i - P i + 1 ) + μ i + 1 ( P i - 1 - P i ) - μ i ( P i - 1 - P i + 1 ) ] ( 25 )

    [0109] In the case of uniform partitioning, the above formula can be rewritten as:

    [00018] μ max = μ i + P i - 1 - P i + 1 2 ( P i - 1 - 2 P i + P i + 1 ) ( μ i - μ i - 1 ) ( 26 )

    [0110] Therefore, a maximum of each PDDA pseudo-spectrum and hence for each linear array is determined. With this manner we can estimate the exact value of the wanted μ.sub.i, although this μ.sub.i is not initially included in the steering matrix of (22).

    [0111] The derivation procedure of the steering matrix described by (22) proves that this form of steering matrix is applicable to each linear array such those depicted in FIG. 4B or those of FIG. 8.

    [0112] More specifically, for the example that is depicted in FIG. 8, the following steering matrices could be created: [0113] Provided that linear arrays LA1 and LA2 have identical dimensions, one can use (22) to produce for them a steering matrix A.sub.1,2.sup.(4×n), which contains 4 rows. [0114] For linear array LA3, (22) generates a 3 row steering matrix A.sub.3.sup.(3×n). [0115] Linear array LA4 could be assigned a 5 row steering matrix A.sub.4.sup.(5×n).

    [0116] In the example of FIG. 8, for all the four linear arrays, the reference antenna element “0”, is the common element at the origin of the coordinate system.

    [0117] These three steering matrices can been pre-calculated and stored to a memory, since they depend only on geometry information, i.e. the geometry and the distances between the antenna elements.

    [0118] As an example, let us suppose that we have three radial linear arrays, as these at FIG. 4B or in FIG. 9. Assuming that we are using the 1D-PDDA approach, the following angular quantities are already calculated: [0119] From elements on the Y-axis, the angular quantity


    ψ.sub.1=sin φ sin θ+E.sub.1 [0120] From elements on the Z-axis, the angular quantity


    ψ.sub.2=cos θ+E.sub.2 [0121] From elements on the z=m.Math.y locus, the angular quantity


    ψ.sub.3=sin φ sin θ+m cos θ+E.sub.3

    [0122] Where the quantities E.sub.1,E.sub.2,E.sub.3 encapsulate all the errors that maybe have been inserted due to various causes such as AWGN, multipath, etc. Moreover, although the antenna has been transferred to the point (x.sub.0,y.sub.0,z.sub.0) which probably differs from the point (0,0,0), the orientation of the axis remains the same.

    [0123] Referring back to FIG. 1, in step 106, the direction on which the target is located, with respect to the reference antenna element at the origin of the axes, can be determined by the unit directional vector {right arrow over (δ)} shown in FIG. 9:

    [00019] δ .fwdarw. = [ δ i δ j δ k ] = [ cos φsinθ sin φsinθ cos θ ] ( 27 )

    [0124] If we carefully observe the estimated quantities from each linear array, we conclude that they contain the two out of the three components of the directional vector {right arrow over (δ)}. So, we derive the equation:

    [00020] [ 1 0 0 1 1 m ] c [ δ j δ k ] D j k = [ ψ 1 ψ 2 ψ 3 ] Ψ .Math. C .Math. D jk = Ψ ( 28 )

    [0125] Using the pseudo-inverse of matrix, we can calculate the least squares solution of equation (28):

    [00021] C .Math. D j k = Ψ .Math. D ˆ j k = [ ( C T .Math. C ) - 1 .Math. C T ] .Math. Ψ = [ δ ˆ j δ ˆ k ] ( 29 )

    [0126] With (29), we have an estimation of components δ.sub.j and δ.sub.k. Estimation of δ.sub.i can be achieved by exploiting the fact that ∥{right arrow over (δ)}∥=1. Moreover, as the antenna may be a patch antenna which receives signals only from the half space which contains the positive portion of axis X, without loss of generality, we may assume that δ.sub.i>0:


    ∥{right arrow over (δ)}∥=1.Math.{circumflex over (δ)}=√{square root over (1−{circumflex over (δ)}.sub.j.sup.2−{circumflex over (δ)}.sub.k.sup.2)}  (30)

    [0127] Accordingly, with (30), determination of directional vector {right arrow over (δ)} in step 106 is completed.

    [0128] Knowledge of the directional unit vector allow us to estimate angles θ, φ by means of (2), as shown as optional step 107 in FIG. 1. In fact, the calculation of the two angles becomes very attractive because the directional vector is unitary (see (30)). More specifically, (2) leads to:

    [00022] θ = cos - 1 ( δ ˆ k ) φ = tan - 1 ( δ ˆ j δ ˆ i ) ( 31 )

    [0129] The last set of equations can be implemented with little effort.

    [0130] Alternatively, with reference to optional step 108 in FIG. 1, we can use two or more antenna arrangements to estimate the position of the tag, e.g. by means of a “Local Positioning Engine” (LPE). For this purpose, all we need is the unit directional vector {right arrow over (δ)} from each antenna arrangement (see step 106a in FIG. 1) as disclosed in more detail below.

    [0131] FIG. 10 shows an example implementation where the sending device is a tag TG, for example, that sends the signal, e.g. via a single antenna, to an antenna arrangement AA comprising two or more linear antenna arrays LA1, LA2 etc. The signal may be a constant tone extension, CTE, Bluetooth signal. The antenna arrangement AA is connected to an apparatus in the form of an anchor ANC that comprises a receiver RX and a processing unit PROC. For example, the receiver RX receives and samples the signal received from the antenna arrangement AA as described, for example, in conjunction with step 102 in FIG. 1.

    [0132] The processing unit PROC may perform the determination of the PDDA pseudo-spectrum, determination of the maximum of each PDDA pseudo-spectrum, determination of the angular quantity ψ and the determination of the 3D directional vector as described in conjunction with steps 103 to 106 in FIG. 1. Hence, with the arrangement of FIG. 10, determination of an angle of arrival, AoA, can be performed.

    [0133] Referring now to FIG. 11, a similar arrangement is shown that is distinguished from the arrangement of FIG. 10 in that an angle of departure, AoD, is determined. To this end an anchor ANC is coupled to an antenna arrangement AA that can have the same structure with two or more linear antenna arrays as in the examples described above. The arrangement further comprises a tag TG with a single antenna, a receiver RX and a processing unit PROC.

    [0134] In contrast to the AoA procedure, in the AoD procedure of FIG. 11 the anchor ANC controls the sending of a signal such that the signal is sent with each antenna element of the first antenna array LA1 and the second antenna array LA2 separately in a timed sequence. In other words, the signal is not sent out concurrently over more than one antenna element. On the receiving side, i.e. the tag TG, the signal is received and signal samples are generated for each antenna element of each of the first and the second antenna array LA1, LA2 by sampling the received signal at a plurality of time instants associated with the timed sequence. Each antenna element can be controlled to send out more than one signal segment in the timed sequence, e.g. by repeating sequences, such that at the receiving side the receiver can construct the r matrix as shown in equation (16).

    [0135] Furthermore, the processing unit PROC of the tag TG can then perform the following steps described above to arrive at the directional vector between the anchor ANC and the tag TG. The tag TG, respectively the processing unit PROC, may have knowledge of the geometry information of the antenna arrays LA1, LA2 etc. e.g. in the form of associated steering matrices. Respective necessary modifications, if any, will be apparent to the skilled reader from the detailed description in conjunction with the AoA procedure described above.

    [0136] It should be noted that both for setups based on AoA and AoD, the antenna arrangement AA with its antenna arrays could either be integrated on the anchor ANC or could be external to the anchor ANC as a separate element.

    [0137] Referring now to FIG. 12, a positioning system for determining a position of a mobile device like a tag is shown. The positioning system comprises a positioning engine LPE and a plurality of anchor points. For example, in FIG. 12 the positioning system comprises a single tag TG and four anchor points ANC1, ANC2, ANC3, ANC4. The positioning engine LPE is configured to receive respective 3D directional vectors from the anchor points ANC1, ANC2, ANC3, ANC4 operating according to the AoA approach as described in conjunction with FIG. 10, or from the tag TG operating according to the AoD approach as described in conjunction with FIG. 11, and to determine a position of the tag TG, based on the respective received 3D directional vectors. In such a configuration it does not matter whether the directional vectors between the tag TG and the respective anchor points ANC1 to ANC4 are determined via an AoA procedure or an AoD procedure.

    [0138] Referring now to FIG. 13, an example of an estimation of the position of a mobile tag with four anchor points ANC1 to ANC4 is shown. FIG. 13 shows the four anchor points together with their calculated directions between each anchor and the tag, which are shown as dotted lines.

    [0139] To achieve the goal of estimating the tag's position, we must convert the information that is given by the unit directional vector {right arrow over (δ)} to the appropriate format. With respect to FIG. 9 and FIG. 13, we have the following calculations:

    [00023] A T .fwdarw. = [ x t - x 0 y t - y 0 z t - z 0 ] , δ .fwdarw. = [ δ i δ j δ k ] A T .fwdarw. // δ .fwdarw. .Math. { x t - x 0 y t - y 0 = δ i δ j y t - y 0 z t - z 0 = δ j δ k .Math. { δ j x t - δ i y t = δ j x 0 - δ i y 0 δ k y t - δ j z t = δ k y 0 - δ j z 0 ( 32 )

    [0140] Based on the last pair of equations which defines the AoA (or Direction of Arrival—DoA) (32), we can estimate the unknown position tg_true of the mobile target using the following algorithm.

    [0141] Coordinates of the anchors and the unknown tag:

    [00024] X = [ x y z ] A i = [ x i y i z i ] , 1 i 4

    [0142] Definition of the matrix equation, using (32):

    [00025] [ δ 1 j - δ 1 i 0 0 δ 1 k - δ 1 j δ 2 j - δ 2 i 0 0 δ 2 k - δ 2 j δ 3 j - δ 3 i 0 0 δ 3 k - δ 3 j δ 4 j - δ 4 i 0 0 δ 4 k - δ 4 j ] D [ x y z ] X = [ δ 1 j x 1 - δ 1 i y 1 δ 1 k y 1 - δ 1 j z 1 δ 2 j x 2 - δ 2 i y 2 δ 2 k y 2 - δ 2 j z 2 δ 3 j x 3 - δ 3 i y 3 δ 3 k y 3 - δ 3 j z 3 δ 4 j x 4 - δ 4 i y 4 δ 4 k y 4 - δ 4 j z 4 ] B .Math. D .Math. X = B ( 33 )

    [0143] Estimation of the least square solution using pseudo-inverse:


    {circumflex over (X)}=[(D.sup.TD).sup.−1D.sup.T]B  (34)

    [0144] The last equation gives the least square estimation of the tag's position tg_est, based on the directional vectors of the four anchors ANC1 to ANC4.

    [0145] It should be understood that despite the explanation with two or three linear arrays, as many linear arrays as desired can be used, but not less than two. For example, as the number of linear arrays is increased, the calculation of directional vectors becomes more reliable and immune to effects of multipaths and AWGN. Furthermore it should be noted that each linear array should contain at least two antenna elements. Usually linear arrays are uniform but this is not a necessary condition for the present disclosure. Furthermore, in many applications the linear arrays may be identical, uniform and the pattern of antenna elements may be completely symmetric. However, as seen in the example configurations of linear arrays, this is not the general case and for the present disclosure there is no strict requirement for antenna symmetry etc.

    [0146] Various embodiments of the improved direction finding concept can be implemented in the form of logic in software or hardware or a combination of both. The logic may be stored in a computer readable or machine-readable storage medium as a set of instructions adapted to direct a processor of a computer system to perform a set of steps disclosed in embodiments of the improved direction finding concept. The logic may form part of a computer program product adapted to direct an information-processing device to automatically perform a set of steps disclosed in embodiments of the improved direction finding concept.

    [0147] The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. However, it will be evident that various modifications and changes may be made thereunto without departing from the scope of the invention as set forth in the claims.

    LIST OF REFERENCE SIGNS

    [0148] 100 method for determining a 3D directional vector [0149] 101-108 steps [0150] LA linear array [0151] ANC anchor point [0152] RX receiver [0153] AA antenna arrangement [0154] PROC processing unit [0155] LPE positioning engine