1 : * SIGNCORR PROCEDUR BLAY 94/04/07 21:15:07 1105 2 : 'DEBPROC' SIGNCORR ZZTB*'TABLE ' ; 3 : * 4 : * ZZTB : OBJET DE TYPE TABLE CONTENANT 5 : * 6 : * LE SIGNAL A CORRIGER EVSIG1 EVOLUTION 7 : * L' ACCELERATION MAXIMALE GAMMA FLOTTANT 8 : * 9 : * RECHERCHE DU MAXIMUM DU SIGNAL 10 : EVSIG1 = 'MOT' 'EVSIG1' ; ZEVSIG = ZZTB. EVSIG1 ; 11 : GAMMA = 'MOT' 'GAMMA' ; ZGAMMA = ZZTB. GAMMA ; 12 : * 13 : ZSIG = 'EXTR' ZEVSIG 'ORDO' 1 ; ZTEMP = 'EXTR' ZEVSIG 'ABSC' 1 ; 14 : ZPR = .01 ; ZNPT = 'DIME' ZSIG ; 'MESS' 'NB NPTS' ZNPT ; 15 : AZSIG = 'ABS' ( ZSIG ) ; ZMM = 'MAXI' AZSIG ; 16 : 'MESS' ' VALEUR ABSOLUE DU MAXIMUM DU SIGNAL = ' ZMM ; 17 : 'SI' ( '<' ( ( 'ABS' ( ZMM '-' ZGAMMA ) ) '/' ZGAMMA ) ZPR ); 18 : 'MESS' 'ON A ATTEINT L ACCELERATION MAXIMALE. PAS DE CORRECTION' ; 19 : ZEVPIC1 = ZEVSIG ; 20 : 'SINON' ; 21 : * CORRECTION : DEUX CAS POSSIBLES ZMM < ZGAMMA ET ZMM > ZGAMMA 22 : 'SI' ( '<' ZMM ZGAMMA ) ; 23 : ZPICSIG = AZSIG 'MASQUE' 'EGALE' ZMM ; 24 : ZNBPICS = 1 ; 25 : 'SINON' ; 26 : ZPICSIG = AZSIG 'MASQUE' 'SUPERIEUR' ZGAMMA ; 27 : ZEVO = 'EVOL' MANU 'ABSC' ZTEMP 'ORDO' ZPICSIG ; 28 : ZNBPICS = 'EXTR' ( 'COMT' ZEVO 10. ) 1 ; 29 : 'FINSI' ; 30 : 'MESS' 'NOMBRE DE PICS = ' ZNBPICS ; 31 : 'SI' ( '>' ZNBPICS 4 ) ; 32 : 'MESS' ' ATTENTION LE NOMBRE DE PICS A CORRIGER EST DE' 33 : ZNBPICS ; 34 : 'FINSI' ; 35 : * CHAQUE PIC EST DEFINI PAR LES INDICES DE DEBUT : ZPICCORD 36 : * DE FIN : ZPICCORF 37 : * ET LA CORRECTION = GAMMA/VALEUR DU MAXIMUM : ZPICCOEF 38 : ZPICCORD = 'PROG' ; ZPICCORF = 'PROG' ; ZPICCOEF = 'PROG' ; 39 : * REPERAGE DES PASSAGES A ZERO 40 : ZSIG1 = ZSIG '*' 1. ; ZSIG2 = ZSIG '*' 1. ; 41 : ZSIG1 = 'INSE' ZSIG1 1 0. ; 42 : NPT1 = ZNPT '+' 1 ; 43 : ZSIG2 = 'INSE' ZSIG2 NPT1 0. ; 44 : ZZ = ZSIG1 '*' ZSIG2 ; ZZ = 'ENLE' ZZ 1 ; 45 : ZPICZER = ZZ 'MASQUE' 'SUPERIEUR' 0. ; 46 : 'REMP' ZPICZER ZNPT 1. ; 47 : * METTRE DES 1 SUR TOUS LES PICS A CORRIGER 48 : ZNUMPIC = 0 ; Z1 = 0 ; 49 : 'REPETER' BOUCA ZNBPICS ; 50 : ZNUMPIC = ZNUMPIC '+' 1 ; 51 : 'REPETER' BOUC1 ZNPT ; 52 : Z1 = Z1 '+' 1 ; 53 : 'SI' ( '>' Z1 ZNPT ) ; 54 : ZNUMPIC = ZNUMPIC '-' 1 ; 55 : 'QUIT' BOUCA ; 56 : 'FINSI' ; 57 : * RECHERCHE DU PROCHAIN PIC (ZNUMPIC) DEFINI PAR ZA=1 58 : ZA = 'EXTR' ZPICSIG Z1 ; 59 : 'SI' ( 'EGA' ZA 1 ) ; 'QUIT' BOUC1 ; 'FINSI' ; 60 : 'FIN' BOUC1 ; 61 : * DEBUT DE DEPASSEMENT DE ZGAMMA, RECHERCHE DU MAXIMUM 62 : Z2 = Z1 ; ZMAX = 'EXTR' AZSIG Z1 ; ZMP = Z1 ; 63 : 'REPETER' BOUCMAX ZNPT ; 64 : * RECHERCHE DE LA VALEUR DU MAX ZMAX ET DE SON INDICE ZMP 65 : * LE MAX SE TROUVE DANS LA ZONE ZA = 1 66 : Z1 = Z1 '+' 1; 67 : 'SI' ( '>' Z1 ZNPT ) ; 'QUIT' BOUCMAX ; 'FINSI' ; 68 : ZA = 'EXTR' ZPICZER Z1 ; 69 : * SI ZA=0 ON A DEPASSE LE MAX 70 : 'SI' ( 'EGA' ZA 0 ) ; 'QUIT' BOUCMAX ; 'FINSI' ; 71 : ZMA = 'EXTR' AZSIG Z1 ; 72 : 'SI' ( '>' ZMA ZMAX ) ; ZMAX = ZMA ; ZMP = Z1 ; 'FINSI'; 73 : 'FIN' BOUCMAX ; 74 : * ZA = 0 : PASSAGE A ZERO (FIN DU PIC) 75 : Z1 = Z1 '-' 1 ; 76 : ZPICCORF = 'INSE' ZPICCORF ZNUMPIC Z1 ; 77 : 'SI' ( 'NON' ( IMPII '<' 1 ) ) ; 78 : 'MESS' 'MAX ' ZNUMPIC ZMP ZMAX ; 79 : 'FINSI' ; 80 : * MISE DE ZCOEFF DS LA TABLE DES COEFFICIENTS 81 : ZPICCOEF = 'INSE' ZPICCOEF ZNUMPIC ( ZGAMMA '/' ZMAX ) ; 82 : * RECHERCHE DU DEBUT DU PIC 83 : 'REPETER' BOUC2 ZNPT ; 84 : Z2 = Z2 '-' 1; 85 : 'SI' ( '<' Z2 1 ) ; 'QUIT' BOUC2 ; 'FINSI' ; 86 : ZB = 'EXTR' ZPICZER Z2 ; 87 : 'SI' ( 'EGA' ZB 0 ) ; 'QUIT' BOUC2 ; 'FINSI' ; 88 : 'FIN' BOUC2 ; 89 : * ZB = 0 : PASSAGE A ZERO (DEBUT DU PIC ) 90 : ZPICCORD = 'INSE' ZPICCORD ZNUMPIC Z2 ; 91 : 'FIN' BOUCA ; 92 : * CORRECTION DU NOMBRE REEL DE PICS EN CAS DE PICS MULTIPLES 93 : 'SI' ( '>' ZNBPICS ZNUMPIC ) ; ZNBPICS = ZNUMPIC ; 'FINSI' ; 94 : ZPICCOR1 = 'PROG' ; ZPICCOR2 = 'PROG' ; 95 : ZF = 0 ; 96 : ZNUMPIC = 0 ; 97 : 'REPETER' BOUC4 ZNBPICS ; 98 : ZNUMPIC = ZNUMPIC '+' 1 ; 99 : ZD = 'EXTR' ZPICCORD ZNUMPIC ; 100 : ZD1 = ZD '-' ZF ; 101 : 'SI' ( '>' ZD1 0.01 ) ; 102 : ZPICCOR0 = 'PROG' ZD1 '*' 1 ; 103 : ZPICCOR1 = ZPICCOR1 'ET' ZPICCOR0 ; 104 : 'FINSI' ; 105 : ZCOEF = 'EXTR' ZPICCOEF ZNUMPIC ; 106 : ZF = 'EXTR' ZPICCORF ZNUMPIC ; 107 : ZD2 = ZF '-' ZD ; 108 : 'SI' ( '>' ZD2 0.01 ) ; 109 : ZPICCOR0 = 'PROG' ZD2 '*' ZCOEF ; 110 : ZPICCOR1 = ZPICCOR1 'ET' ZPICCOR0 ; 111 : 'FINSI' ; 112 : 'FIN' BOUC4 ; 113 : ZD1 = ZNPT '-' ZF ; 114 : 'SI' ( '>' ZD1 0.01 ) ; 115 : ZPICCOR0 = 'PROG' ZD1 '*' 1 ; 116 : ZPICCOR1 = ZPICCOR1 'ET' ZPICCOR0 ; 117 : 'FINSI' ; 118 : ZPICCOR2 = ZPICCOR1 'MASQUE' 'EGALE' 1 ; 119 : ZPICCOR3 = ZPICCOR1 'MASQUE' 'DIFFERENT' 1 ; 120 : * CALCULER LES SURFACES 121 : ZEVPIC1 = 'EVOL' 'BLEU' 'MANU' 'ABSC' ZTEMP 'ORDO' ZPICCOR1 ; 122 : ZEVPIC2 = 'EVOL' 'VERT' 'MANU' 'ABSC' ZTEMP 'ORDO' ZPICCOR2 ; 123 : ZEVPIC3 = 'EVOL' 'ROUG' 'MANU' 'ABSC' ZTEMP 'ORDO' ZPICCOR3 ; 124 : ZEVPIC1 = ZEVPIC1 '*' ZEVSIG ; 125 : ZEVPIC2 = ZEVPIC2 '*' ZEVSIG ; 126 : ZSIG2 = 'EXTR' ZEVPIC2 'ORDO' 1 ; 127 : AZSIG2 = 'ABS' ( ZSIG2 ) ; ZM2 = 'MAXI' AZSIG2 ; 128 : 'MESS' 'VALEUR ABSOLUE DU SIGNAL ' ZM2 ; 129 : SURF = 'SOMM' ZEVSIG ; SURFSIG = 'EXTR' SURF 1 ; 130 : SURF = 'SOMM' ZEVPIC1 ; SURF1 = 'EXTR' SURF 1 ; 131 : SURF = 'SOMM' ZEVPIC2 ; SURF2 = 'EXTR' SURF 1 ; 132 : 'MESS' 'SURFACE DU SIGNAL NON CORRIGE ' SURFSIG ; 133 : 'MESS' 'SURFACE DU SIGNAL CORRIGE DES POINTES ' SURF1 ; 134 : 'MESS' 'SURFACE RESTANT A CORRIGER ' SURF2 ; 135 : ZC = ( SURFSIG '-' SURF1 ) '/' SURF2 ; ZC = ZC '+' 1. ; 136 : 'MESS' ' CORRECTION DE SURFACE ZC ' ZC ; 137 : 'SI' ( ( '<' ZC .8 ) 'OU' ( '>' ZC 1.2 ) ) ; 138 : 'MESS' 'LA SURFACE DU SIGNAL N EST PAS RAMENEE A ZERO' ; 139 : 'MESS' 'ESSAYER UN AUTRE TIRAGE AU SORT' ; 140 : 'SINON' ; 141 : 'SI' ( '>' (ZC '*' ZM2 ) ZGAMMA ) ; ZC = ZGAMMA '/' ZM2 ; 142 : 'FINSI' ; 143 : 'MESS' ' CORRECTION DE SURFACE ZC' ZC ; 144 : ZPICCOR2 = ZPICCOR2 '*' ZC ; 145 : ZPICCOR2 = ZPICCOR2 '+' ZPICCOR3 ; 146 : ZEVPIC2 = 'EVOL' 'VERT' 'MANU' 'ABSC' ZTEMP 'ORDO' ZPICCOR2; 147 : ZEVPIC1 = ZEVPIC2 '*' ZEVPIC1 ; 148 : SURF = 'SOMM' ZEVPIC1 ; SURFF = 'EXTR' SURF 1 ; 149 : 'MESS' 'SURFF ' SURFF ; 150 : 'FINSI' ; 151 : 'FINSI' ; 152 : ZSIGN = 'TABLE' ; ZSIGN.'EVSIG2' = ZEVPIC1 ; 153 : 'FINPROC' ZSIGN ;
© Cast3M 2003 - All rights reserved.
Disclaimer