* 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