FR 2111894 A1 19720609 FR 7138656 A 19711027 1 2111894 71 38656 La présente invention se rapporte aux générateurs digitaux d'image et concerne, plus particulièrement, des générateurs de ce type capables de produire une image radar simulée. Il est connu d'utiliser des simulateurs de radar dans les systèmes d'entraînement à la navigation maritime, ou analogues et, 5 dans ces systèmes, il est commode de générer et de présenter visuellement à la fois un littoral simulé et les positions de divers navires et autres objets. Etant donné que les installations radar utilisent presque invariablement les indicateurs du type à balayage radial ou "P.P.I." également bien connus sous le nom d'indicateurs 10 panoramiques, un simulateur de ce genre doit nécessairement pouvoir fonctionner avec le même type de balayage. La production ou la simulation d'échos de cible sont commodément réalisées en utilisant des techniques digitales, mais on a rencontré des difficultés pour appliquer les mêmes techniques à. 15 la génération d'une longue image de littoral. En conséquence, il est jusqu'à présent de pratique courante d'assurer la génération de l'image de littoral par des moyens amLogiques et d'adapter le résultat obtenu aux échos de cible produits par voie digitale. Cette façon de procéder pose des problèmes pour obtenir un aligne-20 ment précis, notamment si le simulateur exige la production de plusieurs images correspondant chacune à un navire différent à une position déterminée. L'invention a, notamment, pour but de créer un générateur digital d'image capable de produire une image de littoral simulé pour 25 radar panoramique. Suivant l'invention, le générateur digital pour produire une image de littoral simulé pour radar panoramique, est caractérisé en ce qu'il comprend un premier moyen de mémorisation agencé pour emmagasiner les coordonnées cartésiennes par rapport à une origine 30 fixe de chacun d'une série de points espacés le long d'un littoral simulé désiré, un second moyen de mémorisation agencé: pour emmagasiner un certain nombre d'ensembles d'éléments, chaque ensemble étant défini par l'un desdits points espacés et déterminant le littoral simulé entre ce point et le suivant, un calculateur agencé 35 pour déterminer, pour chaque course de balayage radial les ensembles d'éléments dont au moins un élément intersecte la course de balayage ■■M oo2 2111894 71 38656 et pour "transformer les coordonnées du point espacé définissant chacun de ces ensembles d'éléments en Içs rapportant à une origine variable, et des moyens logiques pour déterminer, pour chaque course de balayage, la distance entre cette origine variable et 5 le point d'intersection de la course et du plus proche desdits éléments. En outre, suivant l'invention, chacun des éléments précités est constitué par un segment de droite de longueur unitaire tracé dans l'une d'un nombre fixe de directions. 10 L'invention sera mieux comprise à la lecture de la descrip tion détaillée qui suit et à l'examen des dessins joints qui en représentent, à titre d'exemple non limitatif, un mode de réalisation. Sur ces dessins : 15 La figure 1 est un schéma symbolique d'un générateur complet d'image conforme à l'invention. La figure 2 représente le codage d'octant utilisé. La figure 3 montre la forme des mots de sortie du calculateur. La figure 4 représente les calculs nécessaires pour générer 20 une image. La figure 5 représente le codage utilisé pour représenter les éléments de littoral et la figure 6 est un schéma symbolique de l'unité logique et de la seconde mémoire. 25 En se reportant à la figure 1, on voit que l'ensemble du gé nérateur d'image est groupé autour d'un calculateur C qui comporte sa propre mémoire S1. Une seconde mémoire autonome S2 est également prévue, l'accès entre cette mémoire et le calculateur étant assuré par l'intermédiaire d'une unité logique L. Le calculateur commande 30 une unité de contrôle d'indicateur DD et, par conséquent, l'indicateur panoramique D proprement dit. Initialement, un littoral simulé est dessiné et est fractionné en "fragment" couvrant chacun, par exemple trois milles marins. Les points de raccordement entre deux fragments adjacents seront 35 désignés ici sous le nom de "jonctions" ; les coordonnées cartésiennes de chaque jonction par rapport à une origine arbitraire fixe, sont stockées dans la mémoire S1 du calculateur. On peut 71 38656 3 2111894 mémoriser jusqu'à 1000 jonctions de ce "type, ce qui fournit des détails du dessin du littoral sur une longueur pouvant atteindre 3000 milles marins. Les fragments de littoral s'étendant entre deux jonctions adjacentes sont à leur tour subdivisés chacun 5 en 192 éléments de longueur unitaire représentant chacun l/64ème de mille marin. Dans la mémoire autonome S2 est emmagasinée la direction de chaque élément par rapport à la jonction précédente ou à l'dément précédent sous la forme de deux bits d'information, chaque fragment exigeant, par conséquent une capacité de mémoire 10 de seize mots, de vingt-quatre bits chacun. En fait, la seconde mémoire S2 peut être avantageusement une mémoire d'une capacité de 16.384 mots, les 384 mots supplémentaires étant utilisés pour mémoriser des détails des jonctions réelles traitées à un moment donné quelconque. La mémoire S1 du calculateur contient également 15 des détails concernant la position effective, la hauteur d'antenne, le gisement etc., du navire ou de chaque navire.. On peut ajuster la précision de la représentation en modifiant la longueur de chaque élément et en apportant une modification correspondante à la longueur d'un fragment ainsi qu'à la lon-20 gueur totale de littoral mémorisée. En outre, avec une mémoire à longueur de mots différente, on peut modifier le nombre de mots par balayage, mais il est avantageux d'adopter, dans tous les cas, un nombre de mots par balayage égal à une puissance de 2. Pour produire un tracé du littoral sur une image écran corres-25 pondant à un navire particulier, le calculateur C doit effectuer une transformation de coordonnées pour chaque jonction représentant une longueur de littoral à portée du radar du navire. Cette transformation est une opération mathématique simple et il n'est pas nécessaire de la décrire ici. Plus importait sont les calculs qui 30 déterminent quelle partie du littoral, sera représentée à chaque balayage de l'indicateur et quel élément sera représenté parmi plusieurs éléments possibles. Cette dernière considération se présente lorsqu'une partie du littoral simulé est cachée par des îles ou des caps ou autres pointes de terre. Ces calculs sont effectués 35 par l'unité logique L, ce qui laisse le calculateur libre d'assurer ses autres fonctions. Pour déterminer la partie du littoral à représenter lors 71 386S6 4 2111894 d'une course de balayage particulière quelconque de l'indicateur, le calculateur doit établir une liste des jonctions auxquelles sont associés des fragments qui pourraient éventuellement couper la course de balayage en question. Bien entendu, il peut n'exister 5 qu'une seule jonction de ce type ; par contre, une forme de littoral complexe peut produire plusieurs jonctions remplissant cette condition. Pour chaque jonction de ce type, le calculateur calcule tg ô (où Q est le gisement de la course de balayage par rapport à la direction cardiiaLe la plus proche), X, et (X tg ô - X) (en 10 supposant qu'il s'agit de l'octant N-NE), où X et ï sont les coordonnées cartésiennes transformées de la jonction. En raison de l'utilisation de tg 0, il est également nécessaire d'indiquer sur la liste l'octant dans lequel la course est située. Les changements d'octant se traduisent par des changements de signe de X et/ou de 15 ï. La figure 2 représente les octants ainsi que le code d'identification à trois bits et les signes de X et X. Pour chacune des jonctions choisies, le calculateur transmet quatre mots de vingt-quatre bits à la mémoire autonome S2 du générateur d'image. Les contenus de ces mots sont représentés sur 20 la figure 3. Le mot W1 contient le code d'octant à trois bits OC ainsi qu'un nombre de seize bits qui représente tg 0, tandis que le mot ¥2 contient un nombre de seize bits qui désigne X. (X tg 0-X) est donné par un nombre de vingt-neuf bits qui occupe la totalité du mot ¥3 ainsi que cinq bits du mot ¥4. Le mot ¥4 contient égale-25 ment le numéro de la jonction et, s'il y a lieu, un bit LS indiquant que le fragment est le dernier disponible. On va maintenant décrire la technique utilisée pour déterminer l'élément d'un fragment qui intersecte la course de balayage. La figure 4 représente les principes adoptés. Chaque dément de lit-30 toral est tracé, soit dans une direction Nord-Sud, soit dans une direction Est-Ouest, la direction effective étant indiquée par un code à 2 bits, comme représenté sur la figure 5. Ainsi, le littoral simulé n'est pas une représentation exacte d'un littoral réel quelconque, mais seulement une approximation étroite d'un tel lit-35 toral. Le calculateur a déjà calculé les valeurs d'X et de (X tg 0-X) pour une jonction associée à un fragment susceptible d'intersecter la course de balayage et la mémoire autonome S2 contient le code 71 38654 ' ^",8,4 à deux bits définissant chaque élément du fragment. Sur la figure 4, la position du navire est indiquée en 0 et la jonction est en A et a des coordonnées cartésiennes X et ï par rapport à l'origine 0. La course de balayage effective est indiquée ; elle fait un angle 5 0 avec la direction Nord et les coordonnées cartésiennesdu point A' correspondant sur la course de balayage, sont X tg 0 et X. Le déplacement AA' est égal à (X tg 0 - X), quantité positive. Si le premier élément AB s'étend dans la direction Nord, et si son extrémité a pour coordonnées X et (X+1), alors le point correspondant 10 B' de la course de balayage est tel que le déplacement BB' soit égal à [(X+1 ) tg 0 - X)1 . Cette quantité est également positive et, par conséquent, l'élément AB ne coupe pas la course de balayage. D'une manière analogue, si l'élément suivant BG s'étend dans une direction Est, le point correspondant de la course de balaya-15 ge est encore B'. Les coordonnées de C sont (X+1) et (X+1) et la distance CB' est égale à £(X+1 ) tg" "©-(-X+1 )3 • Cette quantité est encore positive. L'élément suivant CD s'étend également dans une direction Est et les coordonnées de D sont (X+2) et (X+1). Le point correspondant de la course de balayage est encore B' et le déplace-20 ment DB' est égal à £(X+1) tg ©-(X+2)] . Cette quantité est négative et ceci indique que l'élément CD coupe la course de balayage. La procédure détaillée ci-dessus est répétée pour chaque élément de chaque fragment possible afin de tenir compte du cas où plusieurs éléments couperaient la course de balayage. 25 La logique qui effectue les calculs décrits ci-dessus en détails est représentée sur la figure 6 en meme temps que la mémoire autonome S2. Les diverses unités sont desservies par un câble omnibus d'une capacité de 23 bits connecté, par l'intermédiaire d'un interface I, au calculateur C. 30 L'entrée de la mémoire S2 s'effectue par l'intermédiaire d'un registre R1 communiquant directement avec le câble omnibus. Une entrée est également appliquée à la mémoire par un compteur C1, qui applique aussi une entrée à un registre R2 et à une logique de commande CL1. Un registre R3 reçoit également des entrées 35 du câble omnibus et les deux registres R1 et R3 appliquent des entrées à une logique de commande CL2. Deux autres registres R4 et R5 reçoivent des entrées du câble omnibus et alimentent un addi 71 38656 6 2111894 tionneur-soustracteur AS qui applique des signaux au câble omnibus lors de la réception des signaux d'addition ou de soustraction appropriés. Les compteurs C2 et C3 sont des compteurs réversibles, c'est-à-dire, comptant positivement ou négativement ; ils sont com-5 mandés par des sorties de la logique de commande CL2 et appliquent des entrées à la logique de commande CL3. Le compteur C3 alimente également un registre R6 commandé par une sortie de la logique de commande CL3. La sortie du registre R6 est, en outre, retranchée du contenu du compteur C3 dans un soustracteur ST et le résultat 10 est transmis à la logique de commande CL3. Les autres unités sont un compteur C4 et une logique de commande CL4 alimentée par celui-ci„ Le fonctionnement de la logique du générateur d'image est 1e suivant : Comme déjà exposé, le calculateur détermine les paramètres 15 de toutes les jonctions concernées par une course de balayage particulière et transmet ces paramètres à la mémoire S2 et à la logique associée. Le code d'octant, c'est-à-dire les bits 0 à 2 du mot V1, est emmagasiné dans le registre R3, tandis que les seize bits 7 à 22 définissant tg 6 pour la jonction intéressée 20 sont emmagasinés dans le registre R4. La valeur de Y contenue dans les bits 11 à 23 du mot ¥2 est transmise au compteur C3, tandis que les treize bits de plus grand poids de (ï tg 0-X), à savoir les lits 11' à 23 du mot ¥3, sant transmis au compteur C2. Les autres bits définissant (T tg 0-X), à savoir les bits 0 à 10 du mot ¥3 25 et les bits 18 à 22 du mot ¥4 sont emmagasinés dans le registre R5. Les bits 0-9 du mot ¥4, qui représentent le numéro de la jonction, sont transmis au compteur CI. Le compteur C1 contient encore quatre autres bits qui définissent l'un des seize mots de la mémoire S2 couvrant le fragment associé à cette jonction particulière. 30 Les valeurs de X, de (X tg 0-X) et du numéro de jonction peu - vent etre emmagasinées dans la mémoire S2, par l'intermédiaire du registre R1, puis être transférées de cette mémoire dans les registres et les compteurs spécifiés. Cette possibilité est utile si plusieurs jonctions et plusieurs fragments peuvent être considérés 35 par course de balayage. A cet effet, une adresse est nécessaire pour désigner les emplacements de la mémoire S2 qui doivent contenir ces mots. Cette adresse est conservée dans le registre R2 et 71 38656 7 2111894 est "transmise au compteur Cl avant l'extraction des mots. Les quatorze bits présents dans le compteur C1 sont utilisés pour adresser la mémoire S1 et, par conséquent, transférer le premier de ces seize mots au registre R1. Chaque élément est défini 5 par deux bits de ce mot ; en conséquence, les deux premiers bits sont transmis a la logique de commande CL2. D'une manière analogue, les trois bits définissant l'octant sont appliqués à CL2 à partir du registre R3. La logique de commande CL2 est un dispositif de transmission conditionnée qui fournit des impulsions d'avancement 10 a, b et c pour le compteur C2, le registre R5 et le compteur C3, respectivement, et qui commande le sens de comptage des compteurs C2 et C3. Cette logique commande également 1'additionneur-soustracteur AS. En conséquence, la valeur de (X tg G-X) c'est-à-dire du déplacement vers l'Est du point correspondant de la course de ba-15 layage à partir de l'extrémité de l'élément, ou la valeur de X, c'est-à-dire du déplacement vers le Nord de l'extrémité de l'élément par rapport à l'origine 0, varie suivant la direction de l'élément (en ce qui concerne l'octant N-NE). Pour les autres octants, les quantités variables sont telles que représenté sur la figure 2. 20 L'additionneur-soustracteur AS est utilisé pour mettre à jour le contenu du registre R5, la valeur de tg © dans le registre R4 restant constante pour une course de balayage particulière quelconque. Dans le cas, par exemple, d'un élément horizontal (E-V), le registre R5 n'est pas mis à jour en raison de l'absence d'une entrée d'impul-25 sion d'horloge dans le registre à partir de la logique de commande CL2. Le signe de (X tg 0-X) est indiqué par le bit 12 contenu dans le compteur C2 et, d'une manière analogue, le signe de X est indiqué par le bit 12 contenu dans le compteur C3. Ces bits de signe 30 sont comparés au début et à l'extrémité de chaque élément par la logique de commande CL3, étant donné que tout changement de signe de (X tg ©-X) indique un élément qui coupe la course de T&Layage. La logique de commande CL3 contient, en conséquence, un dispositif de transmission conditionnée et de retard d'un bit permettant de com-35 parer les valeurs de (X tg Q-X) au début et à l'extrémité de chaque élément. Si (X tg ©X) varie effectivement, alors la logique de commande fournit une impulsion de décalage d qui est appliquée au 71 38656 8 2111894 registre R6 sauf si la valeur de ï devient négative, ce qui indique une erreur de 180° dans la valeur de ô. Le registre R6 est initialement réglé à une valeur supérieure à la plus grande valeur possible de X. En conséquence, la sortie 5 du soustracteur ST est négative. Bans ces conditions la sortie de la logique de commande CL3 provoque un réglage du registre R6 à la valeur effective de X fournie par le compteur C3, ce qui indique la • valeur de X pour un point d'intersection. Si un second point d'intersection entre un élément et la course de balayage est détecté, et 10 si sa valeur de X est inférieure à la valeur emmagasinée dans le registre R6, alors la sortie du soustracteurjest négative, ce qui provoque un réglage de R6 à la nouvelle valeur de X. Par contre, si la valeur de X pour le nouveau point d'intersection est supérieure à celle qui est déjà emmagasinée dans R6, la sortie du 15 soustracteur ST est positive. Dans ces conditions, la logique de commande CL3 ne provoque pas de modification du contenu du registre R6. Ainsi, on est sûr que R6 conserve la valeur de X pour le point d'intersection le plus proche de la position de navire simulée. 20 Chaque élément du fragment est traité de la même manière, le registre R1 étant incrémenté de deux bits pour chaque élément. A la fin d'un mot donné, lenot suivant parmi les seize mots existants est traité d'une manière analogue, les quatre mots étant fournis par le calculateur. La logique de commande CL1 four-25 nit une sortie lorsque le dernier mot a été introduit dans le compteur C1 tandis que la logique de commande CL4 fournit une sortie lorsque le dernier élément a été traité. A ce stade, le registre R6 contient soit la valeur de X du point d'intersection le plus proche de la position de navire simulée, soit la 30 grande valeur initiale si aucun point d'intersection n'a été détecté. Cette quantité est renvoyée au calculateur qui détermine si une valeur utilisable de X est présente. Dans l'affirmative, les valeurs connues de X et 0 sont utilisées pour provoquer l'ac-tionnement de l'indicateur par l'unité de contrôle de celui-ci. 35 Si plusieurs jonctions sont traitées pour une valeur parti culière de 0, le mot V1 -n'a besoin d'être manipulé qu'une seule fois, étant donné qie la valeur de tg 0 et le code d'octant 71 38656 9 2111894 ne sont pas modifiés. Dans ce cas, le mot ¥1 est placé dans le registre spécifié et les mots ¥2 à ¥4 pour chaque jonction sont placés dans la mémoire S2. Les mots ¥2 à ¥4 pour une jonction sont ultérieurement 5 transférés dans les registres et compteurs spécifiés et le fragment est traité. Ce processus se répète pour chaque fragment. La procédure ci-dessus se répète également pour chaque incrément de 0 à mesure que la course de balayage tourne. Les valeurs de X et 0 peuvent être combinées avec d'autres valeurs relatives 10 à d'autres navires, etc., insérées par d'autres moyens. Etant donné que le générateur d'image utilise des techniques digitales, on obtient un alignement précis. Le processus décrit pour déterminer les distances de littoraux simulés peut également être utilisé pour déterminer les dis-15 tances d'un ou plusieurs profils à l'intérieur des terres. A cette effet, certains des mille fragments et jonctions peuvent être considérés comme représentant des parties de ces profils au lieu de j&rties de littoral. Ceci réduit la longueur totale de littoral mémorisée sauf si l'on utilise une mémoire S3 plus grande et davantage 20 d'emplacement dans la mémoire S1 du calculateur. Si le littoral e± le profil sont tous deux représentés, les éléments peuvent avoir des dimensions différentes pour ces deux représentations, à condition que le nombre d'éléments par fragment reste constant. Le générateur de littoral simulé est, de préférence, agencé 25 de manière à fonctionner avec de l'avance par rapport à la course de balayage, de façon que le calculateur contient les paramètres de dislance et de gisement pour plusieurs courses d'avance par rapport au balayage actuel. L'utilisation de quatre mots de vingt-quatre bits pour comman-30 der le fonctionnement du générateur d'image ne constitue que l'un des modes de mise en oeuvre possibles de l'invention. On pourrait utiliser un nombre différent de mots et une longueur de mot différente. Le codage des octants et des quadrants représenté sur les figures 2 et 5 peut également être modifié et l'on peut tracer des 35 éléments dans plus de quatre directions. La logique représentée sur la figure 6 n'a pas été décrite en détails étant donné que les diverses fonctions peuvent être 71 38656 10 2111894 assurées de diverses manières. Le schéma symbolique lui-même n'est qu'un simple exemple des caractéristiques nécessaires de la logique. 71 38656 n 2111894 REVEND IC AT IONS 1 - Générateur digital pour produire une image de littoral simulé pour radar panoramique caractérisé en ce qu'il comprend un premier moyen de mémorisation agencé pour emmagasiner les 5 coordonnées cartésiennes par rapport à une origine fixe de chacun d'une série de points espacés le long d'un littoral simulé désiré, un second moyen de mémorisation agencé pour emmagasiner un certain nombre d'ensembles d'éléments, chaque ensemble étant défini par l'un desdits points espacés et déter-10 minant le littoral simulé entre ce point et le suivant, un calculateur agencé pour déterminer, pour chaque course de balayage radial, les ensembles dont au moins un élément inter— secte la course de balayage et pour transformer les coordonnées du point espacé définissant chacun de ces ensembles d'éléments 15 en les rapportant à une origine variable, et des moyens logiques pour déterminer, pour chaque course de balayage, la distance entre cette origine variable et le point d'intersection de la course et du plus proche desdits éléments. 2 — Générateur suivant la revendication 1, caractérisé 20 en ce que chaque élément est un segment de droite de longueur unitaire tracé dans l'une d'un, nombre fixe de directions à partir d'un point. 3 - Générateur suivant la revendication 2, caractérisé en ce que lesdits segments peuvent être tracés dans un sens ou 25 dans l'autre et suivant l'une ou l'autre de deux directions de coordonnées perpendiculaires, de façon à donner quatre directions possibles à partir dudit point. 4 - Générateur suivant la revendication 3, caractérisé en ce que les quatre directions perpendiculaires entre elles 30 représentent les quatre directions cardinales de la rose des vents. 5 - Générateur suivant l'une quelconque des revendications 1 à 4 caractérisé en ce que les moyens logiques sont agencés pour déterminer, pour chaque course de balayage, les éléments de 35 chacun desdits ensembles intersectant la course de balayage. 71 38656 12 2111894 6. Générateur suivant la revendication 5, caractérisé en ce que les moyens logiques sont agencés pour déterminer, pour chaque élément de chacun desdits ensembles, les coordonnées cartésiennes de l'extrémité de l'élément considéré et du 5 point d'intersection entre la course de balayage et cet élément ou une projection de celui-ci dans une direction fixe prédéterminée et le sens de la direction allant de l'extrémité de l'élément à ce point d'intersection, tout changement de sens de ladite direction par rapport au sens de la 10 direction homologue relative à l'élément précédent, indiquant une intersection entre l'élément considéré et la course de balayage. 7. Générateur suivant la revendication 6, caractérisé en ce que les moyens logiques sont agencés pour déterminer la 15 distance par rapport à l'origine variable de chacun desdits points d'intersection entre un élément et la course de balayage et pour transmettre au calculateur les paramètres de l'élément contenant le point d'intersection le plus proche de ladite origine.