FR 2629931 A1 19891013 FR 8804682 A 19880408 Corrélateur numérique asynchrone et démodulateurs comportant un tel corrélateur L'invention concerne un corrélateur numérique asynchrone et des démodulateurs comportant ur tel corrélateur. Ce corrélateur permet de traiter un signal complexe cons- titué d'une première et d'une seconde porteuse, I et Q, modulées par une fonction pseudo-aléatoire pour étaler le spectre, et modulées par un code M-aire orthogonal. Un tel signal complexe résulte, par exemple. d'une modulation de type PSK, ou MSK, ou QPSK, avec étalement de spectre et modulation par des codes de Walsh. La démodulation d'un tel signal nécessite de comprimer son spectre au moyen d'une fonction pseudoaléatoire identique à celle ayant été utilisée pour étaler ce spectre, puis consiste à reconnaître une donnée transmise, en identifiant le code modulant parmi les M codes possibles. Ces deux opérateurs peuvent être réalisées au moyen d'un corrélateur. Actuellement il n'existe pas de corrélateur permettant de corréler un signal complexe avec un signal de référence, sur une longueur élevée, telle que 256 moments, tout en ayant une structure suffisamment simple pour permettre de réaliser un démodulateur intégrable en un seul circuit intégré. Les corrélateurs de types connus sont conçus pour la reconnaissance de trames plutôt que pour la démodulation. Un premier type de dispositif corrélateur connu, qui est disponible commercialement sous la forme d'un circuit intégré, ne travaille que sur 64 moments. Un second type connu de corrélateur, disponible commer- clalement sous la forme de circuit intégré, travaille sur 256 moments et ne comporte pas de sorties intermédiaires fournissant des valeurs de corrélation partielles portant sur un plus petit nombre de moments. Les démodulateurs connus comportent un nombre élevé de corrélateurs à 64 moments ou à 256 moments. En effet, ils com- portent une chaîne de quatre corrélateurs à 64 moments, ou un corrélateur à 256 moments, pour la porteuse I; et une chaîne de quatre corrélateurs à 64' moments, ou un corrélateur à 256 mo- ments, pour la porteuse Q, pour chacun des codes M-aires. Le nombre M pouvant être égal à 16,. le nombre de circuits intégrés corrélateurs peut donc atteindre 128. Le but de l'invention est donc de proposer un corrélateur numérique asynchrone permettant de réaliser notamment des démodulateurs plus simples et pouvant éventuellement être inté- grés dans un petit nombre de circuits intégrés, voire même dans un circuit intégré unique. L'objet de l'invention est un corrélateur ayant une structure systolique dans laquelle les calculs pour la porteuse I et pour la porteuse Q sont multiplexés temporellement, et qui est divisée de telle façon qu'elle fournit des valeurs du module d'une fonction de corréla- tion partielle calculées sur des longueurs beaucoup plus petite que la longueur totale de corrélation, pour permettre une recon- naissance des codes au moyen d'un circuit arithmétique relative- ment simple calculant des combinaisons linéaires de ces modules. Selon l'invention, un corrélateur numérique asynchrone pour corréler un signal binaire de référence, avec un signal complexe constitué d'une première et d'une seconde porteuse modulées par une fonction pseudoaléatoire et par un codage M-aire orthogonal, ces deux porteuses étant échantillonnées et numérisées, est caractérisé en ce qu'il comporte: - un multiplexeur pour transmettre alternativement une valeur de la première porteuse et une valeur de la seconde por- teuse, avec une période égale à la moitié de leur période d'échantillonnage - un premier filtre numérique adapté à la fonction pseudo-aléatoire, comportant une chaîne de registres pour stocker L bits consécutifs du signal de référence et une chaîne de M macro-cellules de corrélation recevant la suite des valeurs multiplexées de la première et de la seconde porteuse, chaque macro-cellule calculant la valeur d'une première fonction, dite de corrélation partielle, entre N bits du signal de référence et N valeurs de la première porteuse, puis calculant la valeur d'une seconde fonction, dite de corrélation partielle, entre N bits du signal de référence et N valeurs de la seconde porteuse, N étant égal à L/M - un second filtre numérique adapté à au moins l'un des codes du codage M-aire, et comportant des moyens de calcul pour déterminer la valeur d'au moins une combinaison linéaire des valeurs des premières fonctions de corrélation partielle; puis déterminer la valeur d'une combinaison linéaire des valeurs des secondes fonctions de corrélation partielle, les coeffi- cients de la combinaison linéaire étant inchangés et étant égaux +1; et comportant des moyens pour démultiplexer les valeurs des deux combinaisons linéaires, et déterminer le module d'un vecteur ayant pour composantes les valeurs de ces deux combi- naisons linéaires. L'invention sera mieux comprise et d'autres détails appa- raitront à l'aide de la description ci-dessous et des figures l'accompagnant - la figure 1 représente le schéma synoptique d'un exem- ple de réalisation d'un démodulateur selon l'art antérieur; - la figure 2 représente le schéma synoptique d'un exem- ple de réalisation d'un premier type de démodulateur comportant un corrélateur selon I 'invention; - la figure 3 représente le schéma synoptique plus détail- lé d'une macro-cellule de corrélation constituant cet exemple de réalisation; - les figures 4 et 5 représentent des schémas partiels de cette macro-cellule -. la figure 6 représente le schéma synoptique d'un dispo- sitif de caleul appartenant à cet exemple de réalisation la figure 7 représente le schéma synoptique d'un exem- pie de réalisation d'un second type de démodulateur comportant un corrélateur selon l'invention; - la figure 8 représente le schéma synoptique d'un dispo- sitif de calcul appartenant à cet exemple de réalisation. Le démodulateur représenté sur]a figure 1, et qui appar- tient à l'art antérieur, comporte: - deux bornes d'entrée, L et 2, recevant respectivement les valeurs numériques de deux porteuses, I et Q, modulées par une fonction pseudo-aléatoire et par un code M-aire orthogonal, et qui sont échantillonnées et numérisées - un générateur de codes de Walsh, 13, ayant 16 sorties fournissant respectivement 16 signaux binaires correspondant à 16 codes de Walsh, et notés WO.... W15 - un générateur 14 fourn4ssant un signal binaire pseudo-aléatoire, PN, identique A celui ayant été utilisé pour étaler le spectre des deux ondes porteuses I et Q - 16 chaînes de corrélateurs, 100 à 115, pour corréler la porteuse I avec les 16 signaux de référence, chaque chaîne telle que la chaîne 100, comportant quatre corrélateurs, 5 à 8, chacun travaillant sur 64 moments et étant constitué d'un circuit intégré - 16 chaînes de corrélateurs, 200 A 215, pour corréler la porteuse Q avec les 16 signaux de référence, chaque chaîne étant identique à la chaîne 100; - un ensemble 9 de seize dispositifs de calcul du module d'un vecteur A deux composantes; - un dispositif 10 de détection du maximum parmi 16 va- leurs. Il est possible aussi de constituer chacune des chaînes à 115 et 200 à 215 au moyen d'un circuit intégré corrélateur unique travaillant sur 256 moments. Les chaînes de corrélateurs, 100 à 115, fournissent res- pectivement des valeurs numériques FI0 à FI15 qui sont les valeurs des fonctions de corrélation de la porteuse I respective- ment avec les seize signaux de référence, sur 256 moments. Les sorties des chaînes de corrélateurs, 200 à 215, fournissent respectivement des valeurs FQ0 à FQ15 qui sont les valeurs des fonctions de corrélation de la porteuse Q respectivement avec les seize signaux de référence, sur 256 moments. Chacun des dispositifs de calcul de l'ensemble 9 calcule le module d'un vecteur ayant pour composantes une valeur de la fonction de corrélation de la porteuse I avec un signal de référence corres- pondant à un code, et une valeur de la fonction de corrélation de la porteuse Q avec le même signal de référence. Par exemple, un dispositif de calcul de l'ensemble 9 calcule la racine carrée de F102+FQO2. L'ensemble 9 fournit les seize valeurs, F0 à F15, des modules des fonctions de corrélation du signal complexe consti- tué de la porteuse I et de la porteuse Q. corrélé avec les seize signaux de référence. Les seize valeurs F0 à F15 sont comparées entre elles par le dispositif 10. Ce dernier fournit, à une borne de sortie 19 l'indice j de la fonction de corrélation ayant le plus grand module. Cet indice j désigne le code qui module les porteuses I et Q. Le dispositif 10 fournit en outre, à une borne de sortie 20, la valeur Fj du module. Ce démodulateur selon l'art antérieur est complexe et encombrant car il y a 32 chaines de corrélation en parallèle.. La figure 2 représente le schéma synoptique d'un exemple de réalisation d'un démodulateur d'un premier type, comportant un corrélateur selon l'invention. Ce démodulateur comporte 5 sous-ensembles: - un multiplexeur 23 pour transmettre alternativement une valeur de la porteuse I et une valeur de la valeur Q, à un rythme double de leur fréquence d'échantillonnage; - un premier filtre numérique 31 adapté à la fonction pseudo-aléatoire qui étale le spectre des porteuses I et Q - un second filtre numérique 35 adapté aux seize codes de Walsh, qui peuvent moduler les porteuses I et Q pour trans- mettre une donnée; ce second filtre calculant seize valeurs de modules de fonctions de corrélation, F0 à F15, correspondant aux seize codes de Walsh; - un dispositif 34 sélectionnant le maximum parmi ces seize valeurs, et fournissant la valeur maximum FJ à une borne de sortie 28 et fournissant l'indice J, qui Identlfie le code modulant, à une borne de sortie 29. Le premier filtre numérique, 31, comprend - un générateur 24 fournissant un signal pseudo-aléatoire, PN, identique à celui ayant été utilisé pour étaler le spectre du signal complexe à démoduler; - une chaîne de registres à décalage, 40, comportant 256 étages au total; - - un ensemble 41 de 16 registres indépendants, chacun fournissant en parallèle 16 bits et leurs compléments; - une chaîne 42 de seize macro-cellules de corrélation, calculant chacune une valeur de fonction de corrélation par- tielle sur 16 bits - un multiplexeur 23 ayant deux entrées de données, une sortie, et une entrée de commande. Le signal pseudo-aléatoire PN constitue un signal dle référence, REF, pour la démodulation. Les bits du signal REF sont stockés et décalés un par un dans la chaine de registres 40 sous la commande d'un signal d'horloge CKR, au rythme de leur création par le générateur 24. Le signal CKR est fourni à une borne d'entrée 25 par un générateur de signaux d'horloge, classique, non représenté sur la figure. La chaîne de registres stocke 256 bits du signal de référence. Le contenu de ces registres est transféré en bloc dans la chaine de registres 41, sous la commande d'un signal d'horloge, load, en synchronisme avec le signal d'horloge CKS. La période du signal load est, par exemple de 10mS, alors que celle de CKR est, par exemple, de nS. Le signal d'horloge load est fourni à une borne d'entrée 26 par un générateur de signaux d'horloge, classique, non représenté sur la figure. Le multiplexeur 23 est un multiplexeur à deux entrées et une sortie, dont les entrées sont reliées respectivement à des bornes d'entrée 21 et 22 recevant les porteuses I et Q à démodu- ler, sous la forme de valeurs numériques codées sur quatre bits, les valeurs négatives étant codées en complément à deux. La sortie du multiplexeur 23 fournit une valeur constituée de qua- tre bits: XO,.., X3, à une entrée de la chaine, 42, de seize macro-cellules de corrélation. Ie multiplexeur 23 et les- macro-cellules de corrélation sont commandés par un signal d'horloge CKS, à un rythme double du rythme d'échantillonnage des porteuses I et Q. Le signal d'horloge CKS est fourni à une borne d'entrée 27 par un générateur de signaux d'horloge, classique, non représenté sur la figure 2. La première cellule de corrélation dans la chaîne 42 est une cellule 43 qui reçoit les quatre bits X0,..., X3, représen- tant alternativement une valeur de la porteuse I et une valeur de la porteuse Q; et qui reçoit 32 bits RO,.., R15, RO,... R15, représentant 16 bits du signal de référence stockés dans un registre de la chaine 41. La macro-cellule 43 retransmet les quatre bits XO,..., X3 à une macro-cellUuie suivante, avec un retard respectivement égal à 16, 17, 18, 19 périodes du signal d'horloge CKS; et fournit successivement une valeur CPI0 de la fonction de corrélation partielle torrespondant au signal I, puis une valeur CPQ0 de la fonction de corrélation partielle correspondant au signal Q. Chaque macro-cellule est identique à la macrocellule 43 et comporte: une entrée de seize bits recevant 16 bits successifs du signal de référence et 16 bits complémentaires; une entrée de quatre bits recevant une valeur de la suite des valeurs multiplexées des porteuses I et Q; une sortie retransmettant les quatre bits de cette valeur à la macro-cellule suivante, avec un retard respectivement égal à 16, 17, 18, 19 périodes du signal d'horloge CKS; et une sortie de huit bits fournissant successivement la valeur d'une première fonction de corrélation partielle, correspondant à la porteuse 26299.3 1 I, puis la valeur d'une seconde fonction de corrélation partielle correspondant à la porteuse Q, cette sortie étant reliée à une entrée du dispositif 32 de calcul de combinaisons linéaires. La chaîne de corrélateurs 42 possède 16 sorties de 8 bits fournissant respectivement 16 valeurs de fonctions de corre- lation partielles CPIO,..., CPI15, correspondant à la porteuse I; puis fournissant respectivement 16 valeurs de fonc- tions de corrélation partielle: CPQO,..., CPQ15, correspondant à la porteuse Q. Le filtre 35 comporte: un dispositif 32 de calcul des combinaisons linéaires et un dispositif 33 de démultiplexage, et de calcul de modules. Le dispositif 32 calcule, sur 256 moments, la valeur de la fonction de corrélation Fi de la porteuse I avec le signal pseudoaléatoire PN et avec chaque code de Walsh Wl, pour 1=0 à 15; et puis calcule, sur 256 moments,, la valeur FQi de la fonction de corrélation de la porteuse Q avec le signal pseudo-aléatoire PN et avec chaque code de Walsh Wi pour 1=0 A 15; en combinant les valeurs CPI0,..., CPIl5, respectivement CPQ0,... CPQ15 des fonctions de corrélation partielles sur 16 moments, de la porteuse I, respectivement de la porteuse Q, avec le signal de référence REF. Il est à remarquer que dans ce démodulateur le signal de référence REF est constitué uniquement par le signal pseudoaléatoire PN, contrairement aux signaux de référence utilisés dans le dispositif connu représenté sur la figure 1. Le dispositif 32 est un dispositif à structure "pipe-line", commandé par le signal d'horloge CKS. Il possède seize sorties de huit bits fournissant respectivement des valeurs FI0,..., FI15 qui sont des valeurs de la fonction de corrélation du signal I avec le signal de référence et avec les, 16 codes de Walsh respectivement; puis fournissant respectivement des valeurs FQO,..., FQ15 qui sont des valeurs de la fonction de corrélation du signal Q avec le signal de référence et avec les seize codes de Walsh respectivement. Le dispositif 33 calcule le module Fi de la fonction de corrélation, sur 256 moments, du signal complexe à démoduler, avec le signal pseudoaléatoire et avec chaque code de Walsh Wi, pour 1=0 à 15. Le dispositif 33 reçoit puis démultiplexe les valeurs FIi et FQI, pour I = 0 à 15, et calcule le module Fi d'un vecteur ayant pour composantes FII et FQI, en déterminant la racine carrée de FIi2 + FQi2. Le dispositif 33 possède seize sorties fournissant respectivement les valeurs F0,..., F15, à 16 entrées du dispositif 34. Le dispositif 34 sélectionne la valeur la plus grande, notée FJ, parmi les valeurs Fi pour i = 0 à 15, et sélectionne l'indice j correspondant. Cet indice j désigne le code de Walsh qui est détecté par le démodulateur, autrement dit il désigne la donnée qui est transmise par les signaux I et Q. Les dispositifs 32, 33 et 34 sont commandés aussi par le signal d'horloge CKS. La figure 3 représente le schéma synoptique de la macro-cellule 43, les autres macro-cellules de la chaîne 42 étant Identiques à la macro-cellule 43. Chaque macro-cellule a une structure systolique, constituée d'une matrice de 128 cellules Identiques et travaillant sur un seul bit. Cette matrice comporte 8 lignes de 16 cellules. La première cellule, 49, de la première ligne de cellules reçoit un bit X0 d'une valeur de la porteuse I ou Q. Ce bit X0 est propagé d'une cellule à une autre de la première ligne, chacune avec un retard égal à une période de l'horloge CKS. La première cellule de la deuxième ligne de la matrice reçoit le bit XI avec un retard égal à une période de l'horloge CKS, par rapport au bit XO. Ce retard est procuré par une bascule D, 57. Les cellules de la deuxième ligne retransmettent le bit Xl, chacune avec un retard égal à une période l'horloge CKS. La première cellule de la troisième ligne reçoit le bit X2 avec un retard égal à deux périodes de l'horloge CKS, retard procuré par un ensemble 58 constitué de deux bascules D. Les cellules de la troisième ligne retransmettent le bit X2, chacune avec un retard égal à une période de l'horloge CKS. La première cellule de la troisième ligne reçoit le bit X3 avec un retard égal à trois périodes de l'horloge CKS, retard procuré par un ensemble 59 de trois bascules D. Les cellules de la troisième ligne retransmettent le bit X3, chacune avec un retard égal à une période de l'horloge CKS. La première cellule de la quatrième ligne reçoit le bit X3 avec un retard égal à trois périodes de l'horloge CKS, retard procuré par un ensemble 59 de trois bascules D. Chaque cellule de la quatrième ligne retransmet le bit X3 avec un retard égal à une période d'horloge CKS. La première cellule de la cinquième ligne reçoit le bit X3 avec un retard égal A quatre périodes de l'horloge CRS, retard procuré par un ensemble 60 de quatre bascules D. Cha- que cellule de la cinquième ligne retransmet le bit X3 avec un retard égal à une période de l'horloge CKS. La première cellule de la huitième ligne reçoit le bit X3 avec 'un.retard égal à sept périodes du signal d'horloge CKS, retard procuré par un ensemble 63 de sept bascules D. Chaque cellule de la huitième ligne retransmet le bit X3 avec un retard égal à une période de l'horloge CKS. La première cellule de la sixième ligne reçoit le bit X3 avec un retard égal à cinq périodes de l'horloge CKS, retard procuré par un ensemble 61 de cinq bascules D. Chaque cellule de la sixième ligne retransmet le bit X3 avec un retard égal à une période de l'horloge CKS. La première cellule de la septième ligne reçoit le bit X3 avec un retard égal à six périodes du signal d'horloge CES, retard procuré par un ensemble 62 de six bascules D. Chaque cellule de la septième ligne retransmet le bit X3 avec un retard égal à une période de l'horloge CKS. La dernière cellule de chaque ligne fournit donc l'un des bits X0, X1, X2, X3, avec un retard fonction du rang de la ligne, à une entrée de la macro-cellule suivante dans la chaîne 42. Chaque cellule possède une entrée recevant un bit de résultat de corrélation partielle, fourni par une sortie, dite il de résultat de corrélation. partielle, appartenant à la cellule suivante. Dans cet exemple, il n'y a jamais de dépassement de la capacité d'une macrocellule, par conséquent il n'est pas prévu de transmettre des bits de résultat d'une macro-cellule à une autre. Les entrées de bits de résultat de corrélation partielle des dernières cellules reçoivent respectivement des bits CO, C7, ayant une valeur nulle. - Toutes les cellules de la première colonne, toutes les cellules de la seconde colonne etc..., reçoivent respectivement 0 les bits R15 et R,15... , RO0 et R], du signal de référence,. Une entrée de retenue, de la première cellule de la première colonne, reçoit le bit R15 et fournit un bit de retenue à la cellule suivante dans la même colonne. La cellule suivante fournit à son tour un bit de retenue à une autre cellule suivante, chaque fois avec un retard égal à une période de l'horloge CKS. De même, dans les colonnes suivantes, une entrée de retenue de la première cellule reçoit respectivement R14, RO, et les cellules des lignes suivantes fournissent des bits de retenue aux cellules de la ligne suivante. La sortie de résultat de corrélation partielle de chaque cellule de la première colonne fournit un bit de résultat de corrélation sur 16 moments. La première cellule de la première ligne fournit un bit SO, par l'intermédiaire d'un ensemble 50 de sept bascules D procurant un retard égal à sept périodes de l'horloge CKS. La première cellule de la deuxième ligne fournit un bit S1, par l'intermédiaire d'un ensemble 51 de six bascules D procurant un retard égal à six périodes du signal d'horloge CKS. La première cellule de la troisième ligne fournit un bit S2, par l'intermédiaire d'un ensemble 52 de cinq bascules D procurant un retard égal à cinq périodes de l'horloge CKS. La première cellule de la quatrième ligne fournit un bit S3 par l'intermédiaire d'un ensemble 53 de quatre bascules D procurant un retard égal à quatre périodes du signal d'horloge CKS. La première cellule de la cinquième ligne fournit un bit S4 par l'intermédiaire d'un ensemble 54 de trois bascules D proeurant un retard égal à trois périodes de l'horloge CKS. La première cellule de la sixième ligne fournit un bit S5 par l'intermédiaire d'un ensemble 55 de deux bascules D procurant un retard égal à deux périodes de l'horloge CKS. La première cellule de la septième ligne fournit un bit S6 par l'intermédiaire d'une bascule D, 56, proeurant un retard égal à une période de l'horloge CKS. La première cellule de la huitième ligne fournit directement un bit S7. La figure 4 représente le schéma synoptique plus détaillé de l'une des cellules, 50, de la macro-cellule de corrélation 43. La cellule 50 comporte: - une porte NON-OU exclusif, 70, ayant une première entrée recevant un bit R du signal de référence, ce bit étant en outre transmis, sans modification, à la cellule suivante dans la même colonne; et ayant une seconde entrée recevant un bit Xin d'une valeur de la porteuse I ou de la porteuse Q; - un additionneur 71, ayant une première entrée qui reçoit un bit, Sin, qui est un résultat de corrélation partielle fourni par la cellule suivante sur la même ligne, et ayant une seconde entrée reliée à la sortie de la porte 70; - une première bascule D, 72, ayant une entrée recevant le bit Xin; ayant une entrée de commande recevant le signal d'horloge CKS; et ayant une sortie fournissant un bit Xout qui est la précédente valeur du bit Xin, à la bascule suivante sur la même ligne une deuxième bascule D, 73, ayant une entrée reliée à la sortie de l'additionneur 71; ayant une entrée de commande recevant le signal d'horloge CKS; et ayant une sortie fournis- sant un bit Sout qui est un résultat de corrélation partielle constituant un bit de la valeur d'une des fonctions de corréla- tion partielle des porteuses I et Q; - une troisième bascule D, 74, ayant une entrée reliée à une sortie de retenue de l'additionneur 71; ayant une entrée de commande recevant le signal d'horloge CKS; et ayant une sortie 26299351. fournissant un bit, Cout, qui constitue une retenue pour la cellule suivante dans la même colonne. La figure 5 illustre le fonctionnement d'une ligne de la matrice de cellules de la macro-cellule 43, pour le calcul de la valeur du bit S5 de la fonction de corrélation partielle de la porteuse I ou Q. Cette ligne est constituée de seize cellules 79, 78, 77,..., 76. La première cellule, 79, reçoit, à l'ins- tant considéré, le bit X(20) fourni par la sortie de l'ensemble. de quatre bascules D. Au même instant, cet ensemble 60 re- çoit sur son entrée un bit X(24)_. Les bits X sont retransmis successivement par chacune des eellules de la ligne en ajoutant chaque fois un retard égal à une période de l'horloge CKS. Par conséquent, les cellules de la ligne reçoivent respectivement les bits X(20), X(19), X(18) , X(17),..., X(5), à l'instant considéré. Ces valeurs sont appliquées respectivement aux portes NON-OU exclusif de chacune des cellules pour réaliser le produit de ces bits avec les bits R15,..., R0 du signal de référence. Dans chaque' cellule, le résultat du produit est appliqué à la première entrée de l'additionneur qui lui ajoute la valeur d'un bit de retenue fourni par la cellule homologue dans la ligne précédente, et qui lui ajoute aussi le bit de résultat de corrélation partielle fourni par la cellule suivante sur la même ligne. Par exemple, dans la cellule 79, le bit de retenue C15 est additionné au résultat du produit X(20).R15 et au bit Sout 14. La seconde entrée de chaque additionneur reçoit un bit de résultat de corrélation partielle fourni par la sortie de l'additionneur de la cellule suivante, par l'intermédiaire d'une baseule D. Chaque additionneur fournit en outre un bit de rete- nue, respectivement C15'.. , CO', aux cellules de la ligne suivante. La sortie de l'additionneur de la première cellule, 79, fournit la valeur du bit S5, par l'intermédiaire de la bas- cule D que comporte sa cellule, et de l'ensemble 54 de trois bascules D procurant un retard égal à deux périodes de l'hor- loge CKS. La valeur du bit S5 est ainsi égale à la somme de Ri.X(i+5)+Ci, pour i O à 15. La figure 6 représente un schéma synoptique du dispositif 32 de calcul de combinaison linéaires, déterminant successive- ment une valeur d'une première fonction de corrélation partielle pour le signal I, puis une valeur d'une seconde fonction de corrélation partielle pour le signal Q, pour les seize codes de Walsh. Le dispositif 32 possède seize entrées recevant respecti- vement CPIO,..., CPI15, dans cet ordre; puis CPQO,... CPQ15, dans cet ordre. Ce dispositif 32 a une structure "pipe-line" comportant quatre lignes d'opérateurs, chaque opéra- teur calculant une combinaison linéaire de deux valeurs intermé- diaires déterminées par deux opérateurs de la ligne précédente. Chaque opérateur est: soit un additionneur suivi d'un registre, soit un soustracteur suivi d'un registre. Les registres sont commandés par le signal d'horloge CKS. La première ligne est constituée de couples d'opérateurs: un additionneur et un soustracteur, pris dans cet ordre, et calculant respectivement la somme et la différence de deux valeurs appliquées respectivement à deux entrées voisines du dispositif 32. Les opérateurs de la deuxième ligne, constituent quatre groupes identiques comportant chacun deux additionneurs puis deux soustracteurs. Chacun des additionneurs additionne la valeur fournie par l'opérateur situé au-dessusde lui et la valeur intermédiaire fournie par l'opérateur situé deux rangs plus loin dans la ligne au-dessus. Chaque soustracteur calcule la différence entre la valeur intermédiaire fournie par l'opéra- teur situé au-dessus de lui et la valeur intermédiaire fournie par l'opérateur situé deux rangs avant, sur la ligne précédente. Les opérateurs de la troisième ligne constituent deux groupes identiques comportant chacun quatre additionneurs puis quatre soustracteurs. Chaque additionneur calcule la somme de la valeur intermédiaire fournie par l'opérateur situé au-dessus de u35 u et de la valeur intermédiaire fournie par l'opérateur situé 2629931 - quatre rangs plus loin sur la ligne précédente. Chaque soustracteur calcule la différence entre la valeur Intermédlaire fournie par l'opérateur situé au-dessus de lui et la valeur intermédiaire fournie par l'opérateur situé quatre rangs avant sur la ligne précédente. La quatrième ligne d'opérateurs est constituée par huit additionneurs puis huit soustracteurs. Chaque additionneur cal- cule la somme de la valeur intermédiaire fournie par l'opérateur situé audessus de lui et de la valeur Intermédiaire fournie par l'opérateur situé huit rangs plus loin sur la ligne précédente. Chaque soustracteur calcule la différence entre la valeur inter- médlaire fournie par l'opérateur situé au-dessus de lui et la valeur intermédiaire fournie par l'opérateur situé huit rangs avant sur la ligne précédente. Les sorties des huit addition- neurs et des huit soustracteurs de la quatrième ligte fournis- sent respectivement les valeurs FIO, FI15, FI7, FI8, FI3, FI12, FI4, Fi11, FIl, FI14, FI6, FI9, FI2, F113, FIS, FI10, de la fonction de corrélation de la porteuse I, puis fournissent les valeurs FQO, FQ15, FQ7, FQ8, FQ3, FQ12, FQ4, FQll, FQ1, FQ14, FQ6, FQ9, FQ2, FQ13, FQ5, FQ10 de la fonction de corrélation de la porteuse Q. La figure 7 représente le schéma synoptique d'un exemple de réalisation d'un démodulateur d'un second type, comportant lui aussi un corrélateur selon l'invention. Les éléments identi- ques aux éléments du premier exemple de réalisation portent la même référence mais avec l'indice '. Cet exemple de réalisation comporte un premier filtre numérique 88 comportant notamment: deux chaines de registres 40 et 41', un multiplexeur 23', et une chaîne 42' de macrocellules de corrélation, qui sont identiques aux éléments décrits précédemment. Le signal de référence REF' est différent du signal REF. Il est fourni par la sortie d'une porte OU exclusif, 82, qui réalise le produit d'un signal pseudo-aléatolre PN et d'un signal de code de Walsh Wi. Un générateur 80 fournit le signal pseudo-aléatoire PN, qui est identique à celui ayant été utilisé pour moduler les signaux I et Q à démoduler. Un générateur 81 fournit le signal de code de Walsh Wi. Dans ce second type de démodulateur, le signal de référence REF' est donc adapté à un code de Walsh choisi parmi les M codes possibles. Cette parti- cularité permet de simplifier le second filtre, adapté au codage de Walsh. Le filtrage adapté au codage de Walsh est réalisé par un filtre adapté 89 comprenant: un dispositif 83 de calcul de combinaisons linéaires; un dispositif 85 de démultiplexage et O de calcul de la fonction de corrélation pour le code de Walsh Wi; et un dispositif 84 de démultiplexage et de calcul de la fonction de corrélation pour un autre code de Walsh Wh qui est lié au code Wi. L'indice h est lié à l'indice i par la relation suivante: h = M-i. Par exemple, si le générateur 8l fournit le code de Walsh WO, les dispositifs 85 et 84 fournissent respectivement les valeurs FO et F15 de la fonction de corrélation, respectivement pour le code de Walsh WO et pour le code de Walsh W15. SI le générateur 81 fournit le code de Walsh W1, les sorties des dispo- sitifs 85 et 84 fournissent respectivement les fonctions de corrélation F1 et F14 correspondant respectivement au code de Walsh W1 et au code de Walsh W14. Le démodulateur ne peut donc détecter, à un instant donné, que deux codes parmi les 16 codes de Walsh, mais c'est suffisant dans certaines applications et cela permet, en contrepartie, une grande simplification du dispositif de calcul 83, comme cela apparaîtra plus loin. Le dispositif de calcul 83 possède seize entrées de huit bits reliées respectivement à seize sorties de la chaîne 42' de macro-cellules de corrélation. Ces entrées reçoivent respective- ment les valeurs CPIO',..., CPI15' des fonctions de corrélation partielle de la porteuse I avec le signal de référence, puis les valeurs CPQO',..., CPQ15', des fonctions de corrélation partielles de la porteuse Q avec le signal de référence. Le dispositif 83 possède deux sorties de huit bits, reliées respectivement à une entrée du dispositif 85 pour lui fournir une valeur Fli puis une valeur FQI de la fonction de corrélation de la porteuse I, respectivement de la porteuse Q, pour le code de Walsh Wl; et une seconde sortie reliée à une entrée du dispositif 84 pour lui fournir une valeur FIh puis une valeur FQh de la fonction de corrélation de la porteuse I, respectivement de la porteuse Q. pour le code de Walsh Wh. Le dispositif 85 démultiplexe les valeurs FII et FQi puis calcule le module d'un vecteur ayant ces valeurs pour com- posantes. Ce module constitue la valeur Fi de la fonction de corrélation du signal complexe à démoduler. La valeur Fi est fournie à une entrée d'un dispositif 90 de détection d'un maximum. Le dispositif 84 démultiplexe les valeurs FIh et FQh puis caleule le module d'un vecteur ayant ces valeurs pour com- posantes. La valeur Fh de ce module constitue la valeur de la fonction corrélation du signal complexe à démoduler, pour le code de Walsh Wh. La valeur Fh est appliquée à une seconde entrée du dispositif 90. Le dispositif 90 possède deux sorties reliées respectivement à deux bornes de sortie, 86 et 87, du démodulateur pour fournir respectivement deux valeurs j et Fj qui sont respectivement l'indice et la valeur de la plus grande des deux valeurs Fi et Fh. La valeur j, qui ne peut être égale qu'à 1 ou h, représente une donnée transmise. Les dispositifs 83, 84, 85 sont commandés par un signal d'horloge CKS', à un rythme double du rythme de l'échantillonnage de chacune des porteuses I et Q. Le signal d'horloge CKS' est fourni par un générateur de signaux d'horloge classique, non représenté sur la figure 7. La figure 8 représente le schéma synoptique du dispositif 83 de calcul de combinaisons linéaires. Il a une structure "pipe-line" comportant quatre lignes d'opérateurs qui sont tous des additionneurs sauf un qui est un soustracteur. Chaque opé- rateur est suivi d'un registre commandé par le signal d'horloge CKS', et qui n'est pas représenté sur la figure. La première ligne d'opérateurs comporte quatre additionneurs, 91 à 94, cha- cun réalisant la somme de deux valeurs de fonctions de corréla- tion partielle de rang pair; et comporte quatre additionneurs, 98 à 101, chacun réalisant la somme de deux valeurs de fonction de corrélation partielle de rang impair. La deuxième ligne d'opérateurs comporte un additionneur additionnant les valeurs intermédiaires fournies par les opérateurs 91 et 92, 'un opérateur 96 additionnant les valeurs intermédiaires fournies par les additionneurs 93 et 94, un addi- tionneur 102 additionnant les valeurs intermédiaires fournies par les additionneurs 98 et 99, et un additionneur 103 calculant la somme des valeurs intermédiaires fournies par les addition- neurs 100 et 101. La troisième ligne comporte un additionneur 97 qui cal- cule la somme des valeurs intermédiaires fournies par les addi- tionneurs 95 et 96; et comporte un additionneur 104 qui calcule la somme des valeurs intermédiaires fournies par les addition- neurs 102 et 103. La quatrième ligne comporte un additionneur 105 qui cal- cule la somme des valeurs Intermédiaires fournies par l'addition- neur 97 et par l'additionneur 104; et comporte un soustracteur 106 qui calcule la différence entre la valeur intermédiaire fournie par l'additionneur 97 et la valeur intermédiaire fournie par l'additionneur 104. Il est facile de vérifier que l'additionneur 105 fournit ainsi une valeur égale à la somme de toutes les valeurs de fonc- tions de corrélation partielle appliquées aux entrées du disposi- tif 83, alors que le soustracteur 106 fournit la valeur de la différence entre la somme des valeurs des fonctions de corréla- tion partielle ayant un rang pair et la somme des fonctions de corrélation partielle ayant un rang impair. La sortie de l'addi- tionneur 105 constitue la sortie du dispositif 83 qui fournit la valeur FIi, puis la valeur FQI, de la fonction de corrélation de la porteuse I, respectivement de la porteuse Q, pour le code de Walsh Wl. La sortie du soustracteur 106 constitue la sortie du dispositif 83 qui fournit la valeur FIh, puis la valeur FQh, de la fonction de corrélation de la porteuse I, respectivement de la porteuse Q, pour le code de Walsh Wh. Comme il apparaît sur le schéma de la figure 8, le dispo- sitif de calcuI 83 est plus simple à réaliser que le dispositif de calcul 32 représenté sur la figure 6. Le second type de démodulateur a un schéma suffisamment simple pour qu'il soit possible de l'intégrer entièrement en un seul circuit intégré, en utilisant une technologie connue. permettant une largeur de' trait de 1,25 micron. Il permet donc une réalisation beaucoup plus simple que les dispositifs corrélateurs classiques décrits précédemment. L'invention est applicable notamment à la réalisation de démodulateurs MSK, PSK, ou OQPSK, à étalement de spectre et à codage Maire orthogonal, pour des matériels aéronautiques embarqués, pour lesquels l'encombrement doit être aussi faible que possible. REVENDICATIONS 1. Corrélateur numérique asynchrone pour corréler un signal binaire de référence (REF), avec un signal complexe cons- titué d'une première et d'une seconde porteuse (I, Q) modulées par une fonction pseudo-aléatoire et par un codage M-aire orthogonal, ces deux porteuses étant échantillonnées et numérisées, caractérisé en ce qu'il comporte - un multiplexeur (23) pour transmettre alternativement une valeur (I) de la première porteuse et une valeur (Q) de la seconde porteuse, avec une période égale à la moitié de leur période d'échantillonnage - un premier filtre numérique (31) adapté à la fonction pseudo-aléatoire (PN), comportant une chaîne de registres (41) pour stocker L bits consécutifs du signal de référence (REF) et une chaine (41) de M macro-cellules de corrélation (43) recevant la suite des valeurs multiplexées de la. première et de la se- conde porteuse (I, Q), chaque macro-cellule (43) calculant la valeur (CPI0,... CPI15) d'une première fonction, dite de corrélation partielle, entre N bits du signal de référence et N valeurs de la première porteuse (I), puis calculant la valeur (CPQ0,..., CPQ15) d'une seconde fonction, dite de corrélation partielle, entre N bits du signal de référence et N valeurs de la seconde porteuse (Q), N étant égal à L/M - un second filtre numérique (35) adapté à au moins l'un des codes du codage M-aire, et comportant des moyens de calcul (32) pour déterminer la valeur d'au moins une combinaison li- néaire des valeurs des premières fonctions de corrélation par- tielle (CPIO,..., CPI15); puis déterminer la valeur d'une combinaison linéaire des valeurs des secondes fonctions de corré- lation partielle (CPQO,..., CPQ15), les coefficients de la combinaison linéaire étant inchangés et étant égaux à +1; et comportant des moyens (33) pour démultiplexer les valeurs des deux combinaisons linéaires (FII, FQi), et déterminer le module 2629 931 (Fi) d'un vecteur ayant pour composantes les valeurs de ces deux combinaisons linéaires (Fi!, FQi). 2. Corrélateur selon la revendication 1, caractérisé en ce que chaque macro-cellule de corrélation (43) a une structure systolique, comportant: une pluralité de lignes de N cellules de corrélation (50), chaque cellule recevant un bit (X0,..., X3) des valeurs multiplexées (I, Q) et retransmettant ce bit à une cellule voisine dans la même ligne, avec un retard égal à une demi-période d'échantillonnage; recevant un bit (R15, R15, 10..., R O, R0) du signal de référence et retransmettant ce bit à une cellule homologue dans la ligne suivante; recevant un bit de retenue (Cin) fourni par une cellule homologue dans la ligne précédente; fournissant, avec un retard égal à une demi-période d'échantillonnage, un bit de retenue (Cout) à une cellule homologue dans la ligne suivante; recevant un bit (Sin) résultat de corrélation partielle, fourni par la cellule la suivant dans la même ligne; fournissant, avec un retard égal à une demi-période d'échantillonnage, un bit résultat de corrélation partielle (Sout), à la cellule la précédant dans la même ligne en ce que chaque ligne de N cellules de corrélation com- porte en outre - une chaîne de registres (51,..., 56) pour retarder le bit résultat de corrélation partielle (SO,..., S7) qu'elle fournit, d'un retard fonction du rang de la ligne dans la macro-cellule (43); - une chaîne de registre (57,..., 62) pour retarder le bit (XO,..., X3) des valeurs multiplexées (I, Q) qu'elle reçoit, d'un retard fonction du rang de la ligne dans la macro-cellule (43). 3. Corrélateur selon la revendication 2, caractérisé en ce que chaque cellule de corrélation (43) comporte - une porte OU exclusif (70) dont une entrée reçoit un bit (Xin) d'une valeur (I, Q) des signaux multiplexés, et une entrée reçoit un bit (R) du signal de référence - une bascule (72), retransmettant ledit bit (Xin) d'une valeur des signaux multiplexés, sous la commande d'un signal d'horloge (CKS) à une fréquence double de la fréquence d'échantillonnage; - un additionneur (71) dont une entrée est reliée à la sortie de la porte OU exclusif (70); une entrée reçoit un bit de résultat de corrélation partielle (Sin) fourni par la cellule suivante sur la même ligne; et une entrée reçoit un bit de retenue (Cin) fourni par la cellule homologue dans la ligne précédente; - une bascule (73) retransmettant un bit de résultat de corrélation partielle (Sout) fourni par une première sortie de l'additionneur (71), sous la commande du signal d'horloge (CKS) ^- une bascule (74) retransmettant un bit de retenue un (Cout) fourni par une seconde sortie de l'additionneur (72), sous la commande du signal d'horloge (CKS). 4. Démodulateur numérique pour démoduler un signal complexe constitué d'une première et d'une seconde porteuse (I, Q), en quadrature, dont le spectre est étalé par une fonction pseudo-aléatoire et qui sont modulées par un codage M-aire orthogonal, selon une modulation PSK, ou MSK. ou QPSK caractérisé en ce qu'il comporte un corrélateur selon l'une quelconque des revendications 1 à 3, recevant un signal de référence (REF) constitué d'un signal pseudo-aléatoire (PN) identique à celui ayant été utilisé pour étaler le spectre et qui est fourni par un générateur (24) de signal pseudo-aléatoire; et en ce que le second filtre (35) comporte des moyens (32) pour: calculer les valeurs d'une première et d'une seconde combinaison linéaire (FIn, FQn)- de fonctions de corrélation partielle, démultiplexer ces deux valeurs, et calculer le module (Fn) d'un vecteur ayant pour composantes ces deux valeurs, pour chacun des M codes M-aires et en ce qu'il comporte, en outre, des moyens (34) pour déterminer le module (F]) le plus grand parmi ces M modules et en déduire quel est le code (j) qui module les deux porteuses (I, Q). 5. Démodulateur numérique pour démoduler un signal complexe constitué d'une première et d'une seconde porteuse, en quadrature, dont le spectre est étalé par une fonction pseudo-aléatoire, et qui sont modulées par un codage M-aire orthogonal, selon une modulation PSK ou MSK, ou QPSK; caractérisé en ce qu'il comporte - un corrélateur selon l'une des revendications 1 à 3 - un générateur (80) fournissant un signal binaire pseudo-aléatoire identique à celui ayant été utilisé pour étaler le spectre - un générateur (81) de codes M-aires orthogonaux four- nissant un signal binaire (Wi) selon l'un de ces codes - une porte OU exclusif (83), pour fournir au corrélateur un signal de référence (REF') constitué par le produit des si- gnaux binaires (PN, Wi) fournis respectivement par les deux générateurs (80, 81); et en ce que le second filtre (89) du corrélateur, com- porte des moyens (83, 84) pour: calculer les valeurs (Fi, FQi) d'une première et d'une seconde combinaison linéaire. de fonctions de corrélation partielle, démultiplexer ces deux va- leurs, et calculer le module (Fi) d'un vecteur ayant pour compo- santes ces deux valeurs, pour au moins l'un des codes M-aires (Wi, Wh). 6. Démodulateur selon la revendication 5, pour démoduler un signal complexe constitué d'une première et d'une seconde porteuse (I, Q), en quadrature, dont le spectre est étalé par une fonction pseudo-aléatoire, et qui sont modulées par un codage M-aire, de Walsh, caractérisé en ce que les moyens (83) pour calculer successivement la valeur (Fi, FQi) d'une première et d'une seconde combinaison linéaire des fonctions de corrélation partielle (CPIO',.... CPI15', CPQO'..., CPQ15') comportent: - une pluralité d'additionneurs (91 à 97) pour addition- ner toutes les valeurs (CPI0', CPI2',... CPI14'; CPQ0', CPQ2',..., CPQ14') des. fonctions de corrélation partielle ayant un rang pair - une pluralité d'additionneurs (98 à 103) pour addition- ner toutes les valeurs (CPII', CPI3',..., CPI15'; CPQ1', CPQ3',..., CPQ15') des fonctions de corrélation partielle ayant un rang impair; - un additionneur (104) pour additionner les valeurs fournies par ces deux pluralités d'additionneurs et fournir ainsi successivement la valeur (Fli, FQi) d'une première et d'une seconde composante de la fonction de corrélation pour un premier code de Walsh (WI) qui est celui fourni par le généra- teur de codes (81) - un soustracteur (105) pour soustraire entre elles les valeurs fournies par les deux pluralités d'additionneurs et fournir ainsi successivement la valeur (Flh, FQh) d'une première et d'une seconde composante de la fonction de corrélation pour un second code de Walsh (Wh).