Brevet FR2534382A1 — publié le 19840413

DISPOSITIF DE RECEPTION DE SIGNAUX DE TYPE TACAN L'invention concerne un dispositif de réception de si- gnaux de type TACAN, notamment, dispositif prévu pour fournir ta valeur d'un angle TACAN: TAC tel que: TAC = ( 4135/9) + k 40 o k ( O o a, b, c, W sont des constantes et n(t) une composante de bruit. De tels dispositifs sont utilisés dans la navigation aérienne Ils servent à la détermination de la position des aéro- nefs dans lesquels ils sont installés Cette position est repéUée par rapport à une balise qui émet des signaux de repérage. Les dispositifs connus utilisent des circuits à ver- rouillage de phase pour déterminer les valeurs X 135 et 415; ces circuits n'ont pas un comportement satisfaisant vis-à-vis des va- riations brutales du niveau d'entrée des impulsions et des évolu- fions rapides de la position de l'aéronef. L'invention propose un dispositif de réception du genre décrit dans le préambule qui, par un traitement élaboré des signaux reçus, évite, dans une large mesure, ce mauvais comportement des dispositifs connus. Pour cela, un dispositif de réception de signaux de type TACAN est remarquable en ce qu'il comporte des moyens-d'accumula- tion pour accumuler N impulsions d'amplitude y(ti) avec corrélati- vement l'information "t " déterminant leur temps d'arrivée, des moyens de stockage pour stocker des données représentant une ma- trice M: M 1,4 m 2,4 M 3,4 m 4,4 m 5,4 j j j i i p i i l 1 lp i if, i = N N Ir L 1 = 1 = M 2, 1 = il 4, 1 i m 1,5 - M 2,5 ' m i 3,5 l m i 4,5 l m 1 ,5 1 m 3,3 Pl 5,5 m 1,3 m 1,5 11,1 12,1 13,1 14,1 ,1 FI, 1, 2 m 2,2 m 3,2 il 4,2 %, 2 M 1,3 m 2,3 M 3,3 M 4,3 m 5,3 f 4 = o = m 1, 1 M 4,4 m 1,2 il 1,4 N M Ir sin 2 wt 1 2,2 = L 1 = 1 sin 2 wlfi -N = y S 1 nwt i i=l N = v S 1 nw't 1 /1 i=l, fi 2 = i cos wt i 1 = 1 -N = v cos 2 W ti L 1 = 1 m = m = Ir coswt 1 3,1 L 1 = 1 - R = M 5 'l = coswtti i =;l Il = V L i=l N Ir L 1 = 1 Ir L 1 = 1 N = î i=l M = 1 i=l N v L i=l m 2,3 m 3,2 m 2,4 = m 4,2 m 2,5 = m 5,2 t'el 3,4 =m 4,3 lIl 3,5 =m 5,3 "'4,5 =%, 4 o W, = 9 w sinwti coswfi sinwti sinw'ti sinwti coswlti coswtl sinw'ti coswt I Coswfi sinw'ti cosw'ti représentant un vecteur co Lonne Z et des données N Ir Y(f i) L i= 1 - N y i=l h y i=l N V L i=l N i= 1 y(fi) sinwtl Y(ti) coswti y(ti) sinw'ti Y(ti) cosw'ti- et des moyens de M et Z- xl x 2 K = x 3 x 4 X 5 et pour détern 1 12 de ca Lcu L pour ca Lcu Ler un vecteur colonne X à partir c a cos 15 a si#15 M- z b co#135 b sin 135 liner Les ang Les 15 et 135 en éva Luant: i arct-g x 3/'x 2 ) 5 = arctg X 5/x 4 et de Là L'ang Le TACAN: TAC. La description suivante faite en regard des dessins annexés, le tout donné à titre d'exemple non limitatif, fera bien comprendre comment L'invention peut être réalisée. La figure 1 montre un dispositif de réception de signaux TACAN conforme à l'invention. La figure 2 montre, en fonction du temps, la numérotation des différentes interruptions nécessaire pour L'exp Lication du fonc- tionnement du dispositif montré à La figure 1. La figure 3 représente L'ordinogramme généra L du fonc- tionnement du dispositif de La figure 1. La figure 4 représente L'ordinogramme du moniteur "temps rée L" mentionné dans L'ordinogramme de la figure 3. La figure 5 représente L'ordinogramme du moniteur "temps différé" mentionné dans L'ordinogramme de La figure 3. La figure 6 représente L'ordinogramme du sous-programme *IRQ 1 mentionné dans L'ordinogramme de La figure 4. La figure 7 représente L'ordinogramme du sous-programme IRQ 5 mentionné dans l'ordinogramme de La figure 4. La figure 8 représente L'ordinogramme des sous-programmes IRQ 6 à 14 mentionnés dans L'ordinogramme de La figure 4. La figure 9 représente l'ordinogramme du sous-programme IRQ 15 mentionné dans l'ordinogramme de La figure 4. La figure 10 représente L'ordinogramme d'un sous-programme FIFOA mentionné dans Les ordinogrammes des figures 8 et 9. 2 5 La figure 11 représente, en fonction du temps, Les im- pu Lsions de références de signaux TACAN en mode "X" et en mode "Y". La figure 12 représente L'ordinogramme d'un sous-programme TANG mentionné dans L'ordinogramme de la figure 5. La figure 13 représente un schéma destiné à montrer, en fonction du temps, différentes grandeurs OFF 15 et O FF 135 interve- nant par La suite. La figure 14 représente un ordinogramme d'un sous- programme OFSET mentionné dans L'ordinogramme de la figure 12. La figure 15 représente un ordinogramme d'un sous- programme COMPUT mentionné dans l'ordinogramme de La figure 5. La figure 16 représente un ordinogramme d'un sous- programme TETA mentionné dans L'ordinogramme de La figure 15. 2534382 La figure 17 représente un ordinogramme d'un sous- programme SPMAT mentionné dans L'ordinogramme de La figure 5. La figure 18 représente un ordinogramme d'un sous- programme SPEXT mentionné dans L'ordinogramme de la figure 5. La figure 19 représente un ordinogramme d'un sous- programme LOC 90 mentionné dans l'ordinogramme de La figure 18. La figure 20 représente un ordinogramme d'un sous- programme LOC 360 mentionné dans l'ordinogramme de la figure 18. Le dispositif de l'invention qui va être décrit est destiné à traiter des signaux TACAN Une norme STANAG 5034 définit officiellement ces signaux. Selon ce procédé, un aéronef se repère par rapport à une balise qui émet sur une porteuse de l'ordre du G Hz des impul- sions modulées en amplitude L'enveloppe S(t) de cette modulation s'écrit: (t) = 0,5 + A 15 sin 2 T 15 (t e) + A 135 sin 2 r 135 (t 90) 13 A 15 = A 135 = 0,105 0,045. e est l'angle TAC de relèvement, c'est l'information que doit fournir à l'utilisateur le dispositif de l'invention. L'origine des temps t = O est définie par des trains de réfé- rence qui sont des suites d'impulsions régulièrement réparties dans le temps On distingue deux sortes de trains de référence: un premier qui apparaît à chaque période de 1/15 S et un second à chaque période de 1/135 s Comme cela sera expliqué par la suite, l'invention permet de s'affranchir de la détection du second train de référence sans pour cela perdre la précision de la détermination de l'angle 6 Les impulsions qui ne font pas partie des trains de référence sont émises à des instants pseudo- aléatoires Dans la suite du présent mémoire, on ne distinguera qu'une impulsion de la paire; ces impulsions seront notées y(t) et l'on a: y(t) = S(t), relation que l'on met sous la forme: y(t) = a sin (wi + _ 15) + b sin ( 9 wt + 4135) + c + n(f) ( 1) o: a =A 15 b =A 135 w = 2 Mr 15 + 15 = 2 W 15 O = 2 N 15 90 n(t) est une composante de bruit. Le dispositif de L'invention comporte, tout d'abord, une antenne 1 qui sert tant à émettre des impulsions d'interroga- tion provenant d'une partie émission 5 qu'à recevoir les impulsions de réponse d'une ba Lise TACAN non représentée sur la figure Cette partie 5 est munie d'une commande 6 pour déterminer Le mode X et Le mode'Y d'émission; ces modes se différencient principalement par L'espacement dans Le temps des impulsions On pourra se reporter, à ce sujet, à La norme précitée Un registre 7 contient une infor- mation sous forme numérique indiquant la position de la commande 6. Un duplexeur 10 qui est dessiné sur la figure 1 sous la forme d'un inverseur permet d'aiguiller correctement Les impul- sions d'interrogation et tes impulsions de réponse Ces impulsions de réponse sont, après passage dans Le duplexeur 10, amplifiées par un amplificateur 12, puis leur porteuse est changée au moyen d'un circuit mélangeur 15 pour être encore amplifiées par un ampli- ficateur à fréquence intermédiaire 20, un détecteur 22 restitue, à sa sortie, les impulsions dont l'amplitude y(t) est donnée par La formule ( 1) A ce détecteur 22, est rattaché un circuit d'inva- lidation 23 pour invalider le signal de sortie du détecteur 22. Ce circuit est représenté sous la forme d'un interrupteur dont la position ouverte ou fermée est commandée par Le contenu d'un regis- tre 24. Conformément à l'invention, pour obtenir l'angle de relèvement, le dispositif de L'invention montré à la figure 1 est remarquable en ce qu'il comporte des moyens d'accumulation 30 pour accumuler N impulsions sous forme numérique obtenue par un conver- tisseur analogique-numérique 32 connecté en sortie du circuit 7 2534382 d'inva Lidation 23 et coopérant avec un registre tampon 34; ces moyens d'accumulation 30 sont constitués essentiellement par une mémoire du type "première donnée entrée, première donnée sortie", mieux connue sous Le nom de mémoire FIFO Ces moyens accumulent, en plus des impulsions, leur date d'arrivée, c'est-à-dire le temps o elles arrivent Les dates d'arrivée sont élaborées par un compteur de temps 36 comptant les signaux d'un oscillateur à quartz 38 La mémoire 30 est organisée, de ce fait, en deux par- ties: une partie 30 A pour L'accumulation de l'amplitude d'impul- sions successives codée avec huif éléments binaires et une partie D pour l'accumulation des dates respectives codée avec seize éléments binaires dont quinze sont significatifs Le dispositif de la figure 1 est remarquable aussi en ce qu'il comporte des moyens de stockage pour stocker des données représentant une ma- trice M: MI M 1,2 M 1,3 M 1,4 M 1,5 M 2,1 M 2,2 M 2,3 M 2,4 M 2,5 M M M M M M i M =M 3 1 M 3 2 M 3,3 M 3,4 M 3,5 -M 4,1 M 4,2 M 4,3 M 4,4 M 4,5 M 5,1 M 5,2 M 5,3 M 54 M 5,5 o: i Ir 2 M N m L sin wti 1, l 2,2 i=l N m = Ir sin 2 W'ti 4,4 L i=l N M m v S 1 nwt 1 = L 1, 2 2,1 i=l N m = M 4,1 = VL sinw'ti 1,4 i=l N il = l cos 2 wti 3,3 /1 1 = 1 n 2, l cos W ti M 5, 5 = /1 i=l coswt 1 cosw 1 t i N = v sinwti coswti L i=l N m 2 ' 3 =m 3,2 y L 1 = 1 sinwti sinw'ti sinwti cosw'ti coswti sinw'ti coswti cosw'tl -sinw'ti cosw'ti m 2,4 = m 4,2 N m 2,5 = m 5,2 = = 1 1 N m = m v 3,4 4,3 4 = 1 1 m m 3,5 = m 5,3 = 1 = 1 -M m m v 4,5 = 5,4 1 = 1 o W, = 9 w N M, m v 1, 3 = 3, l 1 = 1 N m = m Ir 1,.5 5,1 4 = 1 1 ei des données roprésentani un vecieur colonne Z i= 1 i= 1 N y y(Hi) sinfl Wi y Hl> coswti y(fi) cosw'ti - et des moyens de calcut de M et Z x 1 x 2 x 3 x 4 X 5 et pour déterminer 4 > 15 = 4 > 135 = et de Là l'angle T) les * pour calculer un vecteur colonne X à partir c a cos 4 > 15 asin 4 > 15= Z b cos> 135 b sin 4 > 135 angles 4 > 15 et 4 > 135 en évaluant arctg x 31 'x 2 arctg X 5/x 4 %CAN:TAC. 2534382 TAC = ( 4135/9) + (k x 40 ) |TAC 15 | 200 0 On trouvera en annexe la justification de cette nota- tion matricielle. L'ensemble 50 communique avec l'extérieur par au moins deux bus: un-bus d'adresses BSA à seize fils et un bus de données BSD à huit fils Les sorties de la mémoire FIFO 30 sont connectées au bus BSD par un circuit de commutation formé d'amplificateurs à trois états 60, 61, 62 dont l'état passant ou bloqué est déter- miné par un signal appliqué aux fils BO, B 1, B 2 respectivement. Ces signaux proviennent d'un décodeur 72 connecté au bus BSA. Pour faire apparaître un signal sur un de ces fils BO, Bl et B 2, il suffit d'engendrer sur le bus BSA le code d'adresses adéquat. L'information de relèvement e ou TAC apparaît à une borne 73 con- nectée en sortie d'un registre d'affichage 74 commandé par un si- gnal véhiculé par un fil BO provenant du décodeur 72, l'entrée de données de ce registre 74 étant reliée au bus BSD Les registres 7 et 24 dont il a été question ci-dessus sont aussi reliés au bus BSD; les signaux présents sur des fils BXY et B 6 issus du décodeur 72 permettent les échanges d'information entre l'ensemble 50 et ces registres 7 et 24 respectivement. 1 1 Le microprocesseur utilisé dans cet exemp Le est le mi- croprocesseur 6809 fabriqué par MOTOROLA Ce microprocesseur est d'un type comportant une fonction d'interruption; pour commander ce L Le-ci, il faut app Liquer un signal d'interruption à L'entrée IRQ donf est pourvu Le microprocesseur 50 A Cette entrée est reliée à la sortie d'un circuit d'interruption 75 couplé au compteur de temps 36 Ce circuit 75 est une bascu Le enregistrant L'évolution de l'élément binaire de plus fort poids du compteur de temps 36; un signal de remise à zéro véhiculé par le fi L B 5 connecté en sortie du décodeur 72 remet à zéro cette bascule. Le compteur de temps est un compteur à seize éléments binaires dont, en fait, quinze sont nécessaires pour fixer la date d'arrivée des impulsions Comme la fréquence des signaux de l'hor- loge 38 est fixée à 4423680 Hz, on aura une interruption toutes les 1/135 s Ces signaux vont déclencher, dans le microprocesseur de l'ensemble 50, différents programmes d'interruptions Chaque pro- gramme sera déterminé par un numéro d'interruption; on compte quinze sortes d'interruptions IRQ 1 à IRQ 15 (voir la figure 2); le changement de valeur du seizième élément binaire du compteur de temps 36 indique un changement d'interruption. La mémoire morte 50 C faisant partie de l'ensemble à mi- croprocesseur 50 contient les différentes instructions de program- mes Ces différentes instructions sont organisées en deux moniteurs: un moniteur dit moniteur temps réel (mon: TR) et un moniteur dit moniteur temps différé (mon: TD) La ligne du bas de la figure 2 indique les temps réservés aux travaux à effectuer- par ces diffé- rents moniteurs A chaque apparition d'une interruption, le moni- teur temps réel est appelé et finit ses tâches bien avant, en prin- cipe, que n'apparaisse une autre interruption, de sorte qu'entre la fin de la tâche consacrée à une interruption et l'apparition d'une nouvelle interruption, il y a du temps disponible pour le moniteur temps différé (mon TD). Pour expliquer plus en détail le fonctionnement du dis- positif de l'invention, on fera, dans ce qui suit, mention des différentes possibilités du microprocesseur 6809 utilisé On fera donc appel, notamment, aux registres d'index X et Y, au pointeur de pile matériel S, tous ces organes ayant une capacité de seize éléments binaires, aux accumulateurs A et B de huit éléments bi- naires, mais qui forment par concaténation le registre D à seize éléments binaires Pour plus de détails concernant ce microproces- seur, on pourra se reporter aux notices du fabricant. La figure 3 montre l'ordinogramme général du fonctionne- ment du dispositif de L'invention; cet ordinogramme, ainsi que ceux qui vont suivre, est constitué de différentes cases A la figure 3, la case KO indique le début du programme La première opération qui est effectuée est une opération de masquage d'inter- ruptions (case K 1), de sorte que celles-ci, engendrées continuel- lement par le circuit 75, ne viennent perturber les opérations d'initialisation qui vont suivre (case K 2) Dans ces opérations d'initialisation, on notera seulement que le contenu d'une mémoire dénommée NOIRQ est mis à "O" A la case K 3 correspond l'opération qui enlève Le masque sur Les interruptions Les opérations qui suivent sont déterminées par le moniteur TD (case K 4) s'il n'y a pas d'interruptions Par contre, dès qu'une apparaît, c'est le moniteur TR (case K 5) qui ordonne Les tâches à effectuer; celles-ci terminées, on revient aux tâches du moniteur TD laissées en suspens lors de l'apparition de l'interruption. A la figure 4, on montre la constitution du moniteur TR; celui-ci n'intervient, comme on l'a déjà dit, que sur l'apparition d'une interruption, c'est ce qui est rappelé à la case K 10 La première opération de ce moniteur consiste à remettre à zéro le circuit 75; pour cela, on fait apparaître un signal sur le fil B 5 (case K 11); puis, il y a incrémentation d'une unité du contenu de la mémoire NOIRQ (case K 12) Puis le contenu de cette mémoire NOIRQ est comparé avec le contenu d'une mémoire IRQMAX dans la- quelle était inscrit le chiffre 16 (case K 13) Si il n'y a pas égalité des contenus de ces mémoires, le contenu de la mémoire NOIRQ va déterminer l'adresse o l'on trouve les programmes d'in- terruption (case K 14) IL y a quinze programmes d'interruption P (IRQ 1), P (IRQ 2) P (IRQ 15) (cases K 15, K 16, K 17 respec- tivement). Dans Le cadre de L'invention, on ne s'intéressera pratiquement qu'aux programmes d'interruptions P (IRQ 1), P (IR 05) P (IRQ 15), Les autres étant affectés à des tâches qui ne font pas partie de l'in- vention Tous Les programmes d'interruptions se terminent par une instruction du type RTI (case K 18), ce qui signifie que l'on revient au moniteur TD Si le test indiqué à la case K 13 se révèle positif, on réinitia Lise le contenu de La mémoire NOIRO (case K 20). Les tâches à effectuer par Le moniteur TD sont montrées à L'aide de L'ordinogramme de la figure 5 La première opération effectuée (case K 25) est un test sur un indicateur MTANG Cet indi- cateur, ainsi que d'autres dont il sera fait mention par la suite, sont des mémoires dont Le contenu peut être égal soit à " 1 " soit à "'O" Lorsque le contenu est " 1 ", on dit que l'indicateur est activé et lorsque le contenu est "O", il est désactivé Si l'indicateur MTANG est activé, cela signifie que le traitement pour obtenir L'an- gle de relèvement est demandé, sinon, on passe à une phase d'at- tente: on se rebouc Le sur ce test Cet indicateur MTANG est activé, dans un programme d'interruptions non détaillé dès qu'une certaine qualité des signaux reçus est obtenue Pour entreprendre ce traite- ment, on commence par désactiver L'indicateur MENREG (case K 26), ce qui aura pour effet, comme on le verra par la suite, de bloquer, pour tout nouvel enregistrement, La mémoire 30 On passe ensuite (case K 27) à un sous-programme TANG qui a pour but de rechercher les trains de référence et de Les dater IL peut arriver que cette recherche soit infructueuse; dans ce cas, on met un "O" dans le contenu d'une mémoire-VTANG et si cette recherche est fructueuse, on met alors un " 1 " dans cette mémoire VTANG A la case K 28, on teste Le contenu de cette mémoire VTANG Si te contenu est égal à " 1 ", on passe à une série d'opérations définies par Les sous-program- mes COMPUT (case K 29) SPMAT (case K 30) SPEXT (case K 31) Tous ces sous-programmes seront détail Lés dans la suite du présent mémoire. A La fin de ces opérations, L'angle TAC sera calculé et prêt à être affiché, ce qui se fera lors du programme d'interruptions P (IRQ 1). Puis, à La case K 32, on désactive l'indicateur MTANG et l'on active, case K 33, l'indicateur MENREG Si Le test, indiqué à la case K 28, du contenu de La mémoire VTANG est différent de " 1 ", on passe tout de suite à la case K 32. Le programme d'interruption P (IRQ 1) dont L'ordinogramme est montré à la figure 6 consiste, d'une part, à lire Les informa- tions d'entrée (notamment le contenu du registre 7 indiquant le mode TACAN dans lequel on se trouve sera transféré dans une mémoire baptisée MSYNTH) et, d'autre part, à fournir des informations de sortie (notamment le contenu d'une mémoire dénommée PSI dans la- que L Le se trouve l'angle TACAN sera transféré dans Le registre d'affichage 74). L'ordinogramme montré à La figure 7 est relatif au pro- gramme d'interruption P (IRQ 5) La première tâche (case K 60) con- siste à tester la valeur de l'indicateur MENREG; si celle-ci n'est pas égale à " 1 ", on va tout de suite à la fin de ce programme d'in- terruption; si celle-ci est égale à " 1 ", on effectue un blocage de réception (case K 61) Pour cela, un mot de blocage transmis par le bus BUSD est emmagasiné dans le registre 24 dès qu'un signal actif apparaît sur le fil B 6 Le circuit interrupteur 23 ou circuit d'invalidation est mis en position ouverte Puis, on met à zéro tout le contenu de La mémoire 30 (case K 62) Pour cela, on fait apparaître un signal sur Le fil B 3 qui est relié à la commande de mise à zéro de la mémoire 30 Puis, on permet la réception des signaux en enregistrant un nouveau mot dans le registre 24 (case K 63) en faisant apparaître à nouveau un signal sur le fil B 6 A ce moment, la mémoire FIFO est apte à recevoir les impulsions TACAN dont l'amplitude est codée numériquement et leur-"date" d'arrivée fournie sous forme numérique par le compteur 36 La case K 64 qui suit ces dernières opérations représente la tâche d'acti- vation de l'indicateur MLFIFO et la case K 65 qui suit encore, la tâche de désactivation de l'indicateur MENREG. Les programmes à effectuer pour les interruptions IRQ 6 à IRQ 14 (fig 8) sont les mêmes La première tâche (case K 70) que l'on effectue est le test sur l'indicateur MLFIFO Si sa valeur est nulle, on passe tout de suite à la fin du programme d'interruption -si sa valeur est " 1 ", on charge dans le registre X la valeur $ DOO O (en hexadécimal) pour t'interruption IRQ 6, D 096 pour IRQ 7 et ainsi de suite et, enfin, D 4 BO pour IRQ 14; le registre X contient les adresses pour ranger les données contenues dans La mémoire 30. -2534382 Ces adresses sont nécessaires pour la procédure qui suit et indiquée à La case K 73 Cette procédure consiste à Lire Le contenu de la mé- moire FIFO; Les données 'Lues sont rangées en fonction du contenu du registre X On se rend compte que cent cinquante octets sont prévus pour cette Lecture; c'est-à-dire que L'on peut L-ire cinquante impul- sions TACAN avec leur date (deux octets pour la date et un octet pour L'amp Litude de L'impulsion) Le programme d'interruption P (IRQ 15) dont L'ordinogramme est montré à La figure 9, est pratiquement iden- * tique à celui de La figure 8, sauf qu'après le test de L'indicateur MLFIFO (case K 75), on b Loque la réception des signaux (case K 76), La valeur $ D 546 est mise dans le registre X (case K 80) et L'on passe à la procédure de Lecture de la mémoire 30 (case K 82). A la figure 10, on a représenté l'ordinogramme de la pro- cédure SBR (FIFOA) qui régit La Lecture de la mémoire 30 La case K 85 indique la première tâche qui est effectuée, on met la valeur "O" dans le registre S affecté dans ce sous-programme à contenir le nombre d'impu Lsions A la case K 86 qui suit, p Lusieurs tâches sont indiquées La date codée avec seize éléments binaires stockée dans la partie 30 D de La mémoire FIFO est transférée dans Le registre D en activant les fils BO, B 1, B 2 d'une manière adéquate Puis l'élé- ment binaire de plus fort poids contenu dans le registre A, donc celui de la date, est rendu égal à "O" en faisant L'opération "ET" logique entre chaque élément binaire du contenu du registre A et du nombre binaire 01111111 soit en hexadécimal $ 7 F On range cette donnée ainsi traitée à l'adresse dont l'emp Lacement est défini par Le code contenu dans le registre X; après rangement, le code con- tenu dans ce registre X est incrémenté de deux unités, ce qui est indiqué par X++ On range ensuite l'amplitude de l'impulsion dispo- nible à la sortie de la mémoire FIFO dans sa partie 30 A Ce contenu est rangé à l'emplacement défini par le contenu du registre X, puis ce contenu est incrémenté d'une unité, ce qui est noté X+ A la case K 87, on recharge le registre D de la même donnée provenant de La partie 30 D On va considérer, à la case K 88, la valeur de L'élément binaire de plus fort poids qui peut être considéré comme un élément binaire indiquant le signe (+) ou (-) Si le contenu de D est con- sidéré comme positif, on va à l'étiquette "FIFO Al" qui est Le début d'une branche de programme, s Uil est négatif, on va à l'étiquette "FIFOA 2 " qui est le début d'une autre branche de programme A L'éti- quette "FIFOA 1 " le contenu du registre D est transféré dans une mé- moire baptisée TEMPS (case K 90) Puis, (case K 91), on fait appa- raitre un signal sur le fil B 4 en engendrant un code d'adresses convenable sur le bus BUSA; ce signal a pour effet de décaler vers la sortie le contenu de la mémoire 30 tant à sa partie 30 A qu'à sa partie 30 D Le contenu disponible à La sortie de La partie 30 D est transféré dans Le registre D (case K 92), puis on teste Le signe (case K 93) La branche de programme débutant à L'étiquette "FIFO Al" ne concerne que Les valeurs positives; si cette valeur testée à la case K 93 est négative, cela veut dire que la donnée suivante ne fait pas partie de La même interruption IRQ que la donnée précédente; on va alors à l'étiquette "FIFOA 3 " La branche de programme commen- çant à l'étiquette "Fi FOA 2 " comporte des opérations indiquées aux cases K 90 ', K 91 ' et K 92 ' identiques aux opérations K 90, K 91 et K 92. Pour rester dans cette branche de programme débutant à "FIFO Al", il faut que les valeurs prélevées aux sorties de la partie 30 D soient toujours négatives; si elles deviennent positives, ce qui est testé à la case K 93 ', on va à l'étiquette "FIFOA 3 " Les opérations qui sont ensuite effectuées dans cette branche de programme débutant à l'é- tiquette "FIFOA 2 " sont identiques à celles effectuées dans La bran- che de programme débutant à l'étiquette "FIFOA 1 " Dans ce qui suit, il ne sera plus fait mention de cette branche de programme "FIFOA 2 ". Après le test indiqué à la case K 93, on teste (case K 94) si deux valeurs successives de dates, une contenue dans le registre (D) et L'autre dans La mémoire TEMPS, sont égales Si elles sont égales, ce La signifie qu'i L n'y a plus d'autres dates contenues dans la mémoire FIFO 30 Pour justifier cette affirmation, on se repor- tera à la notice du fabricant de la mémoire FIFO utilisée ici:à savoir la mémoire Am 3341 de "Advanced Micro Device" La réponse po- sitive de ce test conduit encore à l'étiquette "FIFOA 3 " La réponse négative conduit à un autre test (case K 95) On examine si la diffé- rence entre deux dates successives est supérieure à 20 ps, ce qui, comptetenu de la valeur 4423680 Hz de La fréquence de L'osci L Lateur 38, s'écrit en hexadécimal $ 58 Si l'écart est inférieur à 20 ps, La dernière date n'est pas prise en considération et l'on passe à la date suivante, on revient à l'étiquette "FIFO Al" Si l'écart est supérieur à 20 ps, on exécute un autre test (case K 96); on examine si L'écart entre deux dates est supérieur à 50 Ops ($DC), ce qui est normal pour des impulsions de réponse se Lon ladite norme STANAG Si cet écart est inférieur à 50 ps et aussi supérieur à 20 ps, on admet que ces impulsions font partie du train de réfé- rence principale Ces impulsions sont nécessaires pour le fonction- nement, mais n'ont pas à intervenir directement pour le calcul de l'angle de relèvement; à la case K 98, on affecte le niveau $FF à ces impulsions; on passe par l'intermédiaire du registre A dont le contenu est transféré à l'adresse mémoire définie par le contenu du registre X augmenté de deux unités, ce qui est écrit à La case K 100 par la notation (A) i 2, X Si ledit écart est supérieur à ps, le code de L'amplitude de l'impulsion disponible à la sortie de La partie 30 A est emmagasiné dans Le registre A (case K 101) On teste si ce contenu est égal à la valeur $FF (case K 102) Si cela est vrai, on va à l'étiquette "FIFO 5 " placée en avant de La case K 100 Le fait d'avoir pour amplitude une valeur éga Le à $FF signi- fie qu'une mauvaise conversion a été effectuée par le convertisseur 32 Onva, là encore, directement à l'étiquette "FIFOA 5 ", sans incrémenter Le registre S destiné à contenir le nombre d'impulsions valides, ce qui est fait à la case K 103 pour un test négatif indiqué à la case K 102 Outre l'opération de rangement du registre A indi- quée à la case K 100, les dates sont rangées, après annulation de l'élément binaire de plus fort poids, aux endroits indiqués par le contenu du registre-X A La case K 104, on incrémente le contenu de trois unités de ce registre X, ce qui va donner les adresses pour les données suivantes On revient alors à l'étiquette "FIFO Al". A L'étiquette "FIFOA 3 ", on commence par mettre la valeur $FFFF à l'endroit indiqué par le registre X (case K 105) et le contenu de ce registre est incrémenté de deux unités; le contenu du registre S est transféré -(case K 106) dans le registre Y. Avant de poursuivre l'explication du fonctionnement de l'invention, il convient de résumer ce qui vient d'être dit: 1 ) La mémoire FIFO 30 commence à enregistrer les impul- sions à l'interruption IRQ 5 (case K 63 figure 7) et termine son enregistrement au début de l'interruption IRQ 15 (case K 76 figure 9). 2 ) La mémoire FIFO 30 est Lue pendant les IRQ 6 à 15; pendant l'IRQ 6, les données lues ont été enregistrées pendant l'IRQ 5 etc et pendant l'IRQ 15, Les données lues ont été enregistrées pendant L'IRQ 14 On admet qu'aucune donnée n'a été enregistrée pen- dant l'IRQ 15. 3 ) Les données lues sont enregistrées trois octets par trois octets et $ 96 ( 150) octets sont réservés à chaque IRQ Le pre- mier octet est réservé aux éléments de plus fort poids de la date, le deuxième aux éléments de plus faible poids, le troisième est relatif à l'amplitude de L'impulsion TACAN. 4 ) Les données enregistrées pendant l'IRQ 5 sont emmaga- sinées à partir de l'adresse mémoire $DOOO, l'IRQ 6 en $D 096, etc Pour repérer la fin d'un IRQ, on place, après la dernière donnée valide, le code $FFFF (case K 105 figure 10). ) La fin d'un IRQ est détectée par le changement de valeur de l'élémept binaire de plus fort poids (case K 93 figure 10) ou par deux valeurs de dates successives égales (cas K 94 figure 10). Avant d'expliquer le sous-programme SBR (TANG) qui est nécessaire pour l'élaboration de la valeur de la "date" des trains de référence et, de là, la valeur "t" dans La formule ( 1) à la page 6, il convient de rappeler la structure de ces trains de référence. Ceci est montré à la figure 11 La constitution de ces trains est différente selon que l'on a affaire au mode "X" ou au mode "Y". Selon le mode "X", le train de référence est constitué de 24 impulsions numérotées de 1 à 24 sur la figure; ces impulsions sont émises par paires, les impulsions d'une paire sont espacées de 12 ps et les paires de 30 ps L'instant de référence DREF est fixé à l'impulsion numérotée 10. Selon le mode "Y", Le train de référence est constitué de treize impulsions numérotées de 1 à 13 espacées les unes des autres de 30 ps; le temps de référence DREF est pris entre L'impulsion numérotée 6 et l'impulsion numérotée 7. Dans Le sous-programme SBR (TANG), pour détecter un train de référence on recherche si six écarts successifs sont espacés de 30 ps Ces écarts sont numérotés à la figure 11, aux lignes ECART pour Les modes "X" et "Y" Les écarts entre les paires du mode "X" sont numérotés de 1 à 11 Quant au mode "Y", on considère que Les impulsions 1 et 2 constituent une première paire, Les impulsions 2 et 3 une deuxième paire et Les impulsions 3 et 4 une troisième, etc, de sorte que comme Le détecteur 22 fournit une seule impulsion à partir d'une paire, on a aussi onze écarts Compte tenu de ce qui vient d'être dit et si-on appelle DN La date de L'impulsion qui constitue une limite au sixième écart de ps, on peut écrire pour Le mode "X" DREF = DN l 8 + ( 6 x 30 l + l 11 6) x 30 lPs et pour le mode "Y": DREF = DN l 5 + ( 6 x 30 l + E 11 6) x 30 ps On peut alors expliquer Le sous-programme SBR (TANG) dont L'ordinogramme est représenté à la figure 12. A La case K 110, on a représenté L'initia Lisation; on met à O le registre Y qui est destiné à contenir un chiffre défi- nissant Le numéro de L'IRQ dans Lequel DREF doit être considéré; A "O" correspond l'IRQ 5, à " 1 " L'IRQ 6, à " 9 " l'IRQ 14 On met $FFFF dans une mémoire destinée à contenir DREF, de sorte que si celle-ci n'est pas trouvée, cela sera signifié par $FFFF On met La valeur $DOOO dans Le registre X; cette va Leur correspond à L'adresse à Laque L Le est rangée la première date prélevée dans L'IRQ 5 Enfin, on initialise Le contenu d'une mémoire CPTREF dont le contenu indiquera Le nombre d'écart égal à 30 ps Après cette phase d'initialisation, on passe à L'étiquette "TRAIN 1 "; à cette étiquette, on effectue un test sur La date (deux octets) repérée par Le compteur du registre X et par son contenu incrémenté d'une unité; on teste (case K 11 i) si la date a pour valeur $FFFF qui est La marque, on Le rappelle, de La fin du rangement des données de La mémoire 30 relatives à-un IRQ Si la date est égale à $FFFF, on va à L'étiquette "TRAIN 2 ", sinon, cette date est enre- gistrée dans une mémoire baptisée MEMECH (case K 112); on passe 2 c ensuite à L'étiquette "TRAINB" Là, on incrémentede trois unités le registre X (case K 113), ce qui donne L'adresse de La date suivante; on teste encore (case K 114) si ce L Le-ci est égale à $FFFF; si c'est oui, on passe à l'étiquette "TRAIN 5 "; sinon, on effectue La diffé- rence de cette dernière date avec ce L Le contenue dans La mémoire MEMECH (case K 115); cette différence donne l'écart et aux cases K 116 et K 117 on va tester si cet écart est égal à 30 Ms En fait, on se permet une certaine tolérance; pour a L Ler à la case K 118, on prendra les écarts compris entre 28 ps, soit $ 7 D (valeur déterminée par la fréquence de l'osci L Lateur 38) et 32 ps ($ 8 D) Si L'écart n'est pas compris dans cette fourchette, on va à l'étiquette "TRAIN 3 " o L'on met " O " dans la mémoire CPTREF et o la date est mise dans La mémoire MEMECH (case K 119) et l'on revient à l'étiquette "TRAINB". A La case K 118, on met aussi la dernière date dans La mémoire MEMECH et on incrémente Le contenu de La mémoire CPTREF A la case K 120, on teste le contenu de cette mémoire; s'il est égal à six, cela signifie que le train de référence a été trouvé, on va alors à l'é- tiquette "TRAIN 4 ", sinon, on passe à l'étiquette "TRAINB" pour une nouvelle date. A L'étiquette "TRAIN 5 ", on teste aussi si Le contenu de La mémoire CPTREF est égal à six (case K 122); si c'est le cas, on estime que le train de référence a été trouvé et on passe ainsi à L'étiquette "TRAIN 4 " Si ce n'est pas Le cas, on teste si Le con- tenu de La mémoire CPTREF est égal-à " O " (case K 124); s'i L est égal à "O", on passe à L'étiquette "TRAIN 2 ", sinon à l'étiquette "TRAIN 6 " L'opération indiquée à La case K 126 sous l'étiquette "TRAIN 2 " consiste à mettre $FF dans la mémoire CPTREF, de sorte qu'à la prochaine incrémentation d'une unité, Le contenu de cette mé- moire deviendra " O " Puis, on passe à la case K 127 sous l'étiquette "TRAIN 6 " A cette case, on incrémente d'une unité, d'une part, Le contenu de la mémoire CPTREF et, d'autre part, le registre Y; à La case K 128, on teste si le contenu du registre est égal à 10; si c'est le cas, c'est que toutes les dates des 10 IRQ ont été analy- sées et que le train de référence n'a pas été trouvé'; le sous- programme se termine alors par la mise à zéro de la mémoire VTANG (case 130) Si le contenu de Y n'est pas égal à 10, on calcu Le (case K 132), alors, la nouvelle adresse de La date située dans L'IRQ suivant Cette adresse est mise dans le registre X et on retourne alors à l'étiquette "TRAIN 1 ". Lorsqu'on se trouve à L'étiquette "TRAIN 4 ", cela signifie que le train de référence a été trouvé, il faut alors déterminer la date qu'i L faut affecter à DREF Pour commencer, à la case K 140, on calcule la quantité: ( 11 6) x $ 85 o $ 85 correspond à 30 ps, puis on teste, à la case K 142, si l'on est en mode "X" ou en mode "Y"; pour cela, on teste Le contenu de la mémoire MSYNTH qui est une recopie du registre 7 Si l'on est en mode "Y", on ajoute (case K 144), au con- tenu du registre, La valeur $FCA 1 qui est le complément à deux de la valeur hexadécimale correspondant à 195 ps Si l'on est en mode "X", on ajoute (case K 145) la valeur $FC 94 qui correspond à la valeur 198 ps Puis on ajoute (case K 146) à l'une des valeurs trouvées par les opérations indiquées aux cases K 144 et K 145 le contenu de la mémoire MEMECH Ensuite, on teste (case K 147) si La va Leur trouvée n'est pas trop grande, c'est-à-dire si l'élément binaire le plus significatif est égal à " 1 " (qui peut être considéré comme l'élément binaire de signe); si elle n'est pas trop grande, on va à l'étiquette "TRAIN 9 "; si elle est trop grande (case K 148), on l'efface et on suppose que la date de référence doit être con- sidérée comme étant dans l'IRQ précédent On enlève " 1 " au registre Y et si le contenu de celui-ci devient négatif, on ajoute 9 (case K 150) pour revenir à l'IRQ 14. A L'étiquette "TRAIN 9 ", on range le contenu du registre D dans La mémoire DREF et celui de Y dans NREF (case K 152); puis, (case K 154), on met " 1 " à la mémoire VTANG pour signifier que le train de référence a été trouvé et l'on passe au sous-programme OFSET. Dans ce sous-programme, on se propose de calculer les quantités O FF 135 et OFF 15; ces quantités sont définies de la ma- nière suivante: on se reporte à la figure 13 Tout d'abord, on fixe l'origine des temps t = O au début de L'IRQ 6 La date DREF du train de référence est fixée par rapport au début de l'IRQ qui la contient et, par Le rang de L'IRQ considéré par rapport à cette référence, ce rang est donné par NREF Pour La modulation à 15 Hz 22 2534382 du signal TACAN, on ne change rien si DREF est décalée d'une quan- tité égale à la durée de 91 RQ en avant; on obtient a Lors la date DREE qui est la date DREF estimée; entre DREE et DREF, il existe huit trains de références auxiliaires REFAUX régulièrement répar- tis dans le temps; la quantité OFF 15 est la distance qui sépare DREE avec le temps t = O La quantité O FF 135 est la même quantité mais mesurée "modu Lo de La durée d'un IRQ (modu Lo $ 8000), de sorte que l'on écrit immédiatement: 0 FF 135 = $ 8000 DREF Ces quantités sont considérées en valeur d'angle en degré o $ 8000 correspond à 360 . Pour OFF 15: OFF 15 = ( 9 NREF) x 40 + ( O FF 135)/9 o à 40 on affecte la valeur $ 3641. L'ordinogramme montré à la figure 14 se déduit de ce qui vient d'être dit ci-dessus; à la case K 160, on calcule OFF 135 et à la case K 161, OFF 15 On identifie Le nom des mémoires avec ce Lui des valeurs. Dans Le sous-programme COMPUT dont l'ordinogramme est 2: 4 -_ montré à la figure 15, on évalue les différentes quantités Mij de la matrice M et du vecteur colonne Z. A la case K 170, on initialise différentes mémoires On met " 1 " dans une mémoire nommée CALCUL et " O " aux différentes autres mémoires utilisées dans ce sous-programme On arrive alors à l'étiquette "COMP 1 " placée en avant de la case K 172 o l'on met dans Le registre X L'adresse du premier octet enregistré par Le sous-programme FIFOA pendant les interruptions IRQ 6 à 14 On calcule à la case K 174 l'adresse des données qui vont être accumu- lées zone par zone (chaque zone correspondant à tout un enregis- trement de la mémoire 30 pendant une interruption) Ces données vont être accumulées sur deux octets La première adresse est contenue dans une mémoire ADZONE Puis à la case K 176, on calcule la première adresse ADZONE+ 2 des données qui vont être accumulées sur trois octets Puis on arrive à l'étiquette "COMP 2 " Là, à la case K 178, on met dans le registre D ta date dont l'emplacement est déterminé par le registre X Après ce chargement, le contenu du registre X est incrémenté de deux unités indiquées par ++ On 23 2534382 teste (case K 180) cette date pour savoir si e Le est éga Le à $FFFF; si c'est oui, ce La signifie qu'une zone a été explorée et L'on passe à L'étiquette COMP 3 Si c'est non, on passe à la case K 182 o le con- tenu du registre D est mis dans une mémoire DATE qui sera uti Lisée dans un sous-programme TETA; l'amplitude de L'impulsion associée à cette date est mise dans Le registre A et le registre X est incré- menté d'une unité A La case K 184, Le contenu du registre A est trans- féré dans une mémoire YECH et, en vue d'un cumul, on additionne Le contenu de ce registre A avec celui d'une mémoire SYEC, et La somme obtenue est mise dans cette même mémoire SYEC On incrémente d'une unité le contenu d'une mémoire CAMP A la case K 186 qui suit, on uti- lise un sous-programme TETA, déjà mentionné, qui, à la va Leur contenue dans La mémoire DATE, fournit dans deux mémoires TETA 15 et TETA 135 des valeurs correspondant à wt et 9 t Le contenu de ces mémoires dans La suite sera indiqué simp Lement par 15 et 135 respectivement, Lorsqu'il sera précédé d'une fonction trigonométrique A La case K 190, on met dans Le registre U Le contenu de la mémoire ADZONE Puis à la case K 191, au contenu d'une mémoire 5515 dont l'adresse est donnée par Le registre U, on additionne la quantité sin (TETA 15) notée SIN 15 Cette même opération sera effectuée par des mémoires SC 15, 55135 et SC 135 dont Les adresses sont fournies par le contenu du registre U augmenté respectivement des va Leurs $ 12, $ 24 et $ 36 et dont Les contenus sont augmentés de cos 15, sin 135 et cos 135. A la case K 192, on met dans Le registre U le contenu de La mémoire ADZONE+ 2 A La case K 193, Le contenu des mémoires S 5215, SC 215, 552135 et SC 2135 dont Les adresses sont repérées respective- ment par Le contenu de U, par ce contenu augmenté de $ 1 B, de $ 36 et 2 2 2 2 de $ 51, est augmenté des va Leurs sin 215, cos 215, sin 2135 et cos 2135. Puis Le contenu de U est augmenté de $ 6 C (case K 194), de sorte que Le contenu des mémoires SY 515, SYC 15,'SY 5135 et SYC 135 dont les adresses sont respectivement (U), (U) + $ 1 B, (U) + $ 36 et (U) + $ 51 est augmenté des quantités (YECH) sin 15, (YECH) cos 15, (YECH) sin 135 et (YECH) cos 135 (case K 195). On incrémente le contenu du registre U d'ure nouvelle quan- tité $ 6 C (case K 196) On peut a Lors (case K 197) ajouter aux contenus des mémoires SSC 15, SSC 13, SC 1, SC 2, 551 et 552 repérés par U, U + $i B, U + $ 36, U + $ 51, U + $ 6 C et U + $ 87, Les quantités sinl 5 cos 15, sin 135 cos 135, sin 15 cos 135, cos 135 cos 15, sin 135 sinl 5 et 24 2534382 sini 35 cos 15 On revient ensuite à L'étiquette "COMP 2 " o L'on vient chercher une autre date; tant que Le code de fin de zone n'a pas été détecté (case K 180), on recommence le même processus et, dans tes différentes mémoires dont Les emp Lacements sont repérés par te contenu du registre, vont s'accumu Ler Lesdites quantités, comme ce La est indiqué aux cases K 191, K 193, K 195 et K 197 Lorsque La fin de zone est détectée, on va à L'étiquette "COMP 3 "; à La case K 200, on incrémente d'une unité Le contenu de La mémoire CALCUL A La case K 202, on teste si toutes Les zones ont été explorées, c'est-à-dire on teste si Le contenu de la mémoire CALCUL a atteint Le chiffre 10. Sinon, on va à L'étiquette "COMP 1 " pour calcuter L'adresse de La nouve L Le zone à traiter (case K 172) et pour calculer L'adresse (cases K 174 et K 176) des différentes mémoires destinées à contenir Le cumu L des quantités précitées Lorsque toutes Les dates de toutes -Les zones ont été traitées, on va évaluer tous Les-éLéments de la matrice M et ceux du vecteur co Lonne Z. A La case K 203, on transfère Le contenu de La mémoire CAMP dans une mémoire baptisée du même nom que la quantité qu'el Le est destinée à contenir, à savoir M 1,1; à La case K 204, on trans- fère Le contenu de La mémoire SYEC dans une mémoire baptisée Zl A La case K 206, on met dans Le registre U la va Leur de L'adresse du premier octet de La mémoire 5515 Puis, à La case K 210, on va éva- tuer La quantité (M 1,2) Pour cela, on va accumuler dans La mémoire M 1,2 Les neuf quantités contenues dans La mémoire 5515 On rappelle qu'il y a une mémoire 5515 pour chaque zone, de sorte qu'à La case K 210, on accumu Le dans La mémoire M 1,2 Le contenu de ces mémoires 5515 Cette opération est facilitée par Le fait que Les adresses de ces mémoires sont numérotées de façon continue Aux cases K 211, K 212, K 213, K 214, K 215, K 216, K 217, K 218, K 219, K 220, K 221, K 222, K 223, K 224, K 225, K 226 et K 227, on fera respectivement La somme des neuf quantités contenues dans Les mémoires SC 15, 55135, SC 135, S 5215, SC 215, 552135, SC 2135, SY 515, SYC 15, SY 5135, SYC 135, SSC 15 SSC 13, SC 1, SC 2, S 51 et 552 pour obtenir Les va Leurs M 1,3 M 1,4 M 1,5 M 2,2 M 3,3 M 4,4 M 5,5 Z 2 Z 3 Z 4 Z 5 M 2,3 V 4,5 M 2,5 M 3,5 M 2,4 M 3,4. Pour obtenir ces valeurs, i L a fallu transformer La valeur des dates en va Leur d'angles TETA 15 et TETA 135 Cette trans- formation est effectuée dans le sous-programme TETA dont L'ordino- gramme est représenté à La figure 16 Pour expliquer les opérations de ce sous-programme, on se reporte à La figure 13 o Soit une impu L- sion Y(t) dont La date de réception est contenue dans La mémoire DATE et qui est reçue dans L'IRQ 8 Cette date est déterminée à partir d'une valeur t = O considérée au début de L'IRQ 8 La valeur TETA 135 (case K 240) est simplement donnée par-: (TETA 135) = (OFF 135) + (DATE) a Lors que TETA 15 (case K 242): (TETA 15) = (OFF 15) + l(CALCUL 1) x 400 + (DATE)/9 CALCUL donne Le numéro de l'IRQ compté à partir de L'IRQ 5, c'est-à- dire pour L'IRQ 5, on a (CALCUL) = O, IRQ 6 (CALCUL) = 1 IL y a Lieu de noter une correspondance entre CALCUL et NREF. Le sous-programme SPMAT qui suit le sous-programme COMPUT (voir figure 5) consiste à éva Luer Le vecteur colonne X par ité- ration (voir annexe) L'ordinogramme de ce sous-programme est re- présenté à la figure 17 La première tâche indiquée à la case K 250 consiste à élaborer La matrice (J + H) Pour ce La, on réserve un espace mémoire de vingt-cinq emplacements de deux octets notés DEB (i, i + 1), ainsi La matrice (J + H) sera formée tout d'abord en mettant O dans Les emplacements DEB( 0,1), DEB( 12,13), DEB( 24,25), DEB( 36,37), DEB( 48,49). puis: (M 1,2) dans DEB( 2,3) DEB( 10,11) (M 1,3) dans DEB( 4,5) DEB( 20, 21) (M 1,4) dans DEB( 6,7) DEB( 30,31) (M 1,5) dans DEB( 8,9) DEB( 40,41) (M 2,3) dans DEB( 14,15) DEB( 22,23) (M 2,4) dans DEB( 16,17) DEB( 32,33) (M 2,5) dans DEB ( 18,19) DEB( 42,43) (M 3,4) dans DEB 26,27) DEB( 34,35) (M 3,5) dans DEB( 28,29) DEB( 44,45) (M 4,5) dans DEB( 38,39) DEB( 46,47) Puis on teste (à La case K 252) par rapport à " 1 " Le contenu d'une mémoire ALARMA; si ce contenu est éga L à " 1 ", on met dans différentes mémoires XO( 1), XO( 2), XO( 3), XO( 4) et XO( 5) des valeurs correspondant à un vecteur colonne XO initial On a choisi comme valeurs respectives: $ 0880, $ 0680, $ 0000, $ 0680 et $ 0000 (case K 254) Puis, à la case K 256, on met 8 dans une mémoire MITER, ce qui correspond au nombre d'itérations que l'on va faire pour déterminer La valeur du vecteur colonne X Si le contenu de la mé- moire ALARMA n'est pas égal à " 1 ", on met 5 dans la mémoire MITER. La mémoire ALARMA donne Le choix entre deux valeurs du vecteur colonne X initial Si le contenu de cette mémoire est égal à " 1 ", on prend le vecteur initial dont les valeurs ont été définies à la case K 254 et l'on prend huit itérations Si le contenu est égal à "O", le vecteur initial est ce Lui trouvé en dernier lieu et le nom- bre d'itérations est réduit à cinq Une fois que le contenu de la mémoire MITER est rempli, on passe à l'étiquette "MAT 21 " Là, on met à " O " Les emplacements de mémoire réservés pour contenir les composantes du vecteur Xl, c'est-à-dire tes emplacements de mémoire indiqués par: X 1 ( 1), X 1 ( 2), X 1 ( 3), X 1 ( 4), X 1 ( 5) Puis à la case K 262, on effectue Le calcul matriciel indiqué Aussi, selon ce calcul, pour La première composante: (X 1 ( 1)) = (DEB( 0,1)) (XO( 1)) (DEB( 1,2)) (XO( 2)) (DEB( 2,3)) (XO( 3)) (DEB( 4,5)) (XO( 4)) (DEB( 6,7)) (XO( 5)) et ainsi de suite pour les autres composantes. Puis, à la case K 264, à ces composantes on ajoute les composantes de Z déjà calculées (voir figure 15, case K 204, K 218, K 219, K 220 et K 221). A la case K 266, chaque composante contenue dans La mémoire est divisée par les termes diagonaux D de la matrice M, puis est transférée, d'une part, dans les emplacements XO en vue d'une nouvelle itération et, d'autre part, dans des emplacements X 2 pour les calculs ultérieurs: (X 1 ( 1)) + (M 1,1) XO( 1) et X 2 ( 1) (X 2 ( 2))(M 2,2) -> XO( 2) et X 2 ( 2) (X 3 ( 3))(M 3,3) -> XO( 3) et X 2 ( 3) (X 4 ( 4))(M 4,4) -> XO( 4) et X 2 ( 4) (X 5 ( 5)) * (M 5,5) XO( 5) et X 2 ( 5) 27 2534382 On enlève une unité au contenu de la mémoire MITER (case K 268) et l'on compare ce contenu à "O" (case K 270); s'il est égal à "O", Le sous-programme SPMAT est terminé, sinon on retourne à L'éti- quette "MAT 21 " pour une nouvel Le itération. Dans le sous-programme SPEXT qui suit et dont l'ordino- gramme est montré à la figure 18, on effectue, tout d'abord, à la case K 300, la division de la troisième composante du vecteur X par La deuxième; le résultat est mis dans une mémoire YG Ce résultat correspond à tg ó 15, voir formu Le ( 3) dans L'annexe; pour ca Lculer cet angle ó 15 à partir de La valeur de- sa tangente, on fait appel à un sous-programme LOG 90 (case K 306) L'angle ainsi trouvé n'est déterminé que modulo 90 Pour le déterminer modulo 360 , on met les va Leurs des composantes X 2 ( 3) et X 2 ( 2) dans Les registres A et B respectivement (case K 304) et on effectue le sous-programme LOC 360 (case K 306); le résultat de ce sous-programme se trouve dans le registre D dont le contenu est transféré dans une mémoire PSI 15 (case K 308) Pour calculer l'angle ó 135, on effectue prati- quement la même procédure que pour l'angle ó 15 On effectue, case K 310, la divisiçn de La cinquième composante du vecteur X pour la quatrième; le résultat est mis dans la mémoire YG Puis, l'angle ó 135 est déterminé modulo 90 par le sous-programme LOC 90 (case 312) Pour exécuter Le sousprogramme LOC 360, la cinquième et la quatrième composantes du vecteur sont mises-respectivement dans les registres A et B (case K 314); après exécution de ce sous- programme (case K 318), le contenu de la mémoire D est divisé par 9 et mis dans une mémoire PSI (case K 322) en vue de déterminer L'angle TAC défini plus haut - A La case 324, on teste si La valeur absolue de la différence entre Le contenu de la mémoire PSI et celui de La mé- moire P 5115 est inférieure ou égale à 20 ; si cela n'est pas vrai, on ajoute 40 à l'angle dont la valeur est contenue dans la mé- moire PSI (case K 326) et on recommence le test indiqué à la case K 324; Lorsque ce test s'avère vrai, a Lors le contenu de la mé- moire PSI est l'angle TACAN recherché Cette valeur sera envoyée dans le registre d'affichage 74 pendant L'IRQ 5 (case K 40), fi- gure 6). 28 2534382 Le sous-programme LOC 90 dont L'ordinogramme est montré à la figure 19 a pour but, comme on l'a déjà dit, de déterminer La quantité: X. xi i = arctg x J Pour obtenir cette quantité, on cherche un angle "p" tel que: tgficosp = sinp alors p = ô; Le procédé pour déterminer p est un procédé de dichotomie. Le sous-programme commence par une phase d'initialisa- tion (case K 350) On met 128 dans des mémoires PT 1 et PT 2 et 7 dans une mémoire PT 3 La tangente de l'angle recherché est conte- nue dans la mémoire YG (cases K 300 et K 310), le contenu de cette mémoire est multiplié par le cosinus de l'angle dont la valeur est contenue dans la mémoire PT 1; le résultat de cette multiplication est comparé avec le sinus de l'angle dont la valeur est le contenu de cette même mémoire PT 1 S'il y a égalité (case K 352), l'angle PT 1 correspond à l'angle recherché; s'il n'y a pas égalité, on examine si le résultat de la multiplication est supérieur à sin(PT 1) (case K 354); si c'est oui, la valeur de l'angle PT 1 doit être diminuée (case K 356) Cette diminution consiste à enlever au con- tenu de PT 1 la valeur-moitié de la valeur contenue dans la mé- moire PT 2 Cette valeur-moitié est enregistrée dans cette même mémoire PT 2; si c'est non, on augmente (case K 358) la valeur de cet angle de la même valeur-moitié Puis on enlève (case K 360) une unité au contenu de la mémoire PT 3 et on teste (case K 362) si ce contenu prend la valeur " O " La valeur " O " signifie que l'exécu- tion de ce sous-programme est terminée Si l'on n'a pas atteint cette valeur " O ", on effectue, alors, une autre itération et l'on reprend le test indiqué à la case K 352 A la fin de ce sous- programme, la valeur de l'angle se trouve dans la mémoire PT 1. Le sous-programme LOC 360 dont l'ordinogramme est montré à la figure 20 a pour but de déterminer dans quel quadrant se trouve cet angle Cela se fait simplement en testant le signe de 29 2534382 son sinus, de son cosinus dont les valeurs sont contenues respec- tivement dans les registres A et B (voir cases K 304 et K 314) On teste,tout d'abord, le signe de A (case K 400), puis Le signe de B (cases K 402 et K 404) Si Les signes de (A) et de (B) sont tous deux positifs, le contenu de PT 1 est bien la valeur cherchée Il y a alors transfert du contenu de PT 1 dans D (case K 406) Si le signe de (A) est positif et si le signe de (B) est négatif, on enregistre (case K 408) la va Leur de 180 otée du contenu de PT 1 dans le registre D Si le signe de (A) est négatif, ainsi que celui de (B), alors on enregistre (case K 410) la valeur du contenu de PT 1 augmentée de dans le registre D Si le signe de (A) est négatif et celui de (B) positif, alors on enregistre (case K 412) la valeur négative du contenu de PT 1 dans le registre D. On constatera que, grâce à l'invention, L'angle TACAN est déterminé par les groupes d'impulsions situés entre deux trains de références et que le nombre d'impulsions d'un groupe peut varier dans une large mesure En outre, du fait que l'angle TACAN est fourni, pour chaque groupe, d'une manière indépendante, le dispo- sitif de l'invention procure des informations rapidement. _j 1 ANNEXE La relation ( 1) peut s'écrire sous forme matricielle avec = 9 Mt. y(t) =l sinwt coswt sin 9 wt cos 9 l L vecteur ligne P c a cos 415 a sinf 15 b cosp 135 b sinó 135 vecteur colonne X Le vecteur colonne X contient Lcs quantités inconnues a, b, c, ó 15 et 135 ' Le vecteur ligne P comprend des quantités connues car élaborées à partir de la connaissance de l'amplitude y(t) et de la date d'arri- vée de l'impulsion. On peut remarquer que: 2 2 2 a =x 2 + x 3 b 2 3 b 2 x 4 x 5 2 ( 3) f 15 = arctg x 3/x 2 f 135 = arctg x 5/x 4 Etant du vecteur X entendu que x 2, x 3, x 4 et x 5 sont des composantes x 1 x 2 > i X = x 3 l x 4 x 5 c X a cosó 15 1 a sinó 15 b cosó 135 b sinó 135 m - + n(t) ( 2) Si l'on reprend le vecteur Ligne P de La relation ( 2): P = sinwt coswt sin 9 wt cos 9 wt_ On définit p T: T p T 1 sinwt coswt sin 9 wt cos 9 wt A partir'de ce dernier, on modifie La relation ( 2): T T -9 e y(t) P = P X + n(t) p T c'est-à-dire: y(t) y(t) sinwt y(t) coswt y(t) sin 9 wt y(t) cos 9 wt sinwt coswt x sinwt coswt sin 9 wt cos 9 W X + n(t) sin 9 ut cos 9 wt Cette méthode s'app Lique de façon générale à un ensemble d'impulsions reçues sur un interva L Le de temps T On procède ainsi à l'accumulation des quantités obtenues. Sur un tel interva L Le, Le bruit additif peut être consi- déré comme ayant une moyenne nu L Le n(t) = O et a Lors: T y(t)p=T p T x 'y(t) PT = P X LT LT. et l'on obtient la relation: r- LT y(t) LT yt Ir LT Y(t) LT y(t) s i nwt coswt = M X sin 9 wf l LT y(t) cos 9 t i Li I Pour obtenir les angles TACAN, il faut donc inverser la matrice M Le calcul de X et, par conséquent, de f 15 et de 135 est donc possible à partir de la connaissance de Z et M. Pour ce faire, on élabore les quantités sin 2 W 15 t, cos 2 n 15 t, sin 2 r 135 t, cos 2 n 135 t pour chaque échantillon reçu et à l'instant t, on calcule chaque paramètre contenu dans Z et M et on fait l'accumulation de toutes ces valeurs sur T. La matrice M obtenue est symétrique et possède une carac- téristique particulière sous certaines conditions. En effet, on peut démontrer que pour une distribution d'impulsions équiréparties (train d'impulsions régulièrement espa- cées) pendant l'intervalle de temps T, les quantités diagonales M 22, M 33, M 44, et M 55 tendent vers N/2 et les quantités extra- diagonales Mij ij deviennent identiques à zéro. Dans ces conditions, M peut s'écrire: M = N O O O O O N/2 O O O *O O N/2 O O. O O O N/2 O O O O O N/2 25348 te Si la distribution est déséquilibrée et c'est le cas si les impulsions sont groupées sur un temps T petit devant T, les quantités extra-diagonales seront différentes de zéro et la matrice ne gardera que sa seule propriété de symétrie. Si la distribution est aléatoire, mais statistiquement équirépartie (cas des signaux TACAN), on peut retrouver une matrice M diagonale ou presque diagonale M peut alors s'écrire: M= D + (J + H) D: matrice diagonale J + H: matrice extradiagonale Mll O O O O O M 22 O O D = O O M 33 O O O O O M 44 O O O O O M 55 En posant (J + H)= E 0 O M 12 M 13 14 M 15 M 21 O M 23 M 24 M 25 E = M 31 M 32 O M 34 M 35 M 41 M 42 M 43 O M 45 M 51 M 52 M 53 M 54 O Pour rappel, M " M i/j 1 i 1 4 j 4 5 E est appelée matrice d'erreur car elle ne contient que des quantités proches de zéro. Z = MX devient: DX = EX + Z X -D E X + D Z d'o l'on tire une expression itérative: > 1 _ 1 -> Xn = D E Xn_ 1 + D Z ( 8) n n-i ou encore si L'on appelle W = D-1 Z et F = D-1 E > i X = F + W ( 9) n - Remarque i: W est la solution diagonale ou, autrement dit, la solution vraie si M est réduit par convergence à une matrice diagona Le. F Xn_ 1 est le facteur correctif, ca Lculé et affiné à chaque itération. Remarque 2: Plus Le nombre d'itérations augmente et plus Xn tend vers X. n lim X =X n n ( 8) peut s'écrire: Xnl = F Xn_ 2 + W Xn_ 2 = F Xn_ 3 + W X 1 =FX O + W d'o: n-Fn (n n-i -0 X = FX O + Fn + FW + + F) W + W 10) Dans cette expression, X O représente Le vecteur de départ. On constate que X O est d'autant moins important que N augmente, car: Lim Fn = l O l n * REVE_ DICATIO 05 1 Dispositif de réception de signaux de type TACAN, notam- ment, dispositif prévu pour fournir la valeur d'un angle TACAN: TAC tel que:- TAC = ( 135/9) + (k 40 ) o k ( O ITAC P 151 20 les valeurs 415 et 135 étant définies par les signaux reçus se présentant sous La forme d'impu Lsions dont L'amp Litude y(t) en fonction du temps "t" peut s'écrire: y(t) = a sin (et + 15) + b sin ( 9 wt + 4135) + c + n(t) o a, b, c, W sont des constantes et n(t) une composante de bruit, caractérisé en ce qu'i L comporte des moyens d'accumulation pour accumu Ler N impulsions avec corrélativement l'information "t " déterminant leur date d'arrivée, des moyens de stockage pour stocker des données représentant une matrice M: M 1,1 M 1,2 M 1,3 M 1,4 M 1,5 M 2,1 M 2,2 M 2,3 M 2,4 M 2,5 M Il= 3,1M 3,2 M 3,3 M 3,4 M 3,5 4,1 4,2 4,3 4,4 4,5 M M 52 M 5,3 M 54 M 55 ,1 5,2 5,3 5,4 5,5 O: N 2 m 2,2 = sin wfi 1 = 1 E m v 3,3 L i=l cos 2 wti m = N 1,1 N m v sin 2 W fi 4,4 = L= i 1 m m N S i nwt i 1,2 2,1 = j 1 = 1 N m 1,4 m 4 'l = y sinwti 1 = 1- N m = v cos 2 W fi ,5 L 1 = 1 N = M 3,1 = coswti. 1 = 1 m 1,3 N m m Ir 1,5 = 5 'l 1 = 1 cosw' t i m y i=l m 2,3 = m 3,2 = sinwti coswti sinwtl sinw'ti sinwti cosw'ti coswti sinw'ti coswtl cosw'ti sinw'ti cosw'ti -M m 2,4 = m 4,2 = = l 1 m m m Ir 2,5 = 5,2 1 = 1 m m 3,4 = m 4,3 = y 1 = 1 x m 3,5 m 5,3 = 1 = 1 m m 4,5 = m 5,4 = 1 = 1 o W' = 9 w et des données N y i=l M y i=l N z = y i=l M IV Il 1 = 1 i 1 N 1 y 1 i=i représentant un vecteur co Lonne Z Y(ti) Y(ti) sinwti Y(ti) coswti y(ti) sinw'ti Y(ti) cosw'ti et des moyens de ca Lcul pour de M et Z ca Lcuter un vecteur co Lonne X à partir xl l x 2 i O ' i x 4; x 5:l c a co#15 si-n 15 M z b cos 135 b sln 135 ang Les 15 et 135 en éva Luant: et pour déterminer Les 15 135 arctg x 3/x 2 arctg x 5/x 4 et de Là L'ang Le TACAN: TAC. 2 Dispositif de réception de signaux selon La revendica- tion 1, caractérisé en ce que les moyens pour calculer le vecteur colonne X à partir de M et Z sont formés par des moyens pour éva- Luer ce vecteur X par une relation itérative de la forme: Xn = D (J-+ H) Xnl + zl n o D, représentant une matrice diagonale, et (J = H) vérifient la relation: M = D l (J + H 3 Dispositif de réception de signaux se Lon La revendica- tion 1 ou 2, caractérisé en ce que les moyens de stockage et Les moyens de calcul sont constitués à partir d'un ensemble microproces- seur comportant le microprocesseur lui-même communiquant, par l'in- termédiaire d'un bus de données et d'un bus d'adresses, avec une mémoire morte définissant son fonctionnement. 4 Dispositif de réception de signaux selon l'une des reven- dications 1-à 3 comportant une partie réception pour fournir sous forme analogique les impulsions y(t), caractérisé en ce que les moyens d'accumulation sont fournis par une mémoire de type "premier entré, premier sornti", mémoire dite mémoire FIFO dont les premières 2 l) entrées sont reliées, par l'intermédiaire d'un convertisseur numé- rique-analogique, à ladite partie réception et dont les deuxièmes entrées sont reliées à un compteur de temps pour fixer les temps' d'arrivée (t) desdites impulsions y(t). Dispositif de réception de signaux selon les revendica- tions 3 et 4, caractérisé en ce que les commandes d'entrées et de sorties de la mémoire FIFO sont reliées au bus d'adresses de l'en- semble microprocesseur par un circuit de décodage, tandis que les sorties de la mémoire FIFO sont en relation avec le bus de données. 6 Dispositif de réception de signaux selon les revendica- tions 4 ou 5 dans lequel l'ensemble microprocesseur est d'un type comportant une entrée pour signaux d'interruption, caractérisé en ce qu'il est prévu un circuit d'interruption couplé audit compteur de temps pour-fournir à l'entrée pour signaux d'interruption, des signaux d'interruption. 4 () 7 Dispositif de réception de signaux seton La revendica- tion 6, caractérisé en ce que L'ensemble microprocesseur est conçu pour numéroter cycliquement Lesdites interruptions, pour affecter un premier ensemble d'interruptions à des tâches d'interruption consistant à commander la mémoire FIFO pour l'enregistrement d'im- pu Lsions y(t) avec Leur temps d'arrivée et un deuxième ensemble consistant à commander La mémoire FIFO pour lire les impulsions y(t) avec leur temps d'arrivée. 8 Dispositif de réception de signaux selon La revendica- tion 7, caractérisé en ce que l'ensemble microprocesseur est prévu pour que Les tâches à effectuer par lesdits moyens de stockage et lesdits moyens de calcul aient lieu entre les tâches d'interruption.