Brevet FR2696601A1 — publié le 19940408

PROCEDE DE TRAITEMENT DE SIGNAUX A COMPOSANTES COMPLEXES, ET APPLICATION A L'EGALISATION NON-LINEAIRE DE CANAUX DE TRANSMISSION NUMERIQUE L'invention se rapporte à un procédé de traitement de signaux à composantes complexes. Elle peut s'appliquer dans tous les domaines faisant intervenir un traitement de signaux complexes. A titre d'exemple, l'invention peut s'appliquer à l'égalisation de canaux de transmission numérique en modulation de phase ou en modulation sur deux porteuses en quadrature ; l'invention peut également s'appliquer à fa classification de signaux complexes tels que des signaux radar. Dans le domaine du traitement du signal, un grand nombre de techniques peuvent être interprétées comme des transformations linéaires du signal dans un espace de Hilbert. C'est le cas par exemple de la transformation de Fourier, de certaines transformées en ondelettes, etc... Il existe également des applications pour lesquelles les signaux à traiter sont initialement représentés sous forme de nombres complexes c'est le cas notamment des signaux radar. En ce qui concerne l'égalisation de canaux de transmission numérique, la chaîne de transmission comporte un modulateur numérique. Hormis la modulation binaire et la modulation en amplitude à n états, la plupart des méthodes de modulation numérique introduisent des déphasages. Le signal modulant est alors une succession de nombres complexes et il est nécessaire, pour modéliser la transmission, de raisonner dans l'espace des nombres complexes. Les méthodes classiques de traitement de signaux complexes consistent à séparer la phase et l'amplitude de ces signaux et à les traiter séparément indépendamment l'une de l'autre sans tenir compte de la structure complexe des signaux. Ce type de traitement introduit un grand nombre d'erreurs et ne permet donc pas d'obtenir des résultats entièrement satisfaisants. Par ailleurs, dans le cas de l'égalisation de canaux de transmission numérique, l'égalisation est classiquement traitée en utilisant des filtres linéaires adaptatifs. Cependant, en présence de bruit ou de non-linéarités d'amplification, l'égalisation est un problème fondamentalement nonlinéaire et un traitement par linéarisation de ces signaux n'est pas bien adapté. L'invention concerne une nouvelle méthode de traitement des signaux à composantes complexes, entièrement automatique et fondamentalement différente des méthodes classiques. Cette méthode permet d'effectuer un traitement non linéaire des signaux et tient compte de la structure complexe des signaux. Pour effectuer un traitement non linéaire des signaux, l'invention consiste à utiliser un système non linéaire du type réseau connexionniste dont la structure est choisie en fonction du traitement physique à effectuer. Cependant, les réseaux connexionnistes connus sont destinés à traiter des signaux réels et les procédés d'apprentissage connus et utilisés pour configurer un réseau connexionniste sont limités aux réseaux à coefficients réels. L'invention consiste donc à définir un réseau connexionniste et un algorithme d'apprentissage adaptés au traitement de signaux complexes. Pour cela, chaque neurone du réseau connexionniste est caractérisé par des poids synaptiques Wij, appelés aussi coefficients de pondération, et par une fonction de transition f. Chaque coefficient de pondération prend une valeur complexe qui est ajustée par approches successives au moyen d'un procédé d'apprentissage. La fonction de transition est une fonction complexe dérivable dans le domaine des nombres complexes. Le procédé d'apprentissage consiste à modifier les valeurs des coefficients de pondération du réseau de façon à minimiser une fonction d'erreur. La fonction d'erreur est l'erreur quadratique entre une valeur de sortie fournie par le réseau de neurones et une valeur de sortie espérée; les valeurs des coefficients de pondération sont modifiées dans le sens inverse du gradient de la fonction d'erreur, ce gradient étant pondéré par un paramètre appelé vitesse d'apprentissage. Selon l'invention, le procédé de traitement de signaux à composantes complexes est caractérisé en ce qu'il consiste à utiliser un réseau de neurones multicouches, tel que, à chaque neurone est associé une fonction de transition complexe et dérivable et des poids synaptiques prenant des valeurs complexes, ce réseau de neurone étant configuré pendant une phase d'apprentissage selon une méthode de gradient stochastique adaptée au domaine des signaux complexes. D'autres particularités et avantages de l'invention apparaitront clairement dans la description suivante donnée à titre d'exemple non limitatif et faite en regard des figures annexées qui représentent - la figure 1, un schéma synoptique d'une chaîne de transmission numérique, - la figure 2, un exemple de valeurs permises, dans le plan complexe, pour des signaux complexes en modulation d'amplitude à double porteuse en quadrature de phase à 16 états, - la figure 3, un exemple de modélisation d'un neurone, - la figure 4, un exemple de réseau de neurones, - la figure 5, les différentes étapes de la phase d'apprentissage. - la figure 6, un exemple d'application du procédé de traitement de signaux complexes à l'égalisation non linéaire de canaux de transmission numérique. La figure 1 représente un schéma synoptique d'une chaîne de transmission numérique. Les informations que l'on souhaite émettre sont présentées en entrée d'un émetteur à différents instants d'échantillonnage sous forme de nombres complexes notés ei. Ces nombres complexes ne peuvent prendre leurs valeurs que dans un ensemble réduit de valeurs autorisées par une convention relative au domaine des transmissions numériques. Par exemple, la figure 2 représente dans le plan complexe, les valeurs permises pour une modulation d'amplitude â double porteuse en quadrature de phase à 16 états; ce type de modulation est noté généralement MAQ 16. Les parties réelles et imaginaires de el sont respectivement notées Re (e ) et Im (e ). L'émetteur comporte en série un convertisseur numérique analogique, noté CNA, 10, un filtre d'émission, 11, un modulateur 12 et un amplificateur 13. Le signal de sortie de l'amplificateur est ensuite transmis à travers un canal de transmission 14, vers un récepteur qui comporte, en série, un démodulateur 15, un filtre de réception 16, un échantillonneur 17 et un convertisseur analogique-numérique CAN, 18. Le signal reçu en sortie du convertisseur analogique numérique 18 est noté ci. La chaîne de transmission introduit des non-linéarités dues notamment à l'amplificateur, du bruit et une dégradation du signal due aux échos dans le canal de transmission. Ces perturbations dégradent le signal et modifient sa phase et son amplitude. Les valeurs du signal ci reçu à la réception ne correspondent donc pas aux valeurs des signaux el présentés en entrée de l'émetteur. Le problème de l'égalisation du canal de transmission consiste à estimer les valeurs des signaux ei. à partir des valeurs ci reçues. Pour résoudre ce problème en tenant compte de la structure complexe des signaux, l'invention consiste à utiliser un réseau de neurones particulier. Le réseau de neurones reçoit sur ses entrées les valeurs complexes des signaux ci et est configuré de façon à traiter ces valeurs complexes et à délivrer en sortie des valeurs complexes constituant une estimation des valeurs des signaux el. Pour traiter des signaux complexes le réseau de neurones comporte des paramètres internes Wlj dont les valeurs sont des nombres complexes ajustés par approches successives pendant une phase d'apprentissage. Ces paramètres internes sont les poids synaptiques du réseau. La figure 3 représente un exemple de modélisation d'un neurone. Un neurone i est un composant à m entrées xj, j étant compris entre 1 et m, et une sortie sil caractérisé par des poids synaptiques Wij et une fonction de transition f. Un neurone peut être modélisé à l'aide d'un sommateur pondéré, 20, associé à un dispositif de calcul d'une fonction non linéaire, 21.Les valeurs aux entrées xj du sommateur pondéré, 20, sont multipliées par des coefficients de pondération Wij puis additionnées pour former une valeur intermédiaire ai appelée potentiel du neurone i à laquelle est appliqué un calcul de fonction correspondant, f (ai), qui fournit la valeur de la sortie si de ce neurone Les coefficients de pondération sont les poids synaptiques wij des connexions neuronales entre le neurone i et les entrées xj. La figure 4 représente un exemple de réseau de neurones. Un réseau de neurones est un ensemble de neurones reliés entre eux, chacun des neurones ayant la même fonction de transition f. Les connexions peuvent être libres, ou au contraire des restrictions sur la topologie du réseau peuvent être imposées. La suite de la description est limitée au cas où les réseaux sont organisés en couches. L'ensemble des neurones peut alors être partitionné en N sous-ensembles constituant les N couches du réseau. Les neurones de la couche k+ 1 ont leurs entrées reliées aux sorties de tous les neurones de la couche k et à ces neurones seulement. Les neurones de la couche 1 ont le même nombre mi d'entrées. Ce nombre est appelé le nombre d'entrées du réseau. Le nombre de neurones de la dernière couche est appelé le nombre de sorties du réseau. Le réseau de la figure 4 comporte trois entrées xl, x2, xg, deux sorties S1, s2, et deux couches ayant chacune deux neurones. Pour effectuer un traitement donné, le réseau de neurones est configuré pendant une phase d'apprentissage en lui présentant en entrée des exemples appartenant à une base d'exemples. La configuration du réseau consiste à modifier les poids synaptiques du réseau de telle sorte que pour des valeurs d'entrées données, les valeurs obtenues en sortie du réseau se rapprochent des valeurs de sortie espérées. Une fonction d'erreur E est alors définie pour mesurer l'écart entre les valeurs obtenues en sortie du réseau et les valeurs souhaitées. Le problème de l'apprentissage est un problème d'optimisation consistant à déterminer les valeurs des poids synaptiques Wij qui minimisent la fonction d'erreur E. Pour le traitement de signaux complexes, l'apprentissage est effectué par des moyens d'apprentissage suivant un algorithme d'apprentissage particulier. Cet algorithme utilise une méthode de gradient stochastique adaptée au domaine des signaux complexes. Pour cela, le modèle de neurones utilisé est celui de la figure 4. Le réseau de neurones comporte N couches; chaque couche k, 1 n(k) neurones. La valeur de sortie du ième neurone de la couche k est Wij (k) est le poids de la connexion du neurone j de la couche (k-l) au neurone j de la couche k. n(k 1) est le nombre de neurones de la couche (k-i > . Lorsque des valeurs d'entrée XO sont présentées au réseau de neurones, celui-ci fournit des valeurs de sortie XN au lieu des valeurs de sortie espérées S. La fonction d'erreur E utilisée est l'erreur quadratique moyenne définie par l'équation suivante L'apprentissage est effectué en modifiant les poids synaptiques du réseau dans le sens inverse du gradient d'erreur, de façon qu'à chaque itération, avec où p est un nombre réel positif appelé coefficient d'apprentissage. Pour calculer les modifications des paramètres Awgj, il faut déterminer le gradient de la fonction d'erreur E par rapport aux poids synaptiques du réseau, ces poids synaptiques prenant des valeurs dans le domaine des nombres complexes. Pour cela on note wij (k) = &alpha;ij (k) + issij (k) et xi (k) = Re (xi (k) > + i lm (xi (k)}. &alpha;ij et ss~j sont respectivement les parties réelle et imaginaire de Wij ; Re (xi) et Im (xi) représentent respectivement les parties réelle et imaginaire de xi. La fonction de transition f est une fonction complexe qui est notée f = fRe + flm où les fonctions fRe et flm sont des fonctions réelles dérivables par rapport à leurs arguments. On note af / a Re la dérivée partielle de f par rapport à l'argument "partie réelle" et af i a lm la dérivée partielle de f par rapport à l'argument "partie imaginaire". Dans ces conditions, la fonction d'erreur s'écrit sous la forme suivante et les modifications apportées aux poids synaptiques wij (k) sont telles que Les expressions des dérivées partielles de la fonction d'erreur E par rapport à a ij (k) et à Pii (k) sont les suivantes Pour calculer ces dérivées partielles, on définit un signal d'erreur réel 6 ~ (k, Re) et un signal d'erreur imaginaire 6 ~ (k, Im) dont les expressions sont les suivantes Deux cas sont considérés - si le neurone appartient à la dernière couche du réseau, les expressions des signaux d'erreur sont les suivantes - si le neurone appartient à une couche intermédiaire k du réseau, les expressions des signaux d'erreur sont les suivantes avec et Les expressions des dérivées partielles des parties réelles imaginaires de xi (k) par rapport à ajj (k) et pij (k) sont les suivantes La valeur du coefficient d'apprentissage p doit être choisie de façon à ce que la fonction d'erreur soit minimale à chaque itération; si p a une valeur trop faible, la fonction d'erreur E diminue très peu, si p a une valeur trop grande, la fonction d'erreur risque d'augmenter. Pour optimiser la valeur de p, un réglage est effectué dans une première partie de la phase d'apprentissage. Ce réglage consiste à choisir une valeur arbitraire, par exemple p = 2-30 9,3 x 10-10 et à observer, pour quelques exemples de valeurs d'entrées, comment évolue la valeur de la fonction d'erreur E. Si E diminue, une valeur de p plus grande est essayée, par exemple on double la valeur de p , si E augmente, la valeur du coefficient d'apprentissage est fixée à p /2. Un réglage fin peut ensuite être effectué au moyen d'une méthode connue, par exemple la méthode de la mire. En cours d'apprentissage, la valeur du coefficient d'apprentissage diminue de façon à éviter des oscillations de la fonction d'erreur et à obtenir une diminution de E à chaque itération. La fonction de transition f est choisie de façon à respecter les contraintes suivantes - z étant un nombre complexe, le module de f(z) est borné, - pour z proche de la valeur 0, f (z) = z - pour z réel, f(z) = th (z) Différents types de fonctions satisfont à ces contraintes, et notamment les fonctions suivantes - f(z) = ~1 (zizi) exp (i f2 (Arg z)) - f(Z) = f1 (Re(z)) + i f2 (Im (z)) où Arg z est l'argument de z, Re (z) et Im (z) sont respectivement les parties réelle et imaginaire de z, f1 et f2 sont des fonctions réelles. A titre d'exemple, on peut choisir la fonction f (z) = z thizi/izi pour le premier type de fonctions ou f (z) = th (Re(z)) + i th (Im (z)) pour le deuxième type de fonctions. En résumé et en référence à la figure 5, les différentes étapes de la phase d'apprentissage sont les suivantes Dans une étape 1, les paramètres du réseau sont initialisés aléatoirement ; dans une étape 2, une fonction de transition complexe est choisie en se fixant différentes contraintes; dans une étape 3, la vitesse d'apprentissage est déterminée ; dans une étape 4, un exemple est extrait aléatoirement, parmi une base d'exemples et présenté en entrée du réseau de neurones; dans une étape 5, est effectué le calcul d'une fonction d'erreur entre la valeur obtenue en sortie du réseau et la valeur de sortie espérée pour cet exemple ; dans une étape 6, les parties réelle et imaginaire des poids synaptiques du réseau sont modifiées dans le sens inverse du gradient d'erreur de façon à minimiser la fonction d'erreur; dans une étape 7 un test est effectué pour déterminer si l'apprentissage est terminé, ce test pouvant porter par exemple sur un nombre d'itérations maximal, un nombre d'exemples maximal ou une valeur d'erreur minimale. Si le test est positif, l'apprentissage est terminé, sinon, le rang de l'itération est incrémenté et les étapes 4 à 7 sont recommencées. Lorsque la phase d'apprentissage est terminée, les valeurs des poids synaptiques du réseau de neurones sont figées et le réseau de neurones est capable d'effectuer le traitement des signaux complexes pour lequel il a été configuré. La figure 6 est un exemple d'application du procédé de traitement de signaux complexes à l'égalisation non linéaire de canaux de transmission numérique. Dans cet exemple d'application, un réseau de- neurones est utilisé pour effectuer un traitement d'égalisation de canaux de transmission. Ce traitement consiste à estimer les valeurs des signaux el présentés en entrée de la chaîne de transmission, à partir des valeurs des signaux ci reçues en sortie de la chaîne de transmission. A chaque instant d'échantillonnage t, le réseau de neurones reçoit en entrée une séquence de valeurs des signaux reçus en sortie de la chaîne de transmission pendant une période de temps donnée appelée fenêtre temporelle, (par exemple les valeurs des signaux reçus à l'instant t dans la fenêtre temporelle considérée sont ci (t-3), ..., ci (t), ..., ci (t+3)), et doit fournir en sortie une estimation du signal ej présenté à l'instant t.Si Ai est la valeur obtenue en sortie du réseau de neurones et G est la fonction qui associe à un point du plan complexe, la valeur permise la plus proche, l'estimation de el, notée êg, est êj = G(A1). Pour que les valeurs de sortie du réseau de neurones soient une estimation des valeurs présentées en entrée de la chaîne de transmission, le réseau de neurones est configuré pendant une phase d'apprentissage, de la manière décrite ci-dessus, l'apprentissage pouvant se dérouler suivant deux modes différents. Suivant un premier mode d'apprentissage, appelé apprentissage supervisé, une séquence d'apprentissage connue a priori est introduite dans le signal à transmettre. Les valeurs reçues en sortie de la chaîne de transmission sont présentées en entrée du réseau de neurones qui délivre une valeur de sortie Ai. La séquence eg étant connue a priori, les valeurs des coefficients de pondération du réseau de neurones sont modifiées de façon à minimiser une fonction d'erreur E égale à la valeur moyenne de {( s 2 e;) 2} L'apprentissage est effectué pendant toute la durée d'émission de la séquence connue. La même séquence d'apprentissage peut être introduite périodiquement dans le signal à transmettre afin de permettre au réseau de neurones, configuré pour effectuer l'égalisation, de suivre les éventuelles variations temporelles des caractéristiques de la chaîne de transmission. Le réseau de neurones configuré pour effectuer l'égalisation est, dans la suite de la description, appelé égaliseur. Un deuxième mode d'apprentissage, appelé autoapprentissage, peut être effectué lorsque les poids du réseau sont assez proches des valeurs optimales. Suivant ce deuxième mode d'apprentissage, on suppose que l'estimation êi de l'information à transmettre est égale au signal el transmis, et l'apprentissage est effectué en modifiant les coefficients de pondération du réseau de neurones de façon à minimiser une fonction d'erreur E égale à la valeur moyenne de ((4 - s,2~ Ce mode d'apprentissage présente l'avantage de ne pas nécessiter l'émission d'une séquence connue a priori, et donc de ne pas encombrer inutilement le canal de transmission. Enfin, il est possible d'effectuer un apprentissage utilisant successivement les deux modes d'apprentissage cités ci-dessus, le premier mode d'apprentissage étant utilisé dans un premier temps pour faire converger les paramètres du réseau de neurones vers une bonne solution lui permettant d'assurer les fonctions d'un égaliseur, I'autoapprentissage étant utilisé ensuite afin de permettre à l'égaliseur, de suivre les lentes variations temporelles des caractéristiques du canal de transmission. La présente invention précisément décrite n'est pas limitée à des applications d'égalisation de canaux de transmission; elle peut également s'appliquer à d'autres traitements faisant intervenir des nombres complexes. Notamment, le procédé de traitement de signaux à composantes complexes peut être utilisé pour des applications de classification telles que, par exemple, la classification de signaux radar. Dans ce cas, le réseau de neurones est configuré pour effectuer le traitement d'un classifieur. REVENDICATIONS i - Procédé de traitement de signaux à composantes complexes, caractérisé en ce qu'il consiste à utiliser un réseau de neurones multicouches, tel que, à chaque neurone J est associé une fonction de transition f complexe et dérivable et des poids synaptiques Wij prenant des valeurs complexes, ce réseau de neurones étant configuré pendant une phase d'apprentissage selon une méthode de gradient stochastique adaptée au domaine des signaux complexes. 2 - Procédé de traitement selon la revendication 1, caractérisé en ce que la phase d'apprentissage consiste à modifier les valeurs respectives des parties réelle ajj (k) et imaginaire ss~j (k) d'une fonction d'erreur E, ce gradient étant pondéré par une vitesse d'apprentissage p, tel que où k est le numéro de la couche considéré, i est un neurone de la couche k, j est un neurone de la couche (k-1). 3 - Procédé de traitement selon la revendication 2, caractérisé en ce que la vitesse d'apprentissage p est calculée automatiquement au moyen d'une méthode de mire consistant à augmenter progressivement p, jusqu'à ce que la valeur de l'erreur E augmente puis à effectuer un réglage fin autour de cette valeur. 4 - Procédé de traitement selon l'une quelconque des revendications 2 ou 3, caractérisé en ce que la fonction de transition f est choisie de façon à respecter les contraintes suivantes - z étant un nombre complexe, le module de f(z) est borné, - pour z proche de la valeur 0, f(z) = z, - pour z réel, f(z) = th (z). 5 - Procédé de traitement selon la revendication 4, caractérisé en ce que la fonction de transition f (z) est de la forme f(z) = fi (Izl) exp (i f2 (Arg z)), où Arg z est l'argument de z, fi et f2 sont des fonctions réelles, lt est le module de z. 6 - Procédé de traitement selon la revendication 4, caractérisé en ce que la fonction de transition f (z) est de la forme f(z) = fi (Re(z)) + i f2 (Im(z)), où Re (z) et Im (z) sont respectivement les parties réelle et imaginaire de z. 7 - Application du procédé de traitement de signaux complexes selon l'une quelconque des revendications précédentes, à l'égalisation non-linéaire de canaux de transmission numérique, caractérisée en ce que l'égalisation est effectuée par un réseau de neurones recevant sur ces entrées les valeurs des signaux reçus en sortie de la chaîne de transmission et configuré pour délivrer en sortie des valeurs constituant une estimation des signaux présentés en entrée de la chaîne de transmission 8 - Application selon la revendication 7, caractérisée en ce que la configuration du réseau de neurones est effectuée suivant un mode d'apprentissage supervisé pendant lequel une séquence d'apprentissage ej connue a priori est introduite dans le signal à transmettre et les valeurs des poids synaptiques du réseau sont modifiés de façon à-minimiser une fonction d'erreur E égale à la valeur moyenne de ((4 ex,2, où Ai représente les valeurs de sortie du réseau de neurones. 9 - Application selon la revendication 8, caractérisé en ce que la séquence d'apprentissage connue est introduite périodiquement dans le signal à transmettre. 10 - Application selon la revendication 7, caractérisé en ce que la configuration du réseau de neurones est effectué suivant un mode d'apprentissage appelé auto-apprentissage, pendant lequel les poids synaptiques du réseau sont modifiés de façon à minimiser une fonction d'erreur E égale à la valeur moyenne de (4 êj 2)}, où êj est une estimation de la séquence émise, cette séquence émise n'étant pas connue a priori. il - Application selon la revendication 7, caractérisée en ce que la configuration du réseau de neurones est effectuée dans un premier temps suivant un mode d'apprentissage supervisé, puis dans un deuxième temps suivant un mode d'auto-apprentissage.