The present invention generally relates to the field of narrow band Low Power Wide Area (LPWA) networks such as the LoRa, SigFox and NB-IoT networks. It also relates to the field of machine learning and more particularly to that of deep learning.
The geolocation of connected objects has become an important issue in the field of IoT (Internet of Things). Especially, it enables information transmitted by these objects to be enriched by location information, the network to be more efficiently managed and geographic tracking applications to be developed when the objects are mobile.
A first geolocation possibility consists in equipping connected objects with GNSS (Global Navigation Satellite System) reception modules. However, this option is expensive and is generally not compatible with very strict energy consumption requirements of these objects. Further, it is excluded when the connected objects are deployed in an indoor environment.
A second geolocation possibility is to perform trilateration from radio signals transmitted by the connected objects and received by different base stations. However, signals transmitted in the LPWA networks, irrespective of whether they use a licensed (NB-IoT) or unlicensed (SigFox, LoRa) band are with a low rate and narrow band to propagate over long distances (up to several kilometres). The radio signals transmitted being with a narrow band results in a significant inherent limitation in the resolution of times of arrival (ToA) of these signals and thus in a low distance resolution in the position of the connected objects. This low time resolution can especially result in large position errors when transmission channels are of the multi-path type, in so far as the different paths cannot be discriminated from each other.
In the radar field, it is known to measure a distance to a target by using a plurality of narrow band signals, so as not to resort to high frequency ADC (Analogue Digital Converters). More precisely, this technique (known as stepped frequency radar), consists in varying through successive hops the carrier frequency of the transmitted signal while keeping an instantaneous narrow band, the complex response being then measured for each carrier frequency. By coherently combining the measurements, more precisely by performing a reverse Fourier transform of the measurements thus obtained, a pulse response of the channel is obtained in the time domain. The time resolution is thus inversely proportional to the width of the virtual frequency band scanned and no longer proportional of the instantaneous bandwidth. A similar technique, called “coherent multi-channel ranging”, has been applied in LR WPAN (Low Rate Wireless Personal Area Network) networks to determine the position of ZigBee transponders, as described in the paper of M. Pichler et al. entitled “Multi-channel distance measurement with IEEE 802.15.4 (ZigBee) devices” published in IEEE Journal of Selected Topics in Signal Processing, Vol. 3, No. 5, October 2009, pp. 845-859. However, the aforesaid article resorts to strong restrictive hypotheses on the propagation scenario, namely a line of sight (LOS) situation and the absence of multi-path.
The coherent multi-channel distance determination cannot be applied as such to LPWA networks. Indeed, the scanned virtual frequency band is subjected to regulatory requirements in the ISM band (at most 7 MHz can be used in the 868 MHz band), which limits time resolution and does not allow satisfactory resolution of multi-paths as previously indicated.
Recent advances in the field of machine learning have opened up new horizons in the field of the distance determination within wireless networks. In particular, the paper by O. Bialer et al. entitled “A deep neural network approach for time-of-arrival estimation in multipath channels” published in Proc. of ICASSP Conference, April 2018, pages 2936-2940, suggested the use of an artificial neural network to determine the time of arrival of an OFDM signal from samples of the preamble signal. After learning, the neural network enables a correct estimation of the time of arrival to be obtained even in the presence of a high multi-path density. However, if this technique is satisfactory for OFDM signals, it cannot be applied to narrow band signals such as those transmitted in LPWA networks.
The paper by F. Wolf et al. entitled “Coherent multi-channel ranging for narrowband LPWAN: simulation and experimentation results” published in Proc. 2018 15th IEEE Workshop on positioning, navigation and communication, 25 Oct. 2018 mentions the possibility of using a neural network to estimate a distance between two nodes of an LPWA network from characteristics of the transfer function for a plurality of channels.
One object of the present invention is consequently to provide a method for estimating a distance or, equivalently a propagation time also called time of flight (ToF) between nodes of an LPWA network, which enables a better spatial (time resp.) resolution than that obtained in the state of the art to be obtained, in particular when transmission channels are of the multi-path type. A subsidiary object of the present invention is to provide a method for estimating a position of a node in an LPWA network using said distance estimation method.
The present invention is defined by a distance estimation method as set out in claim 1. Advantageous embodiments are given in the dependent claims 2-6.
The present invention also relates to a method for estimating a position of a node of interest in an LPWA network using said distance estimation method.
Further characteristics and advantages of the invention will appear upon reading a preferential embodiment of the invention, described with reference to the appended figures in which:
In the following, an LPWA (Low Power Wide Area) network will be considered as set forth in the introductory part, for example a LoRa, SigFox or NB-IoT network. These networks have especially the characteristic of using narrow band (typically about one hundred Hz to about one hundred kHz) signals with a low rate to allow long-range (typically from one km to a few tens kms) communications.
The nodes of an LPWA network comprise, on the one hand, connected objects and, on the other hand, base stations. A connected object served by a base station exchanges with the same data packets on a transmission channel which is generally of the multi-path type.
In
The signal transmitted by a node is generically noted as sTX(t) and can be written as:
s
TX(t)=s0(tT(t))ej(2πf
s0 is the baseband signal, tT(1) is the time at the transmitter which generally differs from real time t because of a synchronisation fault of the local clock, ϕT is the phase at the origin of the transmission, f0 is the carrier frequency.
The signal received by the receiver node after transmission on the channel is given by:
s
RX(t)=sTX(t)*h(t) (2)
where the symbol * represents the convolution operation.
The transmission channel is supposed to include P paths, that is:
where αp, τp, p=0, . . . , P−1 are the attenuation coefficients and delays of the different paths respectively. The line of sight (LOS) path corresponds to the delay τ0 and the distance wanted between transmitter and receiver is given by d=cτ0 where c is the propagation speed of light.
The transfer function of the transmission channel is given by:
The signal received by the receiver node after translation into baseband can be written as:
s
BB(t)=sRX(t)e−j(2πf
where tR (t) is the time at the receiver which generally differs from real time t because of a synchronisation fault of the local clock, and nR is a term of noise supposed to be an additive white Gaussian noise.
If expressions (1), (2) and (5) are combined with each other, the baseband received signal is finally given by:
s
BB(t)=[s0(tT(t))ej(2πf
Each of the nodes 1 and 2 can transmit a signal sTX(t) and receive the signal transmitted by the other node. In the following, the transmission/reception parameters relating to the node 1 will be assigned index 1 and those relating to node 2 will be assigned index 2. Further, without loss of generality, the time reference will be conventionally taken as the local time of node 1, in other words:
t
T1(t)=tR1(t)=t (7-1)
and
t
T2(t)=tR2(t)=t+t0 (7-2)
where t0 is the time offset between node 2 and node 1. It is also assumed that the nodes have no carrier frequency offset and sampling offset, or that these offsets have been estimated and compensated for. With these conventions, the signal transmitted by node 1 and received by node 2, is written, after baseband translation:
s
BB
T1→R2(t)=[s0(t)ej(2πf
and, conversely, the signal transmitted by node 2 and received by node 1:
s
BB
T2→R1(t)=[s0(t)ej(2πf
In frequency representation, expressions (8-1) and (8-2) respectively become, if noise terms are disregarded:
S
BB
T1→R2(f)=S0(f)H(f+f0)e−j2πf
and
S
BB
T2→R1(f)=S0(f)H(f+f0)ej2πf
The transfer function of the transmission channel, after baseband translation is consequently, for a transmission from node 1 to node 2, which is the direction conventionally taken as the forward direction:
H
BB
T1→R2(f)=H(f+f0)e−j2πf
and, reversely, for a transmission from node 2 to node 1, a direction conventionally taken as the backward direction:
H
BB
T2→R1(f)=H(f+f0)ej2πf
These transfer functions take the following values at the zero frequency (baseband DC component):
HBBT1→R2(0) and HBBT2→R1(0) represent the complex value taken by the transfer function at the carrier frequency f0 of the transmission channel in the forward direction and in the backward direction respectively, in the absence of node synchronisations. They will be noted {tilde over (H)}A(f0) and {tilde over (H)}R(f0) respectively in the following.
When the nodes are not synchronised (t0 is not zero), which is generally the case, a transmission in either direction only does not enable the distance separating both nodes to be estimated because it is not possible to dissociate τ0 and t0 in expressions (11-1) and (11-2).
However, it is possible to dispense with the absence of synchronisation between nodes by performing a forward-backward transmission on the channel, the product of the values of the transfer functions at the carrier frequency f0 in the forward and backward directions giving:
{tilde over (H)}
AR(f0)={tilde over (H)}A(f0)·{tilde over (H)}R(f0)=H2(f0)ej[(ϕ
Transmission in the backward direction may not immediately succeed transmission in the forward direction. The only requirement here is that the time deviation between both forward and backward transmission time instants is lower than the coherence time of the channel.
Irrespective of whether the nodes are synchronised or not, the transfer function of the transmission channel, including baseband translation, is measured for a plurality M of carrier frequencies, preferably equally distributed on a virtual pass band with a width BWvirt=(M−1)Δf where Δf is the deviation between successive frequencies. The transmitter (or pair of transmitters in the case of a forward-backward transmission) performs transmissions at frequencies f0(m)=fref+mΔf, m=0, . . . , M−1 where fref is a predetermined reference frequency. The value taken by the forward or backward transfer function in the absence of synchronisation, that is the baseband DC component expressed by (11-1) or (11-2) when the carrier frequency takes the value f0(m)=fref+mΔf will be conventionally noted as {tilde over (H)}(m)={tilde over (H)}(f0(m)). Likewise, the value taken by the forward-backward transfer function expressed by (12) when the carrier frequency takes the value f0(m)=fref+mΔf will be conventionally noted as {tilde over (H)}AR(m)={tilde over (H)}AR(fm(0)).
In this example, scanning the virtual band with a width BWvirt is performed by frequency hops with a value Δf. The instantaneous bandwidth is noted as BWsym (typically from about one hundred Hz to about one hundred kHz as previously indicated). Transmission of each packet lasts for a time Tp, a guard time Tg being generally observed between a forward transmission and a backward transmission on the same propagation channel and a time Ts being observed to switch from one frequency to next one. The total scanning duration is consequently TMC=M(2Tp+Tg+Ts).
It will be noted that for the purpose of coherently combining the measurements at the different frequencies, the duration TMC will be advantageously chosen at the coherence time of the channel.
Carrier frequency scanning is not necessarily monotonic (increasing or decreasing) but can obey any order. In any case, at the end of scanning, a plurality of complex values characteristic of the forward-backward transfer function of the transmission channel between both nodes are available at a plurality M of frequencies.
In a first example, the complex values can be given by:
{tilde over (H)}
A(m) and {tilde over (H)}R(m), m=0, . . . ,M−1.
Originally, these complex values will be given by {tilde over (H)}AR(m), m=0, . . . , M−1.
The resolution on the distance measurement is then:
Δr=c/2BWvirt=c/2MΔf (13)
For M, a value equal to a power of 2 could be advantageously chosen so as to be able to obtain possibly the pulse response of the channel by IFFT.
Alternatively, the carrier frequency values will not be chosen as equally distributed but taking the values f0(k
Originally, the complex values characteristic of the forward-backward transfer function of the transmission channel at the different carrier frequencies are provided to an artificial neural network (NN). These complex values are provided to the NN network as pairs of real values, for example, according to a first alternative, as a real part and an imaginary part or, according to a second alternative, as a module and an argument.
Without loss of generality, it will be assumed in the following that the complex values are provided to the NN network according to the first alternative.
The values ({tilde over (H)}A(m)) and ({tilde over (H)}A(m)), m=0, . . . , M−1, on the one hand, and the values ({tilde over (H)}R(m)) and ({acute over (H)}R(m), m=0, . . . , M−1, on the other hand can be provided as inlet values to the input layer. The latter then includes 4M neurons.
However, advantageously, according to one embodiment of the present invention, the values ({tilde over (H)}AR(m)) and ({tilde over (H)}AR(m)), m=0, . . . , M−1 are provided as input values. The inlet layer thus only includes 2M neurons.
In any case, the input layer is followed by several hidden layers (deep neural network) and an output layer. The output layer provides an estimation of the distance separating both nodes (or equivalently the propagation time on the line of sight path between both nodes).
The neural network is supervisingly trained on a set of labelled input data, in other words on a training set {{({tilde over (H)}iAR(m)),({tilde over (H)}iAR(m))}m=0M−1,di}i=1N according to the embodiment of the invention, where N is the size of the training set and {{{tilde over (H)}iAR(m)}m=0M−1}i=1N represents a set of values of the forward-backward transfer function of a transmission channel between two nodes of an LPWA system.
The training set could consist of simulated channel instances or measured channel instances. Training could take place in batch form off-line, and be possibly completed by an on-line training to refresh the synaptic weights.
The neural network is parameterised by the set of synaptic weights weighting input connections of different neurons. This set of synaptic weights will be noted as θ and the prediction function performed by the neural network as fθ.
The set of synaptic weights is updated during the training (or learning) phase, by means of the stochastic gradient descent (SGD) algorithm or a mini-batch (data groups of the training set) gradient descent algorithm, so as to minimise the loss function:
Those skilled in the art will understand that other loss functions could be used without departing from the scope of the present invention.
The neurons of the different layers, except for the last layer, use an activation function to propagate their outputs, for example rectifier linear unit (ReLU), a leaky ReLU function or even a Softplus function, in a known manner per se.
This method includes a training phase, 310 and an operational phase, 320.
During the training phase, the set θ of synaptic weights is updated in 315 from labelled data, by means of the stochastic gradient algorithm. The labelled data can come from simulation results and be stored in a first database 311 and/or come from georeferenced real measurements, stored in a second database 312.
By simulation results, it is meant here instances of a channel model.
Regarding the measurements, they could have been performed by connected objects equipped with GNSS receiver modules that are georeferenced using their respective GPS positions.
Alternatively, when these connected objects are mobile, detecting their passage in the proximity of a known position point (base station for example) can also allow measurement georeferencing.
Other case of measurement georeferencing could be contemplated without departing from the scope of the present invention. In particular, when a connected object follows a known or predictable trajectory, its known or predicted position could enable the corresponding measurements to be geo-referenced.
Each labelled datum comprises a complex vector with a size 2M, {{tilde over (H)}iA(m),{tilde over (H)}iR(m)}m=0M−1 (that is a real vector with a size 4M) representing the values of the transfer function in the forward direction and in the backward direction of a transmission channel between two nodes of the LPWA network, for the M different carrier frequencies. The labelled datum will also comprise the corresponding tag, representing the distance di between these nodes (or the line of sight propagation time on this channel, di/c).
During the operational phase, a first node of the network successively transmits a narrow band signal on a plurality M of carrier frequencies, in 321, during a plurality of first transmission intervals as previously set out. According to one advantageous alternative embodiment, the successive carrier frequencies are spaced by a constant frequency deviation Δf. The signal can be transmitted as successive packets of pilot symbols.
The second node of the LPWA network receives the signals at the different carrier frequencies and demodulates them to baseband, in 322. The values of the forward transfer function at the different frequencies, {tilde over (H)}A(m), m=0, . . . , M−1, are obtained from the complex amplitude of the baseband DC components. For example, this complex amplitude could be obtained by averaging the DC components on an interval when it contains upon transmission a succession of identical pilot symbols. If the pilot symbols have been generated by multiplying a reference symbol with the successive elements of an orthogonal code, the baseband DC components will be multiplied with the elements of this code before averaging.
The same operation is performed by exchanging the roles of both nodes. More precisely, the second node successively transmits a narrow band signal on the different carrier frequencies in 321, the first node receives them and translates them into baseband in 322. As previously, the values of the backward transfer function, {tilde over (H)}R(m), m=0, . . . , M−1 are obtained from the baseband DC components, that is from the complex symbols obtained by baseband demodulation.
The 2M real values {{tilde over (H)}A(m),{tilde over (H)}R(m)}m=0M−1 (4M real values) are provided to the input layer of the trained neural network in 325. The latter calculates an estimation, {circumflex over (d)}, of the distance between both nodes. Equivalently, it can provide an estimation, {circumflex over (τ)}0, of the propagation time on the line of sight path.
The measurement method according to this embodiment includes a training phase, 410, and an operational phase, 420.
Advantageously, the neural network is trained on complex values of a forward-backward transfer function and not on pairs of complex values of a forward transfer function and a backward transfer function.
More precisely, each labelled datum will comprise a complex vector with a size M, {{tilde over (H)}iAR(m)}m=0M−1 (real vector with a size 2M) representing the values of the forward-backward transfer function of a transmission channel between two nodes of the LPWA network, for the M different carrier frequencies.
During the training phase, the set θ of synaptic weights is updated in 415 from labelled data, by means of the stochastic gradient algorithm. As previously, the labelled data can come from simulation results and be stored in a first data base 411 and/or come from georeferenced real measurements, stored in a second data base 412.
The operational phase 420 comprises a step of transmitting narrow band signals by node 1 (resp. 2), 421, as well as a step of receiving and baseband demodulating, 422, these signals by node 2 (resp. 1), 422. Steps 421 and 422 are identical to steps 321 and 332 of
Unlike
This calculation can be performed by one of the nodes, typically a base station, or even a remote server.
The M complex values {{tilde over (H)}AR(m)}m=0M−1 (2M real values) are provided to the input layer of the trained neural network in 425. The latter calculates an estimation, {circumflex over (d)}, of the distance between both nodes. Equivalently, it can provide an estimation, {circumflex over (τ)}0, of the propagation time on the line of sight path.
The embodiment is more compact than that of
The distance estimation method according to the invention enables the distance (the line of sight propagation time resp.) between both nodes to be provided with a good spatial (time resp.) resolution. The neural network enables this information inherently present in measurements to be extracted, without having to build a complex parametric model.
It should be also noted that the network can continue to supervisingly learn on line, after the prior learning phase. For example, if a measurement of the forward-backward transfer function between both georeferenced nodes is performed, the corresponding labelled datum can be used to update parameters of the neural network.
The IDFT method consisted in performing IDFT (inverse Discrete Fourier Transform) of the values of the forward transfer functions to obtain the pulse response of the transmission channel in the time domain, and then selecting the first path to determine the propagation time on the line of sight path and deducing the distance between nodes therefrom.
The M-DNN method according to the embodiment of the present invention used a neural network trained on a database generated by Monte-Carlo simulation on transmission channels having the characteristics given in Table 1 below.
indicates data missing or illegible when filed
The transmission channels are supposed to comprise a line of sight path (with an attenuation coefficient α0 and a propagation time τ0) as well as a non-line of sight path (with an attenuation coefficient α1 and a propagation time τ1). The signal to noise ratio upon reception has been noted as Es/N0. The number of simulations for each combination of the values of parameters of table I was 1500.
The number M of carrier frequencies was 16, with a frequency deviation Δf of 200 kHz corresponding to a virtual bandwidth (M−1)Δf of 3 MHz. The bandwidth of the signals transmitted to the different carrier frequencies was 10 kHz.
The neural network included 3 hidden layers, each comprising 128 neurons. The neurons of the different layers (except for the output layer) used the ReLU function as an activation function. The network learning has been made by means of a mini-batch gradient descent algorithm with 32 data samples, and the learning rate was α=10−3.
The figure shows that 90% of the estimation errors made by M-DNN the distance estimation method are lower than 45 m whereas 90% of the estimation errors made by the IDFT estimation method are only lower than 60 m.
The method for estimating the position of a node illustrated in
The method for estimating the position of the node resorts to a number N (N≥3 in a plane) of anchor nodes, that is network nodes the position of which is known or has been previously determined.
The node the position of which is to be determined, 610, transmits a narrow band signal on the plurality M of carrier frequencies successively. The transmitted signal is received by the plurality of anchor nodes and baseband demodulated, to estimate values of the forward transfer function of the transmission channel with each anchor node, at the frequencies in question.
Conversely, the anchor nodes (only two anchor nodes 620i and 620j have been represented) each transmit a narrow band signal on said plurality M of carrier frequencies. The anchor nodes can transmit in turn or simultaneously with distinct orthogonal codes. The node the position of which is to be determined performs baseband demodulation of each of these signals and determines the values of the backward transfer functions of the channel at the different frequencies.
The values of the forward transfer functions are multiplied (in 630i and 630j) with the values of the corresponding backward transfer functions, at the same carrier frequencies, to obtain complex values representative of the forward-backward transfer functions, {tilde over (H)}iAR(m), m=0, . . . , M−1, of all the transmission channels between the node, 610, and the anchor nodes within reach.
The complex value components representative of the forward-backward transfer functions are then transmitted as vectors (with a size 2M) to a previously trained neural network, 640, as described in connection with
The vectors in question can be sequentially multiplexed at the input of the neural network and the estimated distances are then demultiplexed at the output of the network.
Alternatively, a neural network with a size 2N·M operating together on all the vectors and providing an estimation of the N distances in parallel could be provided.
Further alternatively, each of the anchor nodes (for example the base stations) can hoist a previously trained neural network. This anchor node then calculates complex values representative of the forward-backward transfer function between the node of interest 610 and itself.
Whatever the contemplated alternative, distances thus estimated by the neural network(s) are provided to a position prediction module, 650, estimating the position p of the node of interest by means of an MMSE (Minimum Mean-Square Error) algorithm. More precisely, the position of the node of interest is estimated by minimising the cost function:
In other words:
Alternatively, position estimation can be integrated within the neural network itself as an output layer, the latter then using a linear activation function. To speed up training of the neural network, it could be splitted into two successive blocks (transfer learning), the first one being trained in a distance estimation as described in connection with
The method for estimating the position of a node illustrated in
Elements designated by references 710, 720i/j, 730i/j, 740 are identical to elements 610, 620i/j, 630i/j, 640 respectively and their description will be therefore not repeated here.
If the transmission channel between the node of interest 710 and the anchor node 720i is considered, the values of the forward transfer functions are multiplied in 730i with the values of the corresponding backward transfer functions, at the same carrier frequencies, to give an M-tuple of complex values, or equivalently a real vector with a size 2M, representative of the forward-backward transfer function of the transmission channel between the node of interest and the anchor node 720i.
The N vectors representative of the different transmission channels are provided, on the one hand, to a first artificial neural network 740, identical to the artificial neural network 640 and, on the other hand, to a second artificial neural network 745.
The first neural network provides estimation of distances between the point of interest and the anchor nodes. The same alternatives as those described in connection with
The second neural network 745, performs classification of each channel of the M-tuple of complex values representing the forward-backward transfer function of this channel. More precisely, the second neural network is configured to provide quality factors {circumflex over (π)}i, i=1, . . . , N. The quality factor {circumflex over (π)}i is defined as a score of belonging to LOS or NLOS category, in other words the probability that the transmission channel between nodes 710 and 720i belongs to either category. The neural network is previously trained on complex values representative of the forward-backward transfer functions, that is on M-tuples {{tilde over (H)}AR(m)}m=0m=M−1 obtained by measurement and/or simulation, each M-tuple being labelled by the LOS/NLOS type of the transmission channel in question. By simulation, it is meant here the draw for parameters of a predetermined model of a transmission channel.
The quality factors {circumflex over (π)}i, i=1, . . . , N, are provided with the corresponding distance estimations, {circumflex over (d)}i, to the position estimation module 750. This estimation module attempts to minimise a cost function, weighting the estimated distance deviation with the corresponding estimation quality factor:
where p is a vector defining the position of the node 710 in a given reference frame and pi, i=1, . . . , N are vectors defining the respective (known) positions of the anchor nodes 720i in the same reference frame, and N is the number of anchor nodes considered.
The estimated position is then that minimising the cost function:
Different alternatives could be contemplated by those skilled in the art without departing from the scope of the invention. In particular, instead of multiplexing the vectors representative of the forward-backward transfer functions at the input of the neural networks 740 and 745, neural networks 740i and 745i associated with each transmission channel could be provided.
The neural networks 740 and 745 (or 740i and 745i) could possibly be fused to be replaced with 2-output neural networks, a first output giving an estimation of the distance and a second output giving the quality factor.
In any case, the position estimation given by expressions (17) and (18) also generally allows a more accurate estimation than that given by expressions (15) and (16).
Number | Date | Country | Kind |
---|---|---|---|
19 10164 | Sep 2019 | FR | national |