* RECOMPOS PROCEDUR PICA 92/07/03 21:34:22 619
*----------------------------------------------------------------------*
* PROCEDURE RECOMPOS *
* *
* CALCUL DE LA RECOMPOSITION D'UN SIGNAL QUELCONQUE EN *
* ONDELETTE ORTHOGONALE *
* *
* M ACC=RECOMPOS RESI DECO (OPTIO); *
*----------------------------------------------------------------------*
* ENTREE *
* *
* RESI : OBJET DE TYPE EVOLUTION CONTENANT LE RESIDU AU NIVEAU M *
* *
* DECO : OBJET DE TYPE EVOLUTION CONTENANT LA DECOMPOSITION EN M *
* NIVEAUX, DES BASES VERS LES HAUTES FREQUENCES *
* *
* OPTIO : OBJET DE TYPE TABLE CONTENANT LES OPTION *
*----------------------------------------------------------------------*
* OPTIONS *
* *
* OPTIO.'LREC'= ENTIER, NOMBRE DE NIVEAU DE RECOMPOSITION SOUHAITE, *
* DEFAUT PERMETTANT LE CALCUL MAXIMUM *
* *
* OPTIO.'FORC'= LOGIQUE, AUTORISATION POUR FORCER LES CALCUL AU DELA *
* DES POSSIBILITES DE DECO ET SUIVANT LREC *
* DEFAUT FAUX *
* *
* OPTIO.'BORD'= TEXTE, TRAITEMENT DES CONDITION DE BORD POUR LA *
* CORRELATION: SYME(trique) OU PADD(ing) de ZERO *
* DEFAUT SYME *
* *
* OPTIO.'TYPE'= TEXTE, TYPE D'ONDELETTE: MALL(at) ou DAUB(echie) *
* DEFAUT MALL *
* *
* OPTIO.'TINI'= FLOTTANT BORNE INFERIEURE POUR LE SIGNAL RECONSTITUE *
* DEFAUT RIEN *
* *
* OPTIO.'TFIN'= FLOTTANT BORNE SUPERIEURE POUR LE SIGNAL RECONSTITUE *
* DEFAUT RIEN *
*----------------------------------------------------------------------*
* SORTIE *
* *
* M : ENTIER, NOMBRE DE NIVEAU ATTEINT *
* *
* ACC : OBJET DE TYPE EVOLUTION CONTENANT LE SIGNAL *
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
'SI' ('NON' ('EXISTE' OPTIO));
LOPTION=FAUX;
'SINON';
LOPTION=VRAI;
'FINSI';
LTINI=FAUX;LTFIN=FAUX;
'SI' LOPTION;
'SI' ('EXISTE' OPTIO 'LREC');
LREC=OPTIO.'LREC';
'FINSI';
'SI' ('EXISTE' OPTIO 'TINI'); TINI=OPTIO.'TINI';
LTINI=VRAI; 'FINSI';
'SI' ('EXISTE' OPTIO 'TFIN'); TFIN=OPTIO.'TFIN';
LTFIN=VRAI; 'FINSI';
'FINSI';
LOK=VRAI;
*
* Filtre en h (MALLAT -erreur signe)
*
.006 .006 -.003 -.002;
MMH= -1;
UU=(-1)**HDIM;
'REPETER' LABMALL HDIM;
G='EXTRAIRE' HH I;
GG='INSERER' GG II (UU*G);
'SI' (I 'NEG' 1);GG= 'INSERER' GG II (UU*G); 'FINSI';
I=I-1; II=II+1; UU=UU*(-1);
'FIN' LABMALL;
GTILDE=GG; MMG=HDIM-2;
'SINON';
*
* Filtre en h (Daubechie + correction norme)
*
0.469782287405 -0.143906003929 -0.224036184994
0.071309219267 0.080612609151 -0.038029936935
-0.016574541631 0.012550998556 0.000429577973
-0.001801640704 0.000353713800;
HH=HH / (2**.5);
MMH=0;
*
* Calcul des filtres conjugues et en quadrature
*
UU=(-1)**HDIM;
'REPETER' LABDAUB HDIM;
G='EXTRAIRE' HH I;
GG='INSERER' GG II (UU*G);
I=I-1; II=II+1; UU=UU*(-1);
'FIN' LABDAUB;
MMG=HDIM-2;
*
'SINON';
LOK=FAUX;
'FINSI';
'FINSI';
*
* Travail eventuel sur DECO
*
'SI' LOK;
'SI' (NCOUR '<' LREC);
I=0;
'REPETER' LABD (LREC-NCOUR);
I=I+1;
XX ='DIADIQUE' XXXX 'IVIN'; XXXX=XX;
DUMMY='EVOLUTION' 'MANUEL' 'temps' XX 'Y->0.' (0*XX);
'SI' (I 'EGA' 1); DECOC=DUMMY;
'SINON'; DECOC=DECOC 'ET' DUMMY;
'FINSI';
'FIN' LABD;
'FINSI';
'FINSI';
*
* Recomposition
*
*
'SI' (LTINI 'OU' LTFIN);
DXXXX=(TTFIN-TTINI)/(NNPTT-1);
'SI' LTINI;
'SI' (TINI '<EG' TTINI);
TINI=TTINI;
'SINON';
IINI=(TINI-TTINI)/DXXXX; IINI=IINI-0.0001;
IINI='ENTIER' IINI; IINI=IINI+1;
TINI=TTINI+(IINI*DXXXX);
'FINSI';
'SINON';
TINI=TTINI;
'FINSI';
'SI' LTFIN;
'SI' (TFIN '>EG' TTFIN);
TFIN=TTFIN;
'SINON';
IFIN=(TTFIN-TFIN)/DXXXX; IFIN=IFIN-0.0001;
IFIN='ENTIER' IFIN; IFIN=IFIN+1;
TFIN=TTFIN-(IFIN*DXXXX);
'FINSI';
'SINON';
TFIN=TTFIN;
'FINSI';
ACC='EVOLUTION' 'MANUEL' 'temps' XXX 'Y' YYY;
'FINSI';
'FINSI';
*
'FINPROC' M ACC;
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales