FR 2657173 A1 19910719 FR 9000436 A 19900116 PROCEDE ET DISPOSITIF DE SEPARATION DE SIGNAUX EN TEMPS REEL La présente invention se rapporte à un procédé et à un dispositif de séparation en temps réel de signaux mélangés. Le problème posé est l'identification aveugle d'un mélange de signaux. Des signaux sont reçus sur un certain nombre de capteurs, en nombre égal à p par exemple. Ces signaux proviennent d'un mélange, qui est par hypothèse linéaire mais dont la fonction de transfert est inconnue, d'un nombre n inférieur ou égal à p de signaux "sources" qui sont également inconnus, et qui, également par hypothèse, proviennent de sources indépendantes et non Gaussiennes (sauf à la rigueur pour une seule d'entre elles). I1 s'agit donc à la fois de séparer, c'est à dire d'identifier, ces signaux sources et de déterminer la fonction de transfert réalisant le mélange de signaux que l'on reçoit sur les p capteurs précités : c'est donc un problème de déconvolution aveugle. En prenant l'exemple simple du domaine radar ou sonar, les signaux reçus par les capteurs qui constituent ensemble l'antenne de réception, sont généralement traités pour former des voies dans des directions choisies a priori, ce qui permet de séparer spatialement des "sources" constituées par des échos ou des bruiteurs. Le problème posé ici est d'identifier directement ces voies. Ainsi, pour fixer les idées, si on considère deux sources xl(t) et x2(t), où t est la variable temporelle, et deux capteurs fournissant deux signaux el(t) et e2 (t) tels que el(t) = xl(t) + ssx2(t) e2 (t) = axl(t) + x2(t) si on est alors capable d'obtenir a et ss, c'est à dire d'identifier la matrice de transfert on dispose des deux voies el(t) - sse2(t) et e2 (t) - ael(t) qui réalisent la séparation souhaitée des signaux sources xl(t) et x2(t). Dans cet exemple, les signaux sources sont pris au même instant t : le mélange des signaux est dit "instantané". En général, les mélanges ne sont pas instantanés, mais "convolutifs". I1 est néanmoins possible de ramener un problème convolutif à un problème instantané en décomposant les signaux en signaux de fréquences pures par analyse spectrale obtenue par Transformation de FOURIER.En désignant la fréquence par f, chaque signal observé s'écrit alors et chaque signal source s'écrit : Finalement, le problème de déconvolution aveugle à résoudre ici peut s'énoncer ainsi On observe p signaux (p supérieur ou égal à 2) dont on sait qu'ils sont issus de n signaux sources inconnus (n inférieur ou égal à p) par une transformation linéaire et stationnaire inconnue A(f) telle que avec : 1 Une solution connue pour réaliser une séparation temporelle d'un mélange instantané A(f) = A de signaux est proposée par Messieurs C.JUTTEN et J.HERAULT dans plusieurs articles dont celui publié dans la revue française "Traitement du Signal", volume 5, N06, 1988, page 389 à 403. I1 s'agit d'un procédé de séparation qui utilise un réseau de neurones linéaires monocouche totalement interconnecté, dont les poids sont contrôlés par un algorithme qui s'apparente à celui de l'itération stochastique. Ce procédé connu présente néanmoins quelques inconvénients l'algorithme utilisé ne converge pas toujours, et il peut de ce fait fournir des sorties erronées, qui divergeraient s'il n'y avait pas de saturation naturelle; lorsqu'il y a convergence, la vitesse de convergence de cet algorithme peut être extrêmement lente ; le fait qu'il y ait ou non convergence dépend de l'initialisation, ainsi que de la vitesse de convergence et de la solution fournie. L'invention vise à remédier à ces inconvénients. Elle se rapporte à cet effet à un procédé de séparation en temps réel de signaux reçus par un nombre p de capteurs prédéterminé, ces signaux provenant d'un mélange linéaire, mais de fonction de transfert inconnue, d'un nombre n inférieur ou égal à p de signaux-sources qui sont également inconnus et qui proviennent de sources indépendantes et, sauf à la rigueur pour une d'entre elles, non Gaussiennes, ce procédé consistant à traiter ces signaux reçus, captés et échantillonnés, en deux étapes successives, dont . une première étape consistant à obtenir, de manière connue en soi, p signaux décorrelés s(t) à partir de ces signaux reçus e(t) ; et une deuxième étape consistant à calculer une matrice orthogonale Q telle que x(t) = Q s(t), x(t) étant les signaux-sources recherchés, cette matrice orthogonale Q, qui réalise une transformation linéaire, étant obtenue à partir de transformations polynomiales des données, à l'aide de polynômes de degré 3 ou 4, et étant déterminée, à l'aide d'un algorithme stochastique qui mémorise des statistiques moyennes appelées moments et cumulants, et qui utilise alors ces moments et cumulants estimés pour réaliser la détermination en temps réel de la matrice Q. Préférentiellement en outre, on introduit dans le calcul des facteurs d'oubli ajustables pour permettre au séparateur de faire face à des phénomènes variables, c'est à dire non stationnaires. Si les p signaux observés sont issus d'un nombre n de signaux-sources qui est inférieur à p, le séparateur ne fonctionne que mieux : il considère alors automatiquement qu'il existe des sources fictives pratiquement nulles, générant uniquement les erreurs de calcul. De toute façon, l'invention sera bien comprise, et ses avantages et autres caractéristiques ressortiront, lors de la description suivante d'un exemple non limitatif de réalisation, en référence au dessin schématique annexé dans lequel - Figure 1 est un schéma synoptique d'ensemble de ce séparateur de signaux - Figure 2 est un schéma synoptique du "rotateur" utilisé dans le séparateur de la figure 1 - Figure 3 est une des cellules de "rotation" élémentaires utilisées dans le rotateur de la figure 2 - Figure 4 est une des cellules "produit" utilisée dans ce même rotateur - Figure 5 montre un exemple de trois signaux-sources - Figure 6 montre les trois signaux réellement observés, et correspondant à ces trois signaux-sources ; et - Figure 7 montre les signaux obtenus à l'aide du séparateur conforme à l'invention. En se référant à la figure 1, ce séparateur de signaux en temps réel comporte un "décorrélateurconditionneur" 1 apte à fournir, sur ses p sorties 2, p signaux décorrélés s(t) à partir des p signaux reçus, captés et échantillonnés, e(t) qui lui sont appliqués sur ses p entrées (3). Le fonctionnement du décorrélateurconditionneur 1 est bien connu en soi, et est par exemple décrit dans un article de J.G. WHIRTER et T.J. SHEPHERD, publié dans "Proceedings SPIE", vol. 975, Advanced Algorithms and Architectures, San Diego, 1988, et aussi dans une communication de P. COMON, Colloque GRETSI, juin 1989, Juan-Les-Pins, pages 137 à 140. Les p sorties s(t) en 2 sont appliquées à un dispositif 4 apte à effectuer le calcul de la matrice orthogonale Q précitée, telle que x(t) = Q . s(t) x(t) étant les signaux-sources recherchés et obtenus en 5 sur les p sorties du bloc 4. Ce bloc 4 est ici appelé "rotateur", car, comme on le verra ci-après, l'obtention de la matrice orthogonale Q revient à identifier une rotation. La structure du rotateur est représentée figure 2. Les p signaux s(t) sont traités dans une chaîne de calculs pour obtenir la matrice Q. Dans la cellule notée F, on effectue le produit de Q par les signaux s (t). Les p signaux de sortie x(t) sont statistiquement indépendants et reproduisent au signe près les signaux-sources normalisés. Deux algorithmes peuvent être mis en oeuvre - un algorithme I utilisant les moments d'ordre 3, - un algorithme II utilisant les cumulants d'ordre 4, en particulier pour des signaux-sources en bande étroite. La chaîne de calculs est composée d'une cellule C de calcul des moments ou cumulants. Elle possède p entrées et son nombre de sorties dépend de l'algorithme choisi. Elle est également Elle est également composée de m = p(p-1)/2 "rotateurs élémentaires" Q(1), Q(2),...Q(j),...Q(m) associés en cascade à (m-1) cellules de multiplication X. A chaque période d'échantillonnage, c'est à dire à chaque arrivée de p échantillons des signaux s(t), les calculs sont effectués. On décrit maintenant ces calculs - Algorithme I La cellule C effectue le calcul des moments gijk: gijk : = a2.si(t).sj(t)*.sk(t) + b2.gijk où le symbole(*) désigne la conjugaison complexe, et où le triplet (i,j,k) décrit le sous-ensemble de{1,2,...p}3 pour lequel i#j#k. Dans cette expression, a et b sont les facteurs d'oubli. Ce sont des réels de 10 1 satisfaisant a2 + b2 = 1. On peut jouer sur a ou b pour ajuster la puissance du moyennage statistique, et simultanément la durée de la stationnarité locale exploitée. Pour a petit, on moyennera beaucoup, et la stationnarité des processus sera supposé longue (la durée de moyennage équipondérée équivalente est de l'ordre de 1/a2) . Par exemple, 0.01 # a # 0.05 est raisonnable. La cellule Q(J) (voir figure 3) a pour but d'évaluer les deux nombres, c et s, caractérisant la matrice de rotation élémentaire Q(q,r), notée Q(J) pour simplifier. Lorsque 15q Q(l) = Q(1,2),Q(2) = Q(1,3),...Q(P) = Q(l,p) , Q(p+1) = Q(2,3),... Ceci établit bien une relation bijective entre J et le couple (q,r). Sur la figure 2, le fil inférieur 6 transporte donc les valeurs des cumulants des entrées si(t) tandis que la valeur de la matrice cumulée H(J) = Q(J-1) ...Q(2)Q(1) transite sur le fil du haut 7, et que la sortie de chaque cellule Q A l'aide des informations provenant du fil du haut 7 et du fil du bas 6 (cf. figure 3), on effectue d'abord dans la cellule Q(J) la mise à jour des 4 cumulants Gqqqr Gqqrr Gqrrr et Grrr par la formule Une fois cette mise à jour terminée (ce sera rapide car beaucoup des Hiv sont nuls ou égaux à 1), la cellule évaluera deux nombres, c et s, définis par après avoir calculé Ode la manière décrite ci-dessous Si |Gqqr+Gqrr| > |Gqqr-Gqrr|, calculer p = [Gqqq-Gqrr-Grrr+Gqqr]/ qrr qqr qrr (Gqqr+Gqrr), Si |Gqqr+Gqrr| Jqrr (Gqqr-Gqrr), Puis calculer (k valant indifféremment o ou 1). La cellule X fait le produit de la matrice décrite par les données venant du bas en 8 par la matrice pxp venant de gauche (cf. figure 4). Deux nombres, c et s, arrivent du bas sur l'entrée inférieure de la cellule, ainsi que deux indices, q et r. La matrice délivrée en sortie (à droite de la cellule) est définie par H sortie = Q(J)Hentrée, où la matrice Q(J) diffère de la matrice unité seulement en quatre coordonnées Q(J)(q,q) = c,Q(J)(q,r) = s,Q(J)(r,q) (r,q)= -s*, et Q(J)(r,r) = c, avec l #q#r#p. Cette cellule fait assez peu de travail car la plupart des lignes de Entre sont inchangées dans le calcul Sortie = Q(J)Hentrée (seules deux d'entre elles doivent être calculées). La dernière cellule X fournit la matrice Q qui correspond à - Algorithme Il La cellule C calcule les quantités Mhijk:=a2.sh(t)si(t)*.sj(t) sk(t)*+b2 +b2.Mhijk, avec l#h#i#j#k#p, Mjk : = a2.sj(t).sk(t)* + b2.Mjk, avec l Puis on calcule les cumulants ghiik : = Mhijk - MhiMjk - MhjMik - MhkMij. Notons que si les observations sont complexes et ont été obtenues après transformée de FOURIER de signaux réels, elles vérifient la propriété dite de "circularité" qui entraîne que Mhj = O et Mik = O. On peut donc se passer du calcul de ces termes. Par ailleurs,si le décorrélateur fonctionne correctement, il doit imposer en régime permanent Mjk = O si j#k et Mjj = 1 si j=k.Si les moyens de calcul sont réduits, ces termes aussi pourront aussi être remplacés par leur valeur idéale, au prix d'une légère diminution de la vitesse de convergence. A l'aide des informations provenant du fil du haut et du fil du bas, on effectue d'abord dans la cellule Q(J) la mise à jour des 3 cumulants Gqqqr , Gqqrr , et Gqqqr par la formule Comme précédemment, on évalue ensuite les deux nombres c et s après avoir calculé O de la manière décrite ci-dessous Si IGqqrrl > 20.a2 . Mqq.Mrr,calculer P = [GqqqrGqrrr] /Gqqrr sinon p = 0 Puis De Oon déduit c et s par En se reportant maintenant aux diagrammes de résultats obtenus (figures 5 à 7), les nombres d'échantillons sont portés en abscisses sur ces diagrammes, et les amplitudes de signaux en ordonnées. Les trois signaux-sources (figure 5) sont, dans cette simulation composés d'un bruit 10, d'un signal en dents de scie 11, et d'une sinusoïde 12. Les trois signaux 13, 14, 15 réellement observés sont représentés en figure 6 : ils n'ont aucune ressemblance avec les signaux-sources de la figure 5. Après traitement par le séparateur qui vient d'être décrit, ce séparateur utilisant l'algorithme II dans cet exemple, on obtient les trois signaux 16, 17, 18 représentés à la figure 7. Ces trois signaux sont obtenus pour 1/a2 = 100. A noter que ces signaux sont obtenus sur des voies non correspondantes, et au signe près, ce qui n est pas un très gros inconvénient. La sinusoïde 12 est obtenue en 16, sur la première voie au lieu de la troisième, et avec un signe opposé. Le bruit 10 est obtenu en 17, sur la deuxième voie au lieu de la première, et avec un signe opposé, et la dent de scie 11 est obtenue en 18, sur la troisième voie au lieu de la première et sans inversion de signe. Les signaux qui correspondent à la sinusoïde et au bruit sont obtenus avec un changement de signe. Parmi les avantages de l'invention par rapport à l'autre antérieur on peur citer - le fonctionnement aussi bien sur signaux réels que sur signaux complexes, - la possibilité de fonctionnement lorsque le nombre de sources est inférieur ou égal à p, - la possibilité d'utiliser 2 algorithmes, l'un à l'ordre 3, l'autre à l'ordre 4 ; seul l'algorithme II fonctionne pour des signaux à bande étroite), - le fonctionnement en temps réel rendu possible grâce à un seul calcul de Gijk ou Gkl, même lorsque p > 2, l'utilisation d'un test de conditionnement (algorithme I) ou d'un seuil de rentabilité (algorithme II) dans chacun des rotateurs élémentaires : voir les conditions sur G pour le calcul de p. Parmi les nouvelles applications rendues possibles grâce à ce procédé, il convient de noter - la réduction de bruit aveugle solution effectuant une analyse en composantes indépendantes traitement très performant si le bruit est Gaussien et le signal non-Gaussien le traitement fonctionne sur tous signaux réels dont les statistiques sont inconnues ; . pas de recours à des références de bruit seul ou de signal seul ; - la localisation en sonar ou radar sur antennes perturbées ou décalibrées . élimination de brouilleurs forts très similaires au signal utile, voire de statistiques exactement identiques (le séparateur est capable se séparer des processus de mêmes statistiques) ; identification d'une "cocktail-party" ; . séparation de trajets multiples peu corrélés . localisation de p sources avec p capteurs - l'estimation d'un signal inconnu reçu sur une antenne inconnue ; - l'égalisation aveugle (application aux télécommunications en particulier). Comme il va de soi, l'invention n'est pas limitée à l'exemple de réalisation qui vient d'être décrit, mais elle est bien au contraire susceptible d'être mise en oeuvre dans d'autres réalisations utilisant des moyens équivalents, même s'ils sont plus sophistiqués. REVENDICATIONS 1 - Procédé de séparation en temps réel de signaux e(t) reçus par un nombre p de capteurs prédéterminé, ces signaux provenant d'un mélange linéaire, mais de fonction de transfert inconnue, d'un nombre n inférieur ou égal à p de signaux-sources x(t) qui sont également inconnus et qui proviennent de sources indépendantes et, sauf à la rigueur pour une d'entre elles, non Gaussiennes, caractérisé en ce qu'il consiste à traiter ces signaux reçus [e(t)], captés et échantillonnés, en deux étapes, dont . une première étape consistant à obtenir, de manière connue en soi, p signaux décorrelés s(e) à partir de ce signaux reçus e(t) ; et . une deuxième étape consistant à calculer une matrice orthogonale Q telle que x(t) = Q s(t), x(t) étant les signaux-sources recherchés, cette matrice orthogonale Q, qui réalise une transformation linéaire, étant obtenue à partir de transformations polynomiales des données à l'aide de polynômes de degré 3 ou 4, et étant déterminée, à l'aide d'un algorithme stochastique (I ou II) qui mémorise des statistiques moyennes appelées moments et cumulants, et qui utilise alors ces moments et cumulants estimés pour réaliser la détermination en temps réel de la matrice Q. 2 - procédé de séparation selon la revendication 1 caractérisé en ce qu'il consiste en outre à introduire dans le calcul des facteurs d'oubli (a, b) ajustables pour permettre au séparateur de faire face à des phénomènes non-stationnaires. 3 - Dispositif pour la mise en oeuvre du procédé selon la revendication 1 ou la revendication 2, caractérisé en ce qu'il comporte un "décorrélateur-conditionneur" (1), connu en soi et apte à fournir, sur p sorties (2), p signaux décorrélés s(t) à partir des p signaux reçus e(t) qui lui sont appliqués sur ses p entrées (3) ; et un "rotateur" (4) qui reçoit les p sorties (2) de signaux [s (t)] de ce décorrélateur-conditionneur (1), et qui est apte à effectuer le calcul de la matrice orthogonale Q, afin de fournir sur ses p sorties (5) les signaux-sources x(t) par application de la formule x(t) = Q.s(t) 4 - Dispositif selon la revendication 3, caractérisé en ce que le rotateur (4) comporte une cellule (C) de calcul des moments ou cumulants, cette cellule recevant les p signaux s(t) en provenance du décorrélateur-conditionneur (1), cette cellule sortant sur m = P(P21) rotateurs élémentaires [Q(1,, Q( (X), la sortie (Q) de la dernière cellule de multiplication étant appliquée à une cellule (F) effectuant le produit de cette sortie, qui représente la matrice orthogonale (Q) recherchée, par les p signaux décorrélés d'entrée [s(t)].