Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM FOR THE BLIND DEMODULATION OF DIGITAL TELECOMMUNICATION SIGNALS
Document Type and Number:
WIPO Patent Application WO/2019/130001
Kind Code:
A1
Abstract:
The present invention concerns a system for the blind demodulation of a linearly modulated digital telecommunication signal and comprising modules allowing the estimation, monitoring of the temporal variations and corrections in the value of the phases, amplitudes, frequencies, time offsets and a set of compensation filters of the propagation channel, characterised in that it comprises at least one hardware or hardware and firmware architecture comprising memories and one or more processing units for implementing a network of specific calculation blocks connected to each other, including a block for the blind synchronisation of the signal allowing the estimation, monitoring and compensation of the delay of the signal and also making it possible to adapt the processing rate of the downstream chain (of the demodulation system) to the reduced cadence of one sample per symbol, a first block incorporates at least one module making it possible to estimate at least one of the parameters of the observed signals in order to subsequently evaluate the other parameters of the observed signals, by other calculation blocks of the network, at least a second specialised calculation block incorporates a decision module in order to calculate an error signal and retro-propagate the calculated errors to each of the preceding residual blocks.

Inventors:
COURTAT THOMAS (FR)
Application Number:
PCT/FR2018/053556
Publication Date:
July 04, 2019
Filing Date:
December 28, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
AVANTIX (FR)
International Classes:
G06N3/04; H04L25/03; H04L27/00; H04L27/233
Foreign References:
EP0372613A11990-06-13
FR3030964A12016-06-24
US20130216005A12013-08-22
FR3030964A12016-06-24
FR1701417A2017-12-29
FR1701418A2017-12-29
FR1701419A2017-12-29
Other References:
TREICHLER J R ET AL: "Practical implementations of blind demodulators", SIGNALS, SYSTEMS & COMPUTERS, 1997. CONFERENCE RECORD OF THE THIRTY-FI RST ASILOMAR CONFERENCE ON PACIFIC GROVE, CA, USA 2-5 NOV. 1997, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 2 November 1997 (1997-11-02), pages 1028, XP032140332, ISBN: 978-0-8186-8316-9, DOI: 10.1109/ACSSC.1997.679062
JOHN R TREICHLER ET AL: "Practical Blind Demodulators for High-Order QAM Signals", PROCEEDINGS OF THE IEEE, IEEE. NEW YORK, US, vol. 86, no. 10, 1 October 1998 (1998-10-01), XP011044107, ISSN: 0018-9219
S. BAREMBRUCH: "Méthodes approchées de maximum de vraisemblances pour la classification et identification aveugles en communications numériques", RAPPORT DE THÈSE, TELECOM PARISTECH, 7 March 2011 (2011-03-07)
E. PUNSKAYA: "rapport de thèse", 2003, UNIVERSITÉ DE CAMBRIDGE, article "Sequential Monte Carlo methods for digital communications"
Attorney, Agent or Firm:
DEBAY, Yves (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Système de démodulation en aveugle d’un signal de télécommunication numérique modulé linéairement et comprenant des modules permettant l’estimation, le suivi des variations temporelles et la corrections de la valeur des phases, des amplitudes, des fréquences , des décalages temporels et d’un ensemble de filtres de compensation du canal de propagation, caractérisé en ce qu’il comprend au moins une architecture hardware ou hardware et firmware comportant des mémoires et une ou plusieurs unités de traitement pour implémenter un réseau de blocs de calcul spécifiques connectés 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 débit de traitement de la chaîne en aval (du système de démodulation) à la cadence réduite d’un échantillon par symbole,

- un premier bloc réalise au moins un module permettant d’estimer au moins un des paramètres des signaux observés pour évaluer par la suite les autres paramètres des signaux observés par d’autres blocs de calcul du réseau,

- au moins un deuxième bloc de calcul spécialisé réalise un module de décision pour calculer un signal d’erreur et rétro-propager les erreurs calculées à chacun des blocs résiduels (« propagate », « update ») précédents.

2. Système de démodulation, selon la revendication 1 , caractérisé en ce que le paramètre du premier bloc est le taux d’amplification, et le système comporte un bloc additionnel spécialisé relié aux sorties du premier et aux entrées du bloc de décision, ce bloc additionnel réalisant au moins un module d’estimation de fréquence pour déterminer les fréquences des signaux émis en aveugle et/ou au moins un module de phase pour déterminer les valeurs de phase desdits signaux.

3. Système de démodulation, selon la revendication 2, caractérisé en ce que le module de phase peut être disposé dans un bloc de calcul additionnel relié aux sorties du bloc de calcul de fréquence du bloc additionnel.

4. Système de démodulation selon la revendication 1 à 3, caractérisé en ce qu’il comprend un bloc supplémentaire spécialisé du réseau entre le bloc de synchronisation et le premier bloc de calcul, ledit bloc supplémentaire réalise l’estimation d’au moins un filtre permettant de corriger tout ou partie de la distorsion induite par le canal de propagation.

5. Système de démodulation selon l’une des revendications 1 à 4, caractérisé en ce que le module du bloc de synchronisation, est configuré pour recevoir en entrée un flux de signal complexe échantillonné à au moins deux échantillons par symboles et stocker ces échantillons dans un tampon mémoire interne pour délivrer à chaque temps symbole une sortie de signal d’entrée au bloc aval du réseau.

6. Système de démodulation selon la revendication 4 ou 5, caractérisé en ce qu’au moins un module de filtre (F ou G) du bloc supplémentaire est initialisé par les opérations d’initialisation suivantes :

F = vecteur complexe de taille NF

X = FIFO complexe de taille NF

dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module de filtre, sont:

o NF est un entier

o m un vecteur de réels de taille NF.

7. Système de démodulation selon l’une des revendications 2 à 6, caractérisé en ce qu’au moins un module d’amplification du premier bloc est initialisé par les opérations d’initialisation suivantes :

a = _a_

X = FIFO complexe de taille _N_

m = -m- dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module du premier bloc, sont :

o _a_ est une valeur initiale d’amplification o _N_ est un entier

o _m_ est un nombre réel.

8. Système de démodulation selon l’une des revendications 2 à 7, caractérisé en ce le module d’estimation de la fréquence du bloc additionnel est initialisé par les opérations d’initialisation suivantes :

/ = -/_

■ h = e 2nJf

p = 1.0

X = FIFO complexe de taille _N_

m = -m- dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module du bloc additionnel, sont :

o _f_ est un nombre réel codant une estimation initiale de la fréquence o _N_ est un entier

o _m_ est un nombre réel.

9. Système de démodulation selon l’une des revendications 2 à 8, caractérisé en ce que le module d’estimation de la valeur phase du bloc additionnel est initialisé par les opérations d’initialisation suivantes :

Y = JP- ■ p = e27IJ<p

m = -m- dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module du bloc additionnel, sont :

o jp_ est un réél

o _N_ est un entier

o X = FIFO complexe de taille _N_

o ji_ est un nombre réel.

10. Système de démodulation selon l’une des revendications 1 à 9, caractérisé en ce qu’à l’initialisation du système des paramètres ø* sont fournis par défaut par une mémoire du système, permettant dans les premiers instants, appelés phase de convergence, la convergence des ø* vers les valeurs pertinentes ; puis lorsque le système atteint un voisinage défini des paramètres e le système entre en phase dite de production ou de suivi, les sorties du système démodulateur sont alors fiables et utilisables pour les appliquer à un appareil d’utilisation ou à d’autres éléments matériels hardware ou software ou firmware permettant de finaliser la démodulation.

11. Système de démodulation en aveugle d’un signal de télécommunication numérique multi-voie, selon l’une des revendications 2 à 10, caractérisé en ce que chacun des blocs de traitement (N1 ; H-N1 ; V-N1 ) d’au moins une des deux voies reçoit chacun des deux signaux d’entrée synchronisés ) issus du bloc de synchronisation, les signaux x^ et étant représentatifs d’une correction appliquée à chaque signal xo par les signaux de sortie respectifs , de chacun des filtres G de chaque voie, émulés chacun par un bloc de traitement (H-N2 ; V-N2), les signaux x^ et x^ sont envoyés sur les cascades en série des blocs de traitement (H-N4 ; V-N4), (H-N5 ; V-N5) et (H-N6 ; V-N6) de chaque voie, émulant chacun le signal indiquant l’amplification de la voie (ampli), pour le bloc (H-N4 ; V-N4), respectivement la fréquence (fq) de la voie pour le bloc (H-N5 ; V-N5) et respectivement la phase (<p) de la voie pour le bloc (H-N6 ; V-N6).

12. Système de démodulation ou de recherche en aveugle des paramètres de signaux de télécommunication numérique multi-voie, selon la revendication 11 , caractérisé en ce que chaque sortie respective yh, yv de chaque bloc de traitement (H-N6 ; V-N6) émulant la correction de phase de chaque voie H et V, est envoyée sur chaque bloc de décision (H-NL ; V-NL) de chaque voie et sur chacune des entrées respectives du circuit de rétro- propagation d’au moins deux erreurs (eh et ev) à travers les blocs « miroirs » qui permettent le calcul à la volée des incréments des différents paramètres des blocs de la chaîne le système comprenant plusieurs modules de traitements d’une pluralité d’observation de chaque signal d’entrée (xj), chacun associé à un bloc miroir ou résiduel « Update » pour chaque paramètre phase, fréquence, ampli et un bloc miroir ou résiduel « Propagate » correspondant pour chaque paramètre phase, fréquence et amplification.

13. Système de démodulation ou de recherche en aveugle des paramètres de signaux de télécommunication numérique multi-voie, selon la revendication 11 ou 12, caractérisé en ce que la sortie Zh, Zv de chaque bloc décision, est également envoyée à une paire de multiplieur, recevant respectivement, l’un du bloc phase et l’autre du bloc fréquence fq ; la sortie du dernier multiplieur de chaque voie est envoyée sur chacun des filtres G de chaque voie, émulés chacun par un bloc de traitement de chaque voie.

14. Méthode temps réel de séparation et de démodulation aveugle de signaux de télécommunication numérique, à partir de l'observation d’une version échantillonnée de ce signal et comprenant des paramètres notamment les coefficients d’égalisation, la valeur de la phase (cp), l’amplitude du signal, leur fréquence et leur temps symbole, cette méthode comprenant les étapes suivantes :

- acquisition par un échantillonnage d'une première pluralité du signal pour constituer chacune une entrée d’un réseau de L blocs de traitement (G,, F,, H,) aussi appelés ici « neurones spécialisés », chaque neurone étant simulé par les sorties du bloc précédent, la première pluralité du signal étant soumise en entrée au premier bloc simulant un premier neurone du réseau pour générer une pluralité de sorties du premier bloc; chaque neurone F, étant simulé par les sorties d’une chaîne amont G, et stimulant une chaîne aval H, ; chaque jeu d’échantillons parcourt la même chaîne de traitement ;

- les sorties des derniers blocs du réseau correspondent idéalement aux symboles démodulés ;

- ajout d’une non linéarité à chacune des sorties du dernier bloc du réseau permettant de calculer un signal d’erreur et propagation de cette erreur dans le sens inverse de la chaîne de traitement

(« retropropagation ») ; - estimation à réception par chaque neurone (i) de l’erreur d’un terme correctif d 0£ et mise à jour dans chaque bloc de la valeur du paramètre 0£ selon 0£+= 50£ .

14. Méthode selon la revendication 13, caractérisée en ce que chaque neurone (Fi) du réseau réalise spécifiquement :

- un traitement d’une fonction « Next » , implémentée et mise en œuvre dans un sous bloc logique de traitement (F w)), pour générer des sorties à partir d’une pluralité d’observation du signal et les transmettre au bloc de traitement du neurone suivant du réseau ; cette fonction s’écrit de façon générale sous la forme (xi+l 0, ··· ,Xi+i,mi+1-i) = next {xi 0, - , Xi,mi-i) avec £ le nombre d’entrées et £+1le nombre de sortie de F w) qui correspond au nombre d’entrées de F£¾ ;

- un traitement d’une fonction « Propagate », implémentée et mise en œuvre dans un sous bloc logique « Propagate » ( F p)) pour calculer les loc F£(pj* OU par bout de chaîne soit à l’entrée FL¾; pour le i-ème neurone, cette fonction s’écrit de façon générale sous la forme (ei 0, ··· , e^.^) = propagate(e£+l 0, ··· , ei+ m.+1^

- un traitement d’une fonction « Update » , implémentée et mise en œuvre dans un sous bloc logique « Update » ( F ü)), pour calculer les paramètres correctif Ô9t à appliquer à la valeur courante du paramètre mémorisé en interne 0£ à partir des erreurs (e£+l 0 , e£+l m.+i-1) renvoyées par le sous bloc F/^ ; cette fonction s’écrit de façon générale sous la forme

15. Méthode selon la revendication 14, caractérisée en ce que chaque neurone ( F£ ) comprend au moins une implémentation et une mise en œuvre d’une suite de traitements élémentaires de la forme :

- le sous bloc F n) réalise

KqiJ avec qij un entier et K l’espace des nombres réels ou l’espace des nombres complexes

- le SOUS bloc F p) réalise (ei 0, ·· · , = propagate(ei+1 0, ·· · ,

le SOUS blOC F^ réalise dqi = update(ei+1 0, ·· · , ei+l m +i-1)

16. Méthode selon l’une des revendications 13 à 15, caractérisée en ce que l’ajout de la non-linéarité à la sortie du dernier bloc (H[n)) du réseau est mise en œuvre par la fonction :

Zj = NL(y ) dans laquelle

- Zj est le signal sortant d’un organe de décision du dernier bloc

- yj est un échantillon égalisé ou démodulé

- le bloc de décision étant défini par la comparaison du résultat obtenu par la sortie y du bloc phase avec une constellation finie de résultats possibles mémorisés par le bloc de décision, et décidant de prendre parmi les résultats possibles, celui dont la distance avec le point représentatif de la sortie y est la plus petite

17. Méthode selon la revendication 13 à 16, caractérisée en ce que la rétropropagation des erreurs calculées est obtenue par les traitements, implémentés et mise en œuvre par un algorithme de rétropropagation de l’erreur, suivants :

- Initialisation de la rétropropagation sous la forme

pour 0 £ k < N, eL k = zk - yk

- Propagation de l’erreur par le sous-neuroneF p) dans la fonction (AO, ··· , ¾_!) = propagate(ei+1 0 , ei+l mi+l-^) selon les calculs

18. Méthode selon la revendication 17, caractérisée en ce que la mise à jour des paramètres internes de chaque neurone Fi est obtenue dans le sous neurone F ü) par les traitements, implémentés et mise en œuvre dans la fonction dqi = update(ei+1 0, , ei+l m .+i -1) selon :

o Calcul de Dέ :

PourO

o Mise à jour de 0£ :

0£+= 2m¾(D£) si 0£ est dansun Æespace vectoriel

0£+= 2mD£ si 0£est dans un Cespace vecoriel

Avec - m£ un paramètre réel appelé « vitesse d’apprentissage »

- dqί est le paramètre correctif du paramètre 0£

- Djj est une quantité intermédiaire de calculs auxiliaires pouvant être mémorisées temporairement.

19. Méthode selon l’une quelconque des revendications 14 à 18, caractérisée en ce qu’au fil du traitement des échantillons en entrée du système par les différents sous-blocs, les valeurs des différents 0£ initialisées de façon arbitraire, convergent vers des valeurs rendant la démodulation effective.

20. Méthode selon l’une quelconque des revendications 13 à 19, caractérisée en ce que le réseau de neurones spécialisé constitue une suite compatible de blocs de type MIMO (« multi inputs, multi outputs »).

21. Méthode selon l’une des revendications 13 à 20, caractérisée en ce qu’elle comprend en outre le stockage par au moins un tampon mémoire de la pluralité d’entrée et dans au moins un autre tampon de la pluralité de sorties de chaque neurone spécialisé du réseau.

22. Produit programme d'ordinateur implémenté sur un support mémoire, susceptible d'être mis en œuvre au sein d'une unité de traitement informatique et comprenant des instructions pour la mise en œuvre d'une méthode selon l'une quelconque des revendications précédentes.

23. Produit pour la mise en œuvre d'une méthode selon l'une quelconque des revendications précédentes caractérisé en ce qu’il comprend du hardware ou une combinaison hardware firmware, et comprenant des instructions codées pour mettre en œuvre la méthode.

24. Utilisation dans un système de démodulation en aveugle d’un signal de télécommunication, le système comprenant au moins un réseau de neurones spécialisés chacun définissant respectivement un filtrage par un premier neurone spécialisé, un gain d’amplification par un second neurone spécialisé, une correction de la fréquence du signal par un troisième neurone spécialisé et une correction de la valeur de phase du signal par un quatrième neurone spécialisé ; caractérisé en ce que la méthode selon l'une quelconque des revendications 13 à 21 est mise en œuvre pour déterminer les caractéristiques du signal émis en aveugle.

Description:
Système de démodulation aveugle de signaux de télécommunication numérique

DOMAINE TECHNIQUE DE L'INVENTION

La présente invention concerne généralement un système de traitement de signaux en télécommunications numériques, et notamment un système de démodulation éventuellement en aveugle et en temps réel de signaux de télécommunication modulés linéairement, mono-polarisés, ou bipolarisés, transmis sur un canal perturbé et robuste à diverses déficiences de la chaîne de transmission (synchronisation, dérive en fréquence, bruit de phase...).

ARRIERE-PLAN TECHNOLOGIQUE DE L'INVENTION

Dans le domaine de la télécommunication numérique, une démodulation d’un signal est réalisée par un appareil de démodulation pour reconstituer un signal dit en bande de base à partir de l’observation d’un signal modulé et éventuellement perturbé par les imperfections de la chaîne de transmission et d’un canal de propagation. La démodulation en aveugle, plus particulièrement, vise la démodulation d’un signal sans utilisation de séquences pilotes connues a priori.

La démodulation aveugle d’un signal de télécommunication numérique en modulation linéaire peut être réalisée selon deux types de signaux :

- les signaux dits « mono-voies » ou « mono-polarisés » qui sont des signaux classiques dans lesquels un flux d’information est transmis sur le support ; et

- les signaux « multi-voies » ou « bipolarisés et/ou multipolarisés » ou XPIC ( sigle faisant référence à la technique de démodulation « cross- polarization interférence canceller » ou annuleur d’interférences de polarisation croisée) qui sont constitués de deux signaux multiplexés sur les deux polarisations de l’onde électromagnétique. Une fonction d’égalisation du signal est conçue pour pouvoir inverser au mieux les canaux et compenser les imperfections de transmission. Une telle fonction nécessite la connaissance de nombreux paramètres ou caractéristiques (fréquence, amplitude, filtres d’égalisation...) du signal modulé linéairement. Dans un mode de transmission coopératif ou « non- aveugle », des séquences connues de l’émetteur et du récepteur sont émises régulièrement et permettent de régler l’égaliseur. Or dans un contexte de transmission en aveugle, aucune séquence n’est connue et une fonction d’égalisation est difficile à trouver

Les documents (S. Barembruch, « Méthodes approchées de maximum de vraisemblances pour la classification et identification aveugles en communications numériques », rapport de thèse, Telecom ParisTech, 7 mars 2011 ) et (E. Punskaya, « Sequential Monte Carlo methods for digital communications », rapport de thèse, université de Cambridge, 2003) présentent deux méthodes proches fondées sur l’algorithme EM (pour « Expectation Maximization ») permettant de démoduler en aveugle des signaux de télécommunication. Cependant ces approches quoique de complexité réduite ne permettent pas de traiter des signaux de grand débit en temps réel, elles sont focalisées sur la compensation du canal de propagation et ne permettent pas de compenser les autres distorsions du signal (synchronisation, phase, dérive de porteuse...). Elles ne permettent pas de suivre les variations temporelles des paramètres. Elles ne permettent pas non plus de traiter des signaux sur plusieurs polarisations.

Un des buts du brevet FR3030964 est de proposer des méthodes permettant de séparer et de démoduler en aveugle deux signaux de télécommunication modulés linéairement, sur une seule voie et superposés en fréquence en utilisant un algorithme d’espérance maximisation et des techniques de filtrage particulaire. Si cette méthode permet de suivre les variations temporelles des paramètres, elle est encore trop demandeuse en temps de calcul pour pouvoir suivre un signal de grand débit en temps réel et pour de grands ordres de modulation. DESCRIPTION GENERALE DE L'INVENTION

La présente invention a pour but de pallier certains inconvénients de l'art antérieur en proposant un système permettant d’optimiser et de faciliter la démodulation, éventuellement en aveugle, de signaux de télécommunication mono-polarisés ou bipolarisés et permettant une implémentation en temps réel.

A cet effet, la présente invention concerne un système de démodulation en aveugle d’un signal de télécommunication numérique modulé linéairement et comprenant des modules permettant l’estimation, le suivi des variations temporelles et la corrections de la valeur des phases, des amplitudes, des fréquences , des décalages temporels et d’un ensemble de filtres de compensation du canal de propagation, caractérisé en ce qu’il comprend au moins une architecture hardware ou hardware et firmware comportant des mémoires et une ou plusieurs unités de traitement pour implémenter un réseau de blocs de calcul spécifiques connectés 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 débit de traitement de la chaîne en aval (du système de démodulation) à la cadence réduite d’un échantillon par symbole,

- un premier bloc réalise au moins un module permettant d’estimer au moins un des paramètres des signaux observés pour évaluer par la suite les autres paramètres des signaux observés par d’autres blocs de calcul du réseau,

- au moins un deuxième bloc de calcul spécialisé réalise un module de décision pour calculer un signal d’erreur et rétro-propager les erreurs calculées à chacun des blocs résiduels (« propagate », « update ») précédents.

Selon une autre particularité, le paramètre du premier bloc est le taux d’amplification, et le système comporte un bloc additionnel spécialisé relié aux sorties du premier et aux entrées du bloc de décision, ce bloc additionnel réalisant au moins un module d’estimation de fréquence pour déterminer les fréquences des signaux émis en aveugle et/ou au moins un module de phase pour déterminer les valeurs de phase desdits signaux.

Selon une autre particularité, le module de phase peut être disposé dans un bloc de calcul supplémentaire relié aux sorties du bloc de calcul de fréquence du bloc additionnel.

Selon une autre particularité, le système comprend un bloc supplémentaire spécialisé du réseau entre le bloc de synchronisation et le premier bloc de calcul, ledit bloc supplémentaire réalise l’estimation d’au moins un filtre permettant de corriger tout ou partie de la distorsion induite par le canal de propagation.

Selon une autre particularité, le module du bloc de synchronisation, est configuré pour recevoir en entrée un flux de signal complexe échantillonné à au moins deux échantillons par symboles et stocker ces échantillons dans un tampon mémoire interne pour délivrer à chaque temps symbole une sortie de signal d’entrée au bloc aval du réseau (par exemple, le second bloc, le premier bloc ou le bloc supplémentaire).

Selon une autre particularité, au moins un module de filtre (F ou G) du bloc supplémentaire est initialisé par les opérations d’initialisation suivantes :

F = vecteur complexe de taille N F

■ X = FIFO complexe de taille N F

dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module de filtre, sont:

o N F est un entier

o m un vecteur de réels de taille N F .

Selon une autre particularité, au moins un module d’amplification du premier bloc est initialisé par les opérations d’initialisation suivantes :

a = _a_

X = FIFO complexe de taille _N_

m = -m- dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module du premier bloc, sont : o _a_ est une valeur initiale d’amplification

o _N_ est un entier

o _m_ est un nombre réel.

Selon une autre particularité, le module d’estimation de la fréquence du bloc additionnel (au premier bloc) est initialisé par les opérations d’initialisation suivantes :

/ = -/_

■ h = e 2n Jf

p = 1.0

■ X = FIFO complexe de taille _N_

m = -m- dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module du bloc additionnel (au premier bloc), sont :

o _f_ est un nombre réel codant une estimation initiale de la fréquence o _N_ est un entier

o _m_ est un nombre réel.

Selon une autre particularité, le module d’estimation de la valeur phase du bloc additionnel est initialisé par les opérations d’initialisation suivantes :

■ f = jp_

U p — g 27 TJ ( p

m = -m- dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module du bloc additionnel (au premier bloc), sont :

o jp_ est un réél

o _N_ est un entier

o X = FIFO complexe de taille _N_

o ji_ est un nombre réel.

Selon une autre particularité, à l’initialisation du système des paramètres notés e t sont fournis par défaut par une mémoire du système, permettant dans les premiers instants, appelés phase de convergence, la convergence des ø* vers les valeurs pertinentes ; puis lorsque le système atteint un voisinage défini des paramètres e le système entre (implicitement) en phase dite de production ou de suivi, les sorties du système démodulateur sont alors fiables et applicables à un appareil d’utilisation ou à d’autres éléments matériels hardware ou software ou firmware permettant de finaliser la démodulation.

Selon une autre particularité, des blocs de traitement (H-N1 ; V-N1 ) d’au moins une des deux voies reçoit chacun des deux signaux d’entrée synchronisés ; x v ^ ) issus du bloc de synchronisation (par exemple, représentant respectivement un échantillonnage de chaque voie, pour générer les signaux de sortie et x v ^ ), les signaux x^ et x^ étant représentatifs d’une correction appliquée à chaque signal xo par les signaux de sortie respectifs , de chacun des filtres G de chaque voie, émulés chacun par un bloc de traitement (H-N2 ; V-N2), les signaux x^ et sont envoyés sur les cascades en série des blocs de traitement (H-N4 ; V-N4), (H-N5 ; V-N5) et (H-N6 ; V-N6) de chaque voie, émulant chacun le signal indiquant l’amplification de la voie (ampli), pour le bloc (H-N4 ; V-N4), respectivement la fréquence (fq) de la voie pour le bloc (H-N5 ; V-N5) et respectivement la phase (<p) de la voie pour le bloc (H-N6 ; V-N6).

Selon une autre particularité, chaque sortie respective y h , y v de chaque bloc de traitement (H-N6 ; V-N6) émulant la correction de phase de chaque voie H et V, est envoyée sur chaque bloc de décision (H-NL ; V-NL) de chaque voie et sur chacune des entrées respectives du circuit de rétro- propagation d’au moins deux erreurs (e h et e v ) à travers les blocs « miroirs » qui permettent le calcul à la volée des incréments des différents paramètres des blocs de la chaîne le système comprenant plusieurs modules de traitements d’une pluralité d’observation de chaque signal d’entrée (xj), chacun associé à un bloc miroir ou résiduel « Update » pour chaque paramètre phase, fréquence, ampli et un bloc miroir ou résiduel « Propagate » correspondant pour chaque paramètre phase, fréquence et amplification.

Selon une autre particularité, la sortie Z h , Z v de chaque bloc décision, est également envoyée à une paire de multiplieur, recevant respectivement, l’un du bloc phase et l’autre du bloc fréquence fq (par exemple, des facteurs correctifs représentant la fréquence instantanée). La sortie du dernier multiplieur de chaque voie est envoyée sur chacun des filtres G de chaque voie, émulés chacun par un bloc de traitement de chaque voie.

Selon une variante l’invention concerne une méthode temps réel de démodulation aveugle de signaux de télécommunication numérique, à partir de l'observation d’une version échantillonnée de ce signal.

La méthode appliquée dans un certain schéma permet notamment de démoduler un signal mono-voie de modulation linéaire en compensant : l’amplification du signal, sa phase, son résidu de porteuse, les effets du canal de propagation.

La méthode appliquée selon un autre schéma permet notamment de démoduler un signal bi-voies et de séparer ses deux composantes en compensant : l’amplification des signaux, leurs phases, les résidus de porteuses, les effets du canal de propagation et les effets du co-canal de propagation (fuite d’une polarisation sur l’autre et inversement lors de la propagation du signal).

La méthode décrite ici peut être considérée en toute généralité une suite de blocs MIMO (multi inputs, multi outputs) appelés « neurones spécialisés », chaque bloc (i) réalisant un traitement élémentaire paramétré par un ensemble 0 £ . Si tous les 0 £ de la chaîne sont bien réglés, la chaîne procède à la démodulation effective du signal. Si les q £ ne sont pas connus, la chaîne permet d’apprendre en ligne les valeurs pertinentes pour chaque 0 £ . A l’initialisation du système des 0 £ sont fournis par défaut par une mémoire. Dans les premiers instants, le système permet la convergence des 0 £ vers les valeurs pertinentes ; cette phase est appelée phase de convergence ; le signal démodulé produit en sortie n’est alors pas fiable. Quand le système atteint un voisinage des paramètres 0 £ , on entre en phase dite de production ou de suivi. Les sorties du démodulateur sont alors fiables et utilisables.

Les sorties du démodulateur sont alors fiables et conjointement à la démodulation du signal, le système poursuit la variation des paramètres du système. Le système ne bascule pas explicitement d’un mode à l’autre, la seconde phase se place dans la continuité de la première.

La méthode de l’invention peut comprendre les étapes suivantes : acquisition par un échantillonnage d'une première pluralité du signal pour constituer chacune une entrée d’un réseau de L blocs de traitement aussi appelés ici « neurones spécialisés » ou simplement « neurones », chaque neurone étant simulé par les sorties du bloc précédent, la première pluralité du signal étant soumise en entrée au premier bloc simulant un premier neurone du réseau pour générer une pluralité de sorties du premier bloc; chaque neurone F, étant simulé par les sorties d’une chaîne amont G, et stimulant une chaîne aval H, ; chaque jeu d’échantillons parcourt la même chaîne de traitement ;

- les sorties des derniers blocs du réseau correspondent idéalement aux symboles démodulés ;

- ajout d’une non linéarité à chacune des sorties du dernier bloc du réseau permettant de calculer un signal d’erreur et propagation de cette erreur dans le sens inverse de la chaîne de traitement (« retropropagation ») ;

- estimation à réception par chaque neurone (i) de l’erreur d’un terme correctif d 0 £ et mise à jour dans chaque bloc de la valeur du paramètre 0 £ selon 9 t += dq ί .

Selon une autre particularité, chaque neurone du réseau réalise spécifiquement :

- un traitement d’une fonction « Next » , implémentée et mise en œuvre dans un sous bloc logique de traitement pour générer des sorties à partir d’une pluralité d’observation du signal et les transmettre au bloc de traitement du neurone suivant du réseau ; cette fonction s’écrit de façon générale sous la forme (x i+l0 ,··· ,X i+i,mi+1 -i) =

avec mi le nombre d’entrées et m i+1 le nombre de sortie de F w) qui correspond au nombre d’entrées de £ ¾ ;

- un traitement d’une fonction « Propagate », implémentée et mise en œuvre dans un sous bloc logique «Propagate» (F p) ) pour calculer les fournies par le bloc F £ (p j* OU par e 7V-1 ) avec e j = Z j -y } en bout de chaîne soit à l’entrée F L ¾; pour le i-ème neurone, cette fonction s’écrit de façon générale sous la forme (e i0 , ··· , e^.^) = propagate(e i+l0 , ··· , e i+ m.+1 ^

- un traitement d’une fonction « Update » , implémentée et mise en œuvre dans un sous bloc logique «Update» (F ü) ), pour calculer les paramètres correctif Ô9 t à appliquer à la valeur courante du paramètre mémorisé en interne 0 £ à partir des erreurs (e £+l0J ,e £+lm.+i-1 ) renvoyées par le sous bloc F £ ¾; cette fonction s’écrit de façon générale sous la forme

Selon une autre particularité, chaque neurone comprend au moins une implémentation et une mise en œuvre d’une suite de traitements élémentaires de la forme :

-le sous bloc F £ (w) réalise (x i+1 , 0 ,··· ,x i+i , mi+1 -i) = next

K q n

’ ’ es complexes

Selon une autre particularité, l’ajout de la non-linéarité à la sortie du dernier bloc (H du réseau est mise en œuvre par la fonction :

Z j = NL(y) dans laquelle

- Z j est le signal sortant d’un organe de décision du dernier bloc

- y j est un échantillon égalisé ou démodulé - le bloc de décision étant défini par la comparaison du résultat obtenu par la sortie y du bloc phase avec une constellation finie de résultats possibles mémorisés par le bloc de décision, et décidant de prendre parmi les résultats possibles, celui dont la distance avec le point représentatif de la sortie y est la plus petite

Selon une autre particularité, la rétropropagation des erreurs calculées est obtenue par les traitements, implémentés et mise en œuvre par un algorithme de rétropropagation de l’erreur, suivants :

- Initialisation de la rétropropagation sous la forme

pour 0 £ k < N, e L k = z k - y k

- Propagation de l’erreur par le sous-neurone F p) dans la fonction (A O , ··· , ¾_ ! ) = propagate(e i+1 0 , e i+l mi+l -^) selon les calculs

Selon une autre particularité, la mise à jour des paramètres internes 0 £ de chaque neurone F £ est obtenue dans le sous neurone F ü) par les traitements, implémentés et mise en œuvre dans la fonction 5Q £ = update e £+1 QJ " J ί+i,th; +1 -i) selon .

o Calcul de D £ :

dF

PourO £ j < M i+1 , D j = e i+1

o Mise à jour de 0 £ :

9 t += 2m¾(D £ ) si 0 £ est dansun iîespace vectoriel

0 £ += 2mD £ si 0 £ est dans un Cespace vecoriel

Avec - m £ un paramètre réel appelé « vitesse d’apprentissage »

- dq ί est le paramètre correctif du paramètre 0 £

- Dj j est une quantité intermédiaire de calculs auxiliaires pouvant être mémorisées temporairement.

Selon une autre particularité, au fil du traitement des échantillons en entrée du système par les différents sous-blocs, les valeurs des différents 0 £ initialisées de façon arbitraire, convergent vers des valeurs rendant la démodulation effective.

Selon une autre particularité, le réseau de neurones spécialisé constitue une suite compatible de blocs de type MIMO (« multi inputs, multi outputs »).

Selon une autre particularité, la méthode comprend en outre le stockage par au moins un tampon mémoire de la pluralité d’entrées et dans au moins un autre tampon de la pluralité de sorties de chaque neurone spécialisé du réseau.

Selon une autre particularité, à l’initialisation du système informatique constituant un démodulateur des ø* sont fournis par défaut par une mémoire du système, dans les premiers instants de la mise en œuvre de la méthode, le système permet la convergence des ø* vers des valeurs pertinentes. Un autre but est de remédier à un ou plusieurs inconvénients de l’art antérieur concernant la mise en œuvre ou l’implémentation d’une méthode de démodulation en aveugle des signaux de télécommunication numérique, dans un matériel informatique ou électronique. La méthode permet la séparation des composantes d’un signal bi-voies reçu après mélange.

Ce but est atteint par un produit programme d'ordinateur implémenté sur un support mémoire, susceptible d'être mis en œuvre au sein d'une unité de traitement informatique, soit par un hardware ou une combinaison hardware et firmware, et comprenant des instructions pour la mise en œuvre d'une méthode selon l'une quelconque des revendications précédentes.

Un autre but est de remédier à un ou plusieurs inconvénients de l’art antérieur concernant l’application d’une méthode de démodulation en aveugle des signaux de télécommunication numérique en modulation linéaire.

Ce but est atteint par une utilisation dans un système de démodulation en aveugle d’un signal de télécommunication, le système comprenant au moins un réseau de neurones spécialisés chacun définissant respectivement un filtrage par un premier neurone spécialisé, un gain d’amplification par un second neurone spécialisé, une correction de la fréquence du signal par un troisième neurone spécialisé et la correction de la valeur de phase du signal par un quatrième neurone spécialisé ; caractérisé en ce que la méthode selon l'une quelconque des revendications précédentes est mise en œuvre pour déterminer les paramètres (ou caractéristiques) du signal émis en aveugle. Si ces caractéristiques ne sont pas des constantes fixes du signal d’intérêt mais des processus variant au cours du temps, le système procède au suivi des variations de ces paramètres.

D’autres particularités et avantage de la présente invention sont détaillés dans la description qui suit.

DESCRIPTION DES FIGURES ILLUSTRATIVES

D'autres particularités et avantages de la présente invention apparaîtront plus clairement à la lecture de la description ci-après, faite en référence aux dessins annexés, dans lesquels :

- la figure 1 représente schématiquement l’intégration d’un « neurone spécialisé » F, à une chaîne de neurones amont (G,) et à une chaîne de neurones aval (H,) d’une méthode temps réel de démodulation aveugle de signaux de télécommunication numérique, à mettre en œuvre dans au moins un mode de réalisation de l’invention ;

- la figure 2a représente schématiquement les traitements réalisés par un module des blocs de calcul ou traitement (ou neurone) M-i du réseau, selon un mode de réalisation de l’invention ; et figure 2b représente schématiquement de façon plus détaillée les traitements réalisés par le neurone spécialisé nommé du réseau, selon un mode de réalisation de l’invention ; - la figure 3 représente schématiquement une chaîne de traitement d’un démodulateur aveugle de type mono-voie, selon un mode de réalisation de l’invention ;

- les figures 4 et 5 représentent schématiquement une chaîne de traitement d’un démodulateur aveugle de type bi-voies (comportant deux voies), permettant respectivement, la génération et la transmission au bloc suivant d’une pluralité de sorties du bloc précédent et la rétro-propagation des erreurs calculées représentée à la figure 5.

Sur les différentes figures, les mêmes références peuvent désigner des éléments identiques ou similaires.

DESCRIPTION DES MODES DE REALISATION PREFERES DE

L'INVENTION

Dans la suite, on notera que chaque module ou sous module ou bloc (ou dit autrement bloc de traitement ou de calcul) du système de démodulation comprend au moins une machine informatique (ou électronique) et un logiciel ou code exécutable par la machine pour définir un ou plusieurs paramètre(s) obtenu(s) en calculant une ou plusieurs fonction(s) analytique(s) spécifique(s) à un module ou sous module ou bloc. Ainsi, le traitement d’une ou plusieurs fonction(s) peut être implémenté et mis en œuvre par chaque module ou sous module ou bloc. Par implémenté et mise en œuvre, on entend soit l’exécution d’un programme correspondant aux fonctions ou formules mathématiques (explicitées dans le texte), par un matériel informatique (tel qu’un microprocesseur et une mémoire) ; soit par un hardware ou une combinaison hardware et firmware.

D’autre part, l’homme du métier pourra éventuellement s’aider des trois autres demandes (avec comme numéros de dépôt FR1701417, FR1701418 et FR1701419) déposées sous priorité interne à la présente demande, par la présente demanderesse afin d’apprécier des éventuelles caractéristiques fonctionnelles et/ou structurelles qui ne seraient pas, ou insuffisamment, détaillées dans la présente demande. En d’autres termes, l’intégralité des trois autres demandes (description, revendications et dessins) est, le cas échéant (selon la loi en vigueur), incorporée à la présente demande par renvoi.

La présente invention concerne un système de démodulation ou de recherche en aveugle de signaux de télécommunication, à partir de l'observation par échantillonnage d'un signal, ce signal correspond à la réception d’un signal de modulation linéaire ayant subi des déformations lors de sa transmission. Les traitements du démodulateur sont paramétrés notamment par : des coefficients d’égalisation, une valeur de correction de la phase (cp), de l’amplitude du signal (Ampli ou A), de l’effet de la fréquence (/) et du décalage temporel du signal (T).

Dans certains modes de réalisation, le système de démodulation en aveugle de la présente invention comprend au moins un bloc de traitement spécifiques permettant la correction des différents éléments perturbateurs d’une chaîne de transmission numérique, telle que la correction de l’erreur de synchronisation, la correction du canal de propagation et du canal équivalent induit par les imperfections des cartes d’acquisition ou des composants électroniques, la correction de l’amplification du signal, la correction de l’erreur de phase, de la dérive en fréquence, du bruit de phase et des instabilités en fréquence des oscillateurs mis en jeu. Dans le cas bipolarisé, la présente invention peut permettre en outre de compenser les fuites de signal d’une voie à l’autre.

Dans certains modes de réalisation, le système de démodulation en aveugle comprend au moins une architecture hardware ou hardware et firmware comportant des mémoires et une ou plusieurs unités de traitement pour implémenter un réseau de blocs de calcul spécifiques connectés 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 débit de traitement de la chaîne en aval (du système de démodulation) à la cadence réduite d’un échantillon par symbole,

- un premier bloc réalise au moins un module permettant d’estimer des paramètres des signaux observés pour évaluer par la suite les autres paramètres des signaux observés par d’autres blocs de calcul du réseau,

- au moins un deuxième bloc de calcul spécialisé réalise un module de décision pour calculer un signal d’erreur et rétro-propager les erreurs calculées à chacun des blocs résiduels (« propagate », « update ») précédents.

Dans certains modes de réalisation, le premier bloc et/ou les blocs additionnels du premier bloc (par exemple le module d’amplification, le module de fréquence et/ou le module de la valeur phase) et le(s) bloc(s) supplémentaire(s) (par exemple le module filtre F et/ou G) du système peuvent être agencé selon la configuration de la figure 2a, dans laquelle les blocs sont noté de façon générique par M-i avec i une valeur d’indexation contenant un certain nombre d’états internes (pouvant être des valeurs scalaires ou vectorielles, entières, réelles ou complexes) dont notamment un paramètre Q, (pouvant être un vecteur de paramètres réelles ou complexes) paramétrant les traitements réalisés par le module dudit bloc. Le module M-i peut se décomposer en au moins trois sous-modules :

- N-i qui encapsule (ou implémente) une fonction « next »,

- P-i qui encapsule (ou implémente) une fonction « propagate » et

- U-i qui encapsule (ou implémente) la fonction update.

Le regroupement des sous-modules P-i et U-i est noté B-i.

En interne, la fonction update() calcule la valeur d’un incrément 50 £ à appliquer à la valeur courante du vecteur de paramètres interne 0 £ selon 0 £ = q i + dq ,. Les valeurs en entrée du sous-module N-i sont les valeurs x i 1 produites par le module N-(i-1 ). Les valeurs en entrée du sous-module B-i sont les valeurs e £ produites par le module B-(i+1 ).

Le sous-module N-i produit la valeur x £ et le sous-module P-i la valeur e i-1 On notera que les entrées x^ et e £ peuvent être des nombres rééls ou complexe ou des vecteurs réels ou complexes. Ils peuvent être le résultat du multiplexage des résultats de plusieurs sous-modules.

Dans certains modes de réalisation, le module du bloc de synchronisation, est configuré pour recevoir en entrée un flux de signal complexe échantillonné à au moins deux échantillons par symboles et stocker ces échantillons dans un tampon mémoire interne pour délivrer à chaque temps symbole une sortie de signal d’entrée au premier bloc du réseau. Dans certains modes de réalisation, Le module du bloc de la synchronisation implémente une fonction « next » de la forme y = next(), dans lequel les valeurs d’entrée nécessaires à la réalisation de la fonction peuvent être déportées dans au moins buffer ou tampon mémoire interne. De plus ce module étant placé en début de chaîne de traitement du système, une définition et une implémentation d’une fonction « propagate » ne peut être pas nécessaire.

Dans certains modes de réalisation, le module « décision » du deuxième bloc n’implémente pas les fonctions Propagate et Update.

Dans certains modes de réalisation, le système est cadencé au rythme symbole.

Dans certains modes de réalisation, pour chaque symbole de signal, une suite de fonctions next() encapsulées (ou intégrées) dans les différents modules sont successivement appliquées à la sortie du synchroniseur (ou bloc de synchronisation du signal en aveugle) pour produire en bout de chaîne de traitement du système une sortie y. Dans certains modes de réalisation, à la sortie y est appliquée une fonction de décision (par exemple par le second bloc du système). Dans un contexte aveugle, à modulation connue, cette fonction de décision peut être par exemple un slicer, qui à un nombre complexe associant le symbole de la modulation le plus proche. Dans un contexte coopératif, la fonction de décision renvoie la valeur connue a priori du symbole. Dans certains modes de réalisation, on peut envisager un contexte mixte pour un signal multiplexant des symboles pilotes connus et des symboles de donnés inconnus.

A cette architecture de base du système de démodulation, peut être ajoutée une boucle de rétroaction contenant un filtre supplémentaire (noté G). Cet ajout permet une plus grande robustesse de la démodulation au canal de propagation. Dans certains modes de réalisation, le système de démodulation peut ne pas comprendre de module filtre (F et/ou G) du bloc supplémentaire, notamment pour des signaux obtenus par les fibres optiques ou satellitaires, puisqu’il n’y a pas (ou peu) d’échos ou bruit de signal.

La sortie du module de décision (ou slicer) peut être notée z. La quantité erreur e peut être définie par la formule : e z - y. Elle peut constituer le début de la chaîne de rétroaction. L’erreur e parcourt la chaîne de traitement en sens inverse, comme représenté par exemple sur les figures 2a, 3 et 5. Dans chaque sous module P-i, la fonction propagate( ) modifie l’erreur reçue du module précédant (dans le sens inverse de la chaîne) avant d’envoyer cette erreur au module suivant (dans le sens inverse de la chaîne). L’erreur reçue par un module est par ailleurs utilisée en entrée de la fonction update( ) dans le sous-module U-i qui procède à la mise à jour des paramètres du module de traitement M_i.

Le système peut être implémenté par un logiciel sur un dispositif de calcul ou par un système électronique. Les différents modules de traitement M_i peuvent être pipelinés. Dans la suite, un tampon mémoire FIFO peut être considéré comme un vecteur. Ainsi, dans certains modes de réalisation, les termes du vecteur peuvent aller du plus ancien (premier indice du vecteur) au plus récent (dernier indice du vecteur) élément du tampon FIFO.

Ainsi, la notation ( a\b ) entre deux vecteurs réels ou complexes de même taille désigne la somme du produit de leurs éléments : ( a\b ) = å a £ è £ .

Dans certains modes de réalisation, chaque bloc de calcul du réseau comprend une fonction d’initialisation, pouvant être implémentée par au moins un processeur et au moins un logiciel ou un code exécutable, pour initialiser les paramètres du module de chaque bloc de calcul du réseau (par exemple : module d’amplification, module de fréquence, module de la valeur phase, etc.).

Dans certains modes de réalisation, au moins un module de filtre (F ou G) du bloc supplémentaire est initialisé par les opérations d’initialisation suivantes :

F = vecteur complexe de taille N F

X = FIFO complexe de taille N F

dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module de filtre, sont:

o N F est un entier

o m un vecteur de réels de taille N F .

Dans certains modes de réalisation, au moins un module d’amplification du premier bloc est initialisé par les opérations d’initialisation suivantes :

■ a = _a_

X = FIFO complexe de taille _N_

m = -m- dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module du premier bloc, sont :

o _a_ est une valeur initiale d’amplification

o N est un entier o _m_ est un nombre réel.

Dans certains modes de réalisation, le module d’estimation de la fréquence du bloc additionnel (au premier bloc) est initialisé par les opérations d’initialisation suivantes :

5 / = -/_

■ h = e 2n Jf

p = 1.0

X = FIFO complexe de taille _N_

m = -m- io dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module du bloc additionnel (au premier bloc), sont :

o _f_ est un nombre réel codant une estimation initiale de la fréquence o _N_ est un entier

o _m_ est un nombre réel.

15 Dans certains modes de réalisation, le module d’estimation de la valeur phase du bloc additionnel (au premier bloc) est initialisé par les opérations d’initialisation suivantes :

f = _<?_

p — g 27 TJ ( p

20 m— _m_

dans lesquelles les paramètres d’initialisation, mémorisé dans une mémoire du module du bloc additionnel (au premier bloc), sont :

o jp_ est un réél

o _N_ est un entier

25 o X = FIFO complexe de taille _N_

o ji_ est un nombre réel.

La présente invention présente l’avantage de définir des blocs de traitement spécifiques permettant la correction des différents éléments 30 perturbateurs d’une chaîne de transmission numérique, telle que la correction de l’erreur de synchronisation, la correction du canal de propagation et du canal équivalent induit par les imperfections des cartes d’acquisition ou des composants électroniques, la correction de l’amplification du signal, correction de l’erreur de phase, de la dérive en fréquence, du bruit de phase et des instabilités en fréquence des oscillateurs mis en jeu. Dans le cas « bi- voies », l’invention permet en outre de compenser les fuites de signal d’une voie à l’autre induite, par exemple par un mauvais alignement entre les antennes d’émission et de réception. De plus, la présente invention peut permettre d’identifier les paramètres de correction optimaux et de poursuivre leur variation dans le temps. Les différentes corrections appliquées par les différents modules de la présente permettent également, une stabilité renforcée par rapport à des boucles d’asservissement utilisées généralement dans des systèmes de démodulation aveugle.

Par ailleurs, la présente invention peut permettre de traiter dans le même système la démodulation de signaux en aveugle et la démodulation de signaux en mode coopératif.

La présente invention présente également une bonne robustesse au bruit de phase dans le montage « mono voie ». Elle présente l’avantage d’être robuste au bruit de phase produit par les oscillateurs d’émission et de réception dans le cas « bi voies » ; notamment elle ne nécessite pas que les oscillateurs de transposition en fréquence soient synchronisés en émission ou en réception. L’invention permet par ailleurs de corriger des dérives en fréquence et des instabilités de fréquence différentes sur les différents oscillateurs en présence dans la chaîne de transmission.

Dans certains modes de réalisation, la présente invention permet de démoduler en aveugle un très grand débit de signal, notamment avec des ordres de modulation élevés.

• Démodulation d’un signal mono-voie

Dans certains modes de réalisation, le système de démodulation en aveugle d’un signal type mono-voie peut fonctionner selon la configuration schématique de la figure 3. Les différents modules et blocs du système de démodulation sont représentés sur la figure 3 par trois sous module réalisant les fonctions next (sous blocs (Nxx)) , update (sous blocs (Uxx)) et propagate (sous blocs (Pxx)). La figure 3 représente schématiquement la suite d’opérations réalisées pour la création, le traitement d’un symbole et la mise à jour des paramètres de chaque bloc.

Dans certains modes de réalisation, le traitement d’un flux de symboles ou d’un signal se déduit de schémas de traitement d’un symbole. Dans ce cas-là, les différents blocs de traitement peuvent être parallélisés, les blocs peuvent être disposés selon un pipeline.

Le module de synchronisation ou du bloc de calcul de synchronisation du signal en aveugle (N0) possède une référence au signal capté. Il mémorise les échantillons nécessaires pour former la sortie complexe x 0 . Les valeurs de x 0 sont émises au rythme symbole du signal à démoduler. On parlera donc d’un symbole. La sortie x 0 peut être transmise au module Filtre F qui réalise la fonction (N1 ) pour former une sortie x 1 . Le complexe x 2 peut être obtenu par rebouclage de la sortie du bloc de décision (NL) dans un filtre G (N2). La valeur x 2 peut être soustraite à la valeur x 1 pour former une sortie complexe x 3 qui peut traverser le module d’amplification (N4) pour former une sortie complexe x 4 . Cette valeur x 4 peut traverser alors le module fréquence (N5) pour former une sortie complexe x 5 qui traverse alors le module Phase (N6) pour former un complexe y qui constitue la sortie d’intérêt du système et consiste en un signal démodulé.

Le symbole y est mis en entrée d’un organe de décision (par exemple un « slicer »). Ce module est programmé avec la constellation de la modulation en jeu et renvoie pour tout y la valeur complexe z du point de la constellation le plus proche de y.

La différence conjugée e = z - y est calculée et constitue la première erreur. Cette erreur va être rétro-propagée à travers les différents modules de la chaîne. Pour chaque sous module, une erreur est mise en entrée des sous- modules propagate et update. Le module propagate calcule une nouvelle erreur qu’il envoie en entrée du module suivant, le module update calcule un incrément des paramètres de traitements du module courant. Ainsi, l’erreur e est mise en entrée des sous-modules (P6) et (U6) du module de phase. (P6) calcule la valeur de l’erreur e 5 à partir d l’erreure. (U6) calcule l’incrément df à appliquer à l’état interne f du module phase. L’erreur e 5 est mise en entrée des sous-modules (P5) et (U5) du module Fréquence. (P5) calcule l’erreur e 4 et (U5) calcule l’incrément 5/ sur le paramètre interne / du module de fréquence. Les différents états de ce module sont mis à jour en conséquence. L’erreur e 4 est mise en entrée des sous-modules (P4) et (U4) du module Ampli. (P4) calcule l’erreur e 3 et (U4) calcule l’incrément SA sur le paramètre interne A du module de Amplitude.

On calcule l’opposée de l’erreur de e 3 , c’est à dire e 2 = -e 3 , cette erreur est mise en entrée du sous-module (U2) qui calcul l’incrément SG à appliquer au filtre G. L’erreur e 3 est dans un souci d’homogénéité renommée e 1 , par exemple sur la figure 3, et mis en entrée des sous-modules (P1 ) et (U1 ) du module Filtre F. Le sous-modules (P1 ) calcule l’erreur e 0 et (U1 ) calcule l’incrément vectoriel complexe 5F sur le paramètre interne F du module Filtre F.

Enfin l’erreur e 0 est mise en entrée du sous-module (U0) qui calcule l’incrément dt à appliquer au paramètre t du module synchroniseur. Les différents états de ce module sont mis à jour en conséquence.

Dans certains modes de réalisation, l’enchaînement des blocs de traitement, la rétropropagation de l’erreur calculée à travers les blocs « propagate » et l’incrément des différents paramètres des blocs de la chaîne via les blocs « update » peuvent être réalisés en cascade et en boucle jusqu’à avoir estimés le plus précisément possible les différents paramètres du signal. Dans certains modes de réalisation, chaque module du bloc de calcul du réseau, par au moins un hardware ou une combinaison hardware et firmware, peut réaliser les opérations suivantes :

• Module filtre F (1)

o Paramètres d’initialisation

N F un entier

m un vecteur de réels de taille N F

o Initialisation

F = vecteur complexe de taille N F

X = FIFO complexe de taille N F

o next(x)

X.append(x)

Retourner (F\X)

o propagate(e)

Retourner e F

o update(e)

ÔF = 2m x (e · X) (ici x est le produit terme à terme de deux vecteurs)

- F+= ÔF ou F = F + ÔF

· Module filtre G (2)

o Paramètres d’initialisation

N G un entier

m un vecteur de réels de taille N G

o Initialisation

■ G = vecteur complexe de taille N G

X = FIFO complexe de taille N G

o next(x)

X.append(x)

Retourner (G | )

O update(e) ÔG = 2m c (e X) (ici x est le produit terme à terme de deux vecteurs)

G+= 5G

• Module Ampli (3)

o Paramètres d’initialisation

_a_ une valeur initiale d’amplification

_N_ un entier

ji_ un nombre réel

o Initialisation

a = _a_

X = FIFO complexe de taille _N_

m = -m- o next(x)

X.push(x)

Retourner a x x

o propagate(e)

Retourner a x e

o update(e)

Remarque : la taille de la FIFO X a été choisie en cohérence avec la taille du vecteur d’erreur e

da = 2m¾«C|b»

a+= da

• Module Fréquence (4)

o Paramètres d’initialisation :

nombre réél codant une estimation initiale de la fréquence

_N_ un entier

ji_ un nombre réel

o Initialisation

/ = -/_

■ h = e 2n Jf p = 1.0

X = FIFO complexe de taille _N_

m = -m- o next(x)

X. append(x)

Retourner x · p

p x= h

o propagate(e)

Retourner e p

o update(e)

Remarque : la taille de la FIFO X a été choisie en cohérence avec la taille du vecteur d’erreur

ôf = 4pm3(r · < | e))

f+= Sf

■ h = e 2n Jf

• Module Phase (5)

o Paramètres d’initialisation

_<p_ un réél

_N_ un entier

X = FIFO complexe de taille _N_

ji_ un nombre réel

o Initialisation

y = _<p_

p — g 27 TJ ( Ç

m = -m- o next(x)

X. append(x)

Retourner x · p

o propagate(e)

Retourner e p

o update(e) Remarque : la taille de la FIFO X a été choisie en cohérence avec la taille du vecteur d’erreur e

df = -2m3(r · < | e»

f+= df

• Module Décision (6)

o Paramètres d’initialisation

_C_ une constellation complexe

o Initialisation

C = _C_

o next(x)

Retourner argmin cec \x— c\

• Démodulation d’un signal bi-voies

Dans certains modes de réalisation, le système de démodulation en aveugle d’un signal type multi-voies peut fonctionner selon la configuration schématique des figures 4 et 5. La figure 4 illustre l’enchaînement des blocs de traitement à partir de la réception des deux échantillons d’entrée ;

), plus particulièrement l’enchaînement des fonction next() encapsulées (ou intégrées) dans les sous-modules (ou bloc « miroir » ou bloc résiduel) du système, notés A-Nxx et/ou H-Nxx pour la première chaîne et B-Nxx et/ou V- Nxx pour la seconde chaîne. La figure 5 illustre l’enchaînement des blocs de traitement « propagate » (ou propagation) et « update » (ou mise à jour) à partir des erreurs (e w ; e w ) calculées en bout des chaînes de traitement, plus particulièrement l’enchaînement des fonctions propagate() et updateQ encapsulées dans les sous modules notés Bxx, dont chacun regroupe les sous-modules update (Uxx) et propagate Pxx) des première (H) et seconde (V) chaînes de traitement. La première et seconde chaînes de traitement bi- voie sont semblables et peuvent être mises en parallèle (c'est-à-dire exécutées simultanément). Les synchroniseurs ou bloc de calcul de synchronisation du signal en aveugle (A-NO) et (B-NO), en début des deux chaînes de traitement, forment les valeurs complexes x a) et x^ b Ces valeurs peuvent être mises en entrées des modules correcteurs de Phase (A-N1 ) et (B-N1 ) qui renvoient chacun une nouvelle valeur complexe x^ et c^ . Ces valeurs (x^ et x b ^) peuvent être mises en entrées des modules Filtres (H-N1 ) et (V-N1 ). Par exemple, comme représentées sur la figure 4, les entrées entre les deux modules (module correcteur Phase et module Filtre F) sont inversées.

Au niveau de la première chaîne ou chaîne H, le module (H-N 1 ) forme une sortie x h Une différence est calculée \ x^ = c^ - x^ pour délivrer une sortie x^ h La valeur x^ provenant de la sortie du module Filtre G (FI-N2) monté en dérivation. La sortie x^ pouvant traverser le module Amplitude (FI-N4) pour délivrer une sortie x^ qui peut être mise en entrée du module Fréquence (FI-N5). Le module Fréquence peut délivrer une sortie peut être mis en entrée du module Phase (FI-N6). Le module Phase peut délivrer une valeur (ou sortie) complexe Cette valeur constitue la sortie d’intérêt du système et correspond à la voie Fl démodulée.

Le symbole de sortie peut être mis en entrée d’un organe de décision (par exemple, un « slicer ») H-NL. Ce module est programmé avec la constellation (ou ensemble de points symboles) de la modulation en jeu et renvoie pour tout y ^ la valeur complexe z ^ du point de la constellation le plus proche

Une différence conjuguée peut être calculée : e ^ = zW - yW afin de constituer la première erreur de la chaîne H. Par exemple, en parallèle, la valeur z ^ peut être envoyée dans la boucle de rétroaction contenant le filtre G (H_N2). Elle peut être multipliée successivement par le conjugué de la valeur interne p du module de phase et par le conjugé de la valeur interne p de la fonction next () du module de fréquence pour donner une valeur z ,( - h Les valeurs z'^ et z' w constituent les entrées du sous module Filtre G (H-N2) pour pouvoir délivrer les sorties

Les enchaînements de la chaîne H s’applique similairement à la seconde chaîne ou chaîne V (en remplaçant les exposants (h) par (v) dans les références).

Comme représentées par exemple sur la figure 5, les erreurs e ^ et e (v) constituent les entrées de la chaîne de rétro-propagation de l’erreur.

e v) de la chaîne V, l’erreur suit le même trajet de rétro-propagation que dans le cas du signal mono voie décrit ci-dessus.

Les sous modules Filtre F de la chaîne H (H-B1 ) et de la chaîne V (V- B1 ) reçoivent chacun une erreur sous forme du nombre complexe ou e v afin de réaliser la mise à jour des différents coefficients des filtres internes et de délivrer deux vecteurs d’erreur pour pouvoir obtenir les erreurs rétro-propager aux sous modules correcteurs Phase (A-B1 et B-B1 ). Ainsi, lesdits vecteurs sont donc nommés selon pour que ces dernières valeurs puissent être mises en entrées du sous-module (A-B1 ) et du sous-module (B-B1 ) qui peuvent réaliser la mise à jour des paramètres de phase, puis renvoyer (ou délivrer) les erreurs e^ a) Les erreurs e^ a) peuvent être utilisées pour mettre à jour les paramètres de synchronisation dans les sous-modules (A-B0) et (B-B1 ).

Dans certains modes de réalisation, chaque module du bloc de calcul du réseau, par au moins un hardware ou une combinaison hardware et firmware, peut réaliser les opérations suivantes :

• Module filtre F (1)

o Paramètres d’initialisation N F un entier

o Initialisation

F 0 = vecteur complexe de taille N F

F 1 = vecteur complexe de taille N F

X Q = FIFO complexe de taille N F

X Q = FIFO complexe de taille N F

o next(x 0 , - L )

X Q . append(x 0 )

X · append(x 1 )

Retourner ((F 0 |¾) + (F L )

o propagate(e)

Retourner (e · F 0 , e F o update(e)

ÔF Q = 2m x (e · 0 ) (ici x est le produit terme à terme de deux vecteurs)

F 0 += 5F 0

ÔF 1 = 2m x (e · X (ici x est le produit terme à terme de deux vecteurs)

F += ÔF 1

• Module filtre G (2)

o Paramètres d’initialisation

N G un entier

o Initialisation

G 0 = vecteur complexe de taille N G

G 1 = vecteur complexe de taille N G X 0 = FIFO complexe de taille N G

X 1 = FIFO complexe de taille N G

o next(x)

X.append(x)

Retourner ( (G 0 | 0 ) + (G L )

o update(e)

ÔG Q = 2m x (e · 0 ) (ici x est le produit terme à terme de deux vecteurs)

G 0 += 5G 0

ÔG 1 = 2m x (e · X (ici x est le produit terme à terme de deux vecteurs)

G- L += ÔG 1

Dans certains modes de réalisation, les opérations décrites pour la démodulation aveugle mono-voie peuvent être appliquées dans les modules d’amplification, de fréquence, de phase et/ou de décision.

• Synchroniseur

Comme décrit ci-dessus, le système de démodulation en aveugle de la présente invention peut comprendre un synchroniseur adaptatif (définit comme « un bloc de calcul de synchronisation d’un signal aveugle » dans la présente demande) pour une chaîne de démodulation d’un signal en modulation linéaire.

Dans certains modes de réalisation, le synchroniseur comprend :

- un premier sous module configuré, par l’intermédiaire d’au moins un processeur et un logiciel ou code exécutable, pour réaliser une fonction : next( ): 0 ® complex pour définir et délivrer son signal de sortie ; - un second sous module configuré pour définir une fonction : update(w): complex ® 0par l’intermédiaire d’au moins un processeur et un logiciel ou code exécutable, pour estimer un correctif (d r).

La fonction « next » (terme anglais pour définir le renvoie d’un élément suivant d’un itérateur) du premier sous module, transforme les valeurs du signal d’entrée pour renvoyer à la demande le prochain échantillon. La fonction « update » (terme anglais pour « mettre à jour ») du second sous module, actualise le correctif à appliquer à l’estimation du retard de propagation du signal d’entrée à partir d’une l’estimation de l’erreur

Dans certains modes de réalisation, le premier sous module du bloc de synchronisation comprend un générateur configuré pour extraire des valeurs d’échantillon du signal d’entrée selon le besoin. Le signal est alors vu comme un générateur d’échantillons, itérable et utilisable par le bloc de calcul de synchronisation.

Dans certains modes de réalisation, les valeurs d’échantillon extraites du signal d’entrée sont transmises dans un premier tampon, disposé dans le premier sous module du bloc de synchronisation, de sorte à mémoriser les dernières valeurs du signal. Le premier tampon peut être disposé dans le premier sous module ou dans le synchroniseur hors du premier sous module, de façon temporaire ou permanente selon l’application souhaitée.

Dans certains modes de réalisation, un second tampon est configuré pour mémoriser des variables auxiliaires utiles au calcul du correctif (d r). Le second tampon peut être disposé dans le second sous module ou dans le synchroniseur hors du second sous module, de façon temporaire ou permanente selon l’application souhaitée.

Dans certains modes de réalisation, le premier et second tampon sont un tampon mémoire du type FIFO (terme anglais « First-ln-First-Out » définissant une méthode pour organiser et manipuler un tampon de données, dans laquelle les premières données entrées sont traitées les premières).

Dans certains modes de réalisation, une fonction d’initialisation permet de configurer pour initialiser les paramètres du module ou bloc de synchronisation. A l’initiation, le module ou bloc de synchronisation peut prendre les paramètres suivants :

• Les valeurs de rythme d’échantillonnage T iq et de rythme de symbole T, une de ces dernières pouvant être fixées à 1

• h et h' sont des fonctions permettant de calculer le filtre de mise en forme du signal et sa dérivée

• Une valeur initiale de t e [0 , T[ ; par défaut t = 0

• Un paramètre réel m ³ 0 appelé vitesse d’apprentissageet a priori petit

• Un nombre entier n tel que les tampons de temps décrits plus bas ont une taille 2n + 1

• Un nombre entier m tel que l’erreur w est un vecteur complexe de taille m

Dans certains modes de réalisation, le synchroniseur peut être initialisé par au moins un processeur et au moins un logiciel ou un code exécutable aptes à réaliser les opérations d’initialisation suivantes :

- t = initialiser vecteur de réels de taille 2n + 1

Avec t[i ] = (i— n) x Tiq + t

- X = initialiser tampon F1FO de complexes de taille 2n + 1 à 0

- Y' = initialiser tampon F1FO de complexes de taille m à 0

Dans lesquelles

o la valeur T, q est le rythme d’échantillonnage

o t est le vecteur date corrigée à rapporter à 0

o i représente une variable évolutive

o une valeur initiale de t e [0 , T[

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

Dans certains modes de réalisation, le bloc de synchronisation peut être configuré pour réaliser les traitements suivants par l’intermédiaire d’au moins un processeur et au moins un logiciel ou un code exécutable : • next( ): 0 complex

O t = t + T

o Whilet(n) > 0

x = input. next()

X. append(x)

o T'. append(y')

o Return y

• update(w): complex 0

o 5t = 2 m · ¾«G|e»

o t = t + 5 t

La boucle « while » (terme anglais pour « tant que ») permet d’extraire un ensemble d’échantillons (x) du générateur input et de les intégrer dans le premier tampon mémoire. Le vecteur t contient les dates des échantillons contenus dans le buffer (X) ou tampon relativement à la date du prochain symbole émis par le bloc de synchronisation. Tant que la date de l’échantillon en milieu de buffer est positive, un nouvel échantillon est prélevé et les dates des échantillons sont mises à jour jusqu’à qu’un échantillon de date négative soit extrait. Une fois le critère vérifié (c'est-à-dire un échantillon négatif extraite), la suite des traitements pour définir le premier signal de sortie (y) peut être poursuivie.

La présente invention présente l’avantage d’utiliser un synchroniseur adaptatif (c'est-à-dire un synchroniseur comprenant un bloc de calcul de synchronisation d’un signal aveugle) en début de chaîne, afin que le reste de la chaîne soit cadencé au rythme réduit d’un échantillon par symbole. Dans certains modes de réalisation, la présente invention répartit la compensation du canal de propagation sur deux filtres, un filtre « feedforward » ou « avant » noté F et un filtre « backward » ou « arrière » noté G. La combinaison de ces deux filtres permet de renforcer la capacité d’égalisation du démodulateur mais nécessite localement l’ajout de multiplicateurs et d’opérateurs de conjugaison pour assurer une robustesse optimale au bruit de phase, aux dérives en fréquences et aux instabilités en fréquence dans le cas bi-voie. La présente invention concerne également une méthode temps réel de démodulation aveugle de signaux de télécommunication numérique, à partir de l'observation par échantillonnage d'un signal, ce signal correspond à la réception d’un signal de modulation linéaire ayant subi des déformations lors de sa transmission, le processus de traitement comprenant les étapes suivantes :

acquisition par échantillonnage de 0 signaux {x 0,. o > ··· , x 0,m0 -i) pour constituer chacune une entrée d’un réseau de neurones spécialisés ; chaque neurone F, étant simulé par les sorties d’une chaîne amont G, et stimulant une chaîne aval Hj ; chaque jeu d’échantillons parcourt la même chaîne de traitement ;

pour chaque nouvel échantillon en entrée, chaque sous neurone F w) est stimulé par les sorties de la chaîne amont constituée de la mise en cascade des neurones spécialisés F 0 (w) à F[^ et stimulant la chaîne aval constituée des neurones spécialisés F £ ¾ à F^l ; les traitements réalisés par le sous module

F w) dépendent d’un paramètre mémorisé en interne 9 t ; les sorties du dernier neurone F^ constituent le sorties d’intérêt du système ou encore les signaux démodulés et sont notées y 0 ··· y N ; - une fonction non linéaire ( NL ) est appliquée indépendamment à chaque signal démodulé y j pour produire les variables ( z j ) et calculer les erreurs de bout de chaîne e j = z } - y } ;

- rétropropagation de l’erreur et mise à jour du paramètre 0 £ ;

- un signal d’erreur traverse le réseau en sens inverse : du neurone

F l-1 au neurone F 0 ; l’erreur en entrée du neurone est le vecteur traversant le neurone j, l’erreur est modifiée par le sous neurone /gavant d’être transmise au neurone F j ^ ; parallèlement à la retroprogation de l’erreur du neurone j au neurone j - 1, l’erreur en provenance du neurone j + 1 est mise en entrée du sous neurone F^ qui produit un terme correctif 50 £ qui permet la mise à jour du paramètre interne 0 £ selon 0 £ += 50 £ .

Cette erreur calculée peut permettre de corriger la valeur courante de 0 £ chaque bloc. Les sorties des derniers blocs du réseau correspondent idéalement aux symboles démodulés.

Ces signaux de télécommunication peuvent inclure des déformations comprenant notamment : un filtre de canal (et un filtre de co-canal dans le cas bi-voies), une amplification, une valeur de phase, un résidu de porteuse, du bruit et d’autres perturbations stochastiques comme du bruit de phase. Ainsi, selon l’invention, le réseau de démodulation va corriger ces différents effets à travers des neurones de traitement spécialisés. Par neurones de traitement spécialisés, on entend une ou plusieurs fonctions dont les paramètres peuvent être mise à jour par rétropropagation.

Dans certains modes de réalisation, les paramètres 0 £ des différents blocs de traitement sont prédéfinis initialement, par exemple de façon arbitraire sans s’éloigner des valeurs attendues. Pour chaque échantillon entrant dans le système et pour chaque neurone i, notre système produit un terme correctif 50 £ qui est ajouté à la valeur courante du paramètre^ : 0 £ += 50 £ . Cette équation de mise à jour produit une suite de valeurs de 0 £ qui convergent vers la valeur de 9 t qui permet de démoduler au mieux le signal d’entrée.

Dans certains modes de réalisation, chaque neurone F £ du réseau réalise spécifiquement :

- un traitement d’une fonction « next », implémentée et mise en œuvre dans le sous-bloc logique traitement F w) pour générer des sorties à partir d’une pluralité d’observation et les transmettre au bloc de traitement du neurone suivant du réseau ; pour le neurone F cette fonction s’écrit de façon générale avec ses entrées-sorties sous la forme (x i+10 ,··· ,Xi+i , m i+1 -i) = next( i0 , ,X im.-1 avec m £ le nombre d’entrées et £+1 le nombre de sortie de F w) qui correspond au nombre d’entrées de F £ ¾ . Chaque traitement est paramétré par un ensemble de paramètres 9 t d’où la notation F w) = F w) (· | 9 Î ) quand on veut rappeler l’importance du paramétrage. Chaque fonction « Next » est représentée sur les figures 3 à 5 par un bloc N, ;

- un traitement d’une fonction « Propagate », implémentée et mise en œuvre dans le sous-bloc logique F p) pour calculer les erreurs { e i , or·· ,e i n i )à partir des erreurs (e £+10 , ,e £+lm.+i-1 )fournies par le bloc bout de chaîne soit à l’entrée F^ . Cette fonction s’écrit pour le i-ème neurone : { e i , o > -, e imi - 1) = propagate(e £+l0 , - , e i+ m.+1 ^. Chaque fonction« Propagate » est représentée sur les figures 3 à 5 par un bloc P, dit bloc résiduel;

- un traitement d’une fonction « Update», implémentée et mise en œuvre dans le sous-bloc logique F ü) pour calculerle terme correctif Ô9 t à appliquer à la valeur courante du paramètre mémorisé en interne 9 t à partir des erreurs (e £+l0 ,e £+lm.+i-1 ) renvoyées par le sous bloc F/^. Cette fonction s’écrit de façon générale sous la forme 59 t = update(e £+1 o, , e £+lm.+i-1 ). Chaque fonction «Update» est représentée sur les figures 3 à 5 par un bloc U, dit bloc résiduel. Par implémenté et mise en œuvre, on entend soit l’exécution d’un programme correspondant aux fonctions ou formules mathématiques (explicitées dans le texte), par un matériel informatique (tel qu’un microprocesseur et une mémoire) ; soit par un hardware ou une combinaison hardware et firmware.

Ainsi, comme représenté par exemple sur la figure 2b, chaque neurone F £ encapsule au moins deux sous-neurones logiques qui implémentent chacun au moins une des deux fonctions « update » et « next » ci-après et la fonction « propagate » qui n’est pas nécessairement implémentée par le premier bloc (G,) :

• F n) implémente

• F P) implémente (e i 0 , - , e i mrl ) = propagate(e i+l 0 , - , e i+l m.+i-1 )

• F £ (ü) implémente se t = update(e i+l 0 , - , e i+l m.+i-1 )

La figure 1 , par exemple représente schématiquement l’intégration d’un « neurone spécialisé » F, à une chaîne ou un ensemble de neurones amont (G,) et à une chaîne ou un ensemble de neurones aval (H,) d’une méthode temps réel de démodulation aveugle de signaux de télécommunication numérique. Le neurone F, étant relié en entré au dernier des neurones de l’ensemble G,, et en sortie au premier de l’ensemble H,.

Dans certains modes de réalisation, un des blocs de traitement F w) comprend au moins un programme implémentant et mettant en œuvre une suite de traitements élémentaires de la forme :

- next (¾, - ,¾ mri ),¾ E K qii avec q tj un entier et K l’espace des nombres réels ou l’espace des nombres complexes

- F £ Cp) réalise(e £ 0 , - , e^.^) = propagate(e i+l „, - , e i+ m.+l ^

- F £ (y) réalise dq^ = update( Le traitement réalisé par le bloc (F w) ) dépend d’un paramètre 0 £ qui peut être un nombre réél ou complexe, un vecteur lui-même réel ou complexe...

Dans certains modes de réalisation, la fonction « Next » implémentée dans le sous-neurone ou sous bloc F w) est connue analytiquement et dépend d’un paramètre 0 £ .

Elle pourra être notée {x i+l 0 , -· , X i+i,mi+1 -i) = F N) (X Î 0 , ··· , Xi ,mi -i \ B t ) .

Les projections élémentaires du vecteur de sortie sur la composante X Î+1J pourra être notée

Dans certains modes de réalisation, comme représenté par exemple sur la figure 1 , un réseau de neurones spécialisés (pouvant être agencé dans un démodulateur) pour démoduler en aveugle un signal de télécommunication en modulation linéaire, comprend dans chacun des neurones un bloc de traitement (G n F[ n H^). Le premier bloc de traitement reçoit deux signaux correspondant chacun à une première pluralité d’observation du signal pour générer une pluralité de sorties qui sont transmis au bloc logique (F w) ) suivant. Le bloc logique (F w) ) intègre la pluralité de sorties pour générer à son tour une autre pluralité de sorties qui sont transmis au dernier bloc logique du réseau. Ce dernier bloc

(H J (n) ) intègre à son tour la pluralité de sorties du précédent bloc logique (F w) ) pour générer également une pluralité de sorties. Un filtre de non linéarité est appliqué à la sortie du dernier bloc (H- N ), afin de calculer un signal d’erreur (e) pour pouvoir le rétro-propager de cette erreur calculée sur chacune des entrées du réseau associée à l’entrée respective du réseau.

Dans certains modes de réalisation, l’ensemble des L blocs peut exécuter une chaîne de traitements de la forme, implémentée et mise en œuvre par au moins un programme, suivante:

pour tout 0 < i < L

Un nombre de L blocs s’enchaînent pour réaliser un traitement global.

L’enchainement des blocs 0 à i - l est noté

des blocs i + 1 à L - 1 est noté (··· |0 i+i:L-i ). Les sorties du dernier bloc sont notéesy 0 , ,y N-i ·

On note fonctions de projections donnant Y i k = pour 0 < k < n £ .

Dans certains modes de réalisation, les variables dont dépendent chaque sortie de blocs peuvent être explicitées selon la notation suivante : y · = y (x 0, o · ,Mo -i)· Chaque sortie de blocs peut être une valeur réelle ou complexe ou même vectorielle.

Dans certains modes de réalisation, l’ajout de la non-linéarité à la sortie du dernier bloc du réseau est mise en œuvre par une fonction implémenté dans un programme qui s’écrit :

z j = NL(y ) dans laquelle

- Z j est le signal sortant d’un organe de décision du dernier bloc

- y j est un échantillon démodulé

Dans certains modes de réalisation, la rétropropagation des erreurs calculées est obtenue par les traitements, implémentés et mise en œuvre par un algorithme de rétropagation de l’erreur, suivants :

- Initialisation de la rétropropagation sous la forme

pour 0 £ k < N, e L k = z k - y k

- Propagation de l’erreur par le sous-neurone dans la fonction selon les calculs Dans certains modes de réalisation, la mise à jour des paramètres internes 9 t de chaque neurone F t est obtenue dans le sous neurone par les traitements, implémentés et mise en œuvre dans la fonction 09 t = update ei +1 QJ " t +i,mj+1 -i) selon .

o Calcul de A t \

dF

PourO £ j < M i+1 , D j = e i+1

o Mise à jour de 0 £ :

9 t += 2m¾(D £ ) si 9 t est dans un R espace vectoriel

9 t += 2mD [ si 9 t e st dans un C espace vecoriel

Avec

- m £ un paramètre réel appelé « vitesse d’apprentissage »

- 59i est le paramètre correctif du paramètre 9 t

- D est une quantité intermédiaire de calculs auxiliaires pouvant être mémorisées temporairement dans une mémoire ou des registres du hardware implémentant la réalisation

- les 9i sont mémorisés temporairement.

Dans certains modes de réalisation, au fil du traitement des échantillons en entrée du système par les différents sous-neurones, les valeurs des différents 9 t , pouvant être initialisées de façon arbitraire, convergent vers des valeurs rendant la démodulation effective.

Dans certains modes de réalisation, le réseau de neurones spécialisé constitue une suite de blocs MIMO (terme anglais pour « multi inputs, multi outputs »), chaque bloc (i) réalisant un traitement élémentaire paramétré par un ensemble 9 t . Si tous les 9 t de la chaîne sont bien réglés, la chaîne procède à la démodulation effective du signal.

Dans certains mode de réalisation, les 9 t ne sont pas connus, et la chaîne permet d’apprendre en ligne les valeurs pertinentes pour chaque 9 t . A l’initialisation du système des 9 t sont fournis par défaut par une mémoire ou buffer. Dans les premiers instants, le système permet la convergence des 9 t vers les valeurs pertinentes ; cette phase est appelée phase de convergence ; le signal démodulé produit en sortie n’est alors pas fiable. Quand le système atteint un voisinage des paramètres 0 £ , on entre en phase dite de production ou de suivi. C’est à dire que les distances entre les valeurs calculées et celles mémorisées et définissant un voisinage sont inférieures à certains seuil pré mémorisés. Les sorties du démodulateur sont alors fiables et utilisable conjointement à la démodulation du signal, le système poursuit la variation des paramètres du système. Le système ne bascule pas explicitement d’un mode à l’autre, la seconde phase (ou phase de production) se place dans la continuité de la première.

Dans certains modes de réalisation, la méthode comprend en outre le stockage par au moins un tampon mémoire de la pluralité d’entrées et dans au moins un autre tampon de la pluralité de sorties de chaque neurone spécialisé du réseau. Les valeurs d’échantillon extraites de la pluralité d’entrée du signal peuvent être transmises dans un premier tampon, pouvant être associé au bloc de traitement correspondant de façon temporaire ou permanente selon l’application souhaitée, de sorte à mémoriser les états internes du signal d’entrée lors d’une phase d’initiation. Les valeurs de la pluralité de sorties peuvent être mémorisées dans un second tampon, pouvant être associé à un bloc de traitement correspondant de façon temporaire ou permanente selon l’application souhaitée, de sorte à mémoriser les états internes du signal de sortie.

Dans certains modes de réalisation, les tampons de mémoire sont du type FIFO (terme anglais « First-ln-First-Out ») définissant une méthode pour organiser et manipuler un tampon de données, dans laquelle les premières données entrées sont traitées les premières). Dans la suite, un tampon mémoire FIFO peut être considéré comme un vecteur. Ainsi, dans certains modes de réalisation, les termes du vecteur peuvent aller du plus ancien (premier indice du vecteur) au plus récent (dernier indice du vecteur) élément du tampon FIFO. Dans certains modes de réalisation, la présente invention peut être appliquée aussi bien dans un contexte aveugle que non aveugle mais parait particulièrement intéressant dans le premier contexte. En effet, cette invention permet de régler une chaîne de traitement paramétrable sans connaissance a priori. L’invention est en particulier pertinente quand plusieurs paramètres sont en jeu.

Dans un certains modes de réalisation, un signal mono-voie est défini comme un signal numérique modulé linéairement et transmis par transposition de fréquence sur une largeur de bande finie. Un signal bi-voies est défini comme un couple de signaux mono-voies multiplexés sur deux polarisations orthogonales.

La méthode appliquée dans un certain schémas permet notamment de démoduler un signal mono-voie de modulation linéaire en compensant : l’amplification du signal, sa phase, son résidu de porteuse, les effets du canal de propagation. La méthode appliquée selon un autre schéma de démoduler un signal bi-voies et de séparer ses deux composantes en compensant : l’amplification des signaux, leurs phases, les résidus de porteuses, les effets du canal de propagation et les effets du co-canal de propagation (fuite d’une polarisation sur l’autre et inversement lors de la propagation du signal).

Sans perte de généralité et pour simplifier les explications dans la suite on pourra, par exemple, considérer qu’un signal mono-voie est un cas particulier de signal bi-voies.

Dans certains modes de réalisation, comme par exemple représenté sur les figures 3 à 5, les principes de calcul de la méthode de la présente invention pour déterminer le ou les filtre(s), l’amplification, les fréquences du signal et les valeurs de phase du signal, peuvent être mis en œuvre dans un démodulateur aveugle d’un signal de type mono-voie et/ou d’un signal de type multi-voies .

Dans certains modes de réalisation, la méthode appliquée selon un autre schéma du système permet de démoduler un signal bi-voies et de séparer ses deux composantes en compensant : l’amplification des signaux, leurs phases, les résidus de porteuses, les effets du canal de propagation et les effets du co-canal de propagation (fuite d’une polarisation sur l’autre et inversement lors de la propagation du signal).

Dans certains modes de réalisation, ces différentes étapes de cette méthode sont donc réalisées continuellement de façon automatique, pour pouvoir optimiser et autoréguler les calculs ou opérations effectués par les blocs de traitement (via au moins un algorithme adapté) de la chaîne de traitement. Cette méthode de démodulation en aveugle d’un signal de la présente invention, présente l’avantage d’estimer rapidement et en temps réel les différentes paramètres des signaux émis et de mettre en place une correction adapté pour chaque signal émis en la rétro-propageant dans la chaîne générique de traitement du signal. Par ailleurs, la méthode de la présent invention présente l’avantage de traiter de façon simple et efficace, les problèmes liés à l’interception de communication et de préférence pour la démodulation aveugle des signaux de télécommunication.

La présente invention concerne également un produit programme d'ordinateur implémenté sur un support mémoire, susceptible d'être mis en œuvre au sein d'une unité de traitement informatique par un matériel informatique (tel qu’un microprocesseur et une mémoire) ; soit par un hardware ou une combinaison hardware et firmware et comprenant des instructions pour la mise en œuvre d'une méthode selon l'une quelconque des modes de réalisation précédents.

Dans certains modes de réalisation, la présente invention propose une architecture de type réseau de neurones « spécialisés » pour traiter des problèmes d’interception de communications et plus particulièrement de démodulation aveugle de signaux télécommunication. En effet, un signal d’entrée traverse un système présentant une architecture ci-dessus pour émuler une chaîne de neurones spécialisés; chaque neurone réalise une fonction particulière paramétrée par un ensemble de valeurs. Les valeurs des réglages de chaque neurone spécialisé sont à priori inconnues. Une non linéarité est appliquée au résultat en bout de chaîne permettant de calculer une « erreur ». Il est alors possible de rétropropager cette erreur dans la chaîne de traitement comme cela est fait en apprentissage par réseau de neurones pour faire évoluer la valeur de chaque paramètre de chaque bloc vers une valeur plus pertinente. Ainsi, dans certains modes de réalisation, à l’initialisation du système des paramètres ø* sont fournis par défaut par une mémoire du dispositif. Dans les premiers instants, le système permet la convergence des ø* vers les valeurs pertinentes ; cette phase est appelé phase de convergence ; le signal démodulé produit en sortie n’est alors pas fiable. Quand le système atteint un voisinage défini des paramètres Ø £ , le système entre en phase dite de production ou de suivi. C’est à dire que les distances entre les valeurs calculées et celles mémorisées et définissant un voisinage sont inférieures à certains seuil pré mémorisés. Les sorties du démodulateur sont alors fiables et utilisables pour les appliquer à d’autres éléments matériels hardware ou software ou firmware permettant de finaliser la démodulation.

Par ce système une fois arrivé en mode de production ou de suivi les calculs sont moins nombreux et peuvent être exécutés en parallèles par les différents éléments matérialisant les blocs et ainsi rendant possible l’utilisation en temps réel.

La présence invention concerne en outre une utilisation dans un système de démodulation en aveugle d’un signal de télécommunication. Le système de démodulation (ou de recherche) en aveugle des caractéristiques (ou paramètres) du signal, comprend au moins une architecture hardware ou hardware et firmware implémentant un réseau de neurones spécifiques. Dans certains modes de réalisation, un premier neurone spécialisé du réseau réalise l’estimation d’au moins un filtre permettant d’acquérir le signal en aveugle et puis un second réalise au moins un module permettant d’estimer l’amplification des signaux pour évaluer par la suite des autres caractéristiques (ou paramètres) des signaux par les autres neurones du réseau. Dans certains modes de réalisation, le module d’amplification peut être disposé dans un neurone différent du premier neurone. Un second neurone spécialisé réalise au moins un module d’estimation de fréquence pour déterminer les fréquences des signaux émis en aveugle et/ou au moins un module de phase pour déterminer les valeurs de phase desdits signaux. Dans certains modes de réalisation, le module de phase peut être disposé dans un neurone différend du second neurone. Un troisième neurone spécialisé réalise un module de décision pour calculer un signal d’erreur et de rétropropager les erreurs calculées à chacun des blocs résiduels des neurones précédents. La méthode selon l'une quelconque des modes de réalisation précédents, est appliquée pour déterminer les caractéristiques (ou paramètres) du signal émis en aveugle (par exemple, l’amplitude, la fréquence et la valeur de phase des signaux).

Dans certains modes de réalisation, la méthode de démodulation aveugle peut être appliquée dans le cas de la démodulation d’un signal mono-voie (comme représenté par exemple sur la figure 3) et/ou d’un signal multi-voies (comme représenté par exemple sur les figures 4 et 5).

Dans certains modes de réalisation, pour un signal de type multi- voies, outre la démodulation de chaque voie, la méthode permet la séparation des différentes voies en aveugle.

La présente demande décrit diverses caractéristiques techniques et avantages en référence aux figures et/ou à divers modes de réalisation. L’homme de métier comprendra que les caractéristiques techniques d’un mode de réalisation donné peuvent en fait être combinées avec des caractéristiques d’un autre mode de réalisation à moins que l’inverse ne soit explicitement mentionné ou qu’il ne soit évident que ces caractéristiques sont incompatibles ou que la combinaison ne fournisse pas une solution à au moins un des problèmes techniques mentionnés dans la présente demande. De plus, les caractéristiques techniques décrites dans un mode de réalisation donné peuvent être isolées des autres caractéristiques de ce mode à moins que l’inverse ne soit explicitement mentionné.

Il doit être évident pour les personnes versées dans l'art que la présente invention permet des modes de réalisation sous de nombreuses autres formes spécifiques sans l'éloigner du domaine d'application de l'invention comme revendiqué. Par conséquent, les présents modes de réalisation doivent être considérés à titre d'illustration, mais peuvent être modifiés dans le domaine défini par la portée de la portée demandée, et l'invention ne doit pas être limitée aux détails donnés ci-dessus.