Brevet FR2713799A1 — publié le 19950616

Procédé pour reconnaître automatiquement la modulation d' un signal intercepté L'invention porte sur un procédé pour reconnaître le type de modulation numérique utilisé pour émettre un signal intercepté et a priori inconnu, en vue du décodage de celuici, dans lequel on transforme ce signal intercepté sous une forme numérique sur la base de laquelle on extrait des grandeurs numériques servant à discriminer différents types de modulations numériques et on établit une correspondance entre ces grandeurs numériques et un type particulier connu de modulation numérique. Il y a un besoin important, dans le domaine militaire mais aussi civil, de surveiller l'activité radioélectrique. Le décodage des signaux interceptés passe par une succession d'étapes de traitement incluant la reconnaissance de la modulation utilisée pour émettre ce signal. Les techniques actuelles de communication de données font largement appel aux modulations numériques et dans ce cas il s'agit de reconnaître une modulation numérique particulière parmi celles les plus fréquemment utilisées. Les modulations numériques les plus largement utilisées dans le domaine militaire sont les modulations FSK,PSK,MSK,QAM et OQPSK. Reconnaître la modulation numérique d'un signal intercepté et a priori inconnu est un problème complexe. I1 est connu que certaines modulations numériques ont des diagrammes de l'oeil et de constellation caractéristiques. Il est donc possible de reconnaître la modulation numérique utilisée pour émettre un signal à partir de l'observation des diagrammes de l'oeil et de constellation de ce signal. Ce procédé est toutefois limité à des signaux interceptés pas ou peu bruités. Son utilisation reste ponctuelle et manuelle. Des tentatives ont déjà été menées pour automatiser la reconnaissance de la modulation numérique d'un signal intercepté. Les plus remarquables sont basées sur la reconnaissance des formes. Dans ces tentatives, la correspondance entre les grandeurs numériques et un type particulier de modulation numérique est établie à l'aide de classifieurs linéaires, quadratiques ou des arbres de décision. Mais là encore, ces procédés connus restent limités aux signaux peu bruités, de l'ordre de 25 à 50dB. Par ailleurs, les moyens matériels qu'ils mettent en oeuvre sont très compliqués. Ils permettent de reconnaître un faible nombre de modulations numériques, typiquement 2 ou 3 modulations numériques différentes. Le but de l'invention est de proposer un procédé permettant de reconnaître la modulation numérique utilisée pour émettre un signal intercepté et a priori inconnu, même fortement bruité, parmi une dizaine de modulations numériques les plus fréquemment utilisées. A cet effet, l'invention a pour objet un tel procédé, caractérisé en ce qu'on utilise, en tant que grandeurs numériques, les premiers moments statistiques d'ordre 1 à 4 sur l'amplitude, la phase et la fréquence instantanées de ce signal, et on établit une correspondance entre ces grandeurs numériques et un type de modulation numérique à l'aide d'un réseau de neurones sigmoïde non bouclé qui a subi un apprentissage préalable pour classer lesdites grandeurs numériques sur des sorties représentatives des classes de modulations numériques suivantes: FSK2, FSK4, FSK8, PSK2, PSK4, PSK8, QAM16, QAM64, OQPSK, MSK. Par rapport à l'état de la technique connu, les caractéristiques du procédé selon l'invention contribuent à accroître la gamme des modulations reconnues automatiquement tout en simplifiant les moyens utilisés pour effectuer automatiquement cette reconnaissance par la mise en oeuvre d'un réseau de neurones à l'architecture contrainte et allégée qui permet un traitement plus rapide qu'un réseau de neurones totalement connecté. Par ailleurs, un tel procédé permet d'obtenir des performances, en termes de taux de bonnes reconnaissances, de l'ordre de 90% même pour des signaux interceptés très bruités (rapport signal/bruit pouvant atteindre OdB) et près de 100% sur des signaux moins bruités. L'invention est décrite en détails ci-après en référence aux dessins. La figure 1 est un schéma bloc illustrant le procédé selon l'invention. Les figures 2 à 7 illustrent des étapes de calcul pour l'extraction des grandeurs numériques selon l'invention. La figure 8 montre l'architecture du réseau de neurones sigmoïde utilisé dans le procédé selon l'invention. Sur la figue 1, le signal intercepté S a été filtré et numérisé en vue de reconnaître la modulation numérique utilisée pour son émission. Les échantillons numériques complexes obtenus en sortie du convertisseur analogique/numérique (non représenté) sont d'abord passés dans un module 1 d'extraction des moments statistiques d'ordre 1 à 4 sur l'amplitude, la phase et la fréquence du signal S. Ces moments statistiques sont calculés de la façon suivante. Un vecteur de 2048 échantillons numériques, généralement successifs, provenant de l'échantillonneur sont maintenus en mémoire en vue du calcul du module, de l'argument et du déphasage de chaque échantillon numérique comprenant une partie réelle d'amplitude a et une partie imaginaire d'amplitude b. Le module Mi de chaque échantillon i (ayant un partie réelle ai et imaginaire bi) est d'abord calculé en appliquant la relation montrée à la figure 2. L'argument Pi de chaque échantillon i est ensuite calculé en appliquant la relation montrée à la figure 3. La fréquence instantannée Fi en chaque échantillon i est enfin calculée en appliquant la relation montrée à la figure 4. La valeur F2048 est arbitrairement fixée égale à la valeur F2047. On récupère donc trois vecteurs de 2048 éléments chacun contenant respectivement des valeurs de module, des valeurs d'argument et des valeurs de fréquence instantannée. Les moments statistiques d'ordre 1 à 4 sur l'amplitude, la phase et la fréquence instantanées du signal intercepté sont calculés à partir de ces trois vecteurs ce qui conduit à l'obtention de 12 moments statistiques M1A M4A,M1P-M4P,M1F-M4F. M1A désigne la moyenne du vecteur d'amplitude. M2A désigne la variance du vecteur amplitude. M3A désigne le moment statistique d'ordre 3 du vecteur amplitude. M4A désigne le moment d'ordre 4 du vecteur amplitude. MlP-M4P désignent respectivement les moments d'ordre 1 à 4 pour le vecteur phase. M1F-M4F désignent respectivement les moments d'ordre 1 à 4 pour le vecteur fréquence. Les différents moments statistiques sont calculés à partir des relations montrées aux figures 5 à 7 qui reprennent le terminologie définie ci-dessus. La puissance du signal reçu est normalisée en ce qu'on fixe MlA=1 et les grandeurs M2A-M4A sont recalculées à partir des relations suivantes. M2A=M2A/M1A2 M3A=M3A/M1A3 M4A=M4A/M1A4 On obtient donc 11 grandeurs utiles M2A-M4F. Les 11 grandeurs M2A-M4F sont appliquées en entrée du réseau de neurones sigmoïde 2 montré à la figure 1 et qui est décrit ci-après en référence à la figure 8. Ce réseau de neurones sigmoïde 2 comprend une première couche d'entrée de 11 neurones Nl.l-Nl.ll, une première couche cachée de 20 neurones N2.1-N2.20, une seconde couche cachée de 13 neurones N3.1-N3.13 et une couche de sortie de 10 neurones N4.1-N4.10. Cette architecture du réseau de neurones 2 contribue à une réalisation particulièrement simple tant sous forme de programme que sous forme de circuit câblé. Le document "LANGAGES & SYSTEMES-INFOPC N 71; Les réseaux neuronaux artificiels de Henri Lemberg" décrit l'architecture et le fonctionnement d'un réseau de neurones. En effet, le réseau proposé contient deux fois moins de connexions que le même réseau totalement connecté. Ceci est dû au fait que ce réseau est une juxtaposition de réseaux plus simples, ayant subi des apprentissages indépendants, sur des sous-problèmes du problème général. Le réseau de neurones sigmoide de la figure 8 est utilisé pour classer les 11 grandeurs M2A-M4F, qui s'avèrent être un bon résumé d'information pour des signaux quasipériodiques, dans l'une des 10 classes de modulation numérique suivantes: FSK2, FSK4, FSK8, PSK2, PSK4, PSK8, QAM16, QAM64, MSK. Il faut comprendre ici, que chaque neurone de la couche de sortie, en réponse aux grandeurs numériques présentées en entrée du réseau, libère une valeur généralement décimale comprise dans l'intervalle [-1,1], que chaque neurone de la couche de sortie représente une classe de modulation particulière de sorte qu'une mesure de la probabilité de correspondance entre les grandeurs M2A-M4F et la classe de modulation représentée par le neurone est directement donnée par la valeur de sortie de ce neurone. Les connexions entre neurones sont établies de la façon suivante. Les 11 neurones N1.1-N1.11 sont connectés chacun aux 5 premiers neurones N2.1-N2.5 de la première couche cachée. Les neurones N2.1-N2.5 sont connectés chacun aux 3 premiers neurones N3.1-N3.3 de la seconde couche cachée. Ces neurones forment un premier sous-réseau de neurones à 11 entrées et 3 sorties. Les 7 neurones Nl.l,N1.2,Nl.3,N1.5,N1.7,Nl.9,N1.11 sont connectés chacun aux 5 neurones N2.6-N2.10 de la première couche cachée. Les neurones N2.6-N2.10 sont connectés chacun aux 5 neurones N3.4-N3.8 de la seconde couche cachée. Ces neurones forment un second sous-réseau de neurones à 7 entrées et 5 sorties. Les 7 neurones Nl.l,N1.2,N1.3,N1.5,N1.7,Nl.9,N1.11 sont encore connectés chacun aux 5 neurones N2.11-N2.15 de la première couche cachée. Les neurones N2.11-N2.15 sont connectés chacun aux 3 neurones N3.9-N3.11 de la seconde couche cachée. Ces neurones forment un troisième sous-réseau de neurones à 7 entrées et 3 sorties. Les 7 neurones Nl.l,N1.2,N1.3,N1.5,N1.7,Nl.9,N1.11 sont encore connectés chacun aux 5 neurones N2.16-N2.20 de la première couche cachée. Les neurones N2.16-N2.20 sont connectés chacun aux neurones N3.12-N3.13 de la troisième couche cachée. Ces neurones forment un quatrième sous-réseau de neurones à 7 entrées et 2 sorties. Le premier sous-réseau de neurones est prévu de manière à classer les grandeurs d'entrées M2A-M4F dans l'une des 3 métaclasses de modulation numérique, respectivement (FSK2,FSK4,FSK8,OQPSK,MSK); (PSK2,PSK4,PSK8); (QAM16,QAM64) représentées respectivement par ses neurones de sortie. Autrement dit la sortie du neurone N3.1 donne une mesure de la probabilité de correspondance entre une métaclasse comprenant les modulations numériques FSK2,FSK4,FSK8,OQPSK et MSK et les grandeurs d'entrée. La sortie du neurone N3.2 donne une mesure de la probabilité de correspondance entre la métaclasse comprenant les modulations numériques PSK2,PSK4 et PSK8 et les grandeurs d'entrée. La sortie du neurone N3.3 donne une mesure de la probabilité de correspondance entre la métaclasse comprenant les modulations numériques QAM16 et QAM64 et les grandeurs d'entrée. De la même façon, le second sous-réseau de neurones est prévu de manière à classer les grandeurs d'entrées M2A M4F dans l'une des 5 classes de modulation numérique, respectivement FSK2,FSK4,FSK8,OQPSK et MSK. Les neurones N3.4-N3.8 représentent respectivement les modulations FSK2,FSK4,FSK8,OQPSK et MSK. Le troisième sous-réseau de neurones est prévu de manière à classer les grandeurs d'entrées M2A-M4F dans l'une des 3 classes de modulation numérique, respectivement PSK2,PSK4 et PSK8. Les neurones N3.9-N3.11 représentent respectivement les modulations PSK2,PSK4 et PSK8. Le quatrième sous-réseau de neurones est prévu de manière à classer les grandeurs d'entrées M2A-M4F dans l'une des 2 classes de modulation numérique, respectivement QAM16 et QAM64. Les neurones N3.12-N3.13 représentent respectivement les modulations QAM16 et QAM64. Ce découpage du réseau de neurones 2 a priori complexes en quatre sous-réseaux de neurones d'architecture beaucoup plus simple contribue à simplifier la phase d'apprentissage pour l'obtention des coefficients de pondération pour les neurones et alléger la structure du réseau final. De ce qui précède, il apparaît que les 11 grandeurs ne servent qu'au problème des métaclasses. Les 3 autres sous-réseaux se contentent de 7 grandeurs d'entrée. la structure du réseau de neurones 2 est ainsi allégée entre les deux premières couches par suppression de connexions. Ces coefficients de pondération sont obtenus de la façon suivante. On construit une base de données comportant 3000 jeux de grandeurs d'entrées avec 300 jeux pour chaque type de modulation parmi les 10 types de modulation précités. Le rapport signal/bruit de chaque jeu varie entre 0 et +50dB. Chaque sous-réseau de neurones subit un apprentissage sur la moitié d'une base d'exemples (soit 1500 jeux de grandeurs tirés aléatoirement dans la base par programme). Les coefficients de pondération affectés aux connexions d'entrées de chaque neurone de chaque sous-réseau de neurones sont calculés par l'algorithme de rétro propagation du gradient stochastique. Dans le déroulement de cet algorithme, les coefficients de pondération sont initialisés au hasard dans l'intervalle [-0,1;0,1]. Le pas du gradient stochastique est égal à 0,01. La base est passée 500 fois sur chaque sous-réseau. L'apprentissage du réseau de neurones 2 comme décrit ci-dessus n'est rendu possible que par le fait que les sousréseaux de neurones sont indépendants (au niveau de leurs couches cachées) Dans ce réseau de neurones, les neurones de la couche de sortie sont connectés très simplement aux neurones de la seconde couche cachée. Les connexions entre les neurones de la couche de sortie et ceux de la seconde couche cachée sont données par la table de correspondance montrée à l'annexe I dans laquelle la sortie d'un neurone de la couche de sortie correspond à un ET logique des sorties de deux neurones de la seconde couche cachée. Les sorties des neurones N4.1-N4.10 correspondent respectivement aux classes de modulation numérique FSK2, FSK4, FSK8, PSK2, PSK4, PSK8, QAM16, QAM64, OQPSK, MSK. Le réseau de neurones 2 peut être suivi par un module de traitement 3 des sorties des neurones N4.1-N4.10. Ce module de traitement a pour fonction de déterminer la plus petite distance Euclidienne entre la sortie du réseau de neurones, par exemple le vecteur [0,6; -0,5; ....-0,2], et 10 sorties codées du réseau de neurones sous la forme de 10 vecteurs ayant chacun 10 éléments. Dans chaque vecteur, l'un des éléments est égal à 1 et identifie par son rang dans le vecteur une classe particulière de modulation numérique, les autres éléments étant égaux à -1. L'annexe II montre ces 10 vecteurs en correspondance avec une classe de modulation numérique. La plus petite distance Euclidienne qui a été déterminée peut être comparée à un seuil réglable de sorte que la décision D en sortie du module de traitement identifie ou non une modulation numérique reconnue avec un facteur de certitude quantifiable. Ce seuil permet le rejet de type de modulation nouveau présenté au réseau 2 (en dehors des 10 types considérés ci-dessus) ANNEXE I N4.1 N4.2 N4.3 N4.4 N4.5 N4.6 N4.7 N4.8 N4.9 N4.10 ANNEXE II [1,-1,-1,-1,-1,-1,-1,-1,-1,-1] - > FSK2 [-1,-1,1,-1,-1,-1,-1,-1,-1,-1] - > FSK4 [-1,-1,-1,-1,1,-1,-1,-1,-1,-1] - > PSK4 [-1,-1,-1,-1,-1,-1,1,-1,-1,-1] - > QAM16 [-1,-1,-1,-1,-1,-1,-1,-1,1,-1] - > OQPSK REVENDICATIONS 1. ) Un procédé pour reconnaître le type de modulation numérique utilisé pour émettre un signal intercepté et a priori inconnu, en vue du décodage de celui-ci, dans lequel on transforme (2) ce signal intercepté sous une forme numérique sur la base de laquelle on extrait des grandeurs numériques servant à discriminer différents types de modulations numériques et on établit (3) une correspondance entre ces grandeurs numériques et un type particulier connu de modulation numérique, caractérisé en ce qu'on utilise, en tant que grandeurs numériques, les premiers moments statistiques d'ordre 1 à 4 sur l'amplitude, la phase et la fréquence instantanées de ce signal, et on établit une correspondance entre ces grandeurs numériques et un type de modulation numérique à l'aide d'un réseau de neurones sigmoïde non bouclé qui a subi un apprentissage préalable pour classer lesdites grandeurs numériques sur des sorties représentatives des classes de modulation numérique suivantes: FSK2, FSK4, FSK8, PSK2, PSK4, PSK8, QAM16, QAM64, OQPSK, MSK. 2. ) Un réseau de neurones (2) pour la mise en oeuvre du procédé selon la revendication 1, caractérisé par le fait qu'il est constitué de quatre sous-réseaux de neurones ayant subi des apprentissages indépendants, ces quatres sousréseaux s'inscrivant dans une structure à deux couches cachées ayant chacune une pluralité de neurones, les neurones (N2.1-N2.20) d'une couche cachée n'étant pas complètement connectés aux neurones (N3.1-N3.13) de l'autre couche cachée.