Télécharger signcorr.procedur

Retour à la liste

Numérotation des lignes :

  1. * SIGNCORR PROCEDUR PASCAL 20/11/13 21:15:14 10778
  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. SURFSIG = 'INTG' ZEVSIG ;
  130. SURF1 = 'INTG' ZEVPIC1 ;
  131. SURF2 = 'INTG' ZEVPIC2 ;
  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. SURFF = 'INTG' ZEVPIC1 ;
  149. 'MESS' 'SURFF ' SURFF ;
  150. 'FINSI' ;
  151. 'FINSI' ;
  152. ZSIGN = 'TABLE' ; ZSIGN.'EVSIG2' = ZEVPIC1 ;
  153. 'FINPROC' ZSIGN ;
  154.  
  155.  
  156.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales