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 : M ACC=RECOMPOS RESI DECO; 165 : 'FINSI'; 166 : 'FINSI'; 167 : * 168 : 'FINPROC' M ACC;
© Cast3M 2003 - All rights reserved.
Disclaimer