FR 2661527 A1 19911031 FR 8401757 A 19840206 CORRELMEUR NUMERIQUE, PROCEDE DE COMPRESSION D'IMPULSION, RADAR, SONAR, DISPOSITIF D'IMAGERIE MEDICALE UTILISANT LEDIT PROCEDE La présente invention concerne principalement des corre- lateurs numériques, un procédé de compression d'impulsion, des radars, des sonars, et des dispositifs d'imagerie médicale utilisant ledit procédé. En technologie radar, il est connu, d'utiliser la compression d'impulsion. Ce procédé permet d'émettre pendant des périodes beaucoup plus longues, la même énergie, et ainsi de réduire la puissance de la source d'énergie hyperfréquence du radar sans diminuer les performances de celuici. Les dispositifs de type connu utilisent des lignes dispersives, par exemple des lignes à ondes acoustiques de surface, (SAW en therminologie anglo-saxonne), pour obtenir un décodage de phase nécessaire au fonctionnement dudit procédé. Le dispositif selon l'invention, se propose d'effectuer le déco dage de phase par le calcul numérique en temps réel. Ce calcul est effectué par un corrélateur programmable adaptable au code de phase utilisé pour effectuer la compression d'impulsion. L'efficacité du corrélateur selon l'invention est obtenue en effectuant des calculs en série et en parallèle à grande vitesse. La vitesse de calcul du dispositif selon l'invention est notamment due à l'absence de multiplication, très coûteuse en temps de calcul. Le dispositif selon l'invention comporte un registre à décalage associé à une mémoire. Le registre à décalage permet un chargement série des données. Un bus d'adresses relie le registre à décalage à une mémoire. En cette mémoire, aux adresses correspondant aux données contenues dans le registre à décalage, sont stockés les résultats du calcul désiré. Le transfert entre le registre à décalage et la mémoire s'effectue en parallèle. L'invention a principalement pour objet une cellule de calcul, caractérisée par le fait qu'elle comporte un registre à décalage et une mémoire, le résultat des calculs étant égal au contenu de la mémoire à l'adresse égale au contenu du registre à décalage. L'invention sera mieux comprise au moyen de la description ciaprès et des figures annexées données comme des exemples non limitatifs parmi lesquels - la figure 1 est un schéma d'une première réalisation du dispositif selon l'invention; - la figure 2 est un schéma d'une seconde réalisation du dispositif selon l'invention; - la figure 3 est un schéma d'une troisième réalisation du dispositif selon l'invention; - la figure 4 est un schéma d'une quatrième réalisation du dispositif selon l'invention. Sur les figures 1 à 4, on a utilisé les mêmes références pour désigner les mêmes éléments. Sur la figure 1, on peut voir une cellule de calcul 10. La cellule de calcul 10 comporte un registre à décalage 1 et une mémoire 2. Le registre à décalage 1 est partagé en n cellules 11, 12, 13,..., In chaque cellule étant évententuellement décomposée en sous cellules contenant les bits de chaque donnée. Le registre à décalage 1 est relié à la mémoire 2 par un bus d'adresses 4 reliant en parallèle les cellules 11 à In du registre à décalage I à la mémoire 2. Le registre à décalage est connecté à un bus de données série 5. Les données du bus 5 viennent dans la cellule 11, et se propagent à chaque cycle d'horloge donnée dans la cellule suivante. Le registre 1 est relié à un bus parallèle 3 permettant l'écriture et la lecture directe des cellules 11 à In. La mémoire 2 est reliée à un bus de données 6.La mémoire 2 est susceptible de transmettre des informations sur un bus de données 7. Dans une première variante de réalisation, la mémoire 2 est une mémoire morte programmable (PROM en terminologie anglosaxonne). Avantageusement la mémoire 2 est une mémoire vive (RAM en terminologie anglo-saxonne) ayant un temps d'accès plus court que celui des mémoires mortes programmables. De plus les valeurs stockées en mémoire 2, c'esta'dire les résultats définis par les coefficients de corrélation, peuvent être changées. L'utilisation d'autres types de mémoire ne sort pas du cadre de la présente invention. Le dispositif selon l'invention est notamment destiné à effectuer un décodage de phase d'un signal de détection radar en compression d'impulsion. On se propose de calculer la partie réelle Q5 et la partie imaginaire IS d'un signal vidéo à partir d'un signal reçu ayant une partie réelle Qe et une partie imaginaire Ie telles que: D étant le taux de compression et 4 la rotation de phase. Le dispositif illustré sur la figure 1 se propose de calculer pour un bit de poids déterminé. Comme il sera explique dans la suite de ce brevet, QS et IS peuvent être découpées en plusieurs parties, D n, par exemple calculées par des cartes électroniques différentes. Dans un tel cas la taille du registre à décalage 1 est adaptée à la partie des QS ou des IS que la carte comportant la cellule 10 doit calculer. Les bits stockés dans les cellules 11 à 1 (n-1) se déplacent vers des cases d'indice supérieur. Simultanément une valeur présente sur le bus 5 est écrite dans la case 11. La valeur contenue dans la case In est perdue à chaque cycle d'horloge mais la sortie 100 permet de transférer éventuellement cette valeur dans une autre carte.A chaque cycle d'horloge, la mémoire 2 est lue à l'adresse transmise du registre à décalage I par le bus 4. La valeur lue en mémoire 2 est émise sur le bus 7. A l'adresse correspondant aux valeurs présentes dans le registre à décalage 1 est stockée la valeur que l'on désire calculer, cos # pour un bit par exemple. Les résultats correspondant au décodage de phase sont au préalable stockés dans la mémoire 2. Les données sont reçues du bus de données 6 alors que les adresses auxquelles elles doivent être stockées proviennent du registre à décalage 1, qui lui-même les a reçues par le bus 3. Ainsi, si on le désire, il est possible de changer le code du décodage de phase. Le bus 3 permet de lire le contenu du registre à décalage 1. La capacité de la mémoire 2 est adaptée pour pouvoir contenir tous les résultats possibles de calculs désirés, par exemple elle est égale à: Log2 (2r ) x c, r étant la résolution du codage de phase, c étant la capacité d'adressage de la mémoire 2 et n le nombre de points d'une correlation partielle. Sur la figure 2, on peut voir un circuit destiné aux calculs de QS ou de Is. Le dispositif de la figure 2 comporte une cellule 10 associée à un accumulateur 20 et à une mémoire 27. L'accumulateur 20 comporte un additionneur 21 et deux registres mémoires 22 et 23. Le registre mémoire 22 est destiné à stocker les bits de poids fort (MSB en terminologie anglo-saxonne) provenant de l'additionneur 21. Le registre mémoire 23 est destiné à stocker les bits de poids faible (LSB en terminologie anglo-saxonne) provenant de l'additionneur 21. L'additionneur 21 est relié à la mémoire 2 de la cellule 10 par le bus 7. Les registres mémoires 22 et 23 sont reliés respectivement par des branches 240 et 241 d'un bus 24 à l'additionneur 21. Le registre mémoire 22 est relié à l'additionneur 21 par un bus 26. Les registres 22 et 23 sont reliés respectivement par les branches 250 et 251 d'un bus 25 à la mémoire 27. Les résultats stockés en mémoire 27 peuvent être lus sur le bus 28. Tous les éléments de la figure 2, comme d'ailleurs sur les autres figures sont synchronisés à une même horloge. L'accumulateur 20 permet de sommer les éléments calculés dans la cellule 10, par exemple les cos ik et les sin Ok, pour un bit donné, pour obt enir la corrélation sur un nombre de points désirés. En début de cycle, les registres mémoires 22 et 23 sont remis à zéro. A chaque cycle d'horloge la valeur provenant de la mémoire 2 est ajoutée à la valeur précédemment stockée dans le registre 22. A chaque cycle d'horloge et ce jusqu'à la fin du calcul de la corrélation partielle par l'accumulateur 20 le poids de tous les bits stockés dans le registre 22 est diminué d'une unité. Les bits de poids faible étant stockés dans le registre mémoire 23 le dispositif selon l'invention n'effectue pas d'arrondi mais conserve toute l'information utile.Le résultat de la corrélation partielle est présent sur le bus 25. Avantageusement la mémoire 27 effectue la resynchronisation du système. Un bus 28 permet de transmettre les informations contenues dans la mémoire 27. Sur la figure 3, on peut voir un dispositif 40 se présentant par exemple sous la forme d'une carte électronique susceptible de calculer la partie réelle ou la partie imaginaire d'une corrélation. La carte 40 de la figure 3 comporte deux cellules de calcul 10, un additionneur 31, un accumulateur 20. L'additionneur 31 effectue bit par bit la somme des parties réelles et des parties imaginaires calculées par les deux cellules de calcul 10. Les deux cellules 10 étant synchronisées, les bits de même poids se présentent simultanément sur les bus 7. L'accumulateur 20 permet de calculer la corrélation sur le nombre de points désirés en sommant les résultats relatifs à chaque bit avec leurs points respectifs. La corrélation sur un nombre de points donnés par exemple 32 peut être effectuée en plusieurs parties par plusieurs cartes 40. Avantageusement chaque carte calcule le même nombre de points. Par exemple chaque carte 40 effectue une corrélation sur huit points pour une corrélation totale de trente deux points. La carte 40 illustrée par la figure 3 comporte divers dispositifs permettant l'interconnexion des cartes. La carte 40 comporte un additionneur 35. L'additionneur 35 somme la corrélation partielle calculée par la carte 40 avec une autre corrélation partielle calculée par une autre carte. La somme de corrélation partielle effectuée par l'additionneur 35 peut être supérieure au plus grand nombre pouvant être exprimé avec le nombre de bit transmis par le bus 25. Une réalisation avantageuse de l'invention comporte un circuit 33 entre le bus 25 et l'additionneur 35. Le circuit 33 sépare en données série les bits d'ordre pair des bits d'ordre impair et transmet séparément par le bus 34 à l'additionneur 35, l'additionneur 35 dans cet exemple de réalisation, effectue séparément l'addition série des bits d'ordre pair et des bits d'ordre impair. Avantageusement les diverses cartes 40 interconnectées sont connectées à une même horloge.Des registres permettent de resynchroniser les calculs au temps de cycle d'horloge suivant. La carte 40 comporte par exemple des registres 29, 30, 36 et 37 permettant au moment des interconnexions des cartes d'avoir les bits de bon poids au bon moment. Les données à traiter arrivent sur deux bus 42 connectés aux registres 29 eux-mêmes connectés aux bus 41 connectés aux registres 30. Les registres 30 sont reliés aux registres à décalage 1 des cellules de calcul 10 par les bus 5. Un bus 45 transmettant séparément les bits pairs et les bits impairs est connecté au registre 37 lui-même connecté au bus 38 transmettant séparément les bits d'ordre pair et les bits d'ordre impair. Le bus 38 est connecté à l'entrée de l'additionneur 35. Les résultats de l'addition effectuée par l'additionneur 35, pour les bits d'ordre pair et les bits d'ordre impair sont transmis par un bus 39 au registre 36. Les résultats du calcul de la carte pour les bits d'ordre pair et pour les bits d'ordre impair sont transmis sur le bus 43. Pour mettre en cascade plusieurs cartes on connecte les bus 100 de cette carte aux bus 42 de la carte suivante et le bus 43 de cette carte au bus 45 de la carte suivante. Sur la figure 4, on peut voir une carte 40 susceptible de calculer les corrélations partielles successives et de les sommer. Le dispositif de la figure 4 comporte des cellules 10 avec leurs interconnexions, un additionneur 31, un premier accumulateur 20 et un second accumulateur 50. L'accumulateur 50 comporte un additionneur 51 connecté par un bus 54 à une mémoire 48. La mémoire 48 est connectée à l'additionneur 51 par un bus 56. Le résultat de la sommation effectuée par l'accumulateur est mis sur un bus 55. L'accumulateur 50 calcule la corrélation en ajoutant les corrélations partielles. L'additionneur 51 ajoute à la valeur contenue dans la mémoire 48 les valeurs transmises par le bus 25 jusque l'obtention du résultat désiré. Dans l'exemple illustré sur la figure 4 le résultat est stocké dans une mémoire 57 et transmis en parallèle par une liaison 58 pour des traitements ultérieurs ou la visualisation. Dans l'exemple de réalisation de la figure 4 la mémoire 2 des cellules 10 comporte une capacité suffisante pour contenir tous les coefficients du décodage de phase nécessaire au calcul de corrélation par exemple Log (2n)xÇD x cD . Parexemplen=8,c=256 et r=1/16 et D=32. 2 Par exemple n De plus, la mémoire 2 comporte des bits d'adresses supplémentaires nécessaires au choix du tableau des coefficients correspondant au calcul en cours. La vitesse de traitement du dispositif selon l'invention doit être adaptée au nombre de données fournies par les radars afin de permettre un traitement en temps réel. Selon le besoin on adoptera donc les technologies classiques des circuits intégrés en technologie dite TTL, en logique non saturée (ECL en terminologie anglosaxonne) ou des circuits intégrés à l'arséniure de gallium. Par exemple pour un taux de compression de 30 un radar de case distance radar égal à 100 ns le traitement en temps réel requiert 1,2 109 opérations par seconde. Dans ce cas là il sera avantageux d'adopter par exemple la technologie ECL 100K. L'architecture du dispositif de calcul selon l'invention est particulièrement bien adaptée à l'utilisation des circuits en arséniure de gallium. En effet cette architecture ne comporte pas de multiplieur qu'il n'est pas possible de réaliser actuellement en arséniure de gallium. La variante de réalisation utilisant les circuits en arséniure de gallium comporte une horloge travaillant par exemple à 1 CHz. De plus l'architecture du dispositif selon l'invention n'utilise que des circuits intégrés en moyenne échelle d'intégration (MSI en terminologie anglo-saxonne) et pas de circuit à très haut degré d'intégration (LSI ou VLSI en terminologie anglo-saxonne) qui ne sont pas réalisables actuellement en arséniure de gallium. Dans un exemple de réalisation on a calculé la corrélation sur trente deux points en effectuant le calcul en quatre tableaux de huit points. Dans ce cas le registre à décalage a une capacité de neuf bits pour chaque point i.e. soixante douze bits. On associe pour effectuer le traitement huit cartes 40. Les informations transmises en série sont par exemple transmises sur huit bits plus un bit de signe. Le débit de paquet d'information sur le bus 5 est égal à 10 MHz, ce qui correspond à une fréquence d'horloge de 90 MHz. L'invention permet un calcul rapide de corrélation. Elle s'applique notamment à la compression d'impulsion. Cette technique permet d'améliorer les performances des dispositifs radar, sonar ainsi que des dispositifs d'imagerie médicale utilisant par exemple les ondes acoustiques. REVENDICATIONS 1. Cellule de calcul (10), caractérisée par le fait qu'elle comporte un registre à décalage (1) et une mémoire (2), le résultat des calculs étant égal au contenu de la mémoire (2) à l'adresse égale au contenu du registre à décalage (1). 2. Corrélateur numérique, caractérisé par le fait qu'il comporte des cellules selon la revendication 1. 3. Corrélateur selon la revendication 2, caractérisé par le fait que la corrélation totale sur D point est obtenue par sommation de plusieurs corrélations partielles sur le nombre de points tel que le nombre total de points soit égal à D. 4. Corrélateur numérique selon la revendication 3, caractérisé par le fait que les corrélations partielles sont faites sur le même nombre de points. 5. Corrélateur selon l'une quelconque des revendications précédentes, caractérisé par le fait que la mémoire (2) est une mémoire vive (RAM). 6. Corrélateur selon l'une quelconque des revendications précédentes, caractérisé par le fait que la capacité de la mémoire (2) est supérieure ou égale à Log2 (2r ) x c. 7. Corrélateur selon l'une quelconque des revendications 1 à 5, caractérisé par le fait que la capacité de la mémoire (2) est supérieure ou égale à Log2 (2r ) xCnD 8. Corrélateur selon l'une quelconque des revendications précédentes, caractérisé par le fait qu'à chaque corrélation partielle correspond une carte électronique (40). 9. Corrélateur selon l'une quelconque des revendications précédentes, caractérisé par le fait qu'il comporte un additionneur (35) susceptible d'effectuer séparément les additions des bits d'ordre pair et des bits d'ordre impair. 10. Corrélateur selon l'une quelconque des revendications précédentes, caractérisé par le fait qu'il comporte des circuits intégrés en logique non saturée (E CL). 11. Corrélateur selon l'une quelconque des revendications précédentes, caractérisé par le fait qu'il comporte des circuits intégrés en arséniure de gallium. 12. Procédé de compression d'impulsion, caractérisé par le fait qu'il utilise pour le décodage de phase un corrélateur selon l'une quelconque des revendications précédentes. 13. Radar, caractérisé par le fait qu'il utilise le procédé de compression d'impulsion selon la revendication 12. 14. Sonar, caractérisé par le fait qu'il utilise le procédé de compression d'impulsion selon la revendication 12. 15. Dispositif d'imagerie médicale, caractérisé par le fait qu'il utilise le procédé de compression d'impulsion selon la revendication 12.