$$$$ FTRAN * FTRAN PROCEDUR AF221230 13/09/10 21:15:01 7820 * DEBPROC FTRAN EV1*'EVOLUTIO' EV2*'EVOLUTIO' F0*'FLOTTANT' VAL1/'ENTIER '; * ********************************************************************* * * Procedure FTRAN * Cette procedure calcule la fonction de transfert à partir de * deux evolutons * Alberto FRAU (alberto.frauetcea.fr) * DEN/DANS/DM2S/SEMT/EMSI * Benjamin RICHARD (benjamin.richardetcea.fr) * DEN/DANS/DM2S/SEMT/EMSI * INPUT: * EV1 premiere evolution * EV2 deuxieme evolution * F0 frequence de coupure * VAL1 nombre des points à effacer pour la transformée * * OUTPUT: * EV3 fonction de transfert (module et phase) * * EV3 = fft(EV1)/fft(EV2) * * ********************************************************************* * LIST VAL1; 'SI' (('EXIST' VAL1) 'ET' ('EGA' ('TYPE' VAL1) 'ENTIER')); KK1 = VAL1; 'SINON'; KK1 = 1; 'FINSI'; LIST KK1; * NN_EV1 = 'DIME' ('EXTR' EV1 'ABSC'); NN_EV2 = 'DIME' ('EXTR' EV2 'ABSC'); DT_EV1 = 'EXTR' ('EXTR' EV1 'ORDO') 2; DT_EV2 = 'EXTR' ('EXTR' EV2 'ORDO') 2; * 'SI' (NN_EV1 'NEG' NN_EV2); 'MESS' 'Erreur....les evolution n'ont pas les meme nobre des point'; 'ERRE' 5; 'FINSI'; 'SI' (DT_EV1 'NEG' DT_EV2); 'MESS' 'Erreur....les evolution n'ont pas les meme pas de temps'; 'ERRE' 5; 'FINSI'; * NN_FRT = 'ENTI' (('LOG' NN_EV1)/('LOG' 2)); 'SI' (((2)**(NN_FRT)) < NN_EV1); NN_FRT = NN_FRT + 1; 'FINSI'; TFR1 = 'TFR' NN_FRT EV1 'MOPH' 'FMAX' F0; TFR2 = 'TFR' NN_FRT EV2 'MOPH' 'FMAX' F0; * E_TR = TFR1/TFR2; * LL1 = 'EXTR' E_TR 'ABSC'; LL2 = 'EXTR' E_TR 'ORDO' 1; LL3 = 'EXTR' E_TR 'ORDO' 2; 'REPE' IND1 (KK1); LL1 = 'ENLE' LL1 1; LL1 = 'ENLE' LL1 ('DIME' LL1); LL2 = 'ENLE' LL2 1; LL2 = 'ENLE' LL2 ('DIME' LL2); LL3 = 'ENLE' LL3 1; LL3 = 'ENLE' LL3 ('DIME' LL3); 'FIN' IND1; * E_TR = 'EVOL' 'COMP' 'MOPH' LL1 LL2 LL3; * EV3 = 'EVOL' 'MANU' 'Freq [Hz]' LL1 'Modu' LL2; * 'FINPROC' EV3; ********************************************************************* * $$$$