Brevet FR3109682A1 — publié le 20211029

Un dispositif d’estimation de canal pour un système de communication comprend : - un module de construction (10) conçu pour construire, sur la base d’un modèle physique, un ensemble de vecteurs ( e (θ)) associés à une pluralité de valeurs d’au moins un paramètre ; - un module d’initialisation (12) conçu pour initialiser, en fonction des vecteurs construits ( e (θ)), des colonnes de coefficients de pondération définissant une partie au moins d’un réseau de neurones artificiels (20) ; - un module d’application (14) conçu pour appliquer, en entrée de ladite partie du réseau de neurones artificiels (20), un vecteur ( x ) déterminé en fonction de valeurs bruitées de manière à produire en sortie un vecteur ( ĥ ) comprenant des valeurs estimées ; - un module de mise à jour (16) des coefficients de pondération de ladite partie du réseau de neurones artificiels (20) par une technique d’apprentissage. Un procédé et un programme d’ordinateur associés sont également décrits. Figure pour l’abrégé : 2 Procédé et dispositif d’estimation de canal, et programme d’ordinateur associé Domaine technique de l'invention La présente invention concerne le domaine technique des télécommunications. Elle concerne en particulier un procédé et un dispositif d’estimation de canal, ainsi qu’un programme d’ordinateur associé. Etat de la technique Afin d’optimiser la transmission de données dans un système de communication, il est connu de mettre en œuvre un procédé d’estimation de canal visant à avoir une meilleure connaissance de l’état courant des canaux de communication utilisés par le système de communication. Pour ce faire, on émet par exemple des séquences pilotes dans les différents canaux de communication. Après réception, ces séquences pilotes peuvent être traitées de manière à en déduire des valeurs respectivement représentatives de la transmission à travers les canaux de communication. L’article " Deep Learning-based Channel Estimation for Beamspace mmWave Massive MIMO Systems ”, de Hengtao He, Chao-Kai Wen, Shi Jin et Geoffrey Ye Li, in IEEE Wireless Communication Letters, vol. 7, n° 5, pp. 852-855, 2018 propose à ce sujet d’utiliser des techniques d’apprentissage profond (en anglais " deep learning ") pour l’estimation de canal d’un système de communication de type MIMO (pour " Multiple-Input Multiple-Output "). Présentation de l'invention Dans ce contexte, la présente invention propose un procédé d’estimation de canal dans un système de communication comprenant une pluralité de canaux de communication, à partir d’une pluralité de valeurs bruitées respectivement représentatives de la transmission à travers lesdits canaux de communication, comprenant les étapes suivantes : - sur la base d’un modèle physique du système de communication à au moins un paramètre, construction d’un ensemble de vecteurs associés à une pluralité de valeurs dudit au moins un paramètre, un vecteur associé à une valeur donnée dudit au moins un paramètre comprenant des valeurs respectivement représentatives de la transmission à travers lesdits canaux de communication selon ledit modèle physique pour ladite valeur donnée dudit au moins un paramètre ; - initialisation, en fonction des vecteurs construits, de colonnes de coefficients de pondération définissant une partie au moins d’un réseau de neurones artificiels, ladite partie du réseau de neurones artificiels étant configurée pour déterminer la colonne de coefficients de pondération la mieux corrélée avec un vecteur reçu en entrée du réseau de neurones artificiels et pour produire en sortie un vecteur colinéaire à la colonne la mieux corrélée ; - application, en entrée de ladite partie du réseau de neurones artificiels, d’un vecteur déterminé en fonction desdites valeurs bruitées de manière à produire en sortie du réseau de neurones artificiels un vecteur comprenant des valeurs estimées respectivement représentatives de la transmission à travers lesdits canaux de communication ; - mise à jour des coefficients de pondération de ladite partie du réseau de neurones artificiels par une technique d’apprentissage diminuant une fonction de coût croissante en fonction d’une distance entre le vecteur appliqué en entrée du réseau de neurones artificiels et le vecteur produit en sortie du réseau de neurones artificiels. L’utilisation d’un réseau de neurones artificiels dont les coefficients de pondération (ou poids) sont définis au moyen d’un modèle physique du système de communication permet d’obtenir une estimation de canal satisfaisante même sans phase d’apprentissage préalable. La mise à jour des coefficients de pondération au cours du fonctionnement permet en outre d’améliorer progressivement l’estimation réalisée. D’autres caractéristiques non limitatives et avantageuses du procédé conforme à l’invention, prises individuellement ou selon toutes les combinaisons techniquement possibles, sont les suivantes : - le procédé comprend une pluralité d’étapes successives d’application de vecteur en entrée de ladite partie de réseau de neurones artificiels et, pour chaque étape successive d’application, une étape correspondante de mise à jour des coefficients de pondération par ladite technique d’apprentissage ; - à l’étape d’initialisation, chaque colonne de coefficients de pondération est initialisée avec un vecteur produit d’une matrice de transformation d’un domaine des canaux de communication (ou domaine défini par des antennes du système de communication) à un domaine angulaire dual, et d’un vecteur dudit ensemble ; - le vecteur appliqué en entrée est obtenu par normalisation d’un vecteur comprenant lesdites valeurs bruitées et multiplication de la matrice de transformation par le vecteur normalisé ; - à l’étape d’initialisation, chaque colonne de coefficients de pondération est initialisée avec un vecteur dudit ensemble et/ou le vecteur appliqué en entrée comprend lesdites valeurs bruitées ; - le réseau de neurones artificiels comprend au moins une autre partie configurée pour recevoir en entrée un vecteur obtenu par différence entre le vecteur appliqué en entrée de ladite partie du réseau de neurones artificiels et le vecteur produit en sortie de ladite partie du réseau de neurones artificiels ; - cette autre partie du réseau de neurones artificiels comprend des colonnes d’autres coefficients de pondération et étant configurée pour déterminer la colonne desdits autres coefficients de pondération la mieux corrélée avec le vecteur reçu en entrée de cette autre partie du réseau de neurones artificiels et pour produire un vecteur colinéaire à la colonne desdits autres coefficients la mieux corrélée ; - ledit modèle physique est basé sur une pluralité de paramètres ; - l’ensemble de vecteurs construits comprend des vecteurs respectivement associés à une pluralité de multiplets distincts de valeurs desdits paramètres ; - le paramètre est un angle relativement à un réseau d’antennes du système de communication ; - les vecteurs construits comprennent au moins une valeur représentative de la transmission et obtenue en fonction d’une valeur dudit angle ; - lesdites valeurs bruitées sont obtenues par réception de séquences pilotes via les canaux de communication et traitement desdites séquences pilotes reçues. L’invention propose également un dispositif d’estimation de canal pour un système de communication comprenant une pluralité de canaux de communication, comprenant : - un module de construction conçu pour construire, sur la base d’un modèle physique du système de communication à au moins un paramètre, un ensemble de vecteurs associés à une pluralité de valeurs dudit au moins un paramètre de telle sorte qu’un vecteur associé à une valeur donnée dudit au moins un paramètre comprenne des valeurs respectivement représentatives de la transmission à travers lesdits canaux de communication selon ledit modèle physique pour ladite valeur donnée dudit au moins un paramètre ; - un module d’initialisation conçu pour initialiser, en fonction des vecteurs construits, des colonnes de coefficients de pondération définissant une partie au moins d’un réseau de neurones artificiels, ladite partie du réseau de neurones artificiels étant configurée pour déterminer la colonne de coefficients de pondération la mieux corrélée avec un vecteur reçu en entrée du réseau de neurones artificiels et pour produire en sortie un vecteur colinéaire à la colonne la mieux corrélée ; - un module d’application conçu pour appliquer, en entrée de ladite partie du réseau de neurones artificiels, un vecteur déterminé en fonction de valeurs bruitées respectivement représentatives de la transmission à travers lesdits canaux de communication, de manière à produire en sortie du réseau de neurones artificiels un vecteur comprenant des valeurs estimées respectivement représentatives de la transmission à travers lesdits canaux de communication ; - un module de mise à jour des coefficients de pondération de ladite partie du réseau de neurones artificiels par une technique d’apprentissage diminuant une fonction de coût croissante en fonction d’une distance entre le vecteur appliqué en entrée du réseau de neurones artificiels et le vecteur produit en sortie du réseau de neurones artificiels. Ce dispositif d’estimation de canal est par exemple inclus dans une unité de communication telle qu’une station de base d’un réseau de téléphonie mobile, comme décrit dans la suite. L’invention propose enfin un programme d’ordinateur comprenant des instructions exécutables par un processeur (par exemple un processeur de l’unité de communication susmentionnée) et conçues pour mettre en œuvre un procédé tel que proposé ci-dessus lorsque ces instructions sont exécutées par le processeur. Bien entendu, les différentes caractéristiques, variantes et formes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres. Description détaillée de l'invention De plus, diverses autres caractéristiques de l'invention ressortent de la description annexée effectuée en référence aux dessins qui illustrent des formes, non limitatives, de réalisation de l'invention et où : représente schématiquement un système de communication ; illustre sous forme fonctionnelle un dispositif d’estimation de canal selon un exemple de mise en œuvre de l’invention ; représente schématiquement un réseau de neurones artificiels utilisable dans le dispositif d’estimation de canal de la figure 2 ; est un logigramme représentant un exemple de procédé d’estimation de canal conforme à l’invention ; représente schématiquement une variante envisageable pour le réseau de neurones artificiels susmentionné ; et représente de manière détaillée une partie du réseau de neurones artificiels de la figure 5. La figure 1 représente schématiquement un système de communication dans lequel peut être mise en œuvre l’invention. Ce système de communication comprend une unité de communication 2 et un dispositif électronique 4. L’unité de communication 2 comprend une unité de commande 6 et une pluralité d’antennes A 1 , A i , A j , A N formant un réseau d’antennes 8 de centre de masse (en anglais : " centroid ") O. Le nombre d’antennes A 1 , A i , A j , A N du réseau d’antennes 8 est ici égal à N. L’unité de commande 6 est reliée à chacune des antennes A 1 , A i , A j , A N de manière à recevoir des signaux représentatifs de signaux électromagnétiques reçus par chacune des antennes A 1 , A i , A j , A N . L’unité de commande 6 peut également commander l’émission de signaux électromagnétiques par chacune des antennes A 1 , A i , A j , A N . Le dispositif électronique 4 comporte une antenne B, au moyen de laquelle le dispositif électronique 4 peut émettre des signaux électromagnétiques (à destination notamment de l’unité de communication 2), notamment des séquences pilotes comme décrit plus loin. Le système de communication pourrait comprendre d’autres dispositifs électroniques munis d’au moins une antenne et ainsi aptes à échanger des signaux électromagnétiques avec l’unité de communication 2. On se retrouve dans ce cas dans une situation de type système MU-MIMO (pour " Multi User – Multiple-Input Multiple-Output "). Un seul dispositif électronique 4 est toutefois représenté en figure 1 pour simplifier le présent exposé. En pratique, l’unité de communication 2 est par exemple une station de base d’un réseau de téléphonie mobile. Le dispositif électronique 4 est alors par exemple dans ce cas un terminal mobile. Le système de communication de la figure 1 comprend une pluralité de canaux de communication C 1 , C i , C j , C N , ici entre chacune des antennes A 1 , A i , A j , A N de l’unité de communication 2 et l’antenne B du dispositif électronique 4. La figure 2 représente sous forme fonctionnelle une partie de l’unité de commande 6 qui forme un dispositif d’estimation de canal conforme à un exemple de mise en œuvre de l’invention. Chacun des différents modules décrits ci-dessous est par exemple réalisé au moyen d’instructions de programme d’ordinateur conçues pour mettre en œuvre le module concerné lorsque ces instructions sont exécutées par un processeur de l’unité de commande 6. Le dispositif d’estimation de canal comprend un module de construction 10 qui utilise un modèle physique du système de communication à au moins un paramètre. Ce modèle physique modélise ici la transmission des signaux électromagnétiques de l’antenne B du dispositif électronique 4 au réseau d’antennes 8 par une onde plane propagée (en ligne directe) selon une direction reliant l’antenne B et le centre de masse O, ou direction d’arrivée, orientée selon un vecteur unitaire u . On considère par ailleurs que le réseau d’antennes 8 est un réseau linéaire uniforme (ou ULA pour " Uniform Linear Array "). Le module de construction 10 peut ainsi déterminer, sur la base de ce modèle physique, des valeurs respectivement représentatives de la transmission à travers les canaux de communication C 1 , C i , C j , C N . Dans le cas du modèle envisagé ci-dessus, la transmission à travers chaque canal C i peut être représentée par la valeur de canal c i définie comme suit : où g i est le gain complexe de l’antenne A i , λ est la longueur d’onde de l’onde électromagnétique utilisée, a i est le vecteur désignant la position de l’antenne A i par rapport au centre de masse O, ( a i ) y est la composante du vecteur a i selon l’axe y (axe vertical sur la figure 1) et θ étant l’angle d’azimut formé, dans le plan (O,z,y), par la direction d’arrivée et l’axe z. Dans le cas du réseau linéaire uniforme envisagé ici, on a : g i = 1 pour i allant de 1 à N et on utilise donc l’angle d’azimut θ comme paramètre du modèle physique. Sur la base de ce modèle physique, le module de construction 10 peut construire un ensemble de vecteurs e (θ) respectivement associés à une pluralité de valeurs du paramètre, un vecteur e (θ) associé à une valeur θ donnée comprenant les valeurs c i (θ) respectivement représentatives de la transmission à travers lesdits canaux de communication C i selon ledit modèle physique pour cette valeur θ donnée du paramètre : e (θ) = (c 1 (θ), c i (θ), c j (θ), …, c N (θ)) T , où T est l’opérateur de transposition. On note dans la suite L le nombre de valeurs différentes considérées du paramètre (ou, lorsque plusieurs paramètres sont utilisés, le nombre de multiplets de valeurs considérés.) Ce nombre L correspond donc également au nombre de vecteurs e (θ) dans l’ensemble de vecteurs. Le nombre L est par exemple compris entre 10.N et 100.N vecteurs (N étant comme précédemment le nombre d’antennes dans le réseau d’antennes 8), ou, en pratique, entre 500 et 10 000. Le dispositif d’estimation de canal comprend également un module d’initialisation 12 conçu pour initialiser des coefficients de pondération (ou poids) d’un réseau de neurones artificiels 20 en fonction des vecteurs e (θ) construits par le module de construction. Précisément, le réseau de neurones artificiels 20 est en partie défini par des colonnes w i de coefficients de pondération, et chaque colonne w i de coefficients de pondération est initialisée sur la base d’un vecteur construit e (θ) (associé à une valeur θ particulière du paramètre du modèle physique, comme déjà indiqué). On décrit dans la suite différentes possibilités pour l’initialisation d’une colonne w i de coefficients de pondération sur la base d’un vecteur construit e (θ). Le dispositif d’estimation de canal 20 comprend aussi le réseau de neurones artificiels 20 qui vient d’être mentionné. Ce réseau de neurones artificiels 20 (ou une partie au moins de celui-ci dans certaines variantes envisageables, comme décrit plus bas en référence aux figures 5 et 6) est configuré pour déterminer la colonne γ de coefficients de pondération la mieux corrélée avec un vecteur x reçu en entrée du réseau de neurones artificiels 20 et pour produire en sortie un vecteur ĥ colinéaire à la colonne la mieux corrélée. Autrement dit, on a : γ = argmax w i | w i H x | ĥ = γγ H x où H est l’opérateur " transposé conjugué " et |z| est le module du nombre complexe z (en assimilant la colonne w i de coefficients de pondération au vecteur formé des éléments de cette colonne w i ). Pour ce faire, le réseau de neurones artificiels 20 est par exemple un auto-encodeur k-parcimonieux tel que décrit dans l’article " K-sparse autoencoders ", de A. Makhzani et B.Frey, arXiv preprint, arXiv :1312.5663, 2013, ici avec un paramètre de parcimonie k égal à 1. La figure 3 représente schématiquement un réseau de neurones artificiels de ce type. Sur cette figure, W représente une matrice formée par les colonnes w i de coefficients de pondération ( W ∈ ℂ Nx L ). Le réseau de neurones artificiels 20 comporte ici une première couche 22 qui applique au vecteur x reçu en entrée du réseau de neurones artificiels 20 une multiplication (à gauche) par la matrice W H . Autrement dit, la première couche 22 produit en sortie le vecteur (à L éléments) : W H x . Selon une possibilité de réalisation du réseau de neurones artificiels 20, la première couche 22 peut en outre ajouter (au résultat de la multiplication par la matrice W H ) un vecteur b 1 à L éléments. Dans ce cas, la première couche 22 produit en sortie le vecteur (à L éléments) : W H x + b 1 . En pratique, le vecteur b 1 est par exemple initialisé (ici par le module d’initialisation 12) en mettant tous ses éléments à la valeur 0 (valeur nulle) ; les éléments du vecteur b 1 sont ensuite susceptibles d’évoluer lors des phases d’apprentissage par le module de mise à jour 16 comme décrit plus loin. Le réseau de neurones artificiels 20 comporte en outre une seconde couche 24 qui conserve uniquement l’élément (ou coefficient) de plus grand module dans le vecteur reçu de la première couche 22 (c’est-à-dire dans le vecteur W H x ) et annule tous les autres éléments de ce même vecteur. L’opérateur mis en œuvre dans cette seconde couche 24 est généralement dénommé HT 1 (pour " Hard Thresholding " avec parcimonie 1). La seconde couche 24 produit ainsi en sortie un vecteur v à L éléments avec L-1 éléments nuls et un élément correspondant à l’élément de module maximal dans le vecteur reçu de la première couche 22. Le réseau de neurones artificiels 20 comporte enfin une troisième couche 26 qui applique au vecteur v reçu de la seconde couche 24 une multiplication (à gauche) par la matrice W . Autrement dit, la troisième couche 26 produit en sortie le vecteur W v . Dans l’exemple décrit ici, la sortie de la troisième couche 26 correspond à la sortie du réseau de neurones artificiels 20 et on a donc : ĥ = W v . Selon une possibilité de réalisation du réseau de neurones artificiels 20, la troisième couche 26 peut en outre ajouter (au résultat de la multiplication par la matrice W ) un vecteur b 2 à N éléments. Dans ce cas, la troisième couche 26 produit en sortie le vecteur (à N éléments) : W v + b 2 . En pratique, le vecteur b 2 est par exemple initialisé (ici par le module d’initialisation 12) en mettant tous ses éléments à la valeur 0 (valeur nulle) ; les éléments du vecteur b 2 sont ensuite susceptibles d’évoluer lors des phases d’apprentissage par le module de mise à jour 16 comme décrit plus loin. En résumé, sur la base d’un vecteur x reçu en entrée, le réseau de neurones artificiels 20 produit ici en sortie le vecteur ĥ = W HT 1 ( W H x ) (ce qui est une expression de ĥ équivalente à celle donnée ci-dessus). Pour la mise en œuvre pratique de ce réseau de neurones artificiels 20 dans un calculateur (par exemple un ordinateur) manipulant seulement des valeurs réelles, les vecteurs à valeurs complexes mentionnés ci-dessus pourront être transformés en vecteurs à valeurs réelles comprenant deux éléments (partie réelle et partie imaginaire) pour chaque élément du vecteur à valeurs complexes concerné. De même, on utilisera la représentation réelle pour les matrices. On pourra par exemple se référer à ce sujet à l’article " The complex backpropagation algorithm ", de Leung, H. et Haykin, S. in IEEE Transactions on signal processing, 39(9), 2101-2104 (1991). Le dispositif d’estimation de canal comprend en outre un module d’application 14 conçu pour appliquer, en entrée du réseau de neurones artificiels 20, un vecteur x déterminé en fonction de valeurs bruitées ξ i respectivement représentatives de la transmission à travers les différents canaux de communication C 1 , C i , C j , C N . Comme expliqué plus loin, ces valeurs bruitées ξ i sont par exemple obtenues par réception et traitement d’au moins une séquence pilote émise par le dispositif électronique 4. Le réseau de neurones artificiels 20 produit alors en sortie le vecteur ĥ qui comprend donc des valeurs estimées respectivement représentatives de la transmission à travers les canaux de communication C 1 , C i , C j , C N . Le dispositif d’estimation de canal comprend enfin un module de mise à jour 16 des coefficients de pondération (c’est-à-dire des éléments des colonnes w i de coefficients de pondération, ou encore des coefficients de la matrice W ) par une technique d’apprentissage diminuant une fonction de coût f croissante en fonction d’une distance d entre le vecteur x appliqué en entrée du réseau de neurones artificiels 20 et le vecteur ĥ produit en sortie du réseau de neurones artificiels 20. Si des vecteurs b 1 et/ou b 2 sont utilisés au sein du réseau de neurones artificiels 20 comme mentionné ci-dessus, les éléments de ces vecteurs b 1 , b 2 peuvent simultanément être mis à jour par le module de mise à jour 16 par cette technique d’apprentissage. On utilise par exemple la distance d = || x - ĥ || 2 , où || z || 2 est la norme 2 (ou norme euclidienne) du vecteur z : avec z = (z 1 , …, z i , … z N ) T . La fonction de coût f est par exemple f(d) = 0,5.d 2 . La technique d’apprentissage permet de modifier les coefficients (ou poids) du réseau de neurones artificiels 20, c’est-à-dire ici en pratique les coefficients de la matrice W , afin de diminuer la fonction de coût f(d). Il s’agit donc d’une technique d’optimisation. On peut utiliser par exemple une technique dite de " descente de gradient par mini-lots " (ou " mini-batch gradient descent ") telle que décrite dans l’article " Large-scale machine learning with stochastic gradient descent ", de L. Bottou, in Proceedings of COMPSTAT’2010 , Springer 2010, pp. 177-186. La figure 4 est un logigramme qui représente un exemple de procédé d’estimation pouvant être mis en œuvre dans le contexte qui vient d’être décrit. Ce procédé est donc ici mis en œuvre par l’unité de communication 2. Ce procédé débute par une étape E2 de construction d’un ensemble de vecteurs e (θ) associés respectivement à une pluralité de valeurs θ du paramètre sur la base du modèle physique du système de communication employant ce paramètre. Comme déjà indiqué, un vecteur e (θ) associé à une valeur donnée θ du paramètre comprend des valeurs c 1 (θ), c i (θ), c j (θ), c N (θ) respectivement représentatives de la transmission à travers les canaux de communication C 1 , C i , C j , C N , valeurs représentatives c 1 (θ), c i (θ), c j (θ), c N (θ) qui sont calculées selon le modèle physique pour la valeur donnée θ du paramètre. Lorsque le modèle physique emploie plusieurs paramètres, l’ensemble de vecteurs comprend des vecteurs associés à une pluralité de multiplets distincts de valeurs de ces paramètres, chaque vecteur comprenant là encore des valeurs respectivement représentatives de la transmission à travers les canaux de communication C 1 , C i , C j , C N , qui sont calculées selon le modèle physique pour un multiplet donné de valeurs des paramètres. L’étape de construction E2 est ici mise en œuvre par le module de construction 10. Le procédé se poursuit par une étape E4 d’initialisation, en fonction des vecteurs e (θ) construits à l’étape E2, des colonnes w i de coefficients de pondération définissant en partie le réseau de neurones artificiels 20 (ces colonnes w i de coefficients de pondération correspondant ici aux colonnes de la matrice W du réseau de neurones artificiels 20). L’étape E4 est ici mise en œuvre par le module d’initialisation 12. Selon un premier mode de réalisation, chaque colonne w i est initialisée au moyen d’un vecteur e (θ i ) de l’ensemble des vecteurs construits (ce vecteur e (θ i ) étant associé à une valeur particulière θ i du paramètre du modèle physique). Selon un second mode de réalisation, chaque vecteur e (θ) de l’ensemble de vecteurs construits est transposé dans le domaine angulaire dual avant initialisation d’une colonne w i de coefficients de pondération. Dans ce cas, chaque colonne w i est initialisée au moyen du vecteur F e (θ i ), où e (θ i ) est un vecteur de l’ensemble des vecteurs construits associé à une valeur particulière θ i du paramètre du modèle physique et F est une matrice de transformation du domaine des canaux de communication (c’est-à-dire ici du domaine des antennes) au domaine angulaire dual ( F ∈ ℂ Nx N ). Autrement dit, la matrice F permet de transformer un vecteur comprenant des valeurs respectivement représentatives de la transmission via les différentes antennes A 1 , A i , A j , A N du réseau d’antennes 8 (c’est-à-dire à travers les différents canaux de communication C 1 , C i , C j , C N ) en un vecteur comprenant des valeurs respectivement représentatives de la transmission pour différents angles relativement au réseau d’antennes 8. Dans le cas présent où le réseau d’antennes 8 est un réseau linéaire uniforme, la matrice F est une matrice de transformation de Fourier discrète (en anglais " discrete Fourier transform matrix "), ou matrice de Vandermonde-Fourier. La matrice F correspond en effet ici à une base de vecteurs de visée associés au réseau d’antennes 8. Un coefficient f p,q en ligne p et colonne q dans la matrice F vaut ainsi ici : Dans le cas où le réseau de neurones artificiels 20 utilise des vecteurs b 1 et/ou b 2 comme mentionné plus haut, ces vecteurs b 1 , b 2 sont chacun initialisés à l’étape E4, par exemple en mettant leurs éléments à la valeur 0 (valeur nulle). Les étapes E2 et E4 qui viennent d’être décrites peuvent en pratique être mises en œuvre une seule fois, par exemple à l’initialisation ou à la mise en service de l’unité de communication 6. Les étapes qui suivent sont au contraire répétées et permettent l’évolution progressive du réseau de neurones artificiels 20, comme décrit ci-après. Le procédé se poursuit ainsi par une étape E6 de réception d’une séquence pilote en provenance du dispositif électronique 4. Lorsque le système de communication comprend plusieurs dispositifs électroniques (tels que le dispositif électronique 4) comme envisagé ci-dessus, plusieurs séquences pilotes orthogonales entre elles peuvent être simultanément transmises à l’unité de communication 2, l’unité de communication 2 pouvant alors séparer les différentes séquences pilotes reçues au sein des signaux reçus (grâce au caractère orthogonal susmentionné) et traiter séparément chaque séquence pilote reçue comme décrit à présent pour une séquence pilote. La séquence pilote est reçue par l’unité de communication 2 via chacune des antennes A 1 , A i , A j , A N du réseau d’antennes 8 de sorte que l’unité de commande 6 peut déterminer à l’étape E8 des valeurs bruitées ξ 1 , ξ i , ξ j , ξ N respectivement représentatives de la transmission à travers les différents canaux de communication C 1 , C i , C j , C N (la détermination d’une valeur bruitée ξ i représentative de la transmission à travers un canal de communication C i étant réalisée par traitement de la séquence pilote reçue via l’antenne A i définissant ce canal de communication C i ). Le procédé se poursuit alors par une étape E10 d’application, en entrée du réseau de neurones artificiels 20, d’un vecteur x déterminé en fonction des valeurs bruitées ξ 1 , ξ i , ξ j , ξ N . Cette étape E10 est ici mise en œuvre par le module d’application 14. Selon le premier mode de réalisation envisagé (déjà mentionné ci-dessus), le vecteur x est formé desdites valeurs bruitées ξ 1 , ξ i , ξ j , ξ N (c’est-à-dire que chaque coefficient ou élément x i du vecteur x est l’une des valeurs bruitées ξ 1 , ξ i , ξ j , ξ N ). On a par exemple dans ce cas : x i = ξ i . Selon le second mode de réalisation envisagé (déjà mentionné ci-dessus), le vecteur x est obtenu par normalisation et application d’une transformation des valeurs bruitées ξ 1 , ξ i , ξ j , ξ N respectivement associées aux antennes A 1 , A i , A j , A N du réseau d’antennes 8 dans le domaine angulaire dual (par multiplication par la matrice de transformation F déjà mentionnée). Autrement dit : où F est la matrice de transformation déjà mentionnée. Le réseau de neurones artificiels 20 produit alors en sortie à l’étape E12 un vecteur ĥ comprenant les valeurs estimées recherchées, respectivement représentatives de la transmission à travers les canaux de communication C 1 , C i , C j , C N . Ces valeurs estimées peuvent être utilisées par l’unité de communication 6 pour configurer des circuits de traitement des signaux électromagnétiques reçus par les antennes A 1 , A i , A j , A N du réseau d’antennes 8 (ces circuits de traitement étant inclus dans l’unité de communication 6 mais non représenté pour simplifier l’exposé). Ces valeurs estimées peuvent également être utilisées pour configurer des précodeurs conçus pour effectuer un précodage des signaux électromagnétiques à émettre au moyen des antennes A 1 , A i , A j , A N du réseau d’antennes 8 (lorsque ces antennes fonctionnent également en émission comme mentionné plus haut). On peut remarquer que, dans le second mode de réalisation envisagé (mentionné ci-dessus), la transformation du domaine des antennes au domaine angulaire dual (c’est-à-dire la multiplication par la matrice F ) est effectuée dans l’étape d’initialisation E4 et dans l’étape d’application E10, si bien que l’on retrouve bien en sortie du réseau de neurones artificiels 20 l’estimation ĥ recherchée (du fait que F H F = Id , où Id est la matrice identité), sans avoir à procéder à une transformation inverse. Le procédé comprend alors une étape E14 de mise à jour des coefficients de pondération du réseau de neurones artificiels 20 (c’est-à-dire ici des éléments de la matrice W ) au moyen d’une technique d’apprentissage permettant de diminuer la fonction de coût f qui est, comme déjà indiqué, croissante en fonction de la distance d entre le vecteur x appliqué en entrée du réseau de neurones artificiels 20 et le vecteur ĥ produit en sortie du réseau de neurones artificiels 20. Il s’agit donc d’une étape d’optimisation des coefficients (ou éléments) de la matrice W de sorte que la fonction de coût f diminue. Comme déjà indiqué, lorsque des vecteurs b 1 et/ou b 2 sont utilisés au sein du réseau de neurones artificiels 20, les éléments de ces vecteurs b 1 , b 2 peuvent simultanément être mis à jour au cours de l’étape E14. Cette étape E14 est ici mise en œuvre par le module de mise à jour 16. Le réseau de neurones artificiels 20 (c’est-à-dire en pratique la matrice W ) donnera donc une estimation affinée des valeurs représentatives de la transmission à travers les canaux de communication C 1 , C i , C j , C N lors des futures applications d’un vecteur x en entrée du réseau de neurones artificiels 20. Le procédé peut en effet boucler à l’étape E6 comme représenté en figure 4 pour traitement d’une autre séquence pilote. La figure 5 représente schématiquement une variante envisageable pour le réseau de neurones artificiels 20. Cette variante est basée sur la prise en compte de plusieurs chemins (ici K chemins) pour les différents canaux de communication C 1 , C i , C j , C N de sorte que le vecteur comprenant les valeurs représentatives de la transmission à travers les différents canaux de communication C 1 , C i , C j , C N peut s’écrire : où β k et θ k sont respectivement un gain et un angle d’azimut associés à un chemin particulier. On pourra se référer par exemple à ce sujet à l’article " Matching pursuits with time-frequency dictionaries ", de S. Mallat et Z. Zhang, in IEEE Transactions on Signal Processing, vol. 41, n° 12, pp. 3397-3415, déc. 1993. Comme visible sur la figure 5, le réseau de neurones artificiels permettant de réaliser l’estimation de canal dans ce contexte comprend K parties P 1 , P 2 , P k , …, P K réalisée chacune comme représenté sur la figure 6. Chaque partie P k du réseau de neurones artificiels comprend des colonnes de coefficients de pondération et est configurée pour déterminer (parmi ces colonnes de coefficients de pondération) la colonne de coefficients de pondération la mieux corrélée avec un vecteur r k -1 reçu en entrée de cette partie P k du réseau de neurones artificiels et pour produire un vecteur colinéaire à la colonne la mieux corrélée. Pour ce faire, chaque partie P k du réseau de neurones artificiels présente une structure du même type que celle de la figure 3, comme expliqué ci-dessous. On remarque à cet égard que les colonnes de coefficients de pondération utilisées (qui forment la matrice W comme déjà indiqué) sont les mêmes dans les différentes parties P k du réseau de neurones artificiels. Autrement dit, comme expliqué ci-dessous, on utilise la même matrice W dans les différentes parties P k du réseau de neurones artificiels. En variante toutefois, les colonnes de coefficients de pondération utilisées pourraient être spécifiques à chaque partie P k du réseau de neurones artificiels (en étant éventuellement initialisées par les mêmes colonnes pour les différentes parties P k comme décrit ci-dessus à l’étape E4, mais en évoluant possiblement de manière différente lors de la phase d’apprentissage). Chaque partie P k comprend donc ici : - une première couche 32 conçue pour appliquer au vecteur r k-1 reçu en entrée de la partie P k une multiplication (à gauche) par la matrice W H (cette première couche 32 étant donc dans le présent exemple identique à la première couche 22 décrite ci-dessus) ; - une seconde couche 34 conçue pour conserver uniquement l’élément (ou coefficient) de plus grand module dans le vecteur reçu de la première couche 32 (c’est-à-dire dans le vecteur W H r k-1 ) et pour annuler tous les autres éléments de ce même vecteur (cette seconde couche 34 étant donc dans le présent exemple identique à la seconde couche 24 décrite ci-dessus) ; - une troisième couche 36 conçue pour appliquer au vecteur reçu de la seconde couche 34 une multiplication (à gauche) par la matrice W et ainsi pour produire en sortie un vecteur colinéaire à la colonne de coefficients de pondération la mieux corrélée au vecteur r k-1 reçu en entrée de la partie P k (cette troisième couche 36 étant donc dans le présent exemple identique à la troisième couche 26 décrite ci-dessus). Les première, seconde et troisième couches 32, 34, 36 étant respectivement identiques ici aux première, seconde et troisième couches 22, 24, 26 décrites plus haut en référence à la figure 3, on pourra se référer à la description de la figure 3 pour tout autre détail concernant les première, seconde et troisième couches 32, 34, 36, notamment en ce qui concerne l’utilisation de vecteurs b 1 et/ou b 2 . Chaque partie P k du réseau de neurones artificiels est en outre conçue pour produire en sortie un vecteur r k égal à la différence entre le vecteur r k-1 reçu en entrée de la partie P k concerné et le vecteur colinéaire susmentionné (produit en sortie de la troisième couche 36), ici grâce à un élément de combinaison 38 visible en figure 6. Comme visible en figure 5, le vecteur x reçu en entrée du réseau de neurones artificiels est appliqué en entrée de la (première) partie P 1 du réseau de neurones artificiels. Autrement dit, avec les notations précédentes, on a : r 0 = x . Chaque vecteur r k produit en sortie d’une partie P k du réseau de neurones artificiels est par ailleurs appliqué en entrée de la partie suivante P k+1 (pour k allant de 1 à K-1). Enfin, le vecteur r K produit en sortie de la (dernière) partie P K du réseau de neurones artificiels est soustrait au vecteur x reçu en entrée du réseau de neurones artificiels (ici au moyen d’un élément de combinaison 40) de manière à obtenir le vecteur ĥ comprenant les valeurs estimées respectivement représentatives de la transmission à travers les canaux de communication C 1 , C i , C j , C N . Autrement dit, on a : ĥ = x - r K . Dans les différents modes de réalisation qui ont été décrits, l’invention permet d’obtenir une estimation de canal conforme au modèle physique dès le début du fonctionnement du dispositif d’estimation de canal, puis une estimation de canal de plus en plus proche du système réel grâce l’apprentissage du réseau de neurones artificiels 20. L’invention permet ainsi tout d’abord de corriger un modèle physique (nécessairement imparfait), que l’imperfection soit due à des hypothèses simplificatrices ou à une connaissance partielle du système d’antennes (position et gain des antennes, directivité des antennes, couplages entre antennes, etc .). L’invention permet aussi d’adapter les traitements d’estimation effectués par l’unité de communication (ici une station de base) à des changements dans la distribution des canaux (ici dans la cellule concernée du réseau de téléphonie mobile). Par exemple, si l’environnement de la cellule change, parce qu’un nouveau bâtiment se construit, que les arbres perdent leurs feuilles ou qu’un bus stationne dans l’environnement proche de la station de base, alors les coefficients du réseau de neurones artificiels vont s’adapter automatiquement et en temps réel à ces changements. L’invention permet par ailleurs de détecter et de corriger les avaries potentielles de l’unité de communication (ici de la station de base). Par exemple, si lors de l’intervention d’un technicien ou à cause d’intempéries, une ou plusieurs antennes voient leur gain changer (voire s’annuler, auquel cas les antennes concernées sont hors service), alors la valeur de la fonction de coût utilisée par le réseau de neurones artificiels va brusquement augmenter, ce qui permettra de détecter l’incident, puis l’entraînement incrémental permettra de corriger automatiquement les coefficients du réseau de neurones artificiels pour s’adapter à cette nouvelle configuration. L’invention a enfin un intérêt indirect pour les constructeurs d’antennes. En effet, savoir à l’avance que l’unité de communication (par exemple une station de base) pourra corriger elle-même un modèle physique permet de relâcher les contraintes de précision au moment de la construction des antennes. Il n’y a plus besoin de calibrer précisément les positions et gains des antennes a priori car cela peut être fait a posteriori au moment de l’utilisation des antennes par l’unité de communication (ici la station de base), qui réalise en quelque sorte une auto-calibration de son système d’antennes. Procédé d’estimation de canal dans un système de communication comprenant une pluralité de canaux de communication (C 1 , C i , C j , C N ), à partir d’une pluralité de valeurs bruitées (ξ i ) respectivement représentatives de la transmission à travers lesdits canaux de communication (C 1 , C i , C j , C N ), comprenant les étapes suivantes : - sur la base d’un modèle physique du système de communication à au moins un paramètre (θ), construction (E2) d’un ensemble de vecteurs ( e (θ)) associés à une pluralité de valeurs dudit au moins un paramètre (θ), un vecteur ( e (θ)) associé à une valeur donnée dudit au moins un paramètre (θ) comprenant des valeurs respectivement représentatives de la transmission à travers lesdits canaux de communication (C 1 , C i , C j , C N ) selon ledit modèle physique pour ladite valeur donnée dudit au moins un paramètre (θ) ; - initialisation (E4), en fonction des vecteurs construits ( e (θ)), de colonnes de coefficients de pondération définissant une partie au moins d’un réseau de neurones artificiels (20), ladite partie du réseau de neurones artificiels (20) étant configurée pour déterminer la colonne de coefficients de pondération la mieux corrélée avec un vecteur reçu en entrée du réseau de neurones artificiels (20) et pour produire en sortie un vecteur colinéaire à la colonne la mieux corrélée ; - application (E10), en entrée de ladite partie du réseau de neurones artificiels, d’un vecteur ( x ) déterminé en fonction desdites valeurs bruitées (ξ i ) de manière à produire en sortie du réseau de neurones artificiels (20) un vecteur ( ĥ ) comprenant des valeurs estimées respectivement représentatives de la transmission à travers lesdits canaux de communication (C 1 , C i , C j , C N ) ; - mise à jour (E14) des coefficients de pondération de ladite partie du réseau de neurones artificiels (20) par une technique d’apprentissage diminuant une fonction de coût croissante en fonction d’une distance entre le vecteur ( x ) appliqué en entrée du réseau de neurones artificiels (20) et le vecteur ( ĥ ) produit en sortie du réseau de neurones artificiels (20). Procédé d’estimation de canal selon la revendication 1, comprenant une pluralité d’étapes successives d’application de vecteur ( x ) en entrée de ladite partie de réseau de neurones artificiels (20) et, pour chaque étape successive d’application, une étape correspondante de mise à jour (E14) des coefficients de pondération par ladite technique d’apprentissage. Procédé d’estimation de canal selon la revendication 1 ou 2, dans lequel, à l’étape d’initialisation (E4), chaque colonne de coefficients de pondération est initialisée avec un vecteur produit d’une matrice de transformation d’un domaine des canaux de communication (C 1 , C i , C j , C N ) à un domaine angulaire dual, et d’un vecteur ( e (θ)) dudit ensemble. Procédé d’estimation selon la revendication 3, dans lequel le vecteur ( x ) appliqué en entrée est obtenu par normalisation d’un vecteur comprenant lesdites valeurs bruitées (ξ i ) et multiplication de la matrice de transformation par le vecteur normalisé. Procédé d’estimation de canal selon la revendication 1 ou 2, dans lequel, à l’étape d’initialisation (E4), chaque colonne de coefficients de pondération est initialisée avec un vecteur ( e (θ)) dudit ensemble et dans lequel le vecteur ( x ) appliqué en entrée comprend lesdites valeurs bruitées (ξ i ). Procédé d’estimation de canal selon l’une des revendications 1 à 5, dans lequel le réseau de neurones artificiels (20) comprend au moins une autre partie (P 2 ) configurée pour recevoir en entrée un vecteur ( r 1 ) obtenu par différence entre le vecteur ( x ) appliqué en entrée de ladite partie du réseau de neurones artificiels et le vecteur produit en sortie de ladite partie du réseau de neurones artificiels, cette autre partie (P 2 ) du réseau de neurones artificiels (20) comprenant des colonnes d’autres coefficients de pondération et étant configurée pour déterminer la colonne desdits autres coefficients de pondération la mieux corrélée avec le vecteur ( r 1 ) reçu en entrée de cette autre partie (P 2 ) du réseau de neurones artificiels (20) et pour produire un vecteur colinéaire à la colonne desdits autres coefficients la mieux corrélée. Procédé d’estimation de canal selon l’une des revendications 1 à 6, dans lequel ledit modèle physique est basé sur une pluralité de paramètres et dans lequel l’ensemble de vecteurs construits comprend des vecteurs respectivement associés à une pluralité de multiplets distincts de valeurs desdits paramètres. Procédé d’estimation de canal selon l’une des revendications 1 à 7, dans lequel le paramètre est un angle (θ) relativement à un réseau d’antennes (8) du système de communication et dans lequel les vecteurs construits ( e (θ)) comprennent au moins une valeur représentative de la transmission et obtenue en fonction d’une valeur dudit angle (θ). Procédé d’estimation de canal selon l’une des revendications 1 à 8, dans lequel lesdites valeurs bruitées (ξ i ) sont obtenues par réception (E6) de séquences pilotes via les canaux de communication (C 1 , C i , C j , C N ) et traitement desdites séquences pilotes reçues. Dispositif d’estimation de canal pour un système de communication comprenant une pluralité de canaux de communication (C 1 , C i , C j , C N ), comprenant : - un module de construction (10) conçu pour construire, sur la base d’un modèle physique du système de communication à au moins un paramètre (θ), un ensemble de vecteurs ( e (θ)) associés à une pluralité de valeurs dudit au moins un paramètre (θ) de telle sorte qu’un vecteur ( e (θ)) associé à une valeur donnée dudit au moins un paramètre (θ) comprenne des valeurs respectivement représentatives de la transmission à travers lesdits canaux de communication (C 1 , C i , C j , C N ) selon ledit modèle physique pour ladite valeur donnée dudit au moins un paramètre (θ) ; - un module d’initialisation (12) conçu pour initialiser, en fonction des vecteurs construits ( e (θ)), des colonnes de coefficients de pondération définissant une partie au moins d’un réseau de neurones artificiels (20), ladite partie du réseau de neurones artificiels (20) étant configurée pour déterminer la colonne de coefficients de pondération la mieux corrélée avec un vecteur reçu en entrée du réseau de neurones artificiels et pour produire en sortie un vecteur colinéaire à la colonne la mieux corrélée ; - un module d’application (14) conçu pour appliquer, en entrée de ladite partie du réseau de neurones artificiels (20), un vecteur ( x ) déterminé en fonction de valeurs bruitées (ξ i ) respectivement représentatives de la transmission à travers lesdits canaux de communication (C 1 , C i , C j , C N ), de manière à produire en sortie du réseau de neurones artificiels (20) un vecteur ( ĥ ) comprenant des valeurs estimées respectivement représentatives de la transmission à travers lesdits canaux de communication (C 1 , C i , C j , C N ) ; - un module de mise à jour (16) des coefficients de pondération de ladite partie du réseau de neurones artificiels (20) par une technique d’apprentissage diminuant une fonction de coût croissante en fonction d’une distance entre le vecteur ( x ) appliqué en entrée du réseau de neurones artificiels (20) et le vecteur ( ĥ ) produit en sortie du réseau de neurones artificiels (20). Programme d’ordinateur comprenant des instructions exécutables par un processeur et conçues pour mettre en œuvre un procédé selon l’une des revendications 1 à 9 lorsque ces instructions sont exécutées par le processeur.