Télécharger recompom.procedur

Retour à la liste

Numérotation des lignes :

  1. * RECOMPOM PROCEDUR PICA 92/07/03 21:34:12 619
  2. *----------------------------------------------------------------------*
  3. * PROCEDURE RECOMPOM *
  4. * *
  5. * CALCUL DE LA RECOMPOSITION D'UN SIGNAL QUELCONQUE EN *
  6. * ONDELETTE ORTHOGONALE *
  7. * *
  8. * M ACC=RECOMPOS MRESI MDECO DTIME (CRESI CDECO OPTIO); *
  9. *----------------------------------------------------------------------*
  10. * ENTREE *
  11. * *
  12. * MRESI : OBJET DE TYPE EVOLUTION CONTENANT LE RESIDU AU NIVEAU M *
  13. * SOUS FORME DE FONCTION DE MODULATION *
  14. * *
  15. * CRESI : OBJET DE TYPE FLOTTANT CONTENANT UN COEF DE PONDERATION *
  16. * DE MRESI (DEFAUT 1) *
  17. * *
  18. * MDECO : OBJET DE TYPE EVOLUTION CONTENANT LA DECOMPOSITION EN M *
  19. * NIVEAUX, DES BASES VERS LES HAUTES FREQUENCES, SOUS FORME DE *
  20. * FONCTION DE MODULATION *
  21. * *
  22. * CDECO : OBJET DE TYPE LISTREEL CONTENANT DES COEFF DE PONDERATION *
  23. * POUR CHAQUE NIVEAU (DEFAUT PROG 1 1 .... ) *
  24. * *
  25. * DTIME : PAS DE TEMPS DU SIGNAL DE BASE *
  26. * *
  27. * OPTIO : OBJET DE TYPE TABLE CONTENANT LES OPTION *
  28. *----------------------------------------------------------------------*
  29. * OPTIONS *
  30. * *
  31. * OPTIO.'LREC'= ENTIER, NOMBRE DE NIVEAU DE RECOMPOSITION SOUHAITE, *
  32. * DEFAUT PERMETTANT LE CALCUL MAXIMUM *
  33. * *
  34. * OPTIO.'FORC'= LOGIQUE, AUTORISATION POUR FORCER LES CALCUL AU DELA *
  35. * DES POSSIBILITES DE DECO ET SUIVANT LREC *
  36. * *
  37. * OPTIO.'BORD'= MOT, TRAITEMENT DES CONDITION DE BORD POUR LA *
  38. * CORRELATION: SYME(trique) OU PADD(ing) de ZERO *
  39. * *
  40. * OPTIO.'TYPE'= MOT, TYPE D'ONDELETTE: MALL(at) *
  41. * DEFAUT MALL *
  42. * *
  43. * OPTIO.'AMPL'= FLOTTANT, PERTUBATION EN AMPLITUDE DES COEFICIENTS *
  44. * DEFAUT PAS DE PERTURBATION *
  45. * *
  46. * OPTIO.'INIT'= ENTIER, INITIALISATION DU TIRAGE ALEATOIRE *
  47. * DEFAUT RIEN *
  48. *----------------------------------------------------------------------*
  49. * SORTIE *
  50. * *
  51. * M : ENTIER, NOMBRE DE NIVEAU ATTEINT *
  52. * *
  53. * ACC : OBJET DE TYPE EVOLUTION CONTENANT LE SIGNAL *
  54. *----------------------------------------------------------------------*
  55. 'DEBPROC' RECOMPOM MRESI*'EVOLUTION' MDECO*'EVOLUTION'
  56. DTIME*'FLOTTANT'
  57. CRESI/'FLOTTANT' CDECO/'LISTREEL' OPTIO/'TABLE';
  58. *----------------------------------------------------------------------*
  59. *
  60. * Lecture des options
  61. *
  62. 'SI' ('EXISTE' OPTIO);
  63. LOPTION=VRAI;
  64. 'SINON';
  65. LOPTION=FAUX;
  66. 'FINSI';
  67. CAMPL='TEXT' ' '; CINIT='TEXT' ' ';
  68. 'SI' LOPTION;
  69. 'SI' ('EXISTE' OPTIO 'AMPL');
  70. CAMPL='TEXT' 'AMPL' (OPTIO.'AMPL');
  71. 'FINSI';
  72. 'SI' ('EXISTE' OPTIO 'INIT');
  73. CINIT='TEXT' 'INIT' (OPTIO.'INIT');
  74. 'FINSI';
  75. 'FINSI';
  76. *
  77. * Lecture des parametres secondaires
  78. *
  79. LOK=VRAI;
  80. 'SI' ('NON' ('EXISTE' CRESI));
  81. CRESI=1.;
  82. 'FINSI';
  83. NMO='DIMENSION' MDECO;
  84. 'SI' ('NON' ('EXISTE' CDECO));
  85. CDECO=PROG NMO*1.;
  86. 'SINON';
  87. NMOB='DIMENSION' CDECO;
  88. 'SI' ('NON' (NMOB 'EGA' NMO));
  89. 'MESSAGE' 'RECOMPOM:Nb de courbes en ondelette (MDECO) et';
  90. 'MESSAGE' ' nb de ponderations (CDECO) incoherents';
  91. LOK=FAUX;
  92. 'FINSI';
  93. 'FINSI';
  94. *
  95. * Travail sur le residu
  96. *
  97. 'SI' LOK;
  98. MRESIX='EXTRAIRE' MRESI 'ABSC' 1;
  99. TIRESI='EXTRAIRE' MRESIX 1;
  100. TRESI=('EXTRAIRE' MRESIX ('DIMENSION' MRESIX))-TIRESI;
  101. NPT='ENTIER' ((TRESI/DTIME) + 1.E-5);
  102. TTEST=TRESI-(NPT*DTIME);
  103. 'SI' (('ABS' TTEST) '>' (DTIME*1.E-4));
  104. 'MESSAGE' 'RECOMPOM:Le pas de temps (DTIME) est incoherent avec la';
  105. 'MESSAGE' ' duree du signal residu (MRESI)';
  106. LOK=FAUX;
  107. 'SINON';
  108. LOK=VRAI;
  109. 'FINSI';
  110. 'FINSI';
  111. 'SI' LOK;
  112. RESIX='PROG' TIRESI 'PAS' DTIME 'NPAS' NPT;
  113. RESIY='IPOL' RESIX MRESIX ('EXTRAIRE' MRESI 'ORDO' 1);
  114. RESIYY='PERT' RESIY 'SIGN' CAMPL CINIT;
  115. RESIY=RESIYY;
  116. RESI ='EVOL' 'MANU' RESIX (CRESI*RESIY);
  117. 'FINSI'
  118. *
  119. * Travail sur les modulation
  120. *
  121. 'SI' LOK;
  122. DDTIME=DTIME;
  123. I=0;
  124. 'REPETER' LABCO NMO;
  125. I=I+1;
  126. MDECOIX='EXTRAIRE' MDECO 'ABSC' I;
  127. TIDECOI='EXTRAIRE' MDECOIX 1;
  128. TDECOI=('EXTRAIRE' MDECOIX ('DIMENSION' MDECOIX))-TIDECOI;
  129. NPT='ENTIER' ((TDECOI/DDTIME) + 1.E-5);
  130. TTEST=TDECOI-(NPT*DDTIME);
  131. 'SI' (('ABS' TTEST) '>' (DTIME*1.E-4));
  132. 'MESSAGE'
  133. 'RECOMPOM:Le pas de temps (DTIME) est incoherent avec la';
  134. 'MESSAGE' ' duree du signal ondelette (MDECO) courbe' I;
  135. LOK=FAUX;
  136. 'QUITTER' LABCO;
  137. 'FINSI';
  138. 'SI' (('ABS' (TIDECOI-TIRESI)) '>' (DTIME*1.E-4));
  139. 'MESSAGE'
  140. 'RECOMPOM:Instant initiaux non egaux entre le signal residu (MRESI)';
  141. 'MESSAGE' ' et le signal ondelette (MDECO) courbe' I;
  142. LOK=FAUX;
  143. 'QUITTER' LABCO;
  144. 'FINSI';
  145. CDECOI='EXTRAIRE' CDECO I;
  146. DECOIX='PROG' TIDECOI 'PAS' DDTIME 'NPAS' NPT;
  147. DECOIY='IPOL' DECOIX MDECOIX ('EXTRAIRE' MDECO 'ORDO' I);
  148. DECOIYY='PERT' DECOIY 'SIGN' CAMPL CINIT;
  149. DECOIY=DECOIYY;
  150. DECOI='EVOL' 'MANU' DECOIX (CDECOI*DECOIY);
  151. 'SI' (I 'EGA' 1);
  152. DECO=DECOI;
  153. 'SINON';
  154. DECO=DECO 'ET' DECOI;
  155. 'FINSI';
  156. DDTIME=DDTIME/2;
  157. 'FIN' LABCO;
  158. 'FINSI';
  159. *
  160. 'SI' LOK;
  161. 'SI' LOPTION;
  162. M ACC=RECOMPOS RESI DECO OPTIO;
  163. 'SINON';
  164. 'FINSI';
  165. 'FINSI';
  166. *
  167. 'FINPROC' M ACC;
  168.  

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