METHOD AND DEVICE FOR ESTIMATING A CHANNEL, AND ASSOCIATED COMPUTER PROGRAM
20230188385 · 2023-06-15
Inventors
Cpc classification
International classification
Abstract
Disclosed is a device for estimating a channel for communication system, which includes: a construction module designed to construct, on the basis of a physical model, a set of vectors) associated with a plurality of values of at least one parameter; an initialization module designed to initialize, as a function of the constructed vectors), columns of weighting coefficients defining at least a part of an artificial neural network; an application module designed to apply, as an input to the part of the artificial neural network, a vector determined as a function of noisy values so as to produce as an output a vector including estimated values; and a module for updating the weighting coefficients of the part of the artificial neural network by a learning technique. An associated method and computer program are also described.
Claims
1. A method for estimating a channel in a communication system including a plurality of communication channels from a plurality of noisy values respectively representative of transmission through said communication channels, the method comprising: based on a physical model of the communication system having at least one parameter, constructing a set of vectors associated with a plurality of values of said at least one parameter, one of the vectors that is associated with a specific value of said at least one parameter comprising values respectively representative of the transmission through said communication channels according to said physical model for said specific value of said at least one parameter; initializing, as a function of the constructed set of vectors, columns of weighting coefficients defining at least a part of an artificial neural network, said part of the artificial neural network being configured to determine one of the columns of weighting coefficients that most correlated with an input vector received as an input of the artificial neural network and to produce as an output an output vector that is colinear with the most correlated column; determining the input vector as a function of said noisy values; applying, as an input of said part of the artificial neural network, the input vector to produce the output vector as an output of the artificial neural network, the output vector comprising estimated values respectively representative of the transmission through said communication channels; and updating the weighting coefficients of said part of the artificial neural network by a learning technique reducing a cost function that increases as a function of a distance between the input vector applied as the input of the artificial neural network and the output vector produced as the output of the artificial neural network.
2. The channel estimation method according to claim 1, further comprising successively applying the input vector as a successive input of said part of artificial neural network, and for each successive application of the input vector as the successive input, updating the weighting coefficients by said learning technique.
3. The channel estimation method according to claim 1, wherein, at the initializing, each of the columns of weighting coefficients is initialized with a vector product of a transform matrix for transformation from a domain of the communication channels to a dual angular domain, with one of the vectors of said set of vectors.
4. The channel estimation method according to claim 3, wherein the input vector applied as the input of the artificial neural network is obtained by normalizing an initial vector comprising said noisy values and multiplying the transform matrix by the normalized initial vector.
5. The channel estimation method according to claim 1, wherein, at the initializing, each of the columns of weighting coefficients is initialized with a respective vector of said constructed set of vectors, and wherein the input vector comprises said noisy values.
6. The channel estimation method according to claim 1, wherein the artificial neural network comprises at least another part configured to receive as an input another input vector obtained by a difference between the input vector applied as the input of said part of the artificial neural network and the output vector produced as the output of said part of the artificial neural network, the other part of the artificial neural network comprising columns of other weighting coefficients and being configured to determine the column of said other weighting coefficients that is most correlated with the other input vector received as an input of the other part of the artificial neural network and to produce another output vector that is colinear with the most correlated column of said other coefficients.
7. The channel estimation method according to claim 1, wherein said physical model is based on a plurality of parameters, and wherein the constructed set of vectors comprises vectors respectively associated with a plurality of distinct tuples of values of said parameters.
8. The channel estimation method according to claim 1, wherein the parameter is an angle with respect to an array of antennas of the communication system, and wherein the constructed set of vectors comprises at least one value representative of the transmission and obtained as a function of a value of said angle.
9. The channel estimation method according to claim 1, wherein said noisy values are obtained by receiving pilot sequences via the communication channels and processing of said received pilot sequences.
10. A channel estimation device for a communication system including a plurality of communication channels, the channel estimation device comprising: one or more processors configured to: construct, based on a physical model of the communication system having at least one parameter, a set of vectors associated with a plurality of values of said at least one parameter such that one of the vectors that is associated with a specific value of said at least one parameter comprises values respectively representative of transmission through said communication channels according to said physical model for said given specific value of said at least one parameter, initialize, as a function of the constructed set of vectors, columns of weighting coefficients defining a part at least a part of an artificial neural network, said part of the artificial neural network being configured to determine one of the columns of weighting coefficients that is most correlated with an input vector received at an input of the artificial neural network and to produce as an output an output vector that is colinear with the most correlated column, apply, as an input of said part of the artificial neural network, the input vector determined as a function of noisy values respectively representative of the transmission through said communication channels, to produce the output vector as an output of the artificial neural network, the output vector comprising estimated values respectively representative of the transmission through said communication channels, and update the weighting coefficients of said part of the artificial neural network by a learning technique reducing a cost function that increases as a function of a distance between the input vector applied as the input of the artificial neural network and the output vector produced as the output of the artificial neural network.
11. A non-transitory computer-readable medium on which is stored a computer program comprising instructions executable by a processor and configured to implement the method according to claim 1 when the instructions are executed by the processor.
12. The channel estimation method according to claim 2, wherein, at the initializing, each of the columns of weighting coefficients is initialized with a vector product of a transform matrix for transformation from a domain of the respective communication channels to a dual angular domain, with one of the vectors of said set of vectors.
13. The channel estimation method according to claim 2, wherein, at the initializing, each of the columns of weighting coefficients is initialized with a respective vector of said constructed set of vectors, and wherein the input vector comprises said noisy values.
14. The channel estimation method according to claim 2, wherein the artificial neural network comprises at least another part configured to receive as an input another input vector obtained by a difference between the input vector applied as the input of said part of the artificial neural network and the output vector produced as the output of said part of the artificial neural network, the other part of the artificial neural network comprising columns of other weighting coefficients and being configured to determine the column of said other weighting coefficients that is most correlated with the other input vector received as an input of the other part of the artificial neural network and to produce another output vector that is colinear with the most correlated column of said other coefficients.
15. The channel estimation method according to claim 2, wherein said physical model is based on a plurality of parameters, and wherein the constructed set of vectors comprises vectors respectively associated with a plurality of distinct tuples of values of said parameters.
16. The channel estimation method according to claim 2, wherein the parameter is an angle with respect to an array of antennas of the communication system, and wherein the constructed set of vectors comprises at least one value representative of the transmission and obtained as a function of a value of said angle.
17. The channel estimation method according to claim 2, wherein said noisy values are obtained by receiving pilot sequences via the communication channels and processing of said received pilot sequences.
Description
DETAILED DESCRIPTION OF THE INVENTION
[0032] Moreover, various other features of the invention will be apparent from the appended description made with reference to the drawings that illustrate non-limiting embodiments of the invention, and wherein:
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040] This communication system comprises a communication unit 2 and an electronic device 4.
[0041] The communication unit 2 comprises a control unit 6 and a plurality of antennas A.sub.1, A.sub.i, A.sub.j, A.sub.N forming an array of antennas 8 of centroid O. The number of antennas A.sub.1, A.sub.i, A.sub.j, A.sub.N of the array of antennas 8 is here equal to N.
[0042] The control unit 6 is connected to each of the antennas A.sub.1, A.sub.i, A.sub.j, A.sub.N in such a way as to receive signals representative of electromagnetic signals received by each of the antennas A.sub.1, A.sub.i, A.sub.j, A.sub.N. The control unit 6 can also control the transmission of electromagnetic signals by each of the antennas A.sub.1, A.sub.i, A.sub.j, A.sub.N.
[0043] The electronic device 4 includes an antenna B, by means of which the electronic device 4 can transmit electromagnetic signals (towards in particular the communication unit 2), in particular pilot sequences as described hereinafter.
[0044] The communication system could comprise other electronic devices provided with at least one antenna and hence capable of exchanging electromagnetic signals with the communication unit 2. We are in this case in a situation of the type MU-MIMO (“Multi User—Multiple-Input Multiple-Output”) system. A single electronic device 4 is however shown in
[0045] In practice, the communication unit 2 is for example a base station of a mobile phone network. The electronic device 4 is then for example in this case a mobile terminal.
[0046] The communication system of
[0047]
[0048] Each of the different modules described hereinafter is for example made by means of computer program instructions adapted to implement the concern module when these instructions are executed by a processor of the control unit 6.
[0049] The channel estimation device comprises a construction module 10 that uses a physical model of the communication system having at least one parameter.
[0050] This physical model here models the transmission of the electromagnetic signals from the antenna B of the electronic device 4 to the array of antennas 8 by a plane wave propagated (in direct line) along a direction connecting the antenna B and the centroid O, or direction of arrival, directed according to a unit vector u.
[0051] It is moreover considered that the array of antennas 8 is a Uniform Linear Array (ULA).
[0052] The construction module 10 can thus determine, based on this physical model, values respectively representative of the transmission through the communication channels C.sub.1, C.sub.i, C.sub.j, C.sub.N.
[0053] In the case of the above-contemplated model, the transmission through each channel C.sub.i can be represented by the channel value c.sub.i defined as follows:
[0054] where g.sub.i is the complex gain of the antenna A.sub.i, λ is the wavelength of the electromagnetic wave used, a.sub.i is the vector designating the position of the antenna A with respect to the centroid O, (a.sub.i).sub.y is the component of the vector a.sub.i along the y-axis (vertical axis in
[0055] In the case of the uniform linear array contemplated herein, we have: g.sub.i=1 for i from 1 to N, and the azimuth angle θ is thus used as a parameter of the physical model.
[0056] Based on this physical model, the construction module 10 can construct a set of vectors e(θ) respectively associated with a plurality of values of the parameter, a vector e(θ) associated with a given value θ comprising the values c.sub.i(θ) respectively representative of the transmission through said communication channels C.sub.i according to said physical model for this given value θ of the parameter: e(θ)=(c.sub.1(θ), c.sub.i(θ), c.sub.j(θ), . . . , c.sub.N(θ)).sup.T, where.sup.T is the transpose operator. Thereafter, L denotes the number of different values considered for the parameter (or, when several parameters are used, the number of tuples of values considered). This number L thus also corresponds to the number of vectors e(θ) in the set of vectors. The number L is for example comprised between 10.N and 100.N vectors (N being as hereinabove the number of antennas of the array of antennas 8) or, in practice, between 500 an 10,000.
[0057] The channel estimation device also comprises an initialization module 12 adapted to initialize weighting coefficients (or weights) of an artificial neural network 20 as a function of the vectors e(θ) constructed by the construction module.
[0058] More precisely, the artificial neural network 20 is partly defined by columns w.sub.i of weighting coefficients, and each column w.sub.i of weighting coefficients is initialized based on a constructed vector e(θ) (associated with a particular value θ of the parameter of the physical model, as already indicated). Different possibilities for the initialization of a column w.sub.i of weighting coefficients based on a constructed vector e(θ) are described in the following.
[0059] The channel estimation device 20 also comprises the just-mentioned artificial neural network 20.
[0060] This artificial neural network 20 (or a part at least of the latter in certain possible alternatives, as described hereinafter with reference to
y=argmax.sub.wi|w.sub.i.sup.Hx|
ĥ=yy.sup.Hx
[0061] where .sup.H is the “conjugate transpose” operator and |z| is the module of the complex number z (by equating the column w.sub.i of weighting coefficients to the vector formed of the elements of this column w.sub.i).
[0062] For that purpose, the artificial neural network 20 is for example a k-sparse autoencoder as described in the article “K-sparse autoencoders”, by A. Makhzani and B.Frey, arXiv preprint, arXiv:1312.5663, 2013, here with a sparse parameter k equal to 1.
[0063]
[0064] In this figure, W represents a matrix formed by the columns w.sub.i of weighting coefficients (W∈.sup.N×L).
[0065] The artificial neural network 20 here includes a first layer 22 that applies to the vector x received as an input of the artificial neural network 20 a multiplication (on the left) by the matrix W.sup.H. In other words, the first layer 22 produces as an output the vector (with L elements): W.sup.Hx.
[0066] According to a possible embodiment of the artificial neural network 20, the first layer 22 can further add (to the result of the multiplication by the matrix W.sup.H) a vector b.sub.1 having L elements. In this case, the first layer 22 produces as an output the vector (with L elements): W.sup.Hx+b.sub.1. In practice, the vector b.sub.1 is for example initialized (here by the initialization module 12) by setting all the elements thereof at 0 (null value); the elements of the vector b.sub.1 are then liable to evolve during phases of learning by the updating module 16, as described hereinafter.
[0067] The artificial neural network 20 further includes a second layer 24 that keeps only the element (or coefficient) of largest modulus in the vector received from the first layer 22 (that is to say in the vector W.sup.Hx) and cancels all the other elements of this same vector. The operator implemented in this second layer 24 is generally called HT.sub.1 (for “Hard Thresholding” with sparse 1).
[0068] The second layer 24 thus produces as an output a vector v having L elements with L−1 null elements and one element corresponding to the element of maximum module in the vector received from the first layer 22.
[0069] The artificial neural network 20 finally includes a third layer 26 that applies to the vector v received from the second layer 24 a multiplication (on the left) by the matrix W. In other words, the third layer 26 produces as an output the vector Wv.
[0070] In the example described herein, the output of the third layer 26 corresponds to the output of the artificial neural network 20 and thus: ĥ=Wv.
[0071] According to a possible embodiment of the artificial neural network 20, the third layer 26 can further add (to the result of the multiplication by the matrix W) a vector b.sub.2 having N elements. In this case, the third layer 26 produces as an output the vector (having N elements): Wv+b.sub.2. In practice, the vector b.sub.2 is for example initialized (here by the initialization module 12) by setting all the elements thereof at 0 (null value); the elements of the vector b.sub.2 are then liable to evolve during phases of learning by the updating module 16, as described hereinafter.
[0072] To sum up, based on a vector x received as an input, the artificial neural network 20 here produces as an output the vector ĥ=WHT.sub.1(W.sup.Hx) (which is an expression of ĥ equivalent to that given hereinabove).
[0073] For the practical implementation of this artificial neural network 20 in a calculator (for example, a computer) handling only real values, the above-mentioned complex-value vectors may be transformed into real-value vectors comprising two elements (real part and imaginary part) for each element of the concerned complex-value vector. Likewise, the real representation will be used for the matrices. Reference may for example be made for that purpose to the article “The complex backpropagation algorithm”, by Leung, H. and Haykin, S. in IEEE Transactions on signal processing, 39(9), 2101-2104 (1991).
[0074] The channel estimation device further comprises an application module 14 adapted to apply, as an input of the artificial neural network 20, a vector x determined as a function of noisy values respectively representative of the transmission through the different communication channels C.sub.i, C.sub.i, C.sub.j, C.sub.N. As explained hereinafter, these noisy values are for example obtained by receipt and processing of at least one pilot sequence transmitted by the electronic device 4.
[0075] The artificial neural network 20 then produces as an output the vector h that thus comprises estimated values respectively representative of the transmission through the communication channels C.sub.i, C.sub.i, C.sub.j, C.sub.N.
[0076] The channel estimation device finally comprises a module for updating 16 the weighting coefficients (that is to say the elements of the columns w.sub.i of weighting coefficients, or also the coefficients of the matrix W) by a learning technique reducing a cost function f that increases as a function a distance d between the vector x applied as an input of the artificial neural network 20 and the vector ĥ produced as an output of the artificial neural network 20. If vectors b.sub.1 and/or b.sub.2 are used within the artificial neural network 20 as mentioned hereinabove, the elements of these vectors b.sub.1, b.sub.2 can be simultaneously updated by the updating module 16 by this learning technique.
[0077] The distance d=∥x−ĥ∥.sub.2 is for example used, where ∥z∥.sub.2 is the norm 2 (or Euclidean norm) of the vector z:
[0078] with z=(z.sub.1, . . . , z.sub.i, . . . , z.sub.N).sup.T.
[0079] The cost function f is for example f(d)=0.5.d.sup.2.
[0080] The learning technique makes it possible to modify the coefficients (or weights) of the artificial neural network 20, that is to say, here, in practice, the coefficients of the matrix W, in order to reduce the cost function f(d). This is thus an optimization technique. A so-called “mini-batch gradient descent” technique as that described in the article “Large-scale machine learning with stochastic gradient descent”, by L. Bottou, in Proceedings of COMPSTAT′2010, Springer 2010, pp. 177-186, may for example be used.
[0081]
[0082] This method starts with a step E2 of constructing a set of vectors e(θ) respectively associated with a plurality of values θ of the parameter based on the physical model of the communication system using this parameter.
[0083] As already indicated, a vector e(θ) associated with a given value θ of the parameter comprises values c.sub.1 (θ), c.sub.i(θ), c.sub.j(θ), c.sub.N(θ) respectively representative of the transmission through the communication channels C.sub.i, C.sub.i, C.sub.j, C.sub.N, said representative values c.sub.1(θ), c.sub.i(θ), c.sub.j(θ), c.sub.N(θ) being calculated according to the physical model for the given value θ of the parameter.
[0084] When the physical model uses several parameters, the set of vectors comprises vectors associated with a plurality of distinct tuples of values of these parameters, each vector comprising here again values respectively representative of the transmission through the communication channels C.sub.1, C.sub.i, C.sub.j, C.sub.N, which are calculated according to the physical model for a given tuple of values of the parameters.
[0085] The construction step E2 is here implemented by the construction module 10.
[0086] The method continues with a step E4 of initializing, as a function of the vectors e(θ) constructed at step E2, the columns w.sub.i of weighting coefficients defining in part the artificial neural network 20 (these columns w.sub.i of weighting coefficients here corresponding to the columns of the matrix W of the artificial neural network 20). Step E4 is here implemented by the initialization module 12.
[0087] According to a first embodiment, each column w.sub.i is initialized by means of a vector e(θ.sub.i) of the set of constructed vectors (this vector e(θ.sub.i) being associated with a particular value θ.sub.i of the parameter of the physical model).
[0088] According to a second embodiment, each vector e(θ) of the set of constructed vectors is transposed in the dual angular domain before initialization of a column w.sub.i of weighting coefficients.
[0089] In each case, each column w.sub.i is initialized by means of the vector Fe(θ.sub.i), where e(θ.sub.i) is a vector of the set of constructed vectors associated with a particular value θ.sub.i of the parameter of the physical model and F is a matrix of transformation from the communication channel domain (that is to say the antenna domain) to the dual angular domain (F ∈.sup.N×N). In other words, the matrix F makes it possible to transform a vector comprising values respectively representative of the transmission via the different antennas A.sub.1, A.sub.i, A.sub.j, A.sub.N of the array of antennas 8 (that is to say through the different communication channels C.sub.1, C.sub.i, C.sub.j, C.sub.N) into a vector comprising values respectively representative of the transmission for different angles with respect to the array of antennas 8.
[0090] In the present case in which the array of antennas 8 is a uniform linear array, the matrix F is a discrete Fourier transform matrix, or Vandermonde-Fourier matrix. The matrix F indeed corresponds herein to a base of steering vectors associated with the array of antennas 8. A coefficient f.sub.p,q in line p and column q in the matrix F is thus herein equal to:
[0091] In the case where the artificial neural network 20 uses vectors b.sub.1 and/or b.sub.2 as mentioned hereinabove, these vectors b.sub.1, b.sub.2 are each initialized at step E4, for example by setting their elements to the value 0 (null value).
[0092] The just-described steps E2 and E4 can in practice be implemented once, for example at the initialization or at the starting of the communication unit 6.
[0093] The following steps are on the contrary repeated and allow the progressive evolution of the artificial neural network 20, as described hereinafter.
[0094] The method thus continues with a step E6 of receiving a pilot sequence from the electronic device 4. When the communication system comprises several electronic devices (such as the electronic device 4) as contemplated hereinabove, several pilot sequences orthogonal to each other can be transmitted simultaneously to the communication unit 2, the communication unit 2 being then able to separate the different pilot sequences received within the received signals (thanks to the above-mentioned orthogonal nature) and to process separately each pilot sequence received as described now for a pilot sequence.
[0095] The pilot sequence is received by the communication unit 2 via each of the antennas A.sub.1, A.sub.i, A.sub.j, A.sub.N of the array of antennas 8 in such a way that the control unit 6 can determine at step E8 noisy values ξ.sub.1, ξ.sub.i, ξ.sub.j, ξ.sub.N respectively representative of the transmission through the different communication channels C.sub.1, C.sub.i, C.sub.j, C.sub.N (the determination of a noisy value ξ.sub.i representative of the transmission through a communication channel C.sub.i being made by processing of the pilot sequence received via the antenna A.sub.i defining this communication channel C.sub.i).
[0096] The method then continues with a step E10 of applying, as an input of the artificial neural network 20, a vector x determined as a function of the noisy function ξ.sub.1, ξ.sub.i, ξ.sub.j, ξ.sub.N. This step E10 is here implemented by the application module 14.
[0097] According to the first embodiment contemplated (already mentioned hereinabove), the vector x is formed of said noisy values ξ.sub.1, ξ.sub.i, ξ.sub.j, ξ.sub.N (that is to say that each coefficient or element xi of the vector x is one of the noisy values ξ.sub.1, ξ.sub.i, ξ.sub.j, ξ.sub.N) We have for example in this case: x.sub.i=ξ.sub.i.
[0098] According to the second embodiment contemplated (already mentioned hereinabove), the vector x is obtained by normalization and application of a transformation of the noisy values ξ.sub.1, ξ.sub.i, ξ.sub.j, ξ.sub.N respectively associated with the antennas A.sub.1, A.sub.i, A.sub.j, A.sub.N of the array of antennas 8 in the dual angular domain (by multiplication by the already-mentioned transform matrix F). In other words:
[0099] where F is the already-mentioned transform matrix.
[0100] The artificial neural network 20 then produces as an output, at step E12, a vector ĥ comprising the searched estimated values, respectively representative of the transmission through the communication channels C.sub.1, C.sub.i, C.sub.j, C.sub.N.
[0101] These estimated values can be used by the communication unit 6 to configure circuits for processing the electromagnetic signals received by the antennas A.sub.1, A.sub.i, A.sub.j, A.sub.N of the array of antennas 8 (these processing circuits being included in the communication unit 6 but not shown so as to simplify the disclosure). These estimated values can also be estimated to configure pre-encoders adapted to perform a pre-encoding of the electromagnetic signals to be transmitted by means of the antennas A.sub.i, A.sub.i, A.sub.i, A.sub.N of the array of antennas 8 (when these antennas also operate in transmission as mentioned hereinabove).
[0102] It can be observed that, in the second contemplated embodiment (mentioned hereinabove), the transformation from the antenna domain to the dual angular domain (that is to say the multiplication by the matrix F) is performed in the initialization step E4 and in the application step E10, so that we effectively find as an output of the artificial neural network 20 the searched estimation h (due to the fact that F.sup.HF=Id, where Id is the identity matrix), without having to proceed to an inverse transformation.
[0103] The method then comprises a step E14 of updating the weighting coefficients of the artificial neural network 20 (that is to say the elements of the matrix W) by means of a learning technique making it possible to reduce the cost function f that, as already indicated, increases as a function of the distance d between the vector x applied as an input of the artificial neural network 20 and the vector ĥ produced as an output of the artificial neural network 20. This is thus a step of optimizing the coefficients (or elements) of the matrix W in such a way that the cost function f decreases.
[0104] As already indicated, when the vectors b.sub.1 and/or b.sub.2 are used within the artificial neural network 20, the elements of these vectors b.sub.1, b.sub.2 can be simultaneously updated during step E14.
[0105] This step E14 is here implemented by the updating module 16.
[0106] The artificial neural network 20 (that is to say in practice the matrix W) will thus give a refined estimation of the values representatives of the transmission through the communication channels C.sub.1, C.sub.i, C.sub.j, C.sub.N during futures applications of a vector x as an input of the artificial neural network 20.
[0107] The method can indeed loop to step E6 as shown in
[0108]
[0109] This alternative is based on the taking into account of several paths (here K paths) for the different communication channels C.sub.1, C.sub.i, C.sub.j, C.sub.N in such a way that the vector comprising the values representatives of the transmission through the different communication channels C.sub.1, C.sub.i, C.sub.j, C.sub.N can be written:
[0110] where β.sub.k and θ.sub.k are respectively a gain and an azimuth angle associated with a particular path.
[0111] Reference may be made for example for that purpose to the article “Matching pursuits with time-frequency dictionaries”, by S. Mallat and Z. Zhang, in IEEE Transactions on Signal Processing, vol. 41, n °12, pp. 3397-3415, dec. 1993.
[0112] As can be seen in
[0113] Each part P.sub.k of the artificial neural network comprises columns of weighting coefficients and is configured to determine (among these columns of weighting coefficients) the column of weighting coefficients that is the best correlated with a vector r.sub.k−1 received as an input of this part P.sub.k of the artificial neural network and to produce a vector that is colinear with the best correlated column.
[0114] For that purpose, each part P.sub.k of the artificial neural network has a structure of the same type as that of
[0115] Each part P.sub.k hence comprises here: [0116] a first layer 32 designed to apply to the vector r.sub.k−1 received as an input of the part P.sub.k a multiplication (on the left) by the matrix W.sup.H (this first layer 32 hence being in the present example identical to the first layer 22 described hereinabove); [0117] a second layer 34 designed to keep only the element (or coefficient) of greatest module in the vector received from the first layer 32 (that is to say the vector W.sup.Hr.sub.k−1) and to cancel all the other elements of this same vector (this second layer 34 hence being in the present example identical to the second layer 24 described hereinabove); [0118] a third layer 36 designed to apply to the vector received from the second layer 34 a multiplication (on the left) by the matrix W and to thus produce as an output a vector that is colinear with the column of weighting coefficients that is the best correlated with the vector r.sub.k−1 received as an input of the part P.sub.k (this third layer 36 hence being in the present example identical to the third layer 26 described hereinabove).
[0119] The first, second and third layers 32, 34, 36 being here respectively identical to the first, second and third layers 22, 24, 26 described hereinabove with reference to
[0120] Each part P.sub.k of the artificial neural network is moreover designed to produce as an output a vector r.sub.k equal to the difference between the vector r.sub.k−1 received as an input of the concerned part P.sub.k and the above-mentioned colinear vector (produced as an output of the third layer 36), here thanks to a combination element 38 visible in
[0121] As can be seen in
[0122] Each vector r.sub.k produced as an output of a part P.sub.k of the artificial neural network is moreover applied as an input of the following part P.sub.k+1 (for k from 1 to K−1).
[0123] Finally, the vector r.sub.k produced as an output of the (last) part P.sub.K of the artificial neural network is subtracted from the vector x received as an input of the artificial neural network (here by means of a combination element 40) in such a way as to obtain the vector ĥ comprising the estimated values respectively representative of the transmission through the communication channels C.sub.1, C.sub.i, C.sub.j, C.sub.N. In other words, we have: ĥ=x−r.sub.k.
[0124] In the different embodiments described hereinabove, the invention makes it possible to obtain a channel estimation in accordance with the physical model from the beginning of the operation of the channel estimation device, then a channel estimation closer and closer to the real system thanks to the learning of the artificial neural network 20.
[0125] The invention hence first allows correcting a physical model (necessarily imperfect), whether the imperfection is due to simplifying assumptions or to a partial knowledge of the system of antennas (position and gain of the antennas, directivity of the antennas, coupling between antennas, etc.).
[0126] The invention also allows adapting the estimation processing performed by the communication unit (here, a base station) to changes in the distribution of the channels (here in the concerned cell of the mobile phone network). For example, if the cell environment changes, due to the fact that a new building is being constructed, that trees are losing their leaves or that a bus is parked in the close environment of the base station, then the coefficients of the artificial neural network will be adapted automatically and in real time to these changes.
[0127] The invention moreover allows detecting and correcting the potential damages of the communication unit (here of the base station). For example, if during the intervention of a technician or due to bad weather, one or several antennas see their gain changed (or even cancelled, in which case the concerned antennas are out of service), then the value of the cost function used by the artificial neural network will suddenly increase, which will allow detecting the incident, then the incremental learning will allow an automatic correction of the coefficients of the artificial neural network to adapt to this new configuration.
[0128] The invention has finally an indirect interest for antenna builders. Indeed, knowing in advance that the communication unit (for example, a base station) will be able to correct itself a physical model allows relaxing the accuracy constraints when building the antennas. It is no longer needed to calibrate accurately the positions and gains of the antennas a priori because this may be made a posteriori at the time of use of the antennas by the communication unit (here the base station), which performs a sort of self-calibration of its antenna system.