* SIGNCORR PROCEDUR PASCAL 20/11/13 21:15:14 10778 * * ZZTB : OBJET DE TYPE TABLE CONTENANT * * LE SIGNAL A CORRIGER EVSIG1 EVOLUTION * L' ACCELERATION MAXIMALE GAMMA FLOTTANT * * RECHERCHE DU MAXIMUM DU SIGNAL * 'SI' ( '<' ( ( 'ABS' ( ZMM '-' ZGAMMA ) ) '/' ZGAMMA ) ZPR ); ZEVPIC1 = ZEVSIG ; 'SINON' ; * CORRECTION : DEUX CAS POSSIBLES ZMM < ZGAMMA ET ZMM > ZGAMMA 'SI' ( '<' ZMM ZGAMMA ) ; ZPICSIG = AZSIG 'MASQUE' 'EGALE' ZMM ; ZNBPICS = 1 ; 'SINON' ; ZPICSIG = AZSIG 'MASQUE' 'SUPERIEUR' ZGAMMA ; 'FINSI' ; 'SI' ( '>' ZNBPICS 4 ) ; 'MESS' ' ATTENTION LE NOMBRE DE PICS A CORRIGER EST DE' ZNBPICS ; 'FINSI' ; * CHAQUE PIC EST DEFINI PAR LES INDICES DE DEBUT : ZPICCORD * DE FIN : ZPICCORF * ET LA CORRECTION = GAMMA/VALEUR DU MAXIMUM : ZPICCOEF * REPERAGE DES PASSAGES A ZERO ZSIG1 = ZSIG '*' 1. ; ZSIG2 = ZSIG '*' 1. ; NPT1 = ZNPT '+' 1 ; ZPICZER = ZZ 'MASQUE' 'SUPERIEUR' 0. ; * METTRE DES 1 SUR TOUS LES PICS A CORRIGER ZNUMPIC = 0 ; Z1 = 0 ; 'REPETER' BOUCA ZNBPICS ; ZNUMPIC = ZNUMPIC '+' 1 ; 'REPETER' BOUC1 ZNPT ; Z1 = Z1 '+' 1 ; 'SI' ( '>' Z1 ZNPT ) ; ZNUMPIC = ZNUMPIC '-' 1 ; 'QUIT' BOUCA ; 'FINSI' ; * RECHERCHE DU PROCHAIN PIC (ZNUMPIC) DEFINI PAR ZA=1 'SI' ( 'EGA' ZA 1 ) ; 'QUIT' BOUC1 ; 'FINSI' ; 'FIN' BOUC1 ; * DEBUT DE DEPASSEMENT DE ZGAMMA, RECHERCHE DU MAXIMUM 'REPETER' BOUCMAX ZNPT ; * RECHERCHE DE LA VALEUR DU MAX ZMAX ET DE SON INDICE ZMP * LE MAX SE TROUVE DANS LA ZONE ZA = 1 Z1 = Z1 '+' 1; 'SI' ( '>' Z1 ZNPT ) ; 'QUIT' BOUCMAX ; 'FINSI' ; * SI ZA=0 ON A DEPASSE LE MAX 'SI' ( 'EGA' ZA 0 ) ; 'QUIT' BOUCMAX ; 'FINSI' ; 'SI' ( '>' ZMA ZMAX ) ; ZMAX = ZMA ; ZMP = Z1 ; 'FINSI'; 'FIN' BOUCMAX ; * ZA = 0 : PASSAGE A ZERO (FIN DU PIC) Z1 = Z1 '-' 1 ; 'SI' ( 'NON' ( IMPII '<' 1 ) ) ; 'MESS' 'MAX ' ZNUMPIC ZMP ZMAX ; 'FINSI' ; * MISE DE ZCOEFF DS LA TABLE DES COEFFICIENTS * RECHERCHE DU DEBUT DU PIC 'REPETER' BOUC2 ZNPT ; Z2 = Z2 '-' 1; 'SI' ( '<' Z2 1 ) ; 'QUIT' BOUC2 ; 'FINSI' ; 'SI' ( 'EGA' ZB 0 ) ; 'QUIT' BOUC2 ; 'FINSI' ; 'FIN' BOUC2 ; * ZB = 0 : PASSAGE A ZERO (DEBUT DU PIC ) 'FIN' BOUCA ; * CORRECTION DU NOMBRE REEL DE PICS EN CAS DE PICS MULTIPLES 'SI' ( '>' ZNBPICS ZNUMPIC ) ; ZNBPICS = ZNUMPIC ; 'FINSI' ; ZF = 0 ; ZNUMPIC = 0 ; 'REPETER' BOUC4 ZNBPICS ; ZNUMPIC = ZNUMPIC '+' 1 ; ZD1 = ZD '-' ZF ; 'SI' ( '>' ZD1 0.01 ) ; ZPICCOR1 = ZPICCOR1 'ET' ZPICCOR0 ; 'FINSI' ; ZD2 = ZF '-' ZD ; 'SI' ( '>' ZD2 0.01 ) ; ZPICCOR1 = ZPICCOR1 'ET' ZPICCOR0 ; 'FINSI' ; 'FIN' BOUC4 ; ZD1 = ZNPT '-' ZF ; 'SI' ( '>' ZD1 0.01 ) ; ZPICCOR1 = ZPICCOR1 'ET' ZPICCOR0 ; 'FINSI' ; ZPICCOR2 = ZPICCOR1 'MASQUE' 'EGALE' 1 ; ZPICCOR3 = ZPICCOR1 'MASQUE' 'DIFFERENT' 1 ; * CALCULER LES SURFACES ZEVPIC1 = ZEVPIC1 '*' ZEVSIG ; ZEVPIC2 = ZEVPIC2 '*' ZEVSIG ; 'MESS' 'VALEUR ABSOLUE DU SIGNAL ' ZM2 ; 'MESS' 'SURFACE DU SIGNAL CORRIGE DES POINTES ' SURF1 ; 'MESS' 'SURFACE RESTANT A CORRIGER ' SURF2 ; ZC = ( SURFSIG '-' SURF1 ) '/' SURF2 ; ZC = ZC '+' 1. ; 'MESS' ' CORRECTION DE SURFACE ZC ' ZC ; 'SI' ( ( '<' ZC .8 ) 'OU' ( '>' ZC 1.2 ) ) ; 'SINON' ; 'SI' ( '>' (ZC '*' ZM2 ) ZGAMMA ) ; ZC = ZGAMMA '/' ZM2 ; 'FINSI' ; 'MESS' ' CORRECTION DE SURFACE ZC' ZC ; ZPICCOR2 = ZPICCOR2 '*' ZC ; ZPICCOR2 = ZPICCOR2 '+' ZPICCOR3 ; ZEVPIC1 = ZEVPIC2 '*' ZEVPIC1 ; 'MESS' 'SURFF ' SURFF ; 'FINSI' ; 'FINSI' ; ZSIGN = 'TABLE' ; ZSIGN.'EVSIG2' = ZEVPIC1 ; 'FINPROC' ZSIGN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales