Brevet FR2658634A1 — publié le 19910823

Dispositif de traitement de signaux logiques, du genre corrélateur, et son application. L'invention concerne le traitement en temps réel de signaux logiques et/ou numériques, en particulier en vue de mesures de temps par corrélation. Pour certaines applications, comme la localisation acoustique, il est classique d'utiliser une forme d'onde d'émission spéciale, modulant une onde porteuse acoustique. A la réception, il y a lieu de mesurer le décalage temporel subi par la forme d'onde de modulation émise, afin d'obtenir une information sur la distance de l'émetteur vis-à-vis du récepteur. La répétition de ce procédé entre plusieurs couples émetteurs/récepteurs permet de passer de la mesure de distance à la localisation proprement dite. On sait que les mesures de temps requises peuvent être effectuées par corrélation entre les signaux reçus et la forme d'onde connue, utilisée à l'émission. Pour certaines applications, il est nécessaire d'effectuer cette corrélation en temps réel, avec une grande précision, et sur plusieurs voies de mesure afin d'obtenir les informations de localisation complètes. Il existe dans le commerce des corrélateurs fonctionnant en temps réel mais l'usage de ceux-ci conduit à des systèmes extrêmement complexes et coûteux. L'invention a pour objet de résoudre ce problème en proposant un dispositif de constitution simple et permettant d'effectuer des corrélations en temps réel sur un grand nombre de points de corrélation. Un but de l'invention est de permettre d'une façon accélérée, en temps réel, la corrélation sur des signaux de type logique, qui sont beaucoup plus souvent dans l'un de leurs états que dans l'autre. Par exemple, il peut s'agir de signaux qui sont représentés par quelques états de niveau 1, séparés par des états au niveau 0 en nombre beaucoup plus important. Ainsi, l'invention propose un dispositif de traitement de signaux logiques, du genre corrélateur, caractérisé en ce qu'il comprend - une entrée recevant les signaux à traiter, - un séquenceur, déclenchable périodiquement pour prendre alternativement au moins deux états primaires, répétés N fois, ce qui définit N sous-cycles à l'intérieur d'un cycle, N étant un entier prédéterminé, - une mémoire de travail circulante, permettant l'accès direct et continu des signaux à traiter, - un générateur d'un jeu de pointeurs, valant représentation relative d'instants de contrôle où une séquence logique de référence prend l'un, choisi, des deux états logiques possibles, - des circuits d'accès à la mémoire de travail, qui réagissent au premier état primaire en com mandant le stockage en mémoire de travail d'au moins un nouvel échantillon du signal logique d'entrée, en mode circulant, et qui réagissent au second état primaire en explo rant séquentiellement la mémoire de travail en accès direct, à des emplacements correspon dant aux positions relatives desdits pointeurs, décalés sélectivement en fonction du rang du sous-cycle en cours, et - des moyens de traitement opérant pendant le second état primaire pour compter le nombre de fois où la mémoire de travail contient ledit état logique choisi, dans chaque sous-cycle, le décalage temporel entre les signaux logiques reçus et la séquence de référence étant représenté par le rang du sous-cycle qui a donné le comptage le plus élevé. Dans la plupart des cas, le séquenceur sera déclenché par un pilote temporel, qui peut être extérieur au dispositif, et qui détermine périodiquement un instant de référence, avec une grande précision. Le dispositif peut aussi comprendre plusieurs entrées de signaux logiques. La mémoire de travail comprend alors plusieurs plans de mémoire adressables conjointement, affectés respectivement à ces différentes entrées. Les entrées peuvent être indépendantes. On prévoit alors plusieurs moyens de traitement, qui sont également affectés respectivement à ces différentes entrées indépendantes. Les entrées pourraient aussi être dépendantes, c'est--à-dire qu'elles définissent ensemble un signal numérique exprimé sur plusieurs bits. Dans ce cas, le comptage effectué dans les moyens de traitement est pondéré en conséquence. L'invention s'applique spécifiquement lorsque la séquence de référence, analysée à la période des sous-cycles, possède un taux de présence de l'état choisi au plus égal à environ un dixième, de préférence un centième. Il est très avantageux que la séquence de référence soit choisie avec une fonction de corrélation présentant un pic étroit et des lobes secondaires réduits. Le dispositif proposé convient pour la localisation d'un mobile, avec émission d'une onde porteuse modulée par la séquence de référence. Le dispositif sert alors, à la réception, pour mesurer le décalage temporel lié à la propagation de l'onde. Ceci convient tout particulièrement lorsque l'onde porteuse est une onde acoustique. Le mot localisation est à prendre ici au sens large, puisqu'il peut couvrir non seulement la localisation d'un mobile, mais aussi la localisation de tout objet, comme on en trouve en contrôle non destructif par ultrasons, ou bien dans différentes méthodes de sondage. D'autres caractéristiques et avantages de l'invention appa paîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels - la figure 1 est l'illustration schématique d'une forme d'onde à laquelle peut s'appliquer la présente invention - la figure 2 est le schéma de principe d'un mode de réalisation préférentiel du dispositif selon l'invention ; - la figure 3 est un diagramme fonctionnel du dispositif de la figure 2 ; et - la figure 4 est un tableau illustrant la structure d'une séquence de référence particulièrement intéressante pour certaines applications de l'invention. Les dessins annexés sont, pour l'essentiel, de caractère certain. Ils sont donc à considérer comme partie intégrante de la description, et pourront non seulement servir à mieux faire comprendre celle-ci, mais aussi contribuer à la définition de l'invention, le cas échéant. Sur la figure 1, il apparaît entre les instants 0 et T un forme d'onde constituée d'un signal impulsionnel en tout ou rien, qui est la plupart du temps à l'état 0, mais possède quelques impulsions à l'état 1. Typiquement, le signal possède très peu d'impulsions à l'état 1, de préférence 100 fois moins que les impulsions à l'état 0 (ou l'inverse). La figure 4 fait apparaître sous la forme d'un tableau avec des valeurs de temps allant de 0 à 8191 les positions des impulsions qui sont à l'état 1 dans une séquence de référen- ce de durée T ayant la forme d'onde représentée à la figure 1, en un mode de réalisation préférentiel de celle-ci. La séquence de la figure 4 comprend seulement dix impulsions à l'état 1 sur 8192. Ces impulsions à l'état 1 apparaissent aux instants indiqués sur le dessin. La période T est donc ainsi divisée en 8192 intervalles de temps élémentaires. Elle peut être égale à une seconde. Pour des applications de localisation, il est nécessaire que le récepteur et l'émetteur soient rigoureusement synchronisés. Le synchronisme peut être obtenu par l'utilisation d'une horloge de haute précision. Le signal représenté sur la figure 4, que l'on appellera ci-après "séquence de référence" peut être utilisé, par exemple, pour moduler en tout ou rien une onde sonore ou ultrasonore. Le type de modulation est ici du tout ou rien, mais il pourrait s'agir aussi d'une modulation en phase, ou bien à deux fréquences, avec saut de l'une à l'autre. Enfin, on suppose ici qu'il s'agit d'une modulation en continu, c' est-à-dire qu1 aussitôt après la fin de la période T de la séquence de référence, on recommence immédiatement à émettre la forme d'onde d'émission modulée à partir du début de la séquence. Mais il est également concevable que l'émission soit interrompue de temps à autre, en fonction de l'application. Il est maintenant fait référence aux figures 2 et 3. Le signal reçu est démodulé, d'une manière qui dépend de la nature de l'onde porteuse et de l'application, pour aboutir finalement à un signal de forme logique, c'est-à-dire en tout ou rien, et formant un mot de 1 bit. Ce signal de 1 bit est appliqué à l'entrée E des figures 2 et 3. Cette entrée E est reliée à une entrée entrée d'une mémoire vive MV1, dont la capacité est de 8192 octets. Cette mémoire vive est associée à un compteur d'adresse CA1, dont les entrées de chargement parallèle sont fournies par la sortie d'un commutateur TTA, réalisable à partir de plusieurs registres tampons à trois états. Une horloge OMI à 8192 Hertz actionne un compteur de temps CM1, effectuant un comptage modulo 8192, et remis à zéro par un signal R-SEC, provenant de la logique de commande LC, et dérivant lui-même des impulsions de synchronisation fournies par le pilote temporel PT. Les états de ce compteur CM1 sont transmis à l'une des entrées du commutateur TTA. L'autre entrée de ce commutateur reçoit les signaux produits par un circuit générateur de pointeurs GP, dont on décrira la structure plus loin. Les circuits d'accès CAM de la mémoire MV1 comprennent donc le compteur d'adresse CA1, son commutateur de chargement parallèle TTA, ainsi qu'un oscillateur rapide OB1, opérant par exemple à 10 mégaHertz, suivi d'un compteur CB1 qui travaille modulo 64. La sortie du compteur CB1 est appliquée à l'entrée d'horloge du compteur d'adresse CA1, ainsi qu'à une porte NON ET GL1, laquelle reçoit aussi la sortie de la mémoire MV1. La logique de commande LC reçoit le signal du pilote temporel PT déjà mentionné, ainsi que la sortie de tous les états du compteur CM1. A partir du pilote temporel, elle fournit le signal R-SEC qui réalise une remise à zéro à chaque nouvelle impulsion de seconde émanant du pilote temporel PT. Cette remise à zéro marque un début de cycle. Elle produit la remise à zéro du compteur CM1, lequel va alors avancer au rythme de l'horloge OM1, pour produire 8192 états différents pendant la durée du cycle, qui est de 1 seconde. Le compteur CM1 n'est pas bouclé, c'est-à-dire qu'il s'arrête en fin de comptage. Ses 8192 états différents définissent un découpage du cycle en 8192 sous-cycles. A la fin du comptage du compteur CMI, la logique de commande produit un signal R-8192 qui va servir à remettre à zéro différents compteurs, ainsi qu'un signal F-8192, qui est un signal d'état, utilisé dans les moyens de traitement MT que l'on décrira plus loin.De même, le signal R-SEC est accompagné d'un signal C-SEC qui permettra le transfert d'un information mise en mémoire pendant un cycle à un organe extérieur tel qu'un micro-ordinateur. La logique de commande produit encore trois signaux d'état, El, E2 et E3. Le signal El est un signal qui va prendre deux états primaires, dont l'un va définir l'écriture dans la mémoire vive MV1, tandis que l'autre va marquer la lecture de celle-ci. Le signal d'état secondaire E2 prend deux états différents, suivant qu'on est au premier sous-cycle, ou au sous-cycle ultérieur. Il serait concevable que ce signal E2 prenne son premier état pour n'importe quel souscycle, à condition qu'il garde le second état jusqu'au souscycle de même rang du cycle suivant. Enfin, le signal E3 va permettre l'autorisation de délivrer une valeur de corrélation calculée dans les moyens de traitement MT. Le générateur de pointeurs GP peut être réaliséde différentes manières. Ici, il se compose d'une mémoire permanente MM2, qui contient des adresses de la mémoire vive MV1. Ces adresses sont précisément les valeurs apparaissant dans le tableau de la figure 4, sur la deuxième ligne, mais diminuées d'une unité. Le générateur GP comprend en outre une mémoire vive MV2, un registre additionneur d'adresse TA2, ainsi qu'un commutateur d'entrée parallèle TTB de ce registre d'adresse TA2. Le registre d'adresse TA2 est agencé pour produire une incrémentation d'une unité de sa valeur d'entrée.Les deux mémoires MM2 et MV2 sont adressées conjointement sur 4 bits par la sortie d'un compteur CAD, opérant modulo 10, et commandé par le signal délivré par la sortie de report du compteur de bits CB1. Ce compteur CA2 est remis à zéro par l'impulsion R-8192. Le fonctionnement du générateur de pointeurs est le suivant pendant le premier cycle, il est adressé par le compteur CA2 pour fournir à chaque fois l'adresse diminuée d'une unité, figurant dans le tableau de la figure 4 en seconde ligne, en regard du numéro d'impulsion de la première ligne, qui est délivré par la sortie du compteur CA2. Le commutateur TTB connecte la mémoire MM2 au registre TA2, et l'adresse, à chaque fois rétablie à sa valeur normale par incrémentation d'une unité, est transmise au commutateur TTA qui est alors dans sa seconde position, pour être chargée dans le compteur d'adresse CA1. Ceci se répète pour les dix valeurs d'adresses permises par le compteur CA2. A chaque fois, la mémoire MV2 enregistre la valeur d'adresse disponible en sortie du registre TA2. Après la fin du premier sous-cycle, le commutateur TTB passe dans son autre position, qui relie l'entrée du registre TA2 à la sortie de la mémoire vive MV2. Ce sont alors les valeurs précédentes de l'adresse qui, incrémentées d'une unité, vont rentrer dans le registre TA2, pour se trouver également réenregistrées dans la mémoire MV2 avec leur nouvelle valeur. Il apparaît donc ainsi qu a chaque sous-cycle on va prendre les adresses initialement contenues dans la mémoire MM2, augmentées d'une unité. C'est cela qui permettra de balayer toutes les valeurs de retard possible à l'intérieur du cycle entre le signal reçu et la séquence de référence, telle qu'elle est définie par le contenu de la mémoire permanente MM2. Le dispositif se complète de moyens de traitement MT. Avant d'examiner ceux-ci, il convient d'observer que la mémoire vive MV1 est utilisée au début de chaque sous-cycle pour recevoir 1 échantillon de son signal logique d'entrée, après quoi le reste du sous-cycle est consacré à la lecture en mémoire aux différentes adresses définies par le générateur de pointeurs, compte tenu du rang du sous-cycle en cours, à chaque fois pour 64 échantillons. Or il a été indiqué de plus que la mémoire MV1 opere sur 8192 octets. Elle possède donc huit fois la capacité de traiter un signal d'entrée de 1 bit. Il est alors possible d'organiser la mémoire en 8 plans, traitant 8 signaux d'entrée indépendants, émanant, par exemple, de 8 récepteurs d'une même séquence de référence. Chaque sortie de la mémoire MV1 est traitée par une porte GL1 telle que définie plus haut. La sortie de cette porte GLI est appliquée à un circuit de traitement MT particulier. Celui-ci se compose d'un compteur C51 qui reçoit sur son entrée d'horloge la sortie de la porte GL1, tout en étant remis à zéro par le signal R-8192 en fin de comptage du compteur CM1. Les sorties parallèles du compteur C51 sont appliquées à un comparateur 050, ainsi qu'à une mémoire M52, dont l'entrée de chargement est commandée par une porte ET G54 recevant le signal F-8192, ainsi que la sortie de comparaison du comparateur 050. La mémoire M52 est remise à zéro à chaque impulsion R-SEC. Le comparateur 050 opère entre les contenus du compteur C51 et de la mémoire M52. Dès qu'il détecte que le contenu de la mémoire M52 est inférieur à celui du compteur C51, le comparateur 050 autorise la porte G54 à charger dans la mémoire M52 la valeur en cours du contenu du compteur C51. On va ainsi déterminer le maximum du comptage du compteur C51. A chaque chargement d'une nouvelle valeur dans la mémoire M52, la porte G54 autorise aussi une autre mémoire M61 à enregistrer le contenu en cours du compteur de temps CMl. Cette mémoire M61 contient donc le rang du sous-cycle, exprimé en termes de valeurs de décalage temporel, qui a donné lieu à la corrélation maximale entre le signal d'entrée et la séquence de référence. En fin de cycle, le contenu de la mémoire M61 est transféré dans une mémoire M71, et le signal d'état E3 permet à tout moment le transfert de cette valeur de corrélation à un organe extérieur tel qu'un micro-ordinateur. Sur le schéma de principe de la figure 3, f désigne la fréquence d'échantillonnage au niveau de la mémoire MV1 et des organes qui coopèrent avec elle; fE désigne la cadence de l'horloge auxiliaire définissant les sous-cycles; T désigne la période (1 seconde) de la séquence de référence. Ce schéma de principe montre que certains composants du dispositif sont susceptibles de variantes de réalisation : par exemple, on pourrait loger dans la mémoire permanente MM2 l'intégralité des pointeurs ou "adresses des instants d'émission". Il serait également concevable de réaliser la mémoire MVl sous une forme autre que celle ici décrite. Revendications 1. Dispositif de traitement de signaux logiques, du genre corrélateur, caractérisé en ce qu'il comprend - une entrée (E) recevant les signaux à traiter, - un séquenceur (LC, OM1, CM1! déclenchable périodiquement pour prendre alternativement au moins deux états primaires, répétés N fois, ce qui définit N sous-cycles à l'intérieur d'un cycle, N étant un entier prédéterminé, - une mémoire de travail circulante (MV1), permettant l'accès direct et continu des signaux à traiter, - un générateur (GP) d'un jeu de pointeurs, valant représentation relative d'instants de contrôle où une séquence logique de référence, prend l'un, choisi, des deux états logiques possibles, - des circuits d'accès (CAM) à la mémoire de travail, qui réagissent au premier état primaire encom mandant le stockage en mémoire de travail d'au moins un nouvel échantillon du signal logique d'entrée, en mode circulant, et qui réagissent au second état primaire en explo rant séquentiellement la mémoire de travail en accès direct, à des emplacements correspon dant aux positions relatives desdits pointeurs, décalés sélectivement en fonction du rang du sous-cycle en cours, et - des moyens de traitement (MT) opérant pendant le second état primaire pour compter le nombre de fois où la mémoire de travail contient ledit état logique choisi, dans chaque sous-cycle, le décalage temporel entre les signaux logiques reçus et la séquence de référence étant représenté par le rang du sous-cycle qui a donné le comptage le plus élevé. 2. Dispositif selon la revendication 1, caractérisé en ce que le séquenceur est déclenché par un pilote temporel (PT) qui détermine périodiquement un instant de référence, avec une grande précision. 3. Dispositif selon la revendication 2, caractérisé en ce que le séquenceur comprend - une logique de commande primaire (LC) qui définit les deux états primaires, - une horloge primaire (OM1), et - un compteur de temps (CM1), remis à zéro à chaque instant de référence, et qui avance au rythme de l'horloge primaire, le contenu du compteur de temps définissant à chaque fois l'adresse de départ d'écriture. 4. Dispositif selon l'une des revendications 1 à 3, caractérisé en ce que les circuits d'accès à la mémoire de travail comprennent - un compteur d'adresse (CAl), - un commutateur (TTA) pour le chargement en parallèle du compteur d'adresse, soit, dans le premier état primaire, à partir d'une adresse de départ d'écriture, qui dépend du sous-cycle en cours, soit, dans le second état primaire, à partir d'une adresse de départ de lecture, tirée du générateur de référence en fonction du sous-cycle en cours. 5. Dispositif selon la revendication 4, caractérisé en ce que les circuits d'accès à la mémoire de travail comprennent en outre - une horloge rapide (OB1) impulsant un compteur d'échantillons (CB1), pour fournir un nombre prédéterminé d'impulsions d'horloge au compteur d'adresse, après son chargement en parallèle, pendant le second état primaire, - le nombre d'échantillons traités étant défini par la capacité du compteur d'échantillons, - des moyens pour autoriser l'écriture en mémoire pendant le premier état primaire, (El, entrée L de MV1), - des moyens de validation de lecture, au rythme du compteur d'échantillons, pendant le second état primaire (GL1). 6. Dispositif selon l'une des revendications 4 et 5, carac térisé en ce que le générateur de pointeurs comprend - une mémoire permanente de référence (MM2) contenant un jeu de représentations d'adresses absolues de la mémoire de travail, désignant des emplacements où l'on attend ledit état logique choisi, - un registre d'adresse de lecture en cours (TA2), - une mémoire vive de référence (MV2), montée en bouclage sur ce registre, et de même capacité que ladite mémoire permanente, et - une logique de commande secondaire (LC), à au moins deux états secondaires, dont l'un, pris pour l'un des sous-cycles, applique séquentiellement le contenu de la mémoire permanente au registre d'adresse de lecture en cours, tout en stockant la sortie de celui-ci dans la mémoire vive de référence, tandis que l'autre, pris pour les autres souscycles, fait fonctionner séquentiellement cette mémoire vive de référence en bouclage sur le registre d'adresse de lecture en cours, avec incrémentation prédéterminée. 7. Dispositif selon la revendication 6, caractérisé en ce que la mémoire permanente de référence (MM2) et la mémoire vive de référence (MV2) sont adressées conjointement par un compteur de coups (CA2), remis à zéro à chaque début de sous-cycle, et qui avance au rythme des états secondaires. 8. Dispositif selon l'une des revendications 1 à 7, caractérisé en ce que les moyens de traitement comprennent un registre de base (C51), remis à zéro à chaque fin de souscycle, un registre de mémoire (M52), un comparateur (050) des contenus du compteur de base et du contenu du compteur de mémoire, et un moyen (G54) pour rafraîchir le compteur de mémoire par le contenu du compteur de base si celui-ci est le plus grand des deux. 9. Dispositif selon la revendication 8, caractérisé en ce que les moyens de traitement comprennent en outre au moins un registre (M61, M71) pour stocker la valeur de décalage temporel ayant correspondu au comptage le plus élevé. 10. Dispositif selon la revendication 9, caractérisé en ce que les moyens de traitement comprennent un premier registre (M61) pour stocker la valeur de décalage temporel en cours à chaque mise à jour du compteur de mémoire, et un second registre (M71) pour stocker le contenu du premier à chaque instant de référence. 11. Dispositif selon l'une des revendications précédentes, caractérisé en ce qu'il comprend plusieurs entrées de signaux logiques, en ce que la mémoire de travail comprend plusieurs plans de mémoire adressables conjointement, affectés respectivement à ces différentes entrées, et en ce que sont prévus plusieurs moyens de traitement, également affectés respectivement à ces différentes entrées. 12. Dispositif selon l'une des revendications 1 à 11, caractérisé en ce que la séquence de référence, analysée à la période des sous-cycles, possède un taux de présence de l'état choisi au plus égal à environ un dixième, de préférence un centième. 13. Dispositif selon la revendication 12, caractérisé en ce que la séquence de référence est choisie avec une fonction d'autocorrélation présentant un pic étroit, et des lobes secondaires réduits. 14. Dispositif selon la revendication 13, caractérisé en ce que la séquence de référence possède la forme définie par le tableau de la figure 4. 15. Application du dispositif selon l'une des revendications précédentes, à la localisation d'un objet, avec émission d'une onde porteuse modulée par la séquence de référence, ledit dispositif servant, à la réception, à mesurer le décalage temporel lié à la propagation de l'onde. 16. Application selon la revendication 15, caractérisée en ce que l'onde porteuse est une onde acoustique.