Brevet FR3076412A1 — publié le 20190705

S te e de demodulation aveugle de si.naux do télécommunication nurneriqlLe DOMAINE TECHNIQUE DE L'INVENTION La presente invention concerne generalement un systeme de traitement de signaux en telecommunications numeriques, et notamment un systeme de demodulation eventuellement en aveugle et en temps reel de signaux de telecommunication modules lineairement, mono-polarises, ou bipolarises, io transmis sur un canal perturbe et robuste a diverses deficiences de la chaine de transmission (synchronisation, derive en frequence, bruit de phase...). ARRIERE-PLAN TECHNOLOGIQUE DE L'INVENTION Dans le domaine de la telecommunication numerique, une 15 demodulation d'un signal est realisee par un appareil de demodulation pour reconstituer un signal dit en bande de base a partir de l'observation d'un signal module et eventuellement perturbe par les imperfections de la chaine de transmission et d'un canal de propagation. La demodulation en aveugle, plus particulierement, vise la demodulation d'un signal sans utilisation de 20 sequences pilotes connues a priori. La demodulation aveugle d'un signal de telecommunication numerique en modulation lineaire peut etre realisee selon deux types de signaux : les signaux dits « mono-voies ou « mono-polarises >> qui sont des signaux classiques dans lesquels un flux d'information est transmis sur 25 le support ; et les signaux « multi-voies » ou x bipolarises et/ou multipolarises » ou XPIC ( sigle faisant reference a la technique de demodulation « cross-polarization interference canceller » ou annuleur d'interferences de polarisation croisee) qui sont constitues de deux signaux multiplexes 30 sur les deux polarisations de l'onde electromagnetique. 2 Une fonction d'egalisation du signal est concue pour pouvoir inverser au mieux les canaux et compenser les imperfections de transmission. Une telle fonction necessite la connaissance de nombreux parametres ou caracteristiques (frequence, amplitude. filtres d'egalisation...) du signal module lineairement, 5 Dans un mode de transmission cooperatif ou « non-aveugle », des sequences connues de l'emetteur et du recepteur sont ernises regulierement et permettent de regler l'egaliseur. Or dans un contexte de transmission en aveugle, aucune sequence West connue et une fonction d'egalisation est difficile a trouver. Les documents (S. Barembruch, « Methodes approchOes de maximum de vraisemblances pour la classification et identification aveugles en communications numeriques », rapport de these, Telecom ParisTech, 7 mars 2011) et (E. Punskaya, « Sequential Monte Carlo methods for digital communications », rapport de is these, universite de Cambridge, 2003) presentent deux methodes proches fondees sur l'algorithme EM (pour « Expectation Maximization ») permettant de demoduler en aveugle des signaux de telecommunication. Cependant ces approches quoique de complexite reduite ne permettent pas de traiter des signaux de 20 grand debit en temps reel, elles sont focalisees sur la compensation du canal de propagation et ne permettent pas de compenser les autres distorsions du signal (synchronisation, phase, derive de porteuse..,). Elles ne permettent pas de suivre les variations temporelles des parametres. Elles ne permettent 25 pas non plus de traiter des signaux sur plusieurs polarisations. Un des buts du brevet FR3030964 est de proposer des methodes permettant de separer et de demoduler en aveugle deux signaux de telecommunication modules lineairement, sur une seule voie et superposes en frequence en utilisant un algorithme d'esperance maximisation et des 30 techniques de filtrage particulaire. Si cette methode permet de suivre les 3 variations temporelles des parametres, elle est encore trop demandeuse en temps de calcul pour pouvoir suivre un signal de grand debit en temps reel et pour de grands ordres de modulation. 5 DESCRIPTION GENERALE DE L'INVENTION La presente invention a pour but de pallier certains inconvenients de Part anterieur en proposant un systeme permettant d'optimiser et de faciliter la demodulation, eventuellement en aveugle, de signaux de telecommunication mono-polarises ou bipolarises et permettant une implementation en temps to reel. A cet effet, Ia presente invention concerne un systeme de demodulation en aveugle d'un signal de telecommunication numerique module lineairement et comprenant des modules permettant l'estimation, le suivi des variations temporelles et la corrections de Ia valeur des phases, des amplitudes, des frequences , des decalages temporels et d'un ensemble de filtres de compensation du canal de propagation, caracterise en ce comprend au mains une architecture hardware ou hardware et firmware comportant des memoires et une ou plusieurs unites de traitement pour implementer un reseau de blocs de calcul specifiques connectes les uns aux autres. dont - un bloc de synchronisation du signal en aveugle permettant l'estimation, le suivi et la compensation du retard du signal et permettant aussi d'adapter le debit de traitement de Ia chaine en aval (du systeme de demodulation) a la cadence reduite d'un echantillon par symbole, - un premier bloc realise au moins un module permettant d'estimer 25 au mains un des parametres des signaux observes pour evaluer par Ia suite les autres parametres des signaux observes par d'autres blocs de calcul du reseau, - au mains un deuxieme bloc de calcul specialise realise un module de decision pour calculer un signal d'erreur et retro-propager les erreurs 30 calculees a chacun des blocs residuels (« propagate >), « update >)) precedents. 4 Selon une autre particularite, le parametre du premier bloc est le taux d'amplification, et le systeme comporte un bloc additionnel specialise relie aux sorties du premier et aux entrees du bloc de decision, ce bloc additionnel realisant au moins un module d'estimation de frequence pour determiner les frequences des signaux ernis en aveugle et/ou au moins un module de phase pour determiner les valeurs de phase desdits signaux. Selon une autre particularite, le module de phase peut etre dispose dans un bloc de calcul supplementaire relie aux sorties du bloc de calcul de frequence du bloc additionnel. 10 Selon une autre particularite, le systeme comprend un bloc supplementaire specialise du reseau entre le bloc de synchronisation et le premier bloc de calcul, ledit bloc supplementaire realise l'estimation d'au moins un filtre permettant de corriger tout ou partie de la distorsion induite par le canal de propagation. 15 Selon une autre particularite, le module du bloc de synchronisation, est configure pour recevoir en entree un flux de signal complexe echantillonne a au moins deux echantillons par symboles et stocker ces echantillons dans un tampon memoire interne pour delivrer a chaque temps symbole une sortie de signal d'entree au bloc aval du reseau (par exemple, le second bloc, le premier 20 bloc ou le bloc supplementaire). Selon une autre particulate, au moins un module de filtre (F ou G) du bloc supplementaire est initialise par les operations d'initialisation suivantes F vecteur complexe de taille NF = FIFO complexe de taille dans lesquelles les parametres d'initialisation, memorise dans une memoire du module de filtre, sont: 0 -VF est un entier 0 p un vecteur de reels de taille - Scion une autre particularite, au moins un module d'amplification du premier bloc est initialise par les operations d'initialisation suivantes : 0= 5 ^ X FIFO complexe de taille dans lesquelles les parametres &initialisation, memorise dans une memoire du module du premier bloc, sont 5 o a est une valeur initiale d'amplification o _N_ est un entier o est un nombre reel. Selon une autre particularite, le module &estimation de la frequence du bloc additionnel (au premier bloc) est initialise par les operations d'initialisation 10 suivantes : - ?i= ^ p=1.0 - X = FIFO complexe de taille 15 FS dans lesquelles les parametres d'initialisation, memorise dans une memoire du module du bloc additionnel (au premier bloc), sont o _f_ est un nombre reel codant une estimation initiale de la frequence o _N est un entier 20 o _p_ est un nombre reel. Selon une autre particularite, le module d'estimation de la valeur phase du bloc additionnel est initialise par les operations &initialisation suivantes : - ); - estimation a reception par chaque neurone (I) de I'erreur d'un terme correctif et mise a jour dans chaque bloc de la valeur du parametre 6'; selon 30 Selon une autre particularite, chaque neurone du reseau realise specifiquement 9 - un traitement d'une fonction x Next » , implementee et mise en oeuvre dans un sous bloc logique de traitement ), pour generer des sorties a partir d'une pluralite d'observation du signal et les transmettre au bloc de traitement du neurone suivant du reseau cette fonction s'ecrit de fawn 5 generale sous Ia forme ,Th,t _1) :7- Ilext avec m, le nombre d'entrees et ')1+1, le nombre de sortie de 17) qui correspond au nombre d'entrees de - un traitement dune fonction « Propagate », implementee et mise en oeuvre dans un sous bloc logique « Propagate >> ) pour calculer les 10 erreurs fournies par le bloc -ou par = (eo, '", 8'N-1) avec eJ Y.) en bout de chaine soit l'entree ; pour le i-eme neurone, cette fonction s'ecrit de fawn generale sous la forme = propagate - un traitement d'une fonction « Update >> implementee et mise en is oeuvre dans un sous bloc logique « Update >> pour calculer les parametres correctif .a appliquer a Ia valeur courante du parametre memorise en interne a partir des erreurs renvoyees par le sous bloc F...(-1; cette fonction s'ecrit de fawn generale sous Ia forme 20 Selon une autre particularite, chaque neurone comprend au moins une implementation et une mise en oeuvre d'une suite de traitements elementaires de Ia forme : le sous bloc realise I, 25 avec un enter et K l'espace des nombres reels ou l'espace des nombres complexes - le f:Salise - le sous bloc sous = propaga use apdat bloc 10 Selon une autre particularite, l'ajout de la non-linearite a la sortie du dernier bloc ) du reseau est mise en ceuvre par la fonction : / dans laquelle zi est le signal sortant d'un organe de decision du dernier bloc 5 yi est un echantillon egalise ou demodule le bloc de decision etant defini par la comparaison du resultat obtenu par Ia sortie y du bloc phase avec une constellation finie de resultats possibles memorises par le bloc de decision, et decidant de prendre parmi les resultats possibles, celui dont la distance avec le point 10 representatif de la sortie y est la plus petite Selon une autre particularite, la retropropagation des erreurs calculees est obtenue par les traitements, implementes et mise en oeuvre par un algorithme de retropropagation de l'erreur, suivants - Initialisation de la retropropagation sous la forme 15 pour 0 5 k et !Increment des differents parametres des blocs de la chaine 23 via les blocs « update » peuvent etre realises en cascade et en boucle jusqu'a avoir estimes le plus precisement possible les differents parametres du signal. Dans certains modes de realisation, chaque module du bloc de calcul du reseau, par au moins un hardware ou une combinaison hardware et s firmware, peut realiser les operations suivantes : Module filtre F (1) o Parametres d'initialisation - un entier un vecteur de reels de taille 10 o Initialisation vecteur complexe de taille O X FIFO complexe de taille o ^ X.append(x) 15 Retourner ) o propn3te(1') - Retourner e F o update(.) F = 2 Al (id x est le produit terme a terme de 20 deux vecteurs) ou F F Module filtre 0 (2) o Parametres d'initialisation 121 un entier 25 ^ un vecteur de reels de taille o Initialisation - G vecteur complexe de taille Nc ^ X ' FIFO complexe de taille No; o next() 30 ° X.append(x) - Retourner IX) update(,) id X est le produit terme a terme de deux vecteurs) 64-= 5 - Module Amp (3) o Parametres d'initialisation une valeur initiate d'amplification un entier un nombre reel 10 o Initialisation =,2 - X = FIFO cornplexe de taille o next() 15 X.push(x) - Retoumer a x o pro .m.gate(9) Returner a x o pt(:) 20 - Remarque : la taille de Ia FIFO X a ete choisie en coherence avec Ia taille du vecteur d'erreur - Module Frequence (41 25 o Parametres d'initialisation : ^ un nombre reel codant une estimation initiale de la frequence un entier un nombre reel 24 25 O Initialisation p = 1'0 5 - X = FIFO cornplexe de taille =4,t - next(v) kaX.append(x) - Retournerx p 10 BR - propagal:e G.) - Retourner e ' P o Remarque : la taille de la FIFO X a ete choisie en 15 coherence avec la taille du vecteur d'erreur 10) = - Module Phase (5) 20 Parametres d'initialisation un reel un entier - X = FIFO complexe de taille un nombre reel 25 0 Initialisation 5 26 - .V. append - Retourner x - P o propagate() Retourner e P o update() - Remargue : Ia taille de Ia FIFO a ete chose en coherence avec la taille du vecteur d'erreur e - Ot Cie)) 10 p Modu e Decision 6 0 Parametres d'initialisation 15 une constellation complexe o Initialisation o ^ Retourner * Demodulation d'un signal bi-voies 20 Dans certains modes de realisation, le systerne de demodulation en aveugle d'un signal type multi-voies peut fonctionner selon la configuration schematique des figures 4 et 5. La figure 4 illustre l'enchainement des blocs de traitement a partir de la reception des deux echantillons d'entree c.7). xo ), plus particulierement l'enchainement des fonction next() encapsulees 25 (ou integrees) dans les sous-modules (ou bloc « miroir » ou bloc residue!) du systeme, notes A-Nxx et/ou H-Nxx pour Ia premiere chaine et B-Nxx et/ou VNxx pour Ia seconde chaine. La figure 5 illustre l'enchainement des blocs de traitement « propagate >> (ou propagation) et x update >> (ou mise a jour) a partir des erreurs ; " ) calculees en bout des chaines de traitement, 27 plus particulierement l'enchainement des fonctions propagate() et update() encapsulees dans les sous modules notes Bxx, dont chacun regroupe les sous-modules update (Uxx) et propagate Pxx) des premiere (H) et seconde (V) chaines de traitement. La premiere et seconde chaines de traitement bivoie sont semblables et peuvent etre mises en parallele (clest-a-dire executees simultanement). Les synchroniseurs ou bloc de calcul de synchronisation du signal en aveugle (A-NO) et (B-NO), en debut des deux chaines de traitement, forment (b) les valeurs complexes et k . Ces valeurs peuvent etre mises en entrees 10 des modules correcteurs de Phase (A-N1) et (B-N1) qui renvoient chacun une .(a) (b) nouvelle valeur complexe -1.1 et . Ces valeurs et ) peuvent etre mises en entrees des modules Filtres (H-N1) et (V-N1). Par exemple, comme representees sur la figure 4, les entrées entre les deux modules (module correcteur Phase et module Filtre F) sont inversees. 15 Au niveau de la premiere chalne ou chaine H, le module (H-N1) forme une sortie X1(.12) Une difference est calculee : .(10 3 pour delivrer une sortie . La valeur t provenant de la sortie du module Filtre G (H- N2) monte en derivation. La sortie OE pouvant traverser le module Amplitude (H-N4) pour delivrer une sortie 4 qui peut etre mise en entree du module 2(0 Frequence (H-N5). Le module Frequence peut delivrer une sortie qui peut etre mis en entrée du module Phase (H-N6). Le module Phase peut delivrer une valeur (ou sortie) complexe Y. . Cette valeur (h) constitue la sortie d'interet du systeme et correspond a la voie H demodulee. Le symbole de sortie . peut etre mis en entrée d'un organe de 25 decision (par exemple, un « slicer ») H-NL. Ce module est programme avec la constellation (ou ensemble de points symboles) de la modulation en jeu et renvoie pour tout la valeur complexe (h) du point de la constellation le plus proche de . 28 Une difference conjuguee pout etre calculee ef)1) -7(k)Y afin de constituer la premiere erreur de Is chaine H. Par exemple, en parallele, Ia valeur peut etre envoyee dans Is boucle de retroaction contenant le filtre G (H_N2). Elle peut etre multipliee 5 successivement par le conjugue de la valour interne P du module de phase et par le conjuge de la valeur interne P de la fonction next () du module de frequence pour donner une valour: Les valeurs et constituent les entrees du sous module Filtre G (H-N2) pour pouvoir delivrer les sorties 10 Les enchaInements de la chaine H s'applique similairement a la seconde chaine ou chaine V (en remplacant les exposants (h) par () dans les references). Comme representees par exemple sur la figure 5, les erreurs ) constituent les entrees de Is chaine de retro-propagation de I'erreur. 15 De l'erreur e - - a l'erreur de la chaine H et de I'erreur a l'erreur de la chaine V, I'erreur suit le meme trajet de retro-propagation quo dans le cas du signal mono vole decrit ci-dessus. Les sous modules Filtre F de la chaine H (H-B1) et de la chaine V (V- B1) regoivent chacun une erreur sous forme du nombre complexe ou 20 , afin de realiser la mise a jour des differents coefficients des filtres internes et de delivrer deux vecteurs d'erreur egle), et eri). et e pour pouvoir obtenir les erreurs et retro-propager aux sous modules correcteurs Phase (A-B1 et B-B1). Ainsi, lesdits vecteurs sont donc nommes selon e(a) i pour que ces dernieres valeurs puissent 25 etre mises en entrees du sous-module (A-B1) et du sous-module (B-B1) qui peuvent realiser Ia mise a jour des parametres de phase, puis renvoyer (ou delivrer) les erreurs c: et Les erreurs ,(1;) et peuvent etre utilisees 29 pour mettre a jour les parametres de synchronisation dans les sous-modules (A-BO) et (B-B1). Dans certains modes de realisation, chaque module du bloc de calcul du reseau, par au moins un hardware ou une combinaison hardware et 5 firmware, peut realiser les operations suivantes ModulefiltreFjfl o Parametres d'initialisation 18 NF un entier o Initialisation 10 - Fo vecteur complexe de taille vecteur complexe de taille FIFO complexe de taille ^ Xo = FIFO complexe de taille Nc 15 20 0 IR Xe. a PP- X1. append( Retourner VoIX VI) ) O p op at E(t,) Retourner 'F ,e up date(g) =2 x (ici X est le produit terme a terme de deux vecteurs) - Fo+. Sr-c, = 2 x CF":7(icix est le produit terme a terme de 25 deux vecteurs) 30 Module filtre G (2) o Parametres d'initialisation un enter O Initialisation 5 Go vecteur complexe de taille NG g, GI vecteur complexe de taille ^ :VD = FIFO complexe de taille NG FIFO complexe de taille o ne.xt() ^ X.append(x) - Retourner ((Gc. I.V. o update() = 2Y 7`;(iCi x est le produit terme a terme de deux vecteurs) 15 - G ^ 56,2 x (e - Ac) (id X est le produit terme a terme de deux vecteurs) 6'61 Dans certains modes de realisation, les operations decrites pour la 20 demodulation aveugle mono-voie peuvent etre appliquees dans les modules d'amplification, de frequence, de phase etiou de decision. Synch oniseur Comme decrit ci-dessus, le systeme de demodulation en aveugle de la 25 presente invention peut comprendre un synchroniseur adaptatif (definit comme « un bloc de calcul de synchronisation d'un signal aveugle .>> dans la 31 presente demande) pour une chaine de demodulation d'un signal en modulation lineaire. Dans certains modes de realisation, le synchroniseur comprend un premier sous module configure, par l'intermediaire d'au mains un 5 processeur et un logiciel ou code executable, pour realiser une fonction nexti X pour definir et delivrer son signal de sortie un second sous module configure pour definir une fonction pd comPlex - 0 par l'intermediaire d'au mains un processeur et un logiciel ou code executable, pour estimer un correctif (6r). to La fonction 0 next » (terme anglais pour definir le renvoie d'un element suivant d'un iterateur) du premier sous module, transforme les valeurs du signal d'entree pour renvoyer a la demande le prochain echantillon. La fonction « update » (terme anglais pour « mettre a jour ») du second sous module, actualise le correctif a appliquer a l'estimation du retard de propagation du 15 signal d'entree a partir d'une l'estimation de l'erreur. Dans certains modes de realisation, le premier sous module du bloc de synchronisation comprend un generateur configure pour extraire des valeurs d'echantillon du signal d'entree selon le besoin. Le signal est alors vu comme un generateur d'echantillons, iterable et utilisable par le bloc de calcul de 20 synchronisation. Dans certains modes de realisation, les valeurs d'echantillon extraites du signal d'entree sont transmises dans un premier tampon, dispose dans le premier sous module du bloc de synchronisation, de sorte a memoriser les dernieres valeurs du signal. Le premier tampon peut etre dispose dans le 25 premier sous module ou dans le synchroniseur hors du premier sous module, de fawn temporaire ou permanente selon l'application souhaitee. Dans certains modes de realisation, un second tampon est configure pour memoriser des variables auxiliaires utiles au calcul du correctif (or). Le second tampon peut etre dispose dans le second sous module ou dans le 32 synchroniseur hors du second sous module, de fawn temporaire ou permanente selon l'application souhaitee. Dans certains modes de realisation, le premier et second tampon sont un tampon memoire du type FIFO (terme anglais « First-In-First-Out » 5 definissant une methode pour organiser et manipuler un tampon de donnees, dans laquee les premieres donnees entrees sont traitees les premieres). Dans certains modes de realisation, une fonction d'initialisation permet de configurer pour initialiser les parametres du module ou bloc de synchronisation. to A l'initiation, le module ou bloc de synchronisation peut prendre les parametres suivants - Les valeurs de rythme d'echantillonnage 1:q et de rythme de symbole T une de ces dernieres pouvant etre fixees a 1 - h et le sant des fonctions permettant de calculer le filtre de mise en [5 forme du signal et sa derivee Une valeur initiale de 10, T[ par defaut T = 0 Un parametre reel 0 appele vitesse d'apprentissageet a priori petit - Un nombre entier tel que les tampons de temps decrits plus bas ont une taille 2n - 20 - Un nombre entier m tel que l'erreur ": est un vecteur complexe de taille m Dans certains modes de realisation, le synchroniseur peut etre initialise par au moins un processeur et au moins un logiciel ou un code executable aptes a realiser les operations d'initialisation suivantes : 25 7:z*7 = initialiser vecteur tie reels de taint? Avec trti A= initialiser tampon FIFO tie complexes de taille 33 Y' initialeser tampon FIFO de complexes de ti,"'-rz a 0 Dans lesquelles o la valeur Tiq est le rythme crechantillonnage - /T est le vecteur date corrigee a rapporter a 0 5 oi represente une variable evolutive o une valeur initiale de o un nombre entier n tel que les tampons ont une taille 2n+1 o un nombre entier m tel que l'erreur est un vecteur complexe de taille m o Dans certains modes de realisation, le bloc de synchronisation peut -etre configure pour realiser les traitements suivants par l'intermediaire d'au moms un processeur et au moins un logiciel ou un code executable : next( corn./ ex o t t 15 o While 0 input ne.xt(:) FS appen(,..) t = ;g(D) 20 o OY append(v) o Return Y update(w): complex - 9t0Y10) 25 0 or 34 La boucle « while » (terme anglais pour « tant que ») permet d'extraire un ensemble d'echantillons (x) du generateur input et de les integrer dans le premier tampon memoire. Le vecteur t contient les dates des echantillons contenus dans le buffer (X) ou tampon relativement a la date du prochain 5 symbole emis par le bloc de synchronisation. Tant que la date de rechantillon en milieu de buffer est positive, un nouvel echantillon est preleve et les dates des echantillons sont mises a jour jusqu'a qu'un echantillon de date negative soit extrait. Une fois le critere verifie (c'est-a-dire un echantillon negatif extraite), la suite des traitements pour definir le premier signal de sortie (y) 10 peut etre poursuivie. La presente invention presente l'avantage d'utiliser un synchroniseur adaptatif (c'est-a-dire un synchroniseur comprenant un bloc de calcul de synchronisation d'un signal aveugle) en debut de chaine, afin que le reste de la chaine soit cadence au rythme reduit d'un echantillon par symbole. 15 Dans certains modes de realisation, Ia presente invention repartit Ia compensation du canal de propagation sur deux filtres, un filtre « feedforward » ou « avant)) note F et un filtre « backward » ou arriere » note G. La combinaison de ces deux filtres permet de renforcer la capacite 20 d'egalisation du demodulateur mais necessite localement l'ajout de multiplicateurs et d'operateurs de conjugaison pour assurer une robustesse optimale au bruit de phase, aux derives en frequences et aux instabilites en frequence dans le cas bi-voie. 25 La presente invention concerne egalement une methode temps reel de demodulation aveugle de signaux de telecommunication numerique, a partir de l'observation par echantillonnage d'un signal, ce signal correspond a Ia reception d'un signal de modulation lineaire ayant subi des deformations lors de sa transmission, le processus de traitement comprenant les etapes 30 suivantes : acquisition par echantillonnage de "1 0 signaux (VG,o, pour constituer chacune une entree d'un reseau de neurones specialises; chaque neurone F etant simule par les sorties d'une chaine amont Gi et stimulant une chaine aval Hi ; chaque jeu 5 d'echantillons parcourt Ia meme chaine de traitement ; - pour chaque nouvel echantillon en entrée, chaque sous neurone est stimule par les sorties de Ia chaine amont constituee de la mise en cascade des neurones specialises et stimulant la chaine aval constituee des neurones specialises ; les 10 traitements realises par le sous module t-. dependent d'un parametre memorise en interne a; ; les sorties du dernier neurone -i constituent le sorties d'interet du systeme ou encore les signaux demodules et sont notees Yo - une fonction non linealre ) est appliquee independamment 15 chaque signal demodule Yi pour produire les variables .j.J ) et calculer les erreurs de bout de chaine' - retropropagation de l'erreur et mise a jour du parametre - un signal d'erreur traverse le reseau en sens inverse du neurone L-1 au neurone F0 I'erreur en entrée du neurone FL-1 est le vecteur 20 (et " = (ea, "*. ; en traversant le neurone I , l'erreur est modifiee par le sous neurone 17)(F) avant d'être transmise au neurone 2-1 ; parallelement a is retroprogation de I'erreur du neurone I au neurone 1 , l'erreur en provenance du neurone / + 1 est mise en entrée du sous neurone qui produit un terme correctif (78 qui 25 permet Ia mise a jour du parametre interne 6: selon - Cette erreur calculee peut permettre de corriger la valeur courante de chaque bloc. Les sorties des derniers blocs du reseau correspondent idealement aux symboles demodules. 36 Ces signaux de telecommunication peuvent inclure des deformations comprenant notamment un filtre de canal (et un filtre de co-canal dans le cas bi-voies), une amplification, une valeur de phase, un residu de porteuse, du bruit et d'autres perturbations stochastiques comme du bruit de phase. Ainsi, selon rinvention, le reseau de demodulation va corriger ces differents effets travers des neurones de traitement specialises. Par neurones de traitement specialises, on entend une ou plusieurs fonctions dont les parametres peuvent etre mise a jour par retropropagation. Dans certains modes de realisation, les parametres a, des differents 10 blocs de traitement sont predefinis initialement, par exemple de facon arbitraire sans s'eloigner des valeurs attendues. Pour chaque echantillon entrant dans le systerne et pour chaque neurone i, notre systeme produit un terme correctif OA qui est ajoute a Ia valeur courante du parametred. Cette equation de mise a jour produit une suite de valeurs de oz qui 15 convergent vers Ia valeur de at qui permet de demoduler au mieux le signal crentree. Dans certains modes de realisation, chaque neurone F t du reseau realise specifiquement - un traitement d'une fonction « next », implementee et mise en ceuvre 20 dans le sous-bloc logique traitement pour generer des sorties a partir d'une pluralite d'observation et les transmettre au bloc de traitement du neurone suivant du reseau ; pour le neurone F, cette fonction s'ecrit de fawn generale avec ses entrees-sorties sous la forme z.0 avec le nombre d'entrees et 25 le nombre de sortie de qui correspond au nombre d'entrees de F . Chaque traitement est parametre par un ensemble de parametres 8 croo la notation Fl((N) ) F:(.\)) ) quand on veut rappeler !importance du parametrage. Chaque fonction « Next » est representee sur les figures 3 a 5 par un bloc Ni ; 37 un traitement d'une fonction « Propagate implementee et mise en ceuvre dans le sous-bloc logique . pour calculer les erreurs a partir des erreur fournies par le bloc i ou par '7'; (en, eN-1) avec )5' en bout de chaine soit 5 l'entree (e- 0 ' - ' . Cette fonction s'ecrit pour le kerne neurone : propagate Chaque fonction« Propagate >> est representee sur les figures 3 a 5 par un bloc Pi dit bloc residuel; - un traitement d'une fonction « Update», implementee et mise en ee:) o ceuvre dans le sous-bloc logique - pour calculerle terme correctif appliquer a la valeur courante du parametre memorise en interne .a partir des erreurs renvoyees par le sous bloc Cette fonction s'ecrit de fawn generale sous la forme update s eZ+ Chaque fonction « Update >> est is representee sur les figures 3 a 5 par un bloc Ui dit bloc residue!. Par implements et mise en oeuvre, on entend soit l'execution d'un programme correspondant aux fonctions ou formules mathematiques (explicitees dans le texte), par un materiel informatique qu'un microprocesseur et une mernoire) ; soit par un hardware ou une combinaison 20 hardware et firmware. Ainsi, comme represents par exemple sur la figure 2, chaque neurone F: encapsule au mains deux sous-neurones logiques qui implementent chacun au mains une des deux fonctions « update » et « next >> ci-apres et la fonction « propagate >> qui nest pas necessairement implementee par le 25 premier bloc (G) , O. next mplemen e 38 La figure 1, par exemple represente schernatiquement l'integration d'un « neurone specialise » F a une chaine ou un ensemble de neurones amont (GI) et a une chaine ou un ensemble de neurones aval (Hi) dune methode temps reel de demodulation aveugle de signaux de telecommunication 5 numerique. Le neurone Fi etant retie en entre au dernier des neurones de l'ensemble G, et en sortie au premier de l'ensemble H. Dans certains modes de realisation, un des blocs de traitement comprend au moins un programme implementant et mettant en ceuvre une suite de traitements elementaires de la forme; 10 else =1,0, = ne X:, E avec un entier et K. l'espace des nombres reels ou l'espace des nombres complexes propag realise 6 update Le traitement realise par le bloc depend d'un parametre 9: qui peut etre un nombre reel ou complexe, un vecteur lui-meme reel ou complexe... Dans certains modes de realisation, la fonction « Next » implementee dans le sous-neurone ou sous bloc 20 d'un parametre Elle pourra (XIC 1,0), , H- 1) - ) = F etre notee ry 1) 1 el: ) est connue analytiquement et depend Les projections elementaires du vecteur de sortie sur la composante '14 25 pourra etre notee Dans certains modes de realisation, comme represents par exemple sur la figure 1, un reseau de neurones specialises (pouvant etre agence dans un demodulateur) pour demoduler en aveugle un signal de telecommunication 39 en modulation lineaire, comprend dans chacun des neurones un bloc de traitement ( ). Le premier bloc de traitement ()) recoit deux signaux correspondant chacun a une premiere pluralite d'observation du signal pour generer une pluralite de sorties qui sont transmis au bloc logique ( suivant. Le bloc logique ) integre la pluralite de sorties pour generer a son tour une autre pluralite de sorties qui sont transmis au dernier bloc O'k logique ) du reseau. Ce dernier bloc (H;') integre a son tour Ia pluralite (s) de sorties du precedent bloc logique -- ) pour generer egalement une pluralite de sorties. Un filtre de non linearite est appliqué a Ia sortie du dernier o bloc , afin de calculer un signal d'erreur (e) pour pouvoir le retro-propager de cette erreur calculee sur chacune des entrees du reseau associee a l'entree respective du reseau. Dans certains modes de realisation, l'ensemble des L blocs peut executer une chaine de traitements de la forme, implement& et mise en is oeuvre par au mains un programme, suivante: pour tout 0 S avec 20 Un nombre de L blocs s'enchainent pour realiser un traitement global. L'enchainement des blocs 0 a I est note ) et l'enchainement es sorties du dernier bloc des blocs z 4. 1 a L - 1 est note sont notees.', .--116,) les n: fonctions de On note 1 ;)' 25 projections donnant 4: REVENDICATIONS1. Systeme de demodulation en aveugle d'un signal de telecommunication numerique module lineairement et comprenant des modules permettant l'estimation, le suivi des variations temporelles et Ia corrections de la valeur des phases, des amplitudes, des frequences , des decalages temporels et d'un ensemble de filtres de compensation du canal de propagation, caracterise en ce qu'il comprend au moins une architecture hardware ou hardware et firmware comportant des memoires et une ou plusieurs unites de traitement pour implementer un reseau de blocs de calcul specifiques connectes les uns aux autres, dont - un bloc de synchronisation du signal en aveugle permettant l'estimation, le suivi et Ia compensation du retard du signal et permettant aussi d'adapter le debit de traitement de la chaine en aval (du systeme de demodulation) a la cadence reduite d'un echantillon par symbole, - un premier bloc realise au moins un module permettant d'estimer au moins un des parametres des signaux observes pour evaluer par la suite les autres parametres des signaux observes par d'autres blocs de calcul du reseau, - au moins un deuxieme bloc de calcul specialise realise un module de decision pour calculer un signal d'erreur et retro-propager les erreurs calculees a chacun des blocs residue's (« propagate », « update ») precedents. 2. Systeme de demodulation, selon la revendication 1, caracterise en ce que le parametre du premier bloc est le taux d'amplification, et le systeme comporte un bloc additionnel specialise retie aux sorties du premier et aux entrées du bloc de decision, ce bloc additionnel realisant au moins un module d'estimation de frequence pour determiner les frequences des signaux ernis en aveugle etlou au moins un module de phase pour determiner les valeurs de phase desdits signaux. 3. Systeme de demodulation, selon Ia revendication 2, caracterise en ce que le module de phase peut etre dispose dans un bloc de calcul additionnel retie aux sorties du bloc de calcul de frequence du bloc additionnel. 48 4. Systeme de demodulation selon la revendication 1 a 3, caracterise en ce qu'il comprend un bloc supplementaire specialise du reseau entre le bloc de synchronisation et le premier bloc de calcul, ledit bloc supplementaire realise l'estimation d'au mains un filtre permettant de corriger 5 tout ou pate de la distorsion induite par le canal de propagation. 5. Systeme de demodulation selon rune des revendications 1 a 4, caracterise en ce que le module du bloc de synchronisation, est configure pour recevoir en entrée un flux de signal complexe echantillonne a au moins deux echantillons par symboles et stocker ces echantillons dans un tampon to memoire interne pour delivrer a chaque temps symbole une sortie de signal d'entree au bloc aval du reseau. 6. Systeme de demodulation selon la revendication 4 ou 5, caracterise en ce qu'au moins un module de filtre (F ou G) du bloc supplementaire est initialise par les operations d'initialisation suivantes : 15 F vecteur complexe de taille X = FIFO complexe de taille dans lesquelles les parametres d'initialisation, memorise dans une memoire du module de filtre, sont: ofvF est un entier 20 o p un vecteur de reels de taille 7. Systeme de demodulation selon l'une des revendications 2 a 6, caracterise en ce qu'au mains un module d'amplification du premier bloc est initialise par les operations d'initialisation suivantes : 25 " X FIFO complexe de taille dans lesquelles les parametres d'initialisation, memorise dans une memoire du module du premier bloc, sant o _a_ est une valeur initiale d'amplification 30 o _N_ est un entier o _p_ est un nombre reel. 49 8. Systeme de demodulation selon l'une des revendications 2 a 7, caracterise en ce le module d'estimation de la frequence du bloc additionnel est initialise par les operations d'initialisation suivantes f =4 et I 5 p =1.0 X = FIFO complexe de taille dans lesquelles les parametres d'initialisation, memorise dans une memoire io du module du bloc additionnel, sont : o f est un nombre reel codant une estimation initiale de la frequence o _N_ est un entier o _p_ est un nombre reel. 9. Systeme de demodulation selon l'une des revendications 2 a 8, 15 caracterise en ce que le module d'estimation de la valeur phase du bloc additionnel est initialise par les operations d'initialisation suivantes (i9 ^ 0 = 20 dans lesquelles les parametres d'initialisation, memorise dans une memoire du module du bloc additionnel, sont : o est un reel o est un entier X °-- FIFO complexe de taille 25 0 est un nombre reel. 10. Systeme de demodulation selon rune des revendications 1 a 9, caracterise en ce qu'a l'initialisation du systeme des parametres a: sent fournis par defaut par une memoire du systeme, permettant dans les premiers instants, appeles phase de convergence, la convergence des vers les 30 valeurs pertinentes ; puis lorsque le systeme atteint un voisinage defini des parametres t, le systeme entre en phase dite de production ou de suivi, les sorties du systeme demodulateur sont alors fiables et utilisables pour les appliquer a un appareil d'utilisation ou a d'autres elements materiels hardware ou software ou firmware permettant de finaliser Ia demodulation. 11. Systeme de demodulation en aveugle d'un signal de telecommunication numerique multi-voie, selan l'une des revendications 2 a 10, caracterise en ce que chacun des blocs de traitement (Ni ; H-N1 ; V-N1) d'au mains une des deux voies recoit chacun des deux signaux d'entree 10 synchronises ) issus du bloc de synchronisation, les signaux A. 3 et 12 etant representatifs dune correction appliquee 6 chaque signal xo par les signaux de sortie respectifs i, de chacun des filtres G de , o ) chaque voie, emules chacun par un bloc de traitement (H-N2 ; V-N2), les signaux et sont envoyes sur les cascades en serie des blocs de 15 traitement (H-N4 ; V-N4), (H-N5 ; V-N5) et (H-N6 V-N6) de chaque voie, emulant chacun le signal indiquant l'amplification de la voie (ampli), pour le bloc (H-N4 ; V-N4), respectivement la frequence (fq) de Ia vole pour le bloc (H-N5 ; V-N5) et respectivement Ia phase (9) de la vole pour le bloc (H-N6 ; V-N6). 20 12. Systeme de demodulation ou de recherche en aveugle des parametres de signaux de telecommunication numerique multi-vole, scion la revendication 11, caracterise en ce que chaque sortie respective yh, yv de chaque bloc de traitement (H-N6 ; V-N6) emulant la correction de phase de chaque vole H et V, est envoyee sur chaque bloc de decision (H-NL ; V-NL) 25 de chaque voie et sur chacune des entrées respectives du circuit de retropropagation d'au mains deux erreurs (eh et e") C travers les blocs « miroirs » qui permettent le calcul a la volee des increments des differents parametres des blocs de la chaine le systeme comprenant plusieurs modules de traitements d'une pluralite d'observation de chaque signal d'entree (k), 30 chacun associe C un bloc miroir ou residue! « Update » pour chaque 51 parametre phase, frequence, ampli et un bloc miroir ou residue! « Propagate >> correspondant pour chaque parametre phase, frequence et amplification. 13. Systeme de demodulation ou de recherche en aveugle des parametres de signaux de telecommunication numerique multi-voie, selon la 5 revendication 11 ou 12, caracterise en ce que la sortie Zh, Z" de chaque bloc decision, est egalement envoyee a une paire de multiplieur, recevant respectivement, I'un du bloc phase et l'autre du bloc frequence fq ; la sortie du dernier multiplieur de chaque voie est envoyee sur chacun des filtres G de chaque voie, emules chacun par un bloc de traitement de chaque voie. io 14. Methode temps reel de separation et de demodulation aveugle de signaux de telecommunication numerique, a partir de l'observation d'une version echantillonnee de ce signal et comprenant des parametres notamment les coefficients d'egalisation, la valeur de la phase ((p), l'amplitude du signal, leur frequence et leur temps symbole, cette methode comprenant les &tapes 15 suivantes : - acquisition par un echantillonnage d'une premiere pluralite du signal pour constituer chacune une entree d'un reseau de L blocs de traitement Fi, Hi) aussi appeles ici « neurones specialises », chaque neurone etant simule par les sorties du bloc precedent, la premiere 20 pluralite du signal etant soumise en entree au premier bloc simulant un premier neurone du reseau pour generer une pluralite de sorties du premier bloc; chaque neurone Fi etant simule par les sorties dune chaine amont Gi et stimulant une chaine aval Hi ; chaque jeu d'echantillons parcourt la meme chaine de traitement ; 25 - les sorties des derniers blocs du reseau correspondent idealement aux symboles demodules ; ajout d'une non linearite a chacune des sorties du dernier bloc du reseau permettant de calculer un signal d'erreur et propagation de cette erreur dans le sens inverse de la chaine de traitement 30 (« retropropagation ») ; 52 - estimation a reception par chaque neurone (i) de l'erreur d'un terme correctif 6: et mise a jour dans chaque bloc de Ia valeur du parametre selon 6.,+= 08, 14. Methode selon la revendication 13, caracterisee en ce que chaque 5 neurone (Fi) du reseau realise specifiquement : - un traitement d'une fonction « Next >> , implement& et mise en ceuvre dans un sous bloc logique de traitement ), pour generer des sorties a partir d'une pluralite d'observation du signal et les transmettre au bloc de traitement du neurone suivant du reseau ; cette fonction s'ecrit de facon 10 generale sous la forme z. ,110-,X- -.-,. next avec -"!. le nombre d'entrees et le nombre de sortie de 1-7-v) qui correspond au nombre d'entrees dee-, ; - un traitement dune fonction « Propagate », implement& et mise en ceuvre dans un sous bloc logique « Propagate >: F!P)) pour calculer les IS erreurs fournies par le bloc ou par avec ei en bout de chaine soit 'entrée F:!P.21, ; pour le i-eme neurone, cette fonction s'ecrit de facon generale sous Ia forme = propag3t:e.'1 - un traitement d'une fonction « Update >> , implement& et mise en 20 ceuvre dans un sous bloc logique « Update » F:"?)), pour calculer les parametres correctif a appliquer a la valeur courante du parametre memorise en interne a partir des erreurs renvoyees par le sous bloc ; cette fonction s'ecrit de facon generale sous Ia forme = update 15. Methode selon Ia revendication 14, caracterisee en ce que chaque neurone comprend au moins une implementation et une mise en ceuvre d'une suite de traitements elementaires de la forme : 53 le SOUS bloc r6aiise ext avec un enter e l'espace des nombres reels ou respece des nombres complexes - le SOUS bloc 16. Methode selon l'une des revendications 13 a 15, caracterisee en ce que l'ajout de Ia non-linearite a Ia sortie du dernier bloc A ) du reseau est mise en oeuvre par la fonction : 10 = N dans laquelle ij est le signal sortant d'un organe de decision du dernier bloc - yi est un echantillon egalise ou demodule - le bloc de decision etant defini par la comparaison du resultat obtenu par la sortie y du bloc phase avec une constellation finie de resultats 15 possibles memorises par le bloc de decision, et decidant de prendre parmi les resultats possibles, celui dont la distance avec le point representatif de Ia sortie y est la plus petite 17. Methode selon Ia revendication 13 a 16, caracterisee en ce que Ia retropropagation des erreurs calculees est obtenue par les traitements, 20 implementes et mise en oeuvre par un algorithme de retropropagation de l'erreur, suivants : Initialisation de la retropropagation sous la forme pour 0 k yk - Propagation de l'erreur par le sous-neuronei' dans la fonction 25 propagate( selon les calculs z-li.1.,;( o I 18. Methode selon is revendication 17, caracterisee en ce que Ia mise a jour des parametres internes de chaque neurone F est obtenue dans le 5 e lise - le sous bloc 54 sous neurone par les traitements, implementes et mise en oeuvre dans la fonction update k , selon : 0 Calcul de - Pour() 5 0 Mise jour de :± 2P9t(ti,) Si 6 est dansun R espace vectorial - ej4-= 2PA: Si di est dans un C espace vecoriel Avec - ;a; un parametre reel appele « vitesse d'apprentissage 10 - est le parametre correctif du parametre - est une quantite intermediaire de calculs auxiliaires pouvant etre memorisees temporairement. 19. Methode selon l'une quelconque des revendications 14 a 18, caracterisee en ce qu'au fil du traitement des echantillons en entrée du 15 systerne par les differents sous-blocs, les valeurs des differents initialisees de fawn arbitraire, convergent vers des valeurs rendant Ia demodulation effective. 20. Methode selon I'une quelconque des revendications 13 a 19, caracterisee en ce clue le reseau de neurones specialise constitue une suite 20 compatible de blocs de type WINO (« multi inputs, multi outputs »). 21. Methode selon I'une des revendications 13 a 20, caracterisee en ce qu'elle comprend en outre le stockage par au moins un tampon memoire de la pluralite d'entree et dans au moins un autre tampon de la pluralite de sorties de chaque neurone specialise du reseau. 25 22. Produit programme d'ordinateur implements sur un support memoire, susceptible d'être mis en oeuvre au sein d'une unite de traitement informatique et comprenant des instructions pour Ia mise en oeuvre d'une methode selon rune quelconque des revendications precedentes. 55 23. Produit pour Ia mise en oeuvre d'une methode selon rune quelconque des revendications precedentes caracterise en ce qu'il comprend du hardware ou une combinaison hardware firmware, et comprenant des instructions codees pour mettre en oeuvre la methode. 5 24. Utilisation dans un systerne de demodulation en aveugle dun signal de telecommunication, le systeme comprenant au moins un reseau de neurones specialises chacun definissant respectivement un filtrage par un premier neurone specialise, un gain d'amplification par un second neurone specialise, une correction de Ia frequence du signal par un troisieme neurone 10 specialise et une correction de la valeur de phase du signal par un quatrieme neurone specialise ; caracterise en ce que la methode selon Tune quelconque des revendications 13 a 21 est mise en oeuvre pour determiner les caracteristiques du signal emis en aveugle.