Download recompom.procedur

Back to the list

   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