Vr0 V !(AZoIa!!` ImageAa,iHZd@Fentre ayant les dipmensions d'une feuille pde papier l'impressio!pn, destine recevoir Apdes copies ("images") d!ape tout lment du graphApe : courbes, rsultat napumrique, paramtres . p Elle doit tre placep en premier niveau du gpraphe MUSTIG. Les "i!pmages" peuvent tre volApatiles. Pour crer une !apimage volatile, il fautAp appuyer sur la touche apmajuscule pendant le drpag. Lors de la premirep cration d'image, un dpialogue propose la cra!ption d'une image volatiAple mme si la touche ma!apjuscule n'est pas enfonApce. Ensuite, la variabaple d'environnement imagpe_volatile (dans mustigp.prf) est mise "on" ept ce dialogue n'apparai!pt que quand la touche mApajuscule est enfonce. !apPlusieurs images volatiAples peuvent partager leap mme espace. Quand l'upne d'elle est active (pNous dirons ralise) (ppar exemple la demand!pe d'un calcul), les autApres sont rendues invisi!apbles (Nous dirons draAplises).aoz`Images volatiles *A~d ,[7AaA \!d ??????????!q! `@06N !a(M !bVar/tAa!9'E!Ad@ Macro pour dfinir uapne variable et tous sesp attributs en fonction pdes valeurs fixes l'pintrieur de la macro.N|Aa({!bVar/t#`@ Description de variapble{A!a-@ A ! A,? a 1E9A  A!I]9A A !au9  y A A  A! A  `@Dual ev ! A`@Origine N] a  `@Pas A6F A `@Nb points  d@Origine dual  ! `@Demi ,, a $ a ! A@ A   A `@0  ; !  A  A!" ! a  a Ab(OrigDual/t   (d6 d@ Permet de dfinir pl'origine de la variabl !pe support de la transfoAprme de Fourier selon l!apa variable "f".A-t=&a`@ Dfinir l'origine enp frquence@! a `@1  @ 6 +a`@0a !a @Uk!aa `!`@0 a A@ aa`@0a a I wmaa J!!"`A!v !!bDemi/t C! !"+!BbDual/t  tA !!a!"A! abOrig/t! eA!a !"!!AbPas/tk d la!bN/ta@0 g!a!f`@100 a AU(Tab/ta''Aj?ad@Macro pour dfinir u!pne variable ("Support dApe signal") de nom "t" e!apt de longueur le nombreAp indiqu sur le devant apde la macro. Plus gnpralement, le module pqui se trouve l'intrpieur de la macro dfini!pt une nouvelle variableAp ayant pour longueur la!ap valeur relle entrant Apsur la borne gauche du apmodule, et pour nom le pnom de variable du moduple. Par dfaut, l'origpine de la variable est !p0 et son pas est 1. On Appeut changer ces valeur!aps par dfaut en utilisaApnt les modules "Orig/t"ap et "Pas/t" qui se troupvent dans "Changement dpe variables". On peut spe reporter la macro "!pVar" qui utilise ces moApdules. !Ad a bN/taFa(!b/t}*aA`@ Description de variaApbleaA!b!`` 256<w!$Y&QA<wa$YOcd!A Ya YbN/t@Qba!YA`@256AaAANAa`Sortiesv3 ?va``visusqueAz!a_A`Signaux4.0dqa``bsignauxqueAu!aua:!`<->!2d6A`@Modules d'interface!(63z.a/A` Batch*d@ ermettant d'!-(>NA``Module permettant d'!apentrer une suite d'actiApons (ou fonctionnement ap"Batch")BS! A``Ordres de slection  pde fichiers et de comma !pndes : T7ew a ``OUVRIRde slection Ae7vy A ``FERMERde slection w7 !``SELECTIONNERection b{s!! !A``LANCERde slection !btk!a!!d`"Nom_commandes_batch!A!p"!a=!!A"``Modification d'un pa!!pramtre du calcul :!"!!"a``Ordres de calcul et ""Apd'impression :"!U"""``"etiquette" += vale"a"pur"S""a#!``"etiquette" -= vale"#pur"\#A"#``"etiquette" *= vale#!#apur#A\##!#``"etiquette" /= vale##pur#7$#$!``INITIALISERlection # 7$A#$a``CALCULERERlection $!7-$$!$``IMPRIMERERlection $aI$$a$``"Nom_fentre_image"$6H%$%A``Contrle du droulem$%!pent :%I7a%a$%``DEMARRER "17h57m"17%AJ`~%%A%``ATTENDRE "1m20s"17%Wj%%&``Bouclage : = valeur%(&!%&a``"etiquette" = valeur&&Ap&!&&&``"etiquette" = "(etiq&a&puette_source)" &m&&a'``"Nom_macro".MTG"&YlI'!&'A``"Nom_fichier.MTG"'7'a''``DSP "ON""17h57m"17'A9''A(d` "a"=1 { "b"=2''p } { "c"=3 ''p "b"=1 }'(!'(a``qui peut aussi s'cr((Apire (!|L(((d`if("a"=1) then { "b(a(p"=2 } else { "c"=3 "((pb"=1 }(6)(a)!``if then else :aleur(s)A()a``Syntaxe de base :")!\))!)d`debug (ou faire Son)a)pder - menu calcul))A2))a*d`4{ .... .... }tion ); v*!)*d`Le contrle du drou**Aplement se fait alors pa*!*apr les touches : n(ext)*A*p s(kip) i(in) o(ut) c(o*a*pntinue) q(uit)*e**+!d`[Condition (valeur e*+pntire,facultatif)]*+A*+a``stop t aussi s'cr+! ++!+``break t aussi s'cr+a0++a,d`-> termine le "lance++pr"+1,!+,Ad`-> termine le batch, ,a,,``DSP "OFF"17h57m"17,A',,A,``"Nom_macro".MTG",{,,-!``Modification des opt,-pions :,{-A,-a``OPTIONde slection -!~--!-``"editeur:niveaux_d_a-a-pnnulation=1"-d--a.!``"editeur:tout_enregi-.pstrer=1"-r.A-.d`"editeur:clic_activa.!.apte=off".As..!``--------------------..p--------------------.t//!ap.t.3z1A/a0a2(41a/A/(41/a/(D1//(h1//(y1/0(y2/0!(h2!00A(D2A0!` Formule/A000a00d@Module permettant d'00pentrer un programme sou01ps forme "texte" (cf Man01!puel)1t1a2a/A24/a1A14/1a14/114/114/124012!40!22A40A2!ep1At1Av23/A4 22 2b=/u23!3A3d& 3a3!d@Module permettant de3A3p rendre conscutives en3a3p mmoire les valeurs d'33pun signal une dimensi33pon ( u ) avant de les a34pppliquer un externe. 34!pCela simplifie la gesti44Apon des donnes en entr4!4ape dans l'externe.4A)x4426a 44 (4b=/u/v455!4^7"5A5d@Module permettant de5!5ap rendre conscutives en5A5p mmoire les valeurs d'5a5pun signal deux dimens55pions( u et v) avant de 55ples appliquer un exte56prne. Cela simplifie la 56!pgestion des donnes en 66Apentre dans l'externe.6!,6748A 6a6 66 66 67 +67! +77A 7!7a 7AgFortran 6a777~#77d@Module permettant d'78pinterfacer un programme78!p externe en FORTRAN88a9a6a 8A8 8a8 88 88 89 89! 99A 9!gExtern phy 1-I4 2-8A999a^799d@Module permettant d'99pinterfacer un programme9:p externe en C,...9g::A1dOprations lmentai:!:apres:A5::!;:;!:?(<::( a=A= =ah==A=>!=A>A >=> =h==@>a=> "<>A>!=>a> ?A>@>>A?A!=a>? <>?! ??B><>?aA?<?A?B?!?a?a ]@?@!:D!*\A??*  A!?@("4AA?b8Avance init/t?@A@a@!d_@@A`@Comme Avance, avec c@a@phoix de l'initialisatio@@pn@)AaA? (A?@A! A?AAA$"A@A!!BA@ bACAAAaA  BAAA CaA!AA ACA! B!AaBA`@t1B BaBBB CBAB ABa`=BABC!BACA CBC B`=B@CaBC ACAC!BCaC DCABaACACADACDBCCCnGHDAD?N!({FHD!Da IDAD( tI!DaD("o&IAD`0CommutedreteurD!DED2bFE!Dd@Commutateur : si "c"EEAp (entier) est non nul, E!Eap"d" est gal "b", sinEAEpon "d" est gal "a". EaEp "c" doit tre scalaireEEp. Alors seulement une dEEpes branches, soit "a" oEFpu "b", est calcule, auEF!p lieu des 2 branches poFFApur le module commutateuF!Fapr ":-" .FAGA2FGE(1FF FF( FG("F`0CommutedreteurHDWGaFaG`@dGA1FGAFGGGAH`@aGFGGHAH!GHa`@bHFHGH HH`@cHaGHaHAG!(_IaHD!$^JDAHI$  IDaHI!$ JDIIA$"JDI!IIHI  IIaI4 I``0lc. 2tCeningIaJJAIaJa I!IJ!4J``1lc. 1tCeningI#JJJI("KIAJaJ("K!HJh`Ja0KaKKAJa$"MAJJK!$IMJKh`VecteurectorielleJ& KKJK MAKaK MKdFloatKa*4tLaLLAKaMA! \5MMaKL! \LNL``ModuleKQgLLKL4\LaL \L!L``LaRDg7MM!La \ELL`@?????????????LAKKKMaA\2LMMAMBB2MaMMaMABMMMMBMKMMBINK!MNA\L!MMo\NAND!S y]N!Na "pxNAN yNaN #xNhAlarmeN!NON,iPO!Nd@ Module permettant l'OOApaffichage du dialogue dO!Oap'alarme avec le messageOAOp "Texte alarme" quand "OaOpCondition d'alarme" (enOOptier) est diffrent de OOp0. Si au contraire "ConOPpdition d'alarme" vaut iOP!p0, le signal incident sPPApur la borne de gauche eP!Papst disponible sur la boPAPprne de droite.PaQa8PQO PP "PQ 7PQ! #Q`AlarmeR QPQ`@ Texte alarmeQaQ!QaPR!oQQaRA`@ Valeur transmettreQRpQPQQRORaQR`@ Valeur transmiseRA7QRAR!RRRA`@ Condition d'alarmeRPRRQAyS!SaN!T SSA S!hATanhSSSSaAm?SS`@Arc tangente hyperboSSpliqueScsT!TaSU kTTA kT!`ACoshTTTTa>oATT`@Arc cosinus hyperbolTTpiqueTc}sU!UaTV k~UUA kU!hASinhUUUUaDtFUU`@Arc sinus hyperboliqUUpueUN^V!VaUW VVVA VV!`TanhVVVVaI{MVV`@Tangente hyperboliquVVpeV9IW!WaVX AWWA AW!hCoshWWWWa7gWW`@Cosinus hyperboliqueWWpW9JX!XaWX AXXA AX!`SinhXXXXa:TXXd@Sinus hyperboliqueX'5YYYaX\(4ZXY!( Z!YYA("$ZAY!b/hXYYYa+|YY`@Registre dcalageY{}ZaZX$ZYYZ!$ ~ZY!ZZA$"|ZYAZ!![ZY "Z\aZAZaZ \ZZZ [aZ!ZZ SZ\AZ![!Za[A`@h0[[a[[[ Z[A[ \A[ah=[A[\![A\A \a[\ Z[h=[A[Z[\aA[Z\A+?_a\\Xj( 5_\\(5_\b(Drive/tt\]]!\,ib^!]A]d@ Calcul de la drive]!]ap d'un signal "a" est u]A]pn vecteur suivant la va]a]priable de la macro (ici]]p t). "b" est la drive]]p calcule par diffrenc]^pe.]^^A^]!( ^!^a(^Ab,Drive/tt_A^^_`@ a^^A^^!_A#8_!^`@ b_^a_^^O__\$ bA\_a_$`\_Dp_`!_a`A j!_` CjA_bPas?/t_]l`a`_` ^aA`A`!#djA`a` k_``/`A@Oaaa`Aa Aa`a! "HjaaaA!N`aa!h-`@a`b!aaa baaa!j!a@b!ab jbbA _b!ba!abAZn8f!bbbj!)d7fAjabb) dfajbb (Retard/tbcc!bnKIWdcAcd@ Retard d'un signal (c!capou Z-1) Macro permettacAcpnt de passer du vecteurcacp "a" au vecteur "b" retccpard d'un chantillon pccpar rapport "a" selon cdpt Le premier chantillcd!pon de "b" est mis la ddApvaleur zro (Il est posd!dapsible de choisir une audAdptre valeur en modifiantdadp le paramtre interne ddp la macro).dea#7eec!(-de!( -eb (Retard/tf%ede`@bea-eeadf!eea`@ae-e!eeeAffAb$g!bf!fa$ gAbfAfff!f gf`@06f!ggf!"gahffg! ifAggA ifag!ga SgigA!gfg`@t0ggh!ghA iagh gh=ghahgh ihAh hah=hA@hhAiA "ghi!hahi! ii@iahi!giAi gAiai jiBi!g!iAiAjgaijBiiiBa_bjABd``j!jaAdHba!jAjAdbb!ja'mjk\r( mjj( mjb4Intgration/ttjk!kAk,iBlakak!d@ Calcul de la primitikAkpve d'un signal en utilikakpsant le pas de la variakkpble "a" est un vecteurkkp suivant la variable deklp la macro (ici t). "b" kl!pest le vecteur primitivllApe.l!llm!kA( lal( lb0Intgration/tm~mlAmA`@ allllam*mal`@ bmA lmAm!l[nmj$ qjmm$rAjmZjBn!nmn [nnnA "br!n!na iranAhxnJpnono! rnn!In!nbPas?/tnuoAoano oo!h0o!!zXp!oo!q! oqAoAoo "{8proo QWopop!(qaro!}GUpAopad@tisp!0@6ppp!q 1q!pap "8opp ?oph+pa@((q!pa!(pqqA (oq!qa (pqA@qor mqq!rqq!rqB(pr!qr!AbrnArrABxramr!raAxnarArArBqnrarBsqrrrAs8rorp ssjv |rs! vssA "qs!sa zsAh:-rsss+ZGtassd@ Commutateur : si "c"stp (entier) est non nul, st!p"d" est gal "b", sinttApon "d" est gal "a".t!u!tuas tat tt "tt th:-vuAtAu`@du!tu!tausuu!u`@cutuuav!vuvA`@butuuvvau`@avAtvAv!upvw!rz zvv "qvw zvh=?vwAwaw!-ldxAwwAd@ "c" (entier) est gawawpl 1 si "a" est gal wwp "b" et est gal 0 siwwpnon. Les entres "a" etwxp "b" peuvent tre des cwx!phanes de caractresxxxay!wa xAx "xax xh=?y !yx!yA`@cxxxxAy} yaxy`@byAxyAy!yyyA`@ayxayyxpz!zv}! zzzA "qz!za zzAh>?zzzz7{azzd@ "c" (entier) est gaz{pl 1 si "a" plus grandz{!p que "b" et est gal {{Ap0 sinon.{!|{|Az {a{ "{{ {h>?}|!{A|a`@c|{|{a|y|||`@b|a{|a|A}cw||a`@a|{||{Uoi.}A}z _p}!}a "V}A} _}ahshift}!}}},iq~}d@ Dcalage arithmtiqu}~!pe : si b>0 : a est dc~~Apal de b bits vers la d~!~aproite pour donner c si ~A~pb<0 : a est dcal de -~a~pb bits vers la gauche p~~pour donner c (c,a,b son~~pt des entiers)~!} A "!a Ahshift!5~`@caA!a`@bA`@aa!aAU0iha!}!( _1(_g`l_NOTAa!!Ad@ NON logique : a et apb sont entiers si a estp non nul, b est nul. sip a est nul, b est gal p 1.=Q8Aa)G!a)G7A`l_NOTA*L=a`@bG7a!A*=!`@aGA(<$ )Aa$8&]"a! \`@i18]"Aa  \!`@i0!k6 !!A! l!  lA "w h:-B/aaA/AABwaaUi'/ _ _&hNOT!A,i;a!d@ NON arithmtique : Apb = ~a ( a et b sont enaptiers )AsA } }hNOTcva`@aA}AbuA`@b}!Ui-! _A "V!a _AhXORj~mAd@ OU exclusif arithmtpique : c = a ~ b (c,a,!pb sont des entiers) a! A "a hXOR!A`@aaAa`@bAA! 4A`@cUi,!a _A "V!a _AhOR,id@ OU arithmtique : cp = a | b (c,a,b sont de!ps entiers) Dans le casAp o les entres sont de!aps plans graphiques, uniApon des rectangles.aA " hORA a`@cAAA`@bA!`@a!Ui+ _a "V _hANDa!um%h!Ad@ ET arithmtique : c!ap = a & b (c,a,b sont deAps entiers) Dans le casap o les entres sont deps plans graphiques, intpersection des rectanglepsA! !a "A ahAND!`@ba!aA`@a!A! !`@caCSDaA`@Oprations logiques !p::Ka BA BahLog10AhR:A`@ "b" est le logarithm!pe base 10 de "a"-Aa 7A 7ahLog10a.!!`@a7aAa/A`@b!7!+??eA( 5@(5d`dBro3!,i;A`@Transformation en dB!apAD$ g$gA`oa g! "aaA g!hx_p g!ghLog10J[!Aa!Ra`@10AR!!+?2!(51!( 5A(",a(>`ModuloAa!,iMA`@Le reste est gal apa modulo bg{a(q( q!("hA(z!`ModuloTh'`@resteq!SgA`@aqJ^a`@bAh!A!A`@quotientzAaJ'!$AA$ K!a$"A$&a@!   a@]]A ]!a ]A ]Aa !!A a!" dx@a!A a !#AAa! !"! ad-{ M |Aa!dFixae taa! fa!!"lA!s!d/BBl!A]ABA!!BABa!!aA!AASd [ [h+1!p+BaA`@ b = a + 1!!! a h+1AA`@ aa a`@ bAA!->z! 5 5 =`TimeAa!6Ad@ Pour ce module, l'apentre entire "in" et pla sortie entire "out"p permettent l'inclusionp dans le graphe. Le tem!pps (entier) est disponiApble sur la borne infri!apeure et est donn en seApcondes depuis le dbut apde l'anne 1970.9L~d@Calcul du temps@@//!a A .!a A`Time`@in!A?]!a`@out.A%C`@secaaaAU!  hASinAa!,i;A`@ Arcsinus : b = ASiapn ( a )Asa } }hASin_ra`@ aA}A^qA`@ b}!b!!a(AA( ca!`Ceila6d@ Arrondit un flottantp l'entier suprieur lpe plus proche.MgA$f!!a$ !AA ';! A h-';!a aA !!h-#(JL ! $ IA`Float(E !a! AA!!`Fix:'n!(m( ;("Tb/h!A+|a!`@Registre dcalageA{}$A$ ~a$"|!!! "A !a A S!a!`@h0Aa a! h= a Ah=aA!aA!"AA( a!a(Ab$Min(>0)/t!6d@Donne le minimum desp valeurs positives d'un!p vecteur.a!$ BAA$Baa   AAa !  " A! a`:-!- XP B Aa QBO!".aa!/>VNa!`t0t:J$6A B!a ";A B#a`<!@BBaA!B Ba!!B!a A`0A!AA !"a!A`>?8La!BA`1e30A@A! #!!B!AA!aB!ABaBBaV|A!a( W({!("i!b./tTaA6l6a`@ Produit scalaire$tA$ La$L!!$"%8!!ET a LA "FAa L hxABVoAA!) L!(Lnb $Somme/taAMaad@ Calcul de la somme p"a" est un vecteur suivpant la variable de la mpacro (ici t). "b" est l!pa somme des lments duAp vecteur.!2,!) 'a)'+b $Somme/t AA`@a'a<Qa`@bA'+A!{$ $!/u!Aa .h0!<|! =A!a "\a Q{!kya!d@tisTd6A U!a "\A cah+!BaAB\A58A!AB5!! ( a(`Rend paira2!d@Transforme un nombreAp entier en le nombre en!aptier pair gal ou immdApiatement suprieur.a4ha$ 85!$8.zB!!a(8A( 8{A!`Ceil0@<! 8! 8`x20PAg=!a 8QA!8fA!`/2PAa( a(OābProd/t!6Ad@Calcul du produit "!apa" est un vecteur suivaApnt la variable de la maa¡pcro (ici t). "b" est lep produit des lments d¡pu vecteur.Á>!!( A(=!bProd/t!á`@aÁ!Á!NcÁ`@b=Aa{ġa$ aAā$aa2A 1!ġ`1ġ!<|Ł!ġa! =aA "\ơ!a Q{!!āA!kyš`t0ŁTcAŁ U! "\A! ba`xBƁaƁAơaaơB\AƁƁ Ɂ!a( ɡ( b sigma/tAa!!&AǁAd@Calcul de variance aǡp"a" est un vecteur suivǁpant la variable de la mǡpacro (ici t). "b" est lp'cart type des lment!ps du vecteur.maa( nAȁ(ab sigma/taG[!!`@anaAaA`@b!ȁ!ȡH*ɡ$ AɁ$)ɡJlaAɁ!( Ḱ!(k̡b/ta__ʁAiʡad@Macro : "b" est la mʁpoyenne suivant la variaʡpble t du vecteur "a"a#`!!ˡʁ( $A(_! ˁ`@aa$!ai~a`@b_Aˡ2WA`@/t!i ́$  ́a̡$Ρ!́0r!aA( 1a(qab ,Somme/t@a!Á ́a͡ ́{o!AA!  b N?/tca! A΁!"aΡ ̡΁h/AA͡AB΁ k!aAρϡ( lс!a(aAb/t!@||!! |ϡ! |! |!@))AϡС )ɡ!a )aAЁ!)aB!!A! С!" AhxС <Wk\aѡС! =aAс!VAah||2An!AA ҡ hsqrt/a! aAҁ!"Aaҡ!ҁh-AB)ЁAB!!A|ABҁ!aӁ( aӡ(Ӂb/tavAa w! `nsFloataԁA6ԡa`@Mme module que Floaԁpt pour des entiers non ԡpsigns}!!a!*AA* ~a!dArrondi 2**nՁաa:Ձd@Cette macro arronditաp un nombre la puissanpce de 2 suprieure.rցA$ !!a$  ݡAA!G!֡!  aց Q ֡؁A֡ "aA #Fa!EAցa`p!jׁ! kAaס "vځׁ ڡס`>?at2_ !ءa uA  u!a!"ڡA؁  a`:-4LY<!A  5a! KA`x2@    a!  Aف   a١!  ف@  AA! ف  ֡!! aAaׁaB!ځAځAvaסaڡBaځB ١!ڡUnMہ!ցA)aLۡb/pAYjH!!A(ۡ$Xہ@N_!ہA Va`16aAL2`R daܡ! V3A܁ VQ!abN/pANbAdlong:BX{!ۡ!AV{܁!a݁ݡ! ֡A`1AB aAAݡݡBaAaak|2Aޡ s!a "lAށ s1ahPuiss!ޡ6d@c = a ^ b (sur des n!pombres rels) a est flApottant, b est flottant !apou entier Remarque : lA߁pe symbole '^' est reconaߡpnu dans les Formules߁a5  "! 4`Puissaߡ`@aaa)>a!`@baJ^A`@c!4!!A:K=! B B<hExp10!.zLA`@"b" est l'exponentie!aplle base 10 de "a"ArA! | |`Exp10^q!aa`@ a|\o#`@ ba|aA:AKbY!! BB BahExpiAa!,i;Ad@ "b" est le nombre coapmplexe exp(j"a") o "a"p est relara {! {hExpi_r`@ aa{a]pa`@ b{!Ak6|xA s7!a swAb Miroir/t!,i;d@ Les lments du vectpeur "b" sont rangs dan!ps l'ordre inverse de ceApux de "a" par rapport !ap la variable tAuA  b Miroir/t_r!aa`@ a_r`@ baaA!!A(("Aa``z!!`@-1aQ$Y$"RY!0!! "YAA !a 1!A SY!a!2`@t0APAa Ba! Oh=fu ga tAh=aAY!aAY!cNueAa!tY!!`@06!AY!BAAAYYBY%!!A%abua cA tah=A__Zd@Module ineffectif : !pla sortie est gale lAp'entre. Peut servir no!aptamment de relais de coApnnection.aA!( (b $Somme/t \Aa*[!a*  !Ab (Avance/t!cd@ Avance d'un signal pMacro permettant de pas!pser du vecteur "a" au vApecteur "b" avanc d'un !apchantillon par rapportAp "a" selon ta!;a*:* b ,Avance/tCXA`@b!:!!`@aa)A! (A! aa A`@06A! AA!b!a   !! !!a`@t1AA  h=!a A !h=@ !! AA!AA!AB!!=q_! >a phFloat8a,iWA!d@ Module de conversionAp L'entre "a" est tran!apsforme en un rel 8 ocAptets "b" (inutilisable apen version AU32) Si "a"p est un complexe, il espt transform en complexpe doube prcision (C16)!pa A ahFloat8a!!`@ aaAaA`@ b!!9 a  8hFloat!naAd@ Module de conversion!ap L'entier ou le rel dApouble prcision "a" estap transform en un rel psimple prcision "b". Spi "a" est un complexe, pil est transform en co!pmplexe simple prcisionAp (C8)!,!! a +hFloatAA`@aaF[a`@bA+A!  A   hFix!A+ga!d@Module de conversionAp Si l'entre "a" est ap - un rel, la sortie "pb" est l'entier infriepur sur 4 octets - un copmplexe, la sortie "b" e!pst un entier complexe dApe type CI8 - une chane!ap de caractres, la sortApie "b" est un entier suapr 4 octets indiquant lep code ASCII du premier pcaractre de la chane!A A !hFix!`@ a!!`@ bAa^a A ahFix2A,i;ad@Le rel "a" est tran!psform infrieur en l'eApntier "b" sur 2 octets!m! va vhFix2ZmAA`@ avaWja`@ bAvA!]A  hFix1!A,i;a!d@Le rel "a" est tranApsform en l'entier infaprieur "b" sur 1 octetAwA  hFix1dwa`@ aAAexA`@ b!*ZX! +A "B!a YAhATan2(d6Ad@ Arctangente2 : c = p ATan2 ( b,a) ( ou Ta!pn(c)= a/b )pa! zA "qa zhATan2^q!A`@ azaASfa`@ bAqA!YlA`@ cz W!a A A !hATana(d6`@ Arctangente : b = pATan ( a )p! zA z!hATan !]p`@ az! !\o `@ bzAaV a   A  ahACos A   (d6 A  `@ Arcosinus : b = AC  !pos ( a )  z a   A  ahACos afy  ! !`@ a  a  A ah{ A `@ b !  !  k|T   A s  s hTan   ! (d6  A `@ Tangente : b = Tan ! ap ( a ) A q  A ! {  { hTan [n ! a a`@ a {    ]p  `@ b a{  a A k|  !  s  s hCos Aa!(d6A`@ Cosinus : b = Cos ap( a )Apa z zhCos_ra`@ aAzA`sA`@ bz!k|!a A sA s!hSina,i;`@ Sinus : b = Sin ( pa )r! |A |!hSin!`s`@ a|!!_r`@ b|AaSQdva [RA [uahsqrtA,i;A`@ Racine carre : b=R!pacine(a)Zma cA cahsqrtaH[!!`@ acaAaGZ A`@ b!c!S.dL\A! [/ [Kh||2!(dAd@ "b" est le module ca!aprr de "a". "a" peut Aptre de type complexe, "apb" est toujours de typep rel.au! }! }h||2`s`@ aa}a_ra`@ b}!ASd* A [!a [)Ah||!(d6Ad@ "b" est le module dep "a". "a" peut tre co!pmplexe.ya A ah||adw!!`@ aaAacvA`@ b!!Sd<! [ [hx2!d6aA`@ b = 2 a!!! a hx2AA`@ aaa`@ bAA!Sd = [ [ h/2!A(d6a!`@ b = a / 2AWrAA d dh/2M`!aa`@ adK^`@ badaASd;! [ [h-Aa!*W)A`@ b = -aa!Yiaa a ah-H[A`@ b!a!H[!`@ aaaSd:  A" [ ! [ h-1 a  A,i;   a`@ b = a - 1 !Ap ! x ! x h-1!Uh!a !`@ a!Ax !A !Tg!!A`@ b!x!!!!!:K"!"a$A B""A B "!hExp""""a6m#""`@"b" est l'exponentie""plle de "a""##!#" ##A #!hExp$!#"#`@a##!##$!%:$#`@b##A###a:K$a$"& B$A$ B$ahLog$A$$$,i;%A%$`@ "b" est le logarithm$%!pe nperien de "a"%%w%a&$ %A% %ahLog&ah{%%!&!`@b%%%%A&ah{&A%`@a&!%a&!&%2)A&&$A+( )a&&(1)&bMax/t&''!&('A'd@ Calcul du maximum "'!'apa" est un vecteur suiva'A'pnt la variable de la ma'a'pcro (ici t). "b" est le''p maximum des lments d''pu vecteur.'(k (!('!( l((A((!bMax/t)!('(`@b((A(()!K_)(`@a(l(!(((aT!))a&$ q+a&)A)$q *&)a!]*!))A+ q**+!)) "^*+)* Qq)*))!`*A)*a`@t0*!g{***! q)*a* "h)** q**`>*ag{H+!+A)+a!q)+`@-1e30+Bq+)a++AZ++a+a+BZ)++6x.+,!&1( 7.+,(w.+bMin/te+,A,a,!u-A,,Ad@ Calcul du minimum ",a,pa" est un vecteur suiva,,pnt la variable de la ma,,pcro (ici t). "b" est le,-p minimum des lments d,-!pu vecteur.--,n-a.,a( --A-(m-abMin/t.a|--!.!`@b-m---A.a .A-`@a.!--a.!.-T*..+$ r0+..$r)/,.h|//!./A r/a.`@1e30.!]//a.0! r/0!//A/ Qr/a0a./a/ "^0A0/!_//A0`@tet/jzO60!0/ r/a00A "k/0!0a r/0A`<0Br0./A0AZ0000BZ/00f!1!1a+(11A( 1!b Retard/t1g~11:!!`Outils de traitement11p119e21]um52!2a1b( i622A(il6!2!b"XCalc. Histogramme/t/22ph2a222Q!422d@ Calcul d'histogramme23p Le nombre d'intervall23!pes et les valeurs minim33Apum et maximum prendre3!3ap en compte pour le calc3A3pul d'histogramme sont f3a3pixs l'intrieur de l33pa macro. si "Norm. auto33p" est choisie, l'interv34palle est cadr automati34!pquement sur le minimun 44Apet le maximum du signal4!4ap d'entre.4A5!n45a2(44(m4b"XCalc. Histogramme/t/55ph45A4a5`@ Signal5!45!45u55!`@ Histogramme5m455a4RG8A66A2, H8a2!56!,82A6`"t56aV[!6A66a[TIf66a7`@ Nombre d'intervalles66p6icyCA67A7C!Mp7a77`@ Max7AMo77A7`@ Min7sH787HsH!78H?88a5$  @bA68A8$ 96!8a 89!8A9A  A88 #aa89 ?8d-8t9a98?  uEA9A9 "a9a9  89b Histo/t/h9A9:94J,=A:!9d@Module de calcul d'h::Apistogramme Sur la born:!:ape d'entre "Hin" arrive:A:p un histogramme initial:a:p, fonction de la variab::ple 'h', de Nh valeurs. ::pOn doit le mettre 0 s:;pi on veut faire l'histo:;!pgramme d'un signal un;;Ape seule dimension. Le ;!;apsignal "S" dont on calc;A;pule l'histogramme est f;a;ponction de la variable ;;p't'. Ses valeurs sont d;;pe type entier. Seules l;<pes valeurs suprieures ;!: =A= "=a= )=b Histo/t/h>>=!>A`@Hin==a==A>8]>a=>`@Hout>A)=>A>!>>>A`@S>=>>=)_9e?!?9A? *A!??A #Da?!?a ^a?AbPas/h?*9?@!?@A! +9?? "2b?@!8a?d/?Q @a@?@ D!@A@!a@adFix@A9t@AA@AAa B@A #BA@A!!?!AbOrig/h@A@A B!AaA!8AA (b!A@BAaBa!aaAB!!ABBA!AB!2dBBAB aABaB!@BbN/hBa@Hm\CC!BaCa lDB`@20B7!B7\CCBC  ECa`@0CaCDACaDa ECD "aCD!!@aDdxC@DCD!CDaD!aDD a!DYi nEEaDaE!  ZCDE!!"aaEEA! h9aE!d=DTF!EFD`( UFAbaEE)FaCEE)Fb!Eb (4Norme/tE[FFAE$ =^EF!Fa$=Z`AEFAF$"YEFa[tTGFFF!L(gSG!YaF`Norm. manuelleFB HGAG!F$GIFGH_GaGGG  KGA`@Normalisations incohGAGprentesG@Fy_GHGAHA xJG`@-32000G8!G8@Fy_HaHGH xIHA`@32000HA7HA7@HHAIA IHI!HaHI! JIIaHI (KAIAI!(HIaI G!I@IIAJA KIJ!GIJ! KJJaJIJ! KJAJ!"I!JaJ KJd=?JAdKKJAK! IJK!!"KKKA!IaK!Ka!#KKAdAlarmeJB KaGaJKAJaJ!KKBK!JK[KjL!FL (=\MLLA ("\MaL!La 0iYLA4dLLM XXALL @WLL (LXLK<MM!MLUA( "M_aMMA(=N_M!Ma)";N!LAMAM)=;NAL!Ma`Test galMDNaMM$ R!M!MN$ UMAMN!$OMaNNA$SMN!/GNNMN .SNa`@1e-33Na2AuNOANaOa 3U!NO #9SANO! @OOd+N]u OPNP! ^PAOaO! ^O!OO #iPOO tN!Od:-Oa@))PAOaP!)OP!Pa!)U!PAP )QPa@iiPP!Q! iQPP!iOPQ iSPQAQPQ #TQ!Qa "RQAQ!PQad=?Q!@QQ!RA!PQR!QaQR! MR2ARaRQR 3TaRAR "9S!RaR @SRd-RA@99SRASa!9NRS!!9RSSA!9OS!]"u STRT! ^TSaS! ^RSS!"iQSS tNASd:-Sa@TASaT TT!Ta!RaTAT!QATa@TT!U!!STT!TATU NTB)PaNT/>UaUMU 0WUAU "7`!UaU =`aUdxUAm"|1VVaUAV t#VUV! "n*`VVA!t0`!V!d/Uj~_VVUV!tVV`@11e-3V9HWWaVW! @LVW! #GXWWA!@`W!d-VWXVX! `WW "XaWW!UaWd-W@XXXAWX!XLX!Xa!XWXAX!XW!Xa@LLXX!Y!!LLXX LYAXY LFXYYAYX^!)LYXY!Ya# gZFYAY) 0Z!LaYa`0ChoixrdreteurY!w] ZAYY!$ ZYAYZ$ <xZaYaYZ!$ x]YZ1HZaZYZ <ZZAZ4<Za``Manuellem.erness ZA@ ,[AZ[ZA]([aYZh`Z6Z6as[[a[Z$Fr]aZ[Ah`V_Scalairescalaire[APd\[[[A\ uc\A][``Module[j"\!\a[4u\\A u![\!`@Autolleoerness\Gb\\[]a``Etiquettes verticale\\ps\8K]]!\ 'J\d@Auto Manuelle \]Ap ]!BFj][a\]Auj[]a]a]^Z Z!]]4]``Auto autoternes ]@==^AY!^ =`^!^a =^^A^ =_^a@==^^!_!!=^a^^ =FA^_!=`^,)A_A_^_) "`_!_a)"M!_AbMax/t_!3G._`_!`!) =^__)=MA_bMin/te_At7VAU_`AB=O`aFa`!`aAOU`A`A`A@*WAV!`a`B_W``A"_A^A`@aEaa!D`a!!DaaA!Ba!AB8`aA@9aaaAD@?AaaBaE!?aaaBDbabA2a?ab!BEAbbAB Jba8ab!baAJEbAbAhbcA2a( hbb( hbb(hbc(iibc!(i!cb,pRgression polynomiabcaple/t/coefcAcccar<"eccd@Calcul de rgressionccp polynomiale "Y calculcdp" est obtenu partir cd!pde "X" et "Y" par rgreddApssion polynomiale, pourd!dap un degr de polynme fdAdpix l'intrieur de ladadp macro. Les "Coefficienddpts" de la rgression soddpnt un vecteur selon la depvariable "coef" cre dde!pans la macro. On a : Y eeApcalcul = coef(0) + coee!eapf(1) X + coef(2) X2 + .eAep..eafefc) ee) ef)ef!)wffA(f!b,lRgression polynomiahafple/t/coeffa1cfeg`@CoefficientsffAfegAp.g!fga`@Ecartgwf!gfgggg`@ Y calculgafgagAhggah!`@ Xgeggha-hAg`@ Yh!eh!hfa`jahiAb, |jbhh, jbhh,jbhi,jchi!,Dkc!i`,hia,uxaiAiiaxA#iiai`@Choix de mthodeih'zjij!`@Degr du polynome :i}>Xmij!mxXak!jh$ Yhjaj$ &YAhjj$hjj$`aijk$`i!jkAkjak lk!ka kAdsqrtk!I/roklk!l! &JAkk &qkbN?/tklAlkl ml!la!#lAl!kAlad/l!Plm!l!mA( Qnlm)lAlb $Somme/tl@-G"mamlm FsAmA`@1mAjAmAj! mnAmAna  mn #mn! nd-m/?nnmo 0nan "7!nn!>lndxnao!oanao tAooA4o!`boooop poo4o`b1op!paop qAppA4p!`ap dpppq App!opbN/coefp dq!qapq qqqA!p!q!bN/aqqqqr sqq!q!qd+1qr!raqr s!rrA rr!d+1r@rrs! rArr t!rr!Ar@zzs!rs!zr!ssA! zmas!sa zsA<ssst !ss!qsdx2s dt!tast! rttA!o!t!bN/btwuAtu!t("uatt( xutt(utu("utb coefs/coeft+l8uuat$"atuAu$ ,tuau$7vtuu$"buuMvvvauA{!(vuuv!( .v|vvA" vסv!d.Choix mthodeuru-twvu$Px!vvv$ bw!v!vv$ NzvAvW"mw!wavw b#vwwA4bw!`Pas de coprocningw4Iwwwx >{ww4>w`CoprocntCeningw@A_xx!xAwz(Pxvxh`xixia1xxxx$zx!xh`V_ScalairescalairexyAyy!xy yzx``Modulexxyayx4yAy wyya`CoproccoprocmingyACz!yxz``Etiquettes verticaleyzpsyXxGzAzay hFz!d@Coproc Pas de coprocz!zpzaBzxyzAyzzBN{vx{A>wzzf{{A{u{ g{!{a z!{Ad+1{!bg{|A{!|a cA{{ "wA{|!"!{|! |bPart/coef{#g9}||{A( .h}!a|a|("$}A||).}av!|b(Solution/b/coef|a >)}}!|a$ _?A|}}A$" |}!}a$_(}|}AUi}}}~( _ց}}(_}a}b $Somme/b}K=~~!~a}!( (L~~~A((~!~!dR_invers_Sym /b/b1/~`$~~~$ %A~!~~$!~A~lA~a ա~! ~b ChVar/i/b~4~a( !a(3Agtranspose /b/coef/i/apja`a!a$ A$_!}Ql !a PAb ChVar/coef/ia}lAa !!!b ChVar/b/jLa( M!Aa(#sA)aՁb prod /j/baW !a$ A$#!!a$ A}.ql /a pb ChVar/b/jZ?q!a`produit de deux matrApices2d ! !aa !!"!aAa( A!(b /jS'$ a$&!!!eAa! !A "f! Q!ha`j0AulA  "v !d+uAa!!h0!B!A]B]a ! "A!!dx a!dla variable de sommaption est la dimension cpommune aux deux matricepses = r3 HAAAAB,a!!aA,AABa@a!! !~,A( -~!a(!A(AagR_cholesky /b/coef/i!p/jE)r a!$ *A!$& aA$ a!Qa n Ra "YA `!d=az2_!aa43A! ^!`b1Jk^ d TlA TabN/jK6^]o!a T7aA!T\!fN?/coef0l & &!b ChVar/coef/i@gg!! gA gA!a gA@gg g!"ga g/A"!Aa @`0@FF "FAa!F F@FFaa! F!! F!A!F!l3% w!a "m! w2Ab Coupe/coefa@ww!a!wA w!a wAl%! w "m!wAb Coupe/bJ_A(T!a( T!Ab N /j!t!C!$BA$ ua~"!Aa `1!! "Aaa! ! S a !Aaa`j0!l! a "! d+a@!a!A "!a A K a!   dFix"!Aa!a`0A!@TT!! TA!T!!T!on!! p!A! pAA!a! Qp!A! pAa Q! Q QAA QQa! Q4AA! 4p!!!a!maA ]a!"5!A!"a "A!l!A``j1lDa`l(i,j)Ai&A``A(i,j)Uli`B(i,j)J< q!A`d(j)2/c%a $3A #.Ja $bb Coupe/iA^oaA _!!#fA n!d-s!! tA "{ !d/A "!a #aA!adx!IZA!a J! #QA! Yd-!(Aaa(#aA("("b B(j) /coef/ia9H2Aa$1!a$#GAA$":Aa$":Sifl!!A \j \!b ChVar/coef/ia AA "a AdxA~aA a!!"A!a!dx l! !"A Ad+/Aa`Bi(j)!=R!`d(j-1)a;Pa`L(j,j-1);@Pz!`Li(j-1)!\Aa`Bi(j-1)!@\A\A! "\Aa!\Aa!\ABh!aAh!!B\AB!aBAAAAaa,=!aA 4!!"-a 4dx;MK a DA DaadFixA*?aAA(4A(#>!( 4abP/coef$aa$#=$ !FZ!aA Yah0FX"a WA`1A_w!AA ` "k vd>??Oa NAh0A!YAA! ZAa Q!ka! "kA!adcoefAqA r! d+1@kk!!kA k!a kA| !A! }! }A!" d:-AjaaBjAAAjaBjaA=BB&!!A&AABk!!!aBAAaa F%!A  #)!EAb Coupe/coef@D)D)a! D)A!D)a!D)I8YM!AA Q9a QLd+1@QQa!QA QAa!Q y"aA("~!("!(A( z!`A(j) !$"!$"~A$(!$ (A,AAa`Ai(j)! 1l! (a "! (d+av !a wA "~!a!Adx  ! ! d|| 3A !!a "(aA!2!adx!@!A! !A!!A0a`Li(j-1)A1FA`Ai(j-1)`D(j-1)Aa!AABa!aA(AaA@! ! !@44!!4A! 4!a!4aA@4040! 40 40!!40@!! A !a aA@! !!@~~!!~A ~A!a!~A@{{ {!{ {@QQ! QaA!Q!a!QA@]] ]!]! ]!@44! 4AA!4!a!4!AB$0aADJB$f!ABA!A5AAQ!aBAAaaABDaaB@TT!!TaA!T!a! TA@w-w- #w-!w-!w-aAaA!!BaAAAY!!aBT-!ABpaaApB&A4gAAQFa!ATABw5!aBAAAlaaBl]B-8Ha!! 9!!"@A!G!d/!Ձ)A) aagR_invers_L /i/j/b/copef4A$!!a$ A8"LO!4B# BNA`b18L!a4BA BA!`b/C" B`0[k na! \! "caA j!d="a$ #ԁ!`abPremier/j8L!aā(BԡA) B!b N /coefiY8$7A!$ jAA!@ "!a!! S?!A Á!a #aA!.>`coef*!A " "ad+1@a "A!a¡ áBAAB"!A,A!AB,a!!aA"AAÁBáAaáA¡ÁÁ"!!!`0AABa!aA#aAA!Polšġa bp!Ӂā Qbkġġ!"Qҡԡ! pAA! "QAA Qkȁ!a LҁaAŁ!"Q,Aa!RZjā`b2@,š{š!`Ai(j)Aa`y(j)!u#4Ɓ! }$aaơ #+AƁ }3ơd-a.>!ǁaǡ /A "6!a =aAdx@}6}6!!}6Aǡ }6ҁ! }6>MlAȡǡ ?!!a!"EaAȁ LAad+!Z=jR!!A b>ρ bQd+1sa)}ƁAɁ("t!aɡ("tAɁ`b(i,j)A-:aA$!a!$"SaɁA$"́ɡ!H&Z"ʁʡ Y̡a`0aH Z"a! Y`1 A! ́!a! Aˁ " aˡ Aˁd:-!na!́ oa! "z͡A!!d=?AqA̡̡Bq́ʁ́Aqa̡BqAAˁ!BAAAˡ!!aAS!ÁA͡Aa͡Bz!́́)%AAa  "!!(Ab Coupe/iK ΁ !aΡ ΁dFixa@bbaa bϡ! bġA!b!!@bbρ!baϡ! bρ!bɡϡ@aa !!AA!!%Ё AaС "Ё!!Сb Coupe/jaRe!aA`Lij}aс`JAT'i;ѡA`Iс@сA! Ρ!С!!A+!ơaBEaaAҁA}LaaҡAbҁBbɁҡҡBAA!!BA΁AAЁ!!Y*k<"Ӂӡā!b;ġa`0a@aA a!!!ԁBB,ŁAaAc!AԁB!aԡBB!ԁA^ԡBN^AN!!BAAAAa!!aBLaAAAաաBՁՁBաAsB@!WhA֡~ _}!!a!"X!Aց!_}adx!A}A!BIA(I~!!B(a~Ax9a|a! yءAׁ "aס!vAׁ ס b ,RESOLV/b/coefA<O"AaA؁!NA!`0!@ء!!a؁ ء!a8l!a؁ف A!7{!b ChVar/a/coef!١A("AAف)a١( ځub PuisY/bف ڡAف$"١!a$ aAځ$ a<!!4ڡ ;`bڡAہڡۡ( !!a(aAb $Somme/t!!fa! g݁ځۡ Q "A!!tݡA!"t!!܁ۡܡ`baz!aA {aܡ " dxܡ@ttaܡ!tA݁ taݡ t!݁BtAۡBt!A!!BA6xaޡفa( 7Aށ(wab PuisX/aA9!A$ a$aށA߁ߡ( !a(Ab $Somme/t!:o!!( ;Aߡ)naAbPui/aߡ%OAߡ$ &!a$AA!4 `a-H"!Aa G`1!L!! MA!a Q "h!  ZaA!"v!s Aaa`a!`p! a!a "h odxa@ZZ!a!ZA Z!a ZABvaABB+AA+!!BhABZa!|A) }ށa)!!b $Crmat/a/batIAa$ J!$zRa4SA ~a`bA!SaA TA Q! maA!"!!`bat!a(A( ua!bZ+1/a{}A$!!a$ ~AA! h0!!ba! AA a!a A!`a1 !A A d= a A !ad=AAaAAa@mm!!mA m!a m!ABAB!ABm!@!a!A!١!a "uaA@! |!!|!Ab{Au!B|{aAAwA{!aB.|AAׁaA4!B4a@ta j!!A "!!@$$!$na! $n!!$aa( !("AA)!!bY(X)/coefCs$ [$"Dw!$[AAQe!a( [A([!b $Somme/coefQ e?A( [ !([>AabPui/coefLa!$ A$!Ui4_a _a`b1a"!aA a`i1!{Taa! !A QSaa "|  A!!"|a!~CQ!AAdcoef(a A " a 'dxA@A!a! aA !B_AB!aAuBu BbAAb!!BSoda! [pA "Twa![~!dxA@&q&qa &q!!!&qA &qj!@kk kja!k!ka@zzaa!"zsa!!zsA!z!@!Aa! t k@&&aa!&n!! &A!&k!AjBaaAkaB&lakB!mB$!!A7nABrp!aBkAAataBq!tAABAu!AAAAA!!0!bA(/Aa( ab Zros/t/zeroa6!d@Calcul des zros d'uApn vecteur Macro calcul!apant les abscisses des zApros d'un signal par inapterpolation linaire. Lpe nombre de zros est pgal la longueur de lap variable "zero" cre !ppar la macro. Les abcisApses sont exprimes en n!apombre de points, sans tApenir compte de la valeuapr du pas d'chantillonnpage. au(t!( b $Zros/t/zero `@Signala!aa`@ ZrostAcAa$ba!a$ AA! a d+1M\k! NA #T!a [AAd+@!!a !!!'6A (!a #.A 5ad-!:IA!a ;!#A!!Hd/@!a !#%aa !!!"A!"!b Coupe/tm%! n "A!b Coupe/tA( !!a(AAbDPoints avant 0/t!H!$ A$Aa !a!a( A(!`l_NOT ;!** <Ab (Avance/t !,T !a A +a!dFloat !!  "!!d>?@33A!3!a! 3AA 3a !!!A! !"!!d=?"a!A`@0e-7AAaABA3@!!!AA a!a A@!!"a!!M!a(LA) a!b} !(J !!(JZ!b&PRgression linaire/#A!apt!A1! a!`@ X!7 ! "!I\"!"A`@ Y!D !!"1"a!"`@ Y calcul"A>} "A"!"Tg ""A#`@ a"J!""#AUbhw#!"`@ b#JZ!!#"!A:VD/$!#A$ W(Aa#a#$ |W0##$.2A##$C2#$$C%!#l$A$#a$ %$!$a #$$A$ 2a$ad+$!@$$!%A!$a$% )a$%! $%%a%$% &%A% "2%a%!$A%dx%A@&%A&a!%a%&! )A&&A 2&!|&&%&( }'A&a&((&b $Somme/t&aix''a&a' j3&'! "q1!''A!w&'!dx& ''&(( (!''(('b $Somme/t'@cc(!'(!c'((A c#(!(a!c3(Am*n,A()()) +,a'(() +,&((( +,-()( +,/()!( |+,/))A)m-&!)!)a)m-!%)A`Formule,!bu)(*`@ n)|+)!)(*A*!)*a`@ sx*+)*)****`@ sx2*a+(*a*A+**a+!`@ sxy*+(**+a+A*+`@ sy+!+(+!++}x++!+`@ a+m)A++a,!y,+-`@ b+m)a++);y,a-A(4(,A,4(,a,4(,,4),,4)!,-4)A,-!4)a-epdenom=n*sx2-sx*sx a=,A-ap(n*sxy-sx*sy)/denom b=(-A-psx2*sy-sx*sxy)/denom-a-.+.!( .--)(-b $Somme/t-v.A.-. w0.!.a "~1.A.!-.adx.!./!.!/A( 1./)).b $Somme/t.so/a/./ |0!/A/!|)!/abN?/t/A@|q|q//A0A |q0a/0 |q2!/0!!|q/a0@|d|d0a/0!|d/0A0 |d#0a0!|d20@qq00A1A!q.A01 "q101!!q'!1@~~1a01 ~21A1!~.a1a1!~.1@qq11A2A!q112!q1a12!!"q02B2a#12aA$2A2A2BSd022a2AS2%22A:2#22B:&A223Bc(a'22h63A3A( %73!3a(%g7!3Ab(Spectre/t/b/f/t/bo3!333,i#33d@ Calcul du spectre d34p'un signal selon "t". 34!pLes options peuvent tr44Ape choisies l'intrieu4!4apr de la macro : Choisi4A4pr "Dcoupage" si le sig4a4pnal n'est pas dja dco44pup en blocs (selon "b"44p). Choisir "Amplitude"45p pour obtenir les ampl45!pitudes (gnralement me55Apsures en Volts) des co5!5apmposantes d'un signal c5A5pompos de raies spectra5a5ples Choisir "DSP" pour 55pobtenir la Densit Spec55ptrale de Puissance (gn56pralement mesures en V56!polts carrs/Herz) d'un 66Apsignal spectre contin6!6apu. En sortie, le signa6A6pl est fonction de la va6a6priable "f" cre dans l66pa macro par FFT. 6S877A3!, T83A67!&93a7`67aX77A7d@ Nombre de points par7a7p bloc7W=a7a87=APWqNA78A8N!WG]A888A]!ex8A8xxv9!86$ JA789$ua7!8a9A989( J9!9a(a9Ab/t9!a9:9!:!( 99(P9b/t9 7;:A:9@( ;@!:!:a( +;:A:" ;I:ad2Choix dcoupeur:!:rr::(d6;:d@ Permet le choix entr:;!pe plusieurs traitement ;;Apen utilisant des report;!;aps;AP\<;:!$[=!:A;;$ Q==!=A<(==;=h`=7=7?g0====$/?=!=h`V_Scalairescalaire=u!>A>>!=>  >?=``Module=>a>=4>A> >>a`@Dcoupageageming>AQk?!>=?``Etiquettes verticale>?ps>f?A?a> w?!d@Dcoupage Pas dcoup?!?page ?a?p ?B'?=>?A'>??-pB@!@a:!Ia)  C:A@@A( oC!!@!b8Recouvre 2/t/b@@@@ai6@@d@ Transforme un signal@@p dcoup en blocs en un@Ap ensemble de blocs de t@A!paille double se recouvrAAApant de moiti. Les bloA!Aapcs sont des fonctions dAAApe la variable "t", et sAaApont indics par la variAApable "b". Le premier blAApoc de la sortie est le ABppremier bloc de l'entrAB!pe prcd de valeurs nuBBAplles. Le dernier bloc dB!Bape la sortie est composBABp de l'avant dernier blBaBpoc de l'entre suivi duBBp dernier.BsCAC@$ tCa@!BC!$I!@ACCCaCBH( CCCAC(DICabDVect.gliss2inv/b/d$CAT .D!CCA$  FCaCD$-HCCX=qDDADaCF(dDHaD!b/d$xD!D\qmEaDaDEA(EDD!&XFADAD@N_\E!EADE VEE`2EDEDL2`R2dEEEF! V3E!EE VQFaEbN/d$ENbF!EFAdlong:FBX{FaDFFaAV{EFAFA!xhG!FD!Ha `iFGCFF FHFF GHFG!"yHaF zjzGAFGadd$xG!@GG!G H!GaG FGG FGf!HHAGa(FGH!) GHb Retard/bGBdGDAFHB$HDHaHA$HHHHBFHH'iIIACA! (CHI! C!Ib Recolle/t/d$H 'hII@J (J!IaI " ZAII!:Ib(Dcoupe/t/bIa@!!J!IaJ!!IJJA !8J!Ja!!JA\JJJK AJJ!9AJd||2J0r;LaK!KJP(Q:LKKA( aLRK!Ka" @LwKA`2Choix DSPeteurKKrrKK(d6KKd@ Permet le choix entrKLpe plusieurs traitement KL!pen utilisant des reportLLApsL!-LLK$lNK!LaL$ MKALL$ LMKaL lMMALaMa  LLM!4kM``DSPs**2/HzcningLBWMMLM LLMaM4LM``AmplitudeCeningMa@\p}NaNN!Ma(lNLMh`M8!M8?g0NNNM$/PNNah`V_ScalairescalaireNau!O!NONaO  OaPN``ModuleNOAON4O!Oa NOA`@AmplitudezcmingO!QkPONP``Etiquettes verticaleOOpsOfP!PAO wPd@Amplitude DSP PPap PAB'PNOPA'NPP >\PQ!KQA! !9PQ =Pd||2PQaQPQ yQAQ!"QaQ QdxQACRRRaQAR JQR!!"DaRRA JR!dxQZiRSQS! a|ARR!"[RR!aKARd/RV{mSSASRw) a|SS!Sa(aTSAS(WT!!Sab8Apodisation/tS!&sTASS!$ R'uASAST$RruSaST!$vaSTaTTaTSYA( bTvTAT(UvTa`Pas d'apod.ationTAQU!TTA$ XTaTU$PUATT?UUAUTX(>UUU!Ua( VXUAU("V!Y!Uab4Epandage/tU!ZVAUU!$X!UAUV$ [VaUaUV!$"VUV!uVVaUX! vVWVVAV QVaWaVaV "V!VV XXaV WVAW!`` tVWAWVW WW!Wa VWAd=W!@WW!!WAWW VaWX VWBXAUVAXAAXaX!X!XaBVXAXAXXU!X!UaX`@16XBYTXYAY!XXY!BUYY%:ZYaYTA_(9Zw!YAY( [_YaY" [!waYY) [AvYd0Choix apodisationYAZ##Z!Y(d6ZAZd@ Permet le choix entrZ!Zape plusieurs traitement ZAZpen utilisant des reportZaZpsZ1 [aZYA$p]YaZ[$ \YZ[!$ p [Y[[A$ P \Y[!f {[[Z[ p![![a[4p[`HammingtCening[aF [\\A[a\a P![A[\!4P\`Pas d'apodisation[\\[\  [\a\4\`Hanningoprocning\a@[ ]a]]!\a(p ]Z\h`\8a\8AjJ]]]\$I_]]ah`V_Scalairescalaire]a_;^!]^]a^ A:^a_]``Module]6L7^A^]4A^!^a A6]^A`@Pas d'apodisation^!9_^]_``Etiquettes verticale^^ps^ _!_A^ _d@Pas d'apodisation Ha__apmming Hanning_ABA_]^_AAA]__O$`_`!YAi)`Y_`( Pat_b(Hanning/t_`A`a`!J``A`@Fentre d'apodisatio`a`pn de Hanning`..a!`_$g_`a$ /d``aAa`a ia!aa "i!aAa haadxa!iC}SZaba!b! sRbAadPIaj\|t;<bAbab! s]ab!ba ssbbAdx2b!k|cbc!b!cA! sbabb #{iAbc!si!bd/bRsocacbc SccAc!riAcabN?/tcA@@@ccAdA!@cacd @acd! @idh7|ddadcd rcidA`@.5dAfz$dddAe p#id`@-.5dJ]e!eAdea See`@0e!Db#feegA! Sege!eae QS"efee!ag!iee!"Eiae!F`!f!eafA`@t0fK[fafff SffAf Sefad+1fA@SSffA!Sfafg Sefg! Segcr(gageag dhAgAg!"jigag q`gd+gA&6BhhagAh 'hgh!!".ihhA!5gah!dxg\ hhgi! ahh!hhdCoshBeaAhi!AscaaiiAAcbi!iaB8eiiAiA8@iad!iaiBrjgdaiiBp.h!diO jjjA_t)kwAij!( Pk!tajb,Hamming/tijajjA-jja`@Fentre d'apodisatiojjpn de Hammingj*#kAki$qjjk!$ $n!j!kkakjk s!kAk "sAkak rkdxkAe8yHZll!kAlA oGlakdPIkfQxi;<lalkl! oRllAl ohlladx2lAg}xclmAlAma! o~llm #wsalm!!osAmd/l}Ghommlm Hnmam!gsambN?/tma@55nmana!5mmn! 5k!nnA 5sn!d,xYnnmn nXsna`@.54nabvnonao! lsn`@-.46nF{YoAoano Ooo!`@0o!!@^p!oo!qa! Ooq!oAoo QOopoo!]qAs!op!"Aso!B\pAopa`@t0p!GWppp!p Oqpap Oopd+1pa@OOqpa!Oppq! OoqqA Ooq!~Xg(qqor Yraqaq!"_sqq fkqd+qa~+Br!rqar rrrA!"#sr!ra!*qrAdxr|\ rsrs!! krr!r!rdCosrBokarsAAom!ks!saAmmsAsB4pssasA45snAssBn_qnssBl#rAns@DDt!it!DvttA Dtt!ta!Dj!tA@DDttu!DtAtt Duatt!D`t@RDRDu!tu RDuuuA RDSu!ua!RDtuAKZuvuv!! Ru!uu "LvAuu RTudxu@;;vAuv!;uv!va ;T!vAv!;wvaBDt!Tav!vAYvvvBvTvwA;Pvw!vw!BPwYawwAAjwaw!waBwAYwA8IwwS!x @{ww!@KawdsqrtwWk"{x!xawx axxA a!~x!b TF/t/fx@+X\xxxy!WAx`@512x8x8WNky!yaxy( aO}yyA(a|!y!b $Somme/byyzyz! zAyy "!yy!Qaydxy@zAyz!yz!za {zAz!za9Hz{!z!{A @Azz!":z{!@wzd/z{{a{z{ |}!{A{ "{a{!za{dx{A@aa|{A|a!aA{|!!ayA||A!aR|!3=||{| ~!|a| 2!|d/2|aNwo}}A|a}a Oa|}!!v{a}bN?/b|@aFaF}|}!aFy!}a} aF~}}!aFa}o~~A}a~a }~!!|~bN?/t}Y&jD\~~}~! a'xA~a~!aC}~d||2~a@~aa!{~!!|A!!!@aa~!aa!ax!!aSa@aa!!!SA!J!BR!9aB9aB+!Ja:aAaySABDyAD~!!B ~@AAAZxI!aBW9AAQWK!aaBQQBzQBJzRBJRRA!AAyAB@|z!aBF}}AB~a`!3!( !( A(_ab4Corrlation/tAa!mAAd@ Calcul de corrlatioapn "c" est le rsultat pde la corrlation (ralpise dans le domaine frpquentiel) entre "a" et!p "b"ia!a( A( a(hb@Corrlation/tv!A`@chAa`@aAaA! A`@b./!$ /A$ /A!a$.A" a !dCONJUG!! A "!!a aAdx'!! A &abTFI/f/tYA ZA!a!Ab TF/t/f![!! \!!!b TF/t/fAAAAa!aBAaAo( p( p!(Ab8Convolution/t!A~#!a!d@ Calcul de convolutioApn "c" est le rsultat apde la convolution (ralpise dans le domaine frpquentiel) entre "a" etp "b"bAA( !a( A(aabDConvolution/tn!`@ca!aA`@a!A! !`@baatua$ u!!$ uA$tA! a " dxaN!aa! A MA!bTFI/f/t !!b TF/t/f!a A!!b TF/t/fAAA!B `a(_!("&A( !b,Filtre RIF/t/rse/t/a;d@ Filtrage de type "Rpponse Impulsionelle Fipnie" (RIF). Les signau!px d'entre et sortie soApnt fonction de la varia!apble "t". Les coefficiApents sont appliqus souaps la forme d'une fonctipon de la variable "r".E (!("~A( F!b4Filtre RIF/t/rse/t/`@ Sortie!A`@ Coefficients~!*a`@ EntreAFAA!a2.0!$t/a$"3!$ t/!A!HGA "Ia!a aHAA Haa Q Qaa J!!`rnA va!a "oAA ~adx!@aiai!A ai! aia!!aiala A!"a d+AWkf!AAa(a!) ab Retard/tBvi!A3C!!Bh0A>B>A!Bt;AAAa;a!!aBtAAaaN!(( O!ba D!dxA):AAa 1!!1d+1)~:; 1Aa!1d-a=Laa D! ">A D!dx@xx xa!x!xA "p!a A !!!bPas?/t@& c\ b`@10 ds!! eAA!"l!a!rAd/=Ly!A D!"> Dd+@DDa DA!Da!Da@DDAA D!!D!!D:NTf!a)DSaA) D aab Retard/tAA1!AB$A$!!BDAB1x!aB_AA_aaBDA!B!!BlA9A!("!a( A(8af*1Filtrage par morceau!px/t/b0.u!d@ Filtrage rapide d'unAp signal dcoup en bloc!aps par un filtre de typApe "Rponse Impulsionellape Finie" (RIF) en assurpant la continuit de lap sortie d'un bloc au supivant. Les signaux d'e!pntre et sortie sont coApnstitus de blocs fonct!apion de "t" et indics pApar "b". La longueur desap blocs doit tre gale p une puissance de 2 (epn raison de l'utilisatipon de la TFD). La longu!peur de la variable "b" Ap(nombre de bloc n'est p!apas limite). Les coeffApicients sont appliqus apsous la forme d'une fonpction de la variable "tp". Le filtre est considpr comme causal. L e n!pombre de ces coefficienApts doit tre infrieur !apou gal la taille desAp blocs.aa7[%("8( I(I$f*-Filtrage par morceauaApx/t/b!SUf`@ EntreaIaY3l`a!`@ SortieI$a"AA`@ Coefficients!8!!W_!$"[A$ BXaa$B^C&\!( I'AA( R'!a(OAb8Convolution/tF_B!( Ra)RAb8Recouvre 2/t/b@BBA!Ba!a BA Bah+A!!(  ia) !)#*b Pegalise_supports/t}?a$ A$>a$#|=Deo!AA E dbN?/tPa\a `!A`0ADfA! EA ab Orig?/tDzpA E!a yAbPas?/t!7t!!A !" a bOrig/t7ea aA!" a!bPas/tAegA fa!!" w!A " !a!aAbPart/t@==!!= = =A@==A!=!a!=AA!=Aai<!!! j!dx2Bw!aAB=a!aBABaaAAC\U!!) Oa(OTbPDeuxime moiti/tbAa!lhXA`@ Sort la deuxime moiapti du vecteurP@<!$ Q$;  Aa !`@0!)3t!! !"A 2bOrig/t)gA !a "!A "a!bPart/t!qoA!a r! bN?/t@ee!eAa e!e@aa !!aA!!=! !a!d/2aAAaBeA AABI!!!aBRAAA [aB cA cBBYAOY`!A!A( A!a(_aAb4Enveloppe/t!_Fd@ Calcule l'enveloppe pd'un signal rel en uti!plisant la transforme dApe Hilbert. (Utilise l!apa Transforme de FourieApr : la longueur du signapal doit tre une puissapnce de 2)a#W<( -X!(-b\á! -!AÁ -=aád||2ÁB!!Á!AV5Y+ġa!dFentres d'apodisatiAāpona9uA;WP!ġ(E( EXb,Bartlett/tAa!OŁA`@Fentre d'apodisatioašpn de BartlettŁmu!$tA$ a^ɡAƁ(]!a( Ab(Triangle/t!ơƁey7uaơd@ Gnrateur de triangple En "a" arrive la de!pscription de la variablApe t (sa longueur doit !aptre paire). En "b" sortAǁp un vecteur triangle (uaǡpne seule priode), normǁpalis 1, suivant la vǡpariable t. Pour avoir upn signal priodique tri!pangulaire, utiliser "TrApiangle_p"!+ȁ!(*aȡ( ȁb0Triangle/tɁ: OAA`@b*ȁaɁa`@aAȡA!dk!$ Aɡ$  eӁaAP!ʁɡʡ BaA "H!a O!Ah/L[!A  MAʡ!"T!  Zhxʡ+=aˁʡˡ!<!A`@16A~A ѡˡ`@06ˡ M!́ˡ̡  AA "a!a   Ah-Q! A̡ h+1̡@A̡͡!!a ΁Á!a!!A! ͡ "С ah>?͡[=aΡ͡ A΁!aah/2A@AA!a ρ!!Apoaϡ qԁAρ!ab N?/tA)A_ aAЁ!  *a *!!"5aA! @!h:-@С!Ё "С !@!Ёс! A!ԡ!a!AA!!ѡa! !с Qѡҡѡ!A #!Aсa`@t!Qҁ! aҡ ҁh+1a@a!ҁ! ѡA !@ k kӁс  kaӡ! kӁ! kԁӡB́aAHA!BTaAB !!!aB5!AԁBkaaԡAAԁBԡԡA ӡTWj!a(_!A( _XA!b8Bartlett 4t/tՁաa1Ձ`@Fentre d'apodisatioաpn de Bartlett 4t/_a!$!!A$ aA!ց֡ a`@3aa! `@-.00188uAaׁ !`@2!ס!! فׁ!"Aס ޡdxׁ_p%Aءׁ gA!a "`A؁ g$ۡadx!@gg!A ga g! g!@a!"Aف!סa١ ف&AAa  "! %AdxEYځڡ!Oa`@-.49703ata!!~`@.09892EYLAaہ OK!`@.40217!_GpVNۡ!!! gH؁ہ!"`Nۡ gU!d+ہQ`NAܡہ! R!!a!"X!A܁ _Aad+![jNA!a \!"bA! i!d+'݁ Aaݡ!"݁!&ݡdxa]q !aaށ! g!A!gA!dCos ޡ! ށ!ޡdCosށ !aށ߁ A!݁!dCosߡ!! ߁!"ցߡ!!dx߁`oA߁ ga!a "aA!gadx!T0h@Z!! ^?AdPIUDg\w<A! ^E!a ^[Adx2!Vdgt!!A! ^ea #fl!^sd/6Woa 7!A!VabN?/tA9ALUA! BTA`@0!3YQA! BZa!a QBAAA!Pzaa "4z!5O!`@t0:Jo!a BA Ba!d+1@BzBz!Bz! BzA Bz@**!!!*aA!*!a *AABݡAOځaAߡ١A~BONA!BgXaABb܁!aBgzAAA^aaAlB1*AA1z"W7!a(,!A( ,XA!b8Blackman/ta-`@Fentre d'apodisatiopn de Blackman*#a!$!A$ $aA!~o~( pa #va }!d+a)!Aaa (`@0.08.>B /Aa!"6!=adxa \ !aa A!!dCos< !!dx2! A "!a Adx@!!a !e8yHZAa oG!dPI!fQxi;<!! oRA oh!dx2g}xc!! o~A #w!a!oAd/}Gho! HA!gbN?/t@55A!5!a 5AA 5Aad,xY! nXa`@.42bv!Aa l`@-.5F{Y Oa`@0a!@^aa! Oa QO!!]A!A!!!B\`@t0aGWa! OA Od+1@OOA!O!a OA O!a~Xg(!A Y!"_a!fd+~+Ba !A!"#a!*dxA|\ AAa! !!adCosAvB6!aBB!!AoaAAA!B4AAAA45!!aBn_ABl#!aWj!(( Xb4Hamming/tW`A(!a( XAb0Hanning/t!!A(( bTH/t [A1!dCompat v4.0!a BAaq!``compat40queua[aA!t`Utilitaires!Ac!a`Audiosv3 aAv!``audio/bibaudioAz!Ac73adBatchs en parallle%',!aa( -A!("kaA(!b2|Batch parallle en ppaquet/xavB!d@Macro pour permettrep le calcul d'un Batch a!pu passage du flux de doApnnes pour tous les ind!apices d'un paquetAad@Quand on demande le pcalcul de la sortie "oupt" (qui vaut 0), le "tepxte du batch" est excu!pt pour tous les indiceAps de la variable (0 N!ap). Ce texte est par exeApmple : "choix" eapst une tiquette laueplle on va affecter la vpaleur de "indice" (nullpe au dbut). Puis on fa!pit des calculs. Et laAp fin "indice" est incr!apment.A  d`"choix"=("indice") cpalculer "Calc" "indice"p+=1AA( !a("GA(ab2|Batch parallle en ppaquet/x &Ga`@Support de la variab!ple xA!`@Texte du batchaGaaAa`@outESMA$ T!!a$"F_A!A$!Aam.~YA! uX`@0AZmo!a``indiceuX a`0a! aa!  ! "7!! QA "_a! ``xaAa("_A(!!( A!(_a`Batch parallleaAv}ad@ Macro pour permettrep le calcul d'un Batch apu passage du flux de dopnnes!Aad@La sortie "out" est !apidentique l'entre "iApn" (scalaires) Quand l'apentre a t modifie ept qu'on recalcule la soprtie (ou bien la "Chanpe vide"), le calcul de !pla sortie est interrompApu jusqu' ce que le bat!apch de texte "Texte du bApatch" se soit excut.aH)])"I[)R) R*! \[dBatch parallle(`<!`@Texte du batchaI[aSga!`@outRaVjA`@in!R*!e[z!``Chane vide\[!aAd6,"!(U5A, Ue!a,!AC_A!,"Da(^!$ A$ai`T,b a$"UaA$a!a$ -$ah`VecteurectorielleAw[ ! ! aA( \ A  A( aA !dChaine vide    aB   d@ Macro pour gnrer u  pne chane de catactres  p vide partir d'une ch  !paine de catactres ou d  Ap'une valeur. (Utile pou ! apr indiquer la modificat A pion d'un signal dans un a p flux de donnes, cf "B  patch parallle").  aB.   ( $C  !($ dChaine vide  &   `@in a$C  a  %  a`@Chane vide $ !   Av   A $   ! ! a$ a A A    !   A   A `Fix @ !     A!  ! a  A  !!  !  !"  A `- A !  !a  aA`Char!By !Ay a A a !! `Fix1! Aah@Execl a demandea?a ` {Aa!  A!a "|aA a`+!JYA!a K!#Q! X`+X\! a``Moduleao Pa`BatcheG!at`al"a"=1 { "b"=2 } { "Apc"=3 }!Gx( `?cro1l77!a$ 8d@????????????????????Ap???!l7@GGa!G G!G@!!A!!a ABG !BQ!`a("A)!( aAA(!`Batch parallleeW!rA``"indice"=0ler "CalAB!!A7AAr!E+[$("Fs!a(PA( P,a(ZsdBatch parallle (chaa!pr)Aa!v}Ad@ Macro pour permettreap le calcul d'un Batch apu passage du flux de dopnnes!d@La sortie "out" est Apidentique l'entre "i!apn" (chanes de caractrApes). Quand l'entre a apt modifie et qu'on repcalcule la sortie (ou bpien la "Chane vide"), ple calcul de la sortie !pest interrompu jusqu' Apce que le batch de text!ape "Texte du batch" se sApoit excut.aG)]a)"Ha)R) R*! \adBatch parallle charap)A'f;`@Texte du batchHa!SgA`@outRVja`@inAR*A!eazA``Chane vide\a!Ad6!a,"A(U5!a, UeA,!aC_aA,"D!(^A$ a!$i`}WE!$"~ !a$ $ X#$D!h`Vecteurectoriellea !Aa( #!a( AdChaine vide!@!! # A \&Aa!!h@Execl a demande!j! A`   a! ! a ! "  A !A !d+u !!! v#  !#|#   d+ !!A!a #A! "a A!!``Module!!4{!!!!"A`Batche!G!!"!t`al"a"=1 { "b"=2 } { "!"pc"=3 }!G! .""a"!( "!A"A`?cro1"Al77"""A#!$ 8"a"d@????????????????????"#p???"l7"@rr#a!!#!r##A# r#a#!r #Br#aA#A#B| #b+x)$!$a2("cs)$$A(m)$!$a( m,*$A$(ws*!$ab$XBatch parallle 1D/x$$p$$%$v}'A%!$d@ Macro pour permettre%%Ap le calcul d'un Batch a%!%apu passage du flux de do%A%pnnes%a%%%(!d@La sortie "out" est %%pidentique l'entre "i%&pn" (Signaux 1D) Quand l%&!p'entre a t modifie &&Apet qu'on recalcule la s&!&aportie (ou bien la "Cha&A&pne vide"), le calcul de&a&p la sortie est interrom&&ppu jusqu' ce que le ba&&ptch de texte "Texte du &'pbatch" se soit excut.&'!p'H]'a(a%)"IM'A')R'a') R'' \M'b$XBatch parallle 1D/x)(p'(R<(A%(`@Texte du batch(!IM'a(!'A(Sg((!(`@out(R'((a)!Vj)()A`@in(R'(()eMz)a(``Chane vide)A\M')A)!'d6*A)$,"*a$!))(U5*$A)*, Ue*$a)*!,*$*0_+*a*),"1+!)*A*(x^+A)*a*$ x+a***$+*!*i`*A}WE++!+*A$"~.A*a++A$/*+!+a$ X1*+A+$D2A*+ah`Vecteurectorielle+` !+,!+,A( a2a+,(,a+dChaine vide+$,a,+,! ,,A, .!,ab$Premier/x,A! ,-!,A-A  2,-   2,dFix,\ --a-,.  -2!-Ah@Execl a demande-Aj---A  -a-` -.!.-A.! ,..A "+!.!.a /a.Al+.u./!./A v1..!#|2./ +A.d+.//a/.1a! 0.a/A``Module/A6}///A0a`Batche/G0/0At`al"a"=1 { "b"=2 } { "/0!pc"=3 }0G/0000/( 0/a0a`?cro10al77010a1A$ 800d@????????????????????01!p???1l70@]]1/A1!]2a1a1 ]+a11!].1@  21a2a! ,12!! -a22A  +2!B]1+12B |.-2a)+@23A$("*s22(423( 4,23!(?s3`Batch parallle2_7338adAjout d'un noyau dan3a3ps une bibliothque ou u33pn graphe3-b43a'74!3`Noyauli344A'8!4!44A844A 244d@Dans une bibliothqu44pe ou dans un graphe ord45pinaire, on peut mettre 45!pun "Noyau". Les macros 55Apmises dans ce noyau dev5!5apront tre commentes. S5A5pi elles comportent des 5a5pparamtres (lments mi55ps en image sur le devan55pt de la macro ou sur un56p tableau de bord interm56!pdiaire), elles pourron66Apt tre glisses dans la6!6ap bibliothque ou le gra6A6pphe en plusieurs exempl6a6paires, avec des paramt66pres diffrents. Seules 66ples rfrences la mac67pro du noyau seront enre67!pgistres, d'o un gain 77Apde taille de fichiers. 7!7apLa bibliothque "Visus57A7p.MTG" a t faite avec 7a7pun noyau.7748Ad`784a784AI877883a= '>!=d@Sous graphes l'int>>Aprieur de graphes Mett>!>apre dans un graphe cette>A>p macro pour le chargeme>a>pnt d'autres graphes : l>>pe graphe charg sera le>>p fichier MUSTIG dont le>?p nom est spcifi l'i>?!pntrieur de la macro. ??ApAttention : si la macro?!?ap n'est pas verrouille,?A?p l'ouvrir permet de cha?a?pnger le nom de la sous ??pbibliothque?Hr@=a``mongrapheue?@!ovp=@@!=7@@<DdAjout d'une biblioth@a@pque@\@@a=DA@`Ma Bibli3@A!)DaAAaA!DAAA!0)AAad@Sous bibliothques AAp l'intrieur de bibliotAAphques Mettre dans uneABp bibliothque cette macAB!pro pour le chargement dBBAp'autres bibliothques :B!Bap la bibliothque chargBABpe sera le fichier MUSTIBaBpG dont le nom est spciBBpfi l'intrieur de laBBp macro. cf les botes BCp"Sorties", "Signaux" etBC!p "Compat. v4.0" de la bCCApibliothque principale C!Cap Attention : si la macrCACpo n'est pas verrouilleCaCp, l'ouvrir permet de chCCpanger le nom de la sousCCp bibliothqueCHrD!@``mabibv3queDDAovpAAD!DAA!E^_DD@aA`Interfaces sourisDiDD #+FAEDQA`Rcupration d'une oDE!pptionEEAEaE!2EEAd@Ce module d'interfacEaEpe de type Vecteur permeEEpt de rcuprer la valeuEEpr d'une option ou d'uneEFp variable d'environnemeEF!pnt.FSUFaDW0FFFAI`Clic activate ? ?FaFFa) kG!FGF(jGAFh`FyUGGAGaF$HaFG!h`VecteurectorielleG!NGGG!HAh`Options vecteuraleG) JGHG 9G`@editeur:clic_activatGH!peHHHaHG HGAHA``ModuleHAHHHA HaHp`HWIAI!FaK`Tout enregistrer ?I&}IaI MIIIIA(LIIah`IayUJ!IJIa$KIIh`VecteurectorielleINJaJAIJh`Options vecteuraleJ!) JJJJ! 9Ja`@editeur:tout_enregisJaJptrerJKAKK!J! KaIJ``ModuleJKaKJ KKApjKAWLKINadNiveaux d'annulationKKpK L!KLLALaL(LL!h`L!yULLLL!$MLALh`VecteurectorielleLNM!MLMh`Options vecteuraleL) JMAMaL 9M!`@editeur:niveaux_d_anM!MpnulationMaNMML N!LM``ModuleMN!NAM MNpjNWNNKPdRpertoire TEMPNabNNakuO!NON(tOANh`NkaGOOAOaN$PANO!h`VecteurectorielleO! 28OOO!P!h`Options vecteuraleO.&OPO $%O`@environ:TEMPRANSFEROr}PPAPaO |POAP!``ModuleP!jPPP! iPAPtjP;\HQNa``....................PQ!p......... etcQQQaDR`?cro1QAPQQARad` L'apparence des caraQQpctres sur l'outil d'inQQpterface est dtermine QRppar la fonte, taille etQR!p style du module ou de RRApl'tiquette interne.R!OQW#xRRQAna`Batch,visible ou nonRRpRSR=@WS!SRi(">WSSA(aAWS!Sa(aXSA`Cacher image macroSS((SSWa=dUASSd@Macro comprenant un STpbatch vide, construit ST!p partir d'une interfaceTTAp utilisateur "Vecteur".T!Tap. Sa fonction est, quanTATpd elle est mise en imagTaTpe, d'afficher ou non, eTTpn fonction de la conditTTpion de visibilit, une TUpimage mise sur le devanTU!pt de cette macro.UUbDUaV!S) {UAU)"cUaU({CU`WAIj`VU!VAd@Entrede "Ma macro"U{UaUUAVVhuVaUV`@Sortiede "Ma macro"VA{CUVAV!WAT{VVAd@Condition de visibilVVpit : entier nul : invVWpisible entier non nul VW!p: visibleWcUVVUV_|YaSWaYAYmEKXAWX!S$"XaS!WW$nXSAWX$JXSaWh <WXXaXW$"GiAWXAX$ *iWXaX$*hXXh VecteurectorielleXA@8(^m^aYYAXAc(Kl^hXY!( K)^i!Yb Dirac/tXWXWa5>5>YW^!,iK\YYd@ En "a" arrive la dYYpescription de la variabYZple t. En "b" sort un veYZ!pcteur "Dirac" suivant lZZApa variable t. La positiZ!Zapon P du Dirac est entrZAZpe en paramtre sur la fZaZpace avant de la macro. ZZp La position est le numZZpro du point non nul (0Z[p correspondant au premiZ[!per)[[A.CN[a[![`@ Gnrateur de Dirac[A"5[[A[`@P[[[\`@0[g\![\a`@____________________\\Ap__\!\\\d@| | | |\a\\a]a`@P\7$]]Y($#\]!( $]b Dirac/t^*?]\]`@b]a$#]]a\^]]a`@a]$]!]]]AH-Z\`Y^!`@^^X$_Y^a^$ cY!^J^_^a_! I_A^`@0^p _A_^_! q^_!_a q`_A_ "|c_a_ ^_`:-_!J``!_!`A!I_a_`@1_@x'`a`_` &``Ad@0`A^A`A^!w+Cp`aA`Aaa! ,`a`a "x7b!`a!!Bca`=?`L`Waa`a Vaaah0aa!Egbaaaac! Vbcaab QVabab!!f7caabbA fcb!!Gpebab`@t0baLT`l3bcbac! VUcAbb Vkbb`+1b@V7V7cAb!V7bc!ca V7b!cAc V7acaA|a!_acBbA^cdaddAXga(dgcd!( did`test visc"?ddc$>eAddad$ #gd!d   deadae ede fade! "  gAeeA de!d:-d5!Yef!de!Xde`  f!&b>fefA`` Chaine un blanceXeeee^fafef!efA` fffAg`` Chaine videffaffAfB+g!dfg!A+gAgggAB e!g!g!)gggch! *hdga` Modulegahggaha`Batchegh!ghAa0hh97hhg :ghad ???????????haB*hXgahAKYhhiB*i!Xhi!AKY!iiiAAGiaXai!iaBiiAiAiAd!iaiaDl!iiS( ElAi`Batch calculeurijj!ikAjAjd@Module d'interface dj!jape type "Vecteur" Le batjAjpch rsultant est fait djajpe la chaine de caractrjjpes l'entre. Si cettejjp chaine est un caractrjkpe blanc, les images du jk!pbatch sont invisibles.kkCkalj!( DkA`Batch calculeurlkk!`@chaine de caractreskkpkDkakkAkS^llAlai, 7Tlil!j`l!89llll!$ mlAlh`VecteurectoriellelomAmm!l n!ll``Modulelqmmaln` BatchmAf,mmAme`;debug "a"=1 10{ "a"mmp += 2 lancer "toto" }mf,m$c7n!nAmA %mnd ?????????=1 10{ "a"n|#oAnR|`Interface compositenannn2nn`@Ce module d'interfacnope combine plusieurs typno!peso4^&oanaT?poooA(qoa`Ascenseur + Incrmenoaoptationoorop!oraquopap!uxp!ppax!5qpapqaqq!qoa$B|aop@'o;7qAqapq 1pqq!` ?????????q!pq!p@1a1aqq!r!!1aqAqq 1arAqr 1a|aq@&=VrrAraq|a)1Urqr!h`r!pr!oV1msrrr!$luArArh`Ascenseurct - FichirsAs!rsh`Binnssass sA`@.5426e+01sA Nsss``Horizontalon hsgFt!tst``Maxilisation vsy<"tAtas ;t!`@100t!gttsu!``Minilisation hty"tut t`@30tCuuAuat B|!ru!``Moduleu!@'vuuu!|!(&v!|Auh`upAup!b<vav!vAu$;xAuvh`Up_downLect - Fichivv8vvvwh`Binnva{4vvva 3v`@7426e+01v/w!vawAh`Downwxwwaww``Minilisation hwAwwwA w`@30wxwAx!``Horizontalon hwxxAxaw {v!x!``Modulex!@yxxx!{(y!|xh`xpxpa<yay!yAx$i;{Axyh`Up_downLect - Fichiy2Pyyyzh`Binnya7Lyyya Ay`@7426e+01y3z!yazAh`Upnz4P8zzazz``Maxilisation vzA< L1zzzA D0z`@100z {zA{!``Horizontalon hz]u{{A{az i{y!{!``Module{!aq{{{! i{A{`@30{B|xAx|Ax{{B4|AuAu|AA4u|!|!BBarqr!2#S~A|nadRcupration du nom ||p(macro ou graphe)||}|2}!|d@Ce module d'interfac}}Ape de type Vecteur perme}!}apt de rcuprer le nom d}A}pe la macro ou du graphe}a}p. Si une modification a}}p lieu dans la macro ou }}ple graphe, la sortie es}~pt rinitialise automat}~!piquement.~4~a|9~~~~A(~~ah`~a|{W!~~a$V~~h`Vecteurectorielle~A~ah`Execl a demande!G! F~a``Modulea 6a! 5d7A !d Rcupration du nom p(macro ou graphe)a!d`$nom_macroA!a4!|(A( #!a" !A( Aa`.Choixordreteur-A!!(d6Ad@ Permet le choix entr!ape plusieurs traitement Apen utilisant des reportaps-a$l!$ A!$ laA$ L!bw l!a4l`Calc. 2tCeningaBWAaa LA!4L`Calc. 1tCening} a4|`Calc. 3oprocninga@Wa!a(lh`?g0$/ah`V_Scalairescalaireau!!a  a``ModuleA4!a A`Calc. 3oprocming!Qk``Etiquettes verticalepsf!A zd@Calc. 1 Calc. 2 Calcap. 3AB'A':T `Les attributs ...1.!Aah`Clear a demande!!h`Execl a demandea*ah`Longueur minimumle/K!h`SauveAah`Calcul a demande!Pf(!h`Bleu etiquetteaiah`Vert etiquettei!h`Jaune etiquetteOeAah`Coche etiquette!Oe!h`Croix etiquettea ah`Longueur vecteurale$!h`EcartementsAa``Taille etiquetteta!!h`Binnaa``Horizontalon h!h`DownAah`Upn!So"!``Etiquettes verticaleapsa``Minilisation h !A``Maxilisation v5Qa``ModuleAS`Incrmentation scalapirevC!d@Incrment et dcrmeApnt d'un scalaire par cl!apic souris, le pas pouvaApnt tre choisi diffrenapt de la valeur par dfaput 1. Attributs supporpts : - Horizontal - Upp - Down - Mini (si Up n!pon prsent) (-32000 parAp dfaut) - Maxi (si Dow!apn non prsent) (32000 pApar dfaut) - Bin (1 parap dfaut) (A gauche, paps d'attributs, droitep tous les attributs)'ogQ!7QAaA(D!h`!S`!$_Ah`Up_downLect - Fichi8O!h`Down8OAah`Upn! 2T!h`Binna+Ba #A`@.010BA!a``Minilisation h7a 6A`@-10AA``Maxilisation v! `@110 $a``Horizontalon hAA ``Module! `@.2607Sa!(EAh`A55A$4!ah`Up_downLect - Fichia!A ``Module !a`@1000a`Botes cocher(!MvAdBoutons radio!aA3ad@Cet oprateur de typpe Bouton radio sort un pvecteur de 1 et 0. Les pvaleurs sont changes p!par un clic souris. Le nApombre de cases est modi!apfi en ditant le modulApe interne. On peut mettapre ou non des tiquetteps. (A gauche, pas d'attpributs, droite tous lpes attributs) Attribut!ps supports : - EtiquetAptes verticales - Taille!ap etiquette - EcartementApa\V?!7 !( Ah` kAa$!h`Radiokcocher_vecte!DZ!h`Croix etiquette?Rgah`EcartementOm_!A W`@208;``Taille etiquettetaa/a '`@45=a!a``Etiquettes verticaleAps! ad@un deux a ! AA``Modulep Aa(!`?cro1!l!$Ad@1 0 0 0 0 /tl a!A(h` F$!ah`Radiokcocher_vectea!a A``ModulemAa(!`?cro1!l!$Ad@0 0 1 0 0 /tlG]~!!dBote cocher vectoAprielle!aA2(Pad@Cet oprateur de typpe Bote cocher vectorpielle sort un vecteur dpe 1 et 0. Les valeurs s!pont changes par un cliApc souris. Le nombre de !apcases est modifi en dApitant le module interneap. On peut mettre ou nonp des tiquettes. (A gaupche, pas d'attributs, p droite tous les attrib!puts) Attributs supportAps : - Etiquettes verti!apcales - Taille etiquettApe - EcartementaBI0n!(omAh`Aa$!h`V_Checkcocher_vecte!e{/!h`Coche etiquette\5ah`EcartementlP|u!A tt`@20!``Etiquettes verticaleapsma d@un deux 2XuaAa``Taille etiquetteta!<LLq! Dpa`@45a.!! AA``Module6"[Aa(Z!`?cro1!l!$Ad@1 0 1 /tlQ}a!A(gh`'5$!ah`V_Checkcocher_vecteaq9!a A``Module|yAa(!`?cro1!l!$Ad@1 0 0 /tlG~R!dBote cocher 0-1Aa!2Ad@Bote cocher scalaapire : s'inverse par un pclic souris4a!A(h`hX$!!ah`CheckrLect - Fichia\ah`Jaune etiquette]a!A ``Module !a`@06a"!a`Vecteur->scalaire!2Ad@Choix d'un scalaire !appar un clic souris parmApi un ensemble de valeuraps (donnes par le vectepur Etiquette). On peut paussi diter les valeurps, les flches de dfil!pement sont actives. LesAp tiquettes sont ncess!apaires. Le nombre de caApses est modifi en ditapant le module d'tiquetptes. (A gauche, pas d'apttributs, droite tousp les attributs)3~A&a!!(Ah`AA$5ah`V_Scalairescalaire[SA!h`Ecartementkn{a sA`@20A ``Etiquettes verticalepsa!A(``?^%$!ad@67 78 45 /ta^ aRA! 5a``Module+2?Wa(5VA`?cro1AlA$a`@67 /tlAaA(!h`!D!$AAh`V_ScalairescalaireA!``Etiquettes verticale!psa(A``?A^%A$ad@67 78 45 /t^  Aa !``Module!2W!(VA`?cro1l!A$`@67 /tl!`AscenseursaH1aL!`Ascenseur vecteural!2Ad@Ascenseur vectoriel.!ap Les valeurs du vecteurAp sont comprises entre 0ap et 1 si on ne donne paps les valeurs min et mapx. Le nombre de cases epst modifi en ditant l!pe module interne. On peAput mettre ou non des t!apiquettes. Attributs suAppports : - Mini (0 parap dfaut) - Maxi (1 par pdfaut) - Bin (.01 par pdfaut) - Etiquettes veprticales - Taille etiqu!pette - Ecartement (A gApauche, pas d'attributs,!ap droite tous les attrApibuts)a:K#!("Ah`Jsu?Aa$>!h`V_Ascrectorielle!;!!``Taille etiquetteta7 6`@45 1;aAh`Ecartement!)*! !)a`@20a9n!!!``Etiquettes verticaleps=jAa S!dun deux !4!h`Binn0 %d@.1 .1 .11`aA``Maxilisation v!r"! zad@6.5 6.5 6.5acz!a``Minilisation hu"!A }d@-2 -2 -2w Aa``Modulea!a(A`?cro12rAa$N!d@5.69811 0.641509 !p 0.867925 ap /t2r!JA!(ah`Jsu?a$>Ah`V_AscrectorielleAwA !a``Modulea!A(`?cro1=}$Y!ad@8.0357e-01 5.1786e-0ap1 0.3023255765438 p /t=}aLA`Ascenseur scalairel!aA2ad@Ascenseur donnant unp scalaire. Attributs spupports : - Horizontalp (Vertical par dfaut) !p- Mini (0 par dfaut) -Ap Maxi (1 par dfaut) - !apBin (0.01 par dfaut) Ap(A gauche, pas d'attribaputs, droite tous les pattributs)'-.!Wua!Aš(fh`?¡$!ah`Ascenseurct - Fichia0qa``Horizontalon h$A!áh`BinnaÁ A`@.1426e+01AP+|iA``Maxilisation váb:r_"!á j^`@6.50P|āaá``Minilisation hAbr"ġA jā`@-20āfA!A ea``ModuleKaŁ JA`@39000000954AEH\(e[!šh`š_P a!Aš$Ɓh`Ascenseurct - FichidƁơ !a``Moduleaa Ɓ`@.7000000954"ɡAaԡ`Vecteur!aǁA/!ǡad@Edition d'un vecteurǁp et/ou des tiquettes (ǡpselon verrouillage) en pcolonne. Les flches de!p dfilement sont activeAps en dition. Le nombr!ape de cases est modifi Aȁpen ditant le module inaȡpterne. On peut mettre oȁpu non des tiquettes. (ȡpA gauche, pas d'attribupts, droite tous les a!pttributs) Attributs suAppports : - Etiquettes !apverticales - Taille etiAɁpquette - EcartementaD!!ɡA(A`Macro.ʁAa!,-ʡ!h`!bcʡ!$Aʁh`Vecteurectorielleʁ90_!ʁˁh`Longueur vecteuraleEUAa M!`@10!5]*ˡ!h`EcartementˁEU$ˁ M#`@20 0LaAˁ``Taille etiquetteta!#$H̡́! Ga`@45an!!͡``Etiquettes verticalepsrkAa !d@un deux trois quatre!́p : 0 0 0 0 0ap o!ʡ͡``Module͡Sa!A͡(R΁`Vals2TS[΁Ρ$ R!ad@0.810 0.241 0.775 56ap 56 56 56 56 56 5Ρp6 /tSa.![ϡaρ(Ah`AccdQA$PAaϡh`Vecteurectorielleϡ6o^A!ϡСh`EcartementFVaЁ NA`@20A l1A``Taille etiquettetaС%!С `@45o;ѡaС!``Etiquettes verticaleAсpsas4A 3ѡd@un deux trois quatreѡp :gҁAaA ҡ!``Module![ҡ! Aҁd@0.810 0.241 0.775 /tҁp$Sa!AA(RӁh`DӁӡ$!ah`Vecteurectoriellea !a AӁ``ModulebAa !d@0.810 0.241 0.775 /t!ԁpak!d`Attention : prendre ԡples oprateurs par le bpord pour pouvoir les d!pplacer !b7աaDdOprations sur le teAՁpmpsaNA$Aaա(  a(ف!( ١A(!`H-M-Sց֡a4Vց`@֡ס ֡( !( A( !a(  A`H-M-Ssecondes!>#!d@secondes depuis le dסpbut du jourסaFAס؁`@heure! !!!Wء!`@minute؁ A؁a!'W؁`@seconde  aׁn}a$ #Aف$|!a١$#|A!ف$H|aA١YQڡځA( #a!(PفA(#P١!a(HP!A`H-M-SsecondesXA4ڡ4!4A!4ae@st=$1 sech=i3600 secڡapm=i60 h=st/sech sh=st-hAہp*sech m=sh/secm s=sh-m*aۡpsecm $2=h $3=m $4=sہa((!(!A( A!`A-j-b܁ܡaM4)a܁d@Tous les paramtres ܡpsont entiers. Si "annep normale" est non nul, !pl'anne n'est pas une aApnne bisextile.!!݁aܡ(aݡ(݁(ݡ( `A-j-bsecondesߡ}AAށ`@jours depuis 1970!݁!a-\ޡ!`@anneށݡށaAށad@jours depuis le dbu!pt de l'anneߡb߁`@anne normaleaaAm|a$$#!$O!A$ #nA!^!( #AAa(a(#(O!`A-j-bsecondesa=Z=Aa4=Z!a4=ZA4=Za4=Ze@nj=$1+i731 nja4=i4*i!p365+i1 na4=nj/nja4 ja4=pnj-na4*nja4 jb4=ja4-i36!p6 a4=jb4/i365 ja=jb4-a4Ap*i365 ;test est vrai si!ap ce n'est pas une anneAp bisextile test=(ja4>i3ap65) a4=test?a4+i1:i0 jap=test?ja:ja4 $2=i1968+ip4*na4+a4 $3=ja $4=a4!|!( !A({A!a({aA`jours secondesUd@o1!(pA(!a(A`jours secondes Y!d@secondes depuis 1970pp!aA`@jours depuis 1970!A! $8!d@secondes depuis le dpbut du jouraa&:!$ '!A$A!a$ aA(!  A "a  ad-A !a "A!aadx!FUA!a G "N! Td/@77!7a 7!!7A@NNaa!N! "NA!N!@vv! v!a v!vA,qr!aA!N!`@i86400B 7aAAAAaaBvAJ1A a( Ka( K!( KA( K!a( !KA( )Ka(!(sA(0sadDate-Heure ->seconde!psAa!qG!A`@asT`@Sortiess`@EntresPAa( !a( A( a( ( ( (O!()A()!dDate-Heure ->seconde!psax!d@secondes depuis 1970pO! '5Ad@secondes depuis le d!apbut du jourA)A!!`@jours depuis 1970)!A!a`@anneA`@moisaaaAa!`@jouraA`@heure!! !`@minutea!(`@secondea0~a$ O!A$ a$ !$ A$ *a$ T!$A$1V!a$}V !AH=dA( V>!a(VA bDListe mois/moisoa!$ A$!-M=r 5q!a`@29a0~Eaa(:("1!) 5A( ?a!b (Ch Val/mois!`@i1'x:K Aa 0ya! 0dFix[ !! :a A " 0Ad:-a@HHAa!H!a "HA!HaaB@"!!!?d@31 28 31 30 31 30 31p 31 30 31 30 31 /mois& :fAa) 0 !a)0e!Abd+a@TT !a !T A  A! T ! a T A AA!   Bf    Af    BV   A!A  !B  AB ! ! aA! A BG8A a A*  A  A!  AM  !AeV Aa  ABe a ! !,A   )A( 6  a (6  `Jour1 a   6i A ! d@  7 a  (  A (6 a`Jour1 a}K  ! !`@Jour de la semaine 6   A as A `@jours depuis 1970 ! a !  -.@   a$ !   $?)   > (=( !(   A("%(!a(%A`Modulo h%!  i!"( )!b Coupe/njourAa!a^(AAd@ Module Coupe d'un veapcteur "a" est un vectepur selon la variable u.p "Indice" est un scalaipre (entier). "b" est la!p coupe du vecteur "a" pApour l'indice "Indice" :!ap b=a[Indice]. La premiApre valeur correspond apIndice=0. Attention: mpodule vectoriel qui ncpessite la mmorisation pcomplte du signal d'en!ptre.a!a A " a -` Coupe/uDY!A`@b-AOa`@IndiceA A!A`@aaiyu!Aa!q(`@i7d(!)ca( !(Ab(Chaines/njouraIQnAa,[!, [R!`(aSgcA``MaxaP`at>A$*='A!$ *'!Ada !A 'abN/njourA!bAA (c'! Q(!!!"'A @A'!a "'A!?d` njouro8Ha (p "a! (A 7A!gLect_champ 50\r\nk `@i0@a!! A!'!!@ 'a!' (%oaa') &!!)naA)"J'!`Nb lignest$ u!$A!$"<A:!a A !d-1@"!!`@14!a &AA !d+1 d! A &bN/liEG!a FA !!dNbytes?@<<!<! <A "<!! AA "&!a &Ad--=" 5`@i0!U!% a$aA!"<!a Q!%A! 5%a!Q5 &!!"&a!"!& S!Ad`lig a  $AA "<Aa f" <gLect_champ 1000\n\rA+?  ! A 7#a  A 1$ ! a ",$ A 5 ad:-   !a ! # ! $ !! ""A!!A %!!!d:- !" "! %A!! "!! %a!d>?!@"A!"!!!"!"a!"%a"A"!$"a@""!#!! ""!%A"#! "/?0#A#"# 7##!#a!7/ !#Ad+1#!@77##!$!!7#A## 7%#$!7$#@  $A#$! a$!$a  !$A$! $$aB1$ A$!$A" a$$B $!$%B%!a$%!A!A%%%AB"!%!%aB"a!%A%B5%%a%A7#%%>c"%&&!!b&%`@i1%A5&A%&AB&!!&!&aB&&A&A&a&&a&B&&&A%A&&Ba&B!'!B(A''AB* 'a'!'aAZ ''A'A'BZA'a'a'Aa''B*!''BJA('(A''u(A(aa(!(!d@Jeudi Vendredi Samed(!(pi Dimanche Lundi Mardi (a(pMercredi (B(!(Aq%!A()B)! ()!A))* Cl*)a) a4!( 6 *)A)(6k*)a`Secs->Format)A))),i;*)d@ Formatage Secondes )*!pEn entre, un temps en **Apsecondes En sortie, la*!*ap chane de caractres H*A*peures:Minutes:Secondes*a!+*)A$ 0)a**$3)*%|+!+a*+ 0a++A 3a+!gFormat %2d+%;_++++ 0/+`:+JY !,,a+, Q,+,!!#X3a,,A Q3,!d++JY!,-+-! Q/!,, "K3,,!Q,,d+,og%|-A-,- h0A-!-a 3-AgFormat %2d-!ASa%|-.-!.! QT4-- Q.A-gFormat %2d-JY!.A.-.! Q-.!.a "K/.A. Q..ad+.!JY!./A.!/a! Q../!#X3./!!Q,/d+.@00/./!0.a/a/! 0+//!03/vH2!00/a0( 2A*/0!)w62a400A)G2-A0!0a)G2+!0A`Formule2Y#n:0/1`` H0w60!0/1AmLd1!01a`` M1G0A101Lc111`` S1aG0a1a1A2$11a3a`` Secs10110;v2A2/3A402!2a40!2A240A2a240a2ens=FIX(3600) tH=Secs2!2p/ns H=tH reste=Secs-ns*23ptH nm=fix(60) tM=reste/23!pnm M=tM S=reste-nm*tM3;v2!B,!+A13B 3*3a3AQ ,A333A0/,33B/-a34BQ60!-3 1z4A4)A4 4!4a 04A4 4adTime4!8454!fA( 945( 9!45!(9A55A(9a5!5a(95A`M-J24555B+655`@56J6!7!5( K66A( K6!6a(k6A6(6a6(6`M-J28?757A`@mois (caractres)6k6a6677a67`@jour7A67A7!7l 77A8`@mois (entier)76778ac58!78d@jours depuis le dbu88Apt de l'anne8!K6!878!88`@anne normale8K6A88a6994$ ^489!$ zf599A$e5!9!9a$z_5A9A9$b5a9aBU$%9:!8> K>!99 "Cd9: K#eA9b Coupe/nmois9:A:a:!a^(!>a9>)K9>>A( K_>!f0Chaines/nmois>oC!>?>^A(nCAb>>("Caea>>( Cc>bHSlectionner/mois/nm>?!pois??A?a?!6,Aa??Ad@Le vecteur "b" est f?a?porm des lments du ve??pcteur "a" qui satisfont??p la condition "critr?@pe" (entier). La variabl?@!pe de "b", t', est cre@@Ap l'intrieur de la ma@!@apcro. Sa longueur est g@A@pale au nombre d'lment@a@ps de "a" qui satisfont @@pau critre. Si besoin e@@pst, les indices sont di@Apsponibles la sortie d@A!pe la macro intrieure "AAApSlectindices".A!BABA?a(AaA(";AA( AbLSlectionner/t/t'CB!AABa`@aBABAaB!SBBB`@critreBa;ABaBACBBa`@btBABBAv~TCCA>$,SD>C!Ca$"e^!>CAC$ ,wC>Ca#6;%CD!C!DA ,CCC "$^CD ,:CACb Coupe/moisChGDaDC^)G^DAD( iG^!DafDSlectindice/mois/nmDADpoisDDED`FaE!Dd@ Le vecteur "b" est fEEAporm des indices des lE!Eapments du vecteur "a" (EAEpentiers 0 ou 1) qui sonEaEpt non nuls. La variableEEp de "b", t', est cre EEp l'intrieur de la macEFpro. Sa longueur est gaEF!ple au nombre d'lmentsFFAp de "a" non nuls.F!F%?uFG!E)2tFaF( 2FbHSlectindice/t/t'nmG)<GFAGA`@ aF2FFFaG)~<GaF`@ bGA2tFGAG!FF8HGDA$7HDaGG$ G]DG  H!HAGHa  HH` i-1H$4 HIHL! UHaH! H!HH "(]HH 3GHh:-HaI!IAI+ZGIIaI!d@ Commutateur : si "c"IAIp (entier) est non nul, IaIp"d" est gal "b", sinIIpon "d" est gal "a".IJJJIA IJ! JJA "J!Ja JAh:-LJIK`@dJJaJIKAsK!JKa`@cKJAKJKKKK`@bKaJ!KaKALKKa`@aKJKKJ $LALHaO  OL!La "]!LAL!#]Lah=?L!LLL-ldMMLd@ "c" (entier) est gaLM!pl 1 si "a" est gal MMAp "b" et est gal 0 siM!Mapnon. Les entres "a" etMAMp "b" peuvent tre des cMaMphanes de caractresMNaMNL MN "MN! Nh=?Oa !NMN`@cNaN!NaMO} NNaO!`@bNNNNOaOAN`@aO!MO!ONAOOL!O!LAO` 0O dPPAOPa POP! ]APfN/nmoisOPPOSa SPaP "TPP!PPh>PaQQ!P>QQAQd@ Maximum entre deux vQ!Qapaleurs : c QAQp= Max( a , b )QaRA QRQ! QQ "QR Qh>SAp9MRaQR`@cRARRAQRat2RRAS`@bRQRRSAmS!R`@aSQSRR!RSSPaS!~PSa` 1SaQST!SaTA( R\ST(TaSb ,Somme/moisS@TaST!TTAT!PTaT!]!T! /UTTAZ  U!YZTU!QUAV!HTU! QTXAUUA  UZ![aU!Ua "qX!]UAU  UW]UaU QUWU ,UTVd@ moisU1'V!VUV(UVVA("^YaV!Va( 2ZVAV( !2ZAVab (Ch Val/nmoisV>SVW!VWA ?WaVW RUVd+1V@&&WaVW!&VWAW &UWaW!&ZWe} WXaWAX fY!WX fXWX! "qUaXXA |U!X!l:-WLaXXWY MZaXX!`XXd+1X@^^Y!XY!^WYYA ^YY!Ya!^VAYA@::YYZ!:YAYY :TYY!:ZaYB&WVaYZ!B ZAUAZZAA! VZ!Z!ZaB:YXZA@ZT[!TZZ \AZZ!]Z&n[![Z[ ][[A!"]A[![a!UA[Al=["[[[\ \![`i0[@\![\! [\\A!Z\!\a!]\A@NN\\]!N]a\\!NS\\ #N]\A(LH\]!ATLa]]AB[AP!]!]aBN\]]A]Aq]aUa]a]BZU]]B\a[!]]BN\G]ADaCDA^!AeDCa^{o^a^>^ |b^A^ aa^ab N?/nmois^A^_!^A_A 9^_ `^d+1^oz&_a_^_ z{e_A_ z9a_ab$Dernier/nmois_Av"_`_A`!Ku>A_d@.... Janvier Fvrier_`!p Mars Avril Mai Juin Ju``Apillet Aot Septembre Oc`!`aptobre Novembre Dcembre`A`p `a`a!_aA! _`` "e`a d`d-`K aaa`a! ^aAa aaadFixaA@aaAbA!aab 9ab!!db@ssbaab!sebAb!s^abab! s>b"bcbAc! eb`@i0bcAcbc ec!ca!"ecAc!eacad>?c!@cc!dA!>cd! acd!!eddadcd( f!dAd)edabeAeBzsba_aeaeAd`eeBcabeeBd!cAefBzf!9!ef!Adaff6ifaf4m(5ifAf( ifaf( jff( j!f`H-M-S formatfAgg!f/,gagAg`@g!h!3ghag!(gag( 4gg( 4gg( 4g`H-M-S formatihAgAh`@heureh!4gh!gahhh!h`@minuteh4ghhai!)ihiA`@secondeh4ghhiiah`@heure formatteiAgiAi!h-jAifA$m!faii$ kfij$ ]lfij!$ jafj1||jajij 2j!jAj {mjagFormat %3d secjAVejkAjAka ]lAjk!#dmjk! ]mAkd+j~&q|kkjk 'ikak pmakgFormat %3d min kaVellakal ]lkl!!#dmallA!]jl!d+kNmd|llkm ]jll!]cllgFormat %3d h lBkjlm!BmAimmAA]k!m!m!maBl!kmA pmn!fA(qmm( !q!mm( !qAmn( !qam`A-M-J formatmnAnan!,nnnA`@naoacnona(bnn( no( no!( o`A-M-J formatpono`@anneoaooanpooap!`@moisonoopa pAop`@jourp!o!p!ppopp!`@date formattepbnppaoA-qqm$tampq!$ samqqA$ ]smq!qa$ rnqAqrpr! rqq "tAqq tqd+qwrArqr xsr!ra "trAr!qrad+r!(s|rs!r!sA )qars!rrArgFormat %d/r~&q|sasrs 'q!sAs!ptsagFormat %d/sANmd|st!sAtA ]qAst!]ctAsgFormat %4dsA]tqstaBtqtAtAqtatatAsratMcut!݁`Algbre linairetQz5u!tS1jvAuAuuzA( ^2vau!ua("TvuAu(^vuab0Mat Mul/li/cou!uuunvud@Multiplication de deuv!pux matricesvJSvvau!$ {TyuAvAv$"K zuavav${wuvX lwnlvw!vAwA b!zvw bvz!vb ChVar/li/licovqywwawvy( {zxywAw)"rx!z!waw({xAvwb/licowAxaxwA$ ywawx!$"Zy!wxxA$xwx!xxwx( yAxax(xAxb ,Somme/licoxaRbyyaxa Sxxy! "Zx!yyA!axy!hxxqfnlyywAz {gvayy!{wayb ChVar/co/licoyAb vvyz!Bbwwz91O{azazu!}A( D2{zAz(D{zab8Mat trans/li/cozAzzz^7{zd@Cette macro effectuez{!p la transposition d'une{{Ap matrice{!C3~{{zA$ `4{za{a{$`}z{VNkl{|!{a|A `O{{| `|a{b ChVar/li/lico{Uk5l|a|{|! `||A| `4||ab ChVar/co/li|AU^kl|}!|A! `_||} `{|b ChVar/lico/co|1!}a}zA* A}A}(0a}ab4RACINES/ra/rc}A}}}Q&~}d@La macro "RACINES" p}~!permet de trouver les ra~~Apcines d'un polynme c~!~apoefficients rels ou co~A~pmplexes s'crivant : a(~a~p0) + a(1) X + ... + a(~~pn) X^n . En entre de ~~pcette macro on trouve l~pes coefficients { a(0),~!p...,a(n) } indexs par Apla variable ra. En sor!aptie on trouve les racinApes complexes indexes papar la variable rc (rc =p ra - 1). Cette variablpe est dfinie l'intrpieur de la macro.vA}A$ }a!a$}AlV?!!A m "A a b,RACINES/ra/rc|pda qA!AabN/rcA~J^r:!AA K!]ah-1}<oa aA!;ab N?/raA@AA! A!!aAaB!aAUj1!}AA ` "V `0 ib SolTInf/ra/rdAa!2Ad@Le module SolTInf/raap/rd permet de rsoudre pun systme d'quations ptriangulaire infrieur p A x = y . A ra x rd (r!pa = rd). Entres y : vApecteur index par ra. !apA : matrice triangulairApe infrieure ra x rd. ap Sortie x : vecteupr solution index par rpd.!a A "N!a A Nab4SolTInf/ra/rd!`@y!aCYA`@A!NA!!`@xaaZ.H!Z.Haa A a j <b,Cholesky/ra/rdA!GbAd@Le module Cholesky/r!apa/rd effectue la dcompAposition d'une matrice Aap ra x rd (ra = rd) dfipnie positive. A = L LpH o L matrice trianguplaire infrieure. et LH!p la matrice transpose Apconjugue de L. Entre!ap A : matrice raxrd SoAprties LH : matrice raap x rd c : si A est singpulire, cette sortie dopnne la position du prempier zro rencontr sur !pla diagonale de L ; danAps ce cas la dcompositi!apon n'est pas acheve. AA!7d! , ,c 6: 6b8Cholesky/ra/rdA#6aa`@AA,A"i5A`@LH,cA;2NF!`@c6:!A! a   Ub0VVPropres/ra/rda!AL\Aa!d@Le module VVPropres/Apra/rd permet de calculeapr les vecteurs propres pet les valeurs propres pd'une matrice A ra x rdp (ra = rd). Ces vecteur!ps propres ne sont pas uApnitaires dans le cas g!apnral. Entre A : matAprice ra x rd . Sortiesap V : matrice ra x rd copmplexe des vecteurs proppres. lambda : vecteur pcomplexe des valeurs pr!popres index par rd.aAA A a  Nb@VVPropres/ra/rd !!a`@AaA`@VaaAad@lambdaAa(!!a*AA* aa( bQRP/ra/ra1/rd1/rd!]!d@La macro QRP permet Apd'effectuer la dcompos!apition QR d'une matrice ApA ra x rd avec pivot. ap A PI = Q R. PI : matripce de permutation rd xp rd1. Q : matrice ra x pra1. R : matrice ra x r!pd. Entre A : matrice Apra x rd Sorties PI : m!apatrice rd x rd1. Q : maAptrice ra x ra1 R : matrapice R ra x rd.?;(&:*.:!*6:A( .!bQRP/ra/ra1/rd1/rd$u7`@A.A!="WA`@PI&:%>8Sa`@QA.:A!;>NTA`@R6:!aI4O!!$eNAA$NAa!a$NaA$ 5ai-{   ! jA ,A!a ,aA a bQRp/ra/ra1/rd1/rd<A!ad@Le module QRp permetAp d'effectuer la dcompo!apsition QR d'une matriceAp A ra x rd avec pivot. ap A = Q R. : matrpice de permutation rd px rd1. Q : matrice ra xp ra1. R : matrice ra x !prd. Entre A : matriceAp ra x rd Sorties : m!apatrice rd x rd1. Q : maAptrice ra x ra1 R : matrapice R ra x rd. e : entiper indiquant la positiopn du premier zro sur lpa diagonale de R. !p r.{a /A /a / s]  ! iA Q!fQRp /ra/ra1/rd1/rdAXWmp!`@ s]A!A`@Qa`@RAA!cyA`@ei!A'!`@A/aa<wd ~A!bN/rd1Nto!a OAA s!b N?/rad! A!bN/ra1uNto!a ~OA!~s!b N?/rd@== =a =!=@==!!=A!=!!a!=AB=!Be!!B~=!a!a(!(A* !!bQR/ra/ra1/rda] Od@La macro QR effectuep la dcomposition QR d'pune matrice A ra x rd. !p Entre A : matrice rApa x rd Sorties Q : mat!aprice ra x ra1 (ra = ra1Ap). R : matrice ra x rd.ap La variable ra1 est cpre l'intrieur de lpa macro.!(A*!a( AbQR/ra/ra1/rd-`@PI!A)!a`@RA`@AaaaA0uA$K!$!!!$ jvABToa KA Kab N?/raABTd!AA! K KbN/ra1@j~j~a!j~A j~!a j~<z>jA! j! K! K=A j=A!a y%A yab QR/ra/ra1/rdJ ? ad@Le module QR effectu!pe la dcomposition QR dAp'une matrice A ra x rd.!ap Entre A : matrice Apra x rd Sorties Q : maaptrice Q ra x ra1 (ra = pra1). R : matrice R ra px rd. d : entier indiqupant la position du prem!pier zro sur la diagonaAple de R.!aV# Wa W   "! "lb QR/ra/ra1/rdA`@Qaaa:Qa!`@AWa(;A`@d!"!  !`@RaAJ > BK~aa!BiAAAjiA!!1aa a " 0 0  ! A !b SolQR/ra/rdaaHrd@Le module SolQR/ra/rpd permet de rsoudre unp systme surdimensionn!p A x = y. A ra x rd (rApa >= rd ). La rsolutio!apn est trouve par dcomApposition QR de la matriapce A = QR. Q ra x rc (rpa = rc) R rc x rd Ax =p y <==> Qt A x = Qt y Rp x = Qt y Entres !py : vecteur index par Apra. A : Matrice ra x rd!ap. (ra rd). Sorties xAp : vecteur solution indapex par rd. e : vecteurp erreur e = Ax - y indepx par ra. d : vecteur pdiagonale de la matrice!p R index par ra, les Aplments significatifs c!aporrespondent aux rd preApmires valeurs. f : eapntier indiquant la posiption du premier zro supr la diagonale de R.!t!a A "E!a sA sa \ E -b $SolQR/ra/rdA;QA`@A!EA!!`@y!a!xA`@xsaxa`@eAsA!WlA`@d\A;N!`@fE19!a a " 0  b $RESOLV/ra/rdaAa!VAd@Le module RESOLV/ra/aprd permet de rsoudre upn systme d'quations Ap x = y . A ra x rd (rap = rd). Entres y : v!pecteur index par ra. ApA : matrice ra x rd. !ap Sorties x : vecteur soAplution index par rd. dap : estimation du conditpionnement de la matricep A. (rel entre 0 et1 p: si 1 matrice trs bie!pn conditionne, si 0 maAptrice trs mal conditio!apnne)Aa{9a  "G z W! 6b ,RESOLV/ra/rd a`@yaat;Qa!`@AGa~A`@x!z!Nb!`@dWaAn1aA x! "oA x0!a Ab(SolTSup/ra/rdc*ad@Le module SolTSup/rap/rd permet de rsoudre !pun systme d'quations Aptriangulaire suprieur !ap A x = y . A ra x rd (rApa = rd). Entres y : vapecteur index par ra. pA : matrice triangulairpe suprieure ra x rd. p Sortie x : vecteu!pr solution index par rApd.!!5a 6a "h  hb4SolTSup/ra/rd!AA`@x!!a0!`@y6a!_u`@Ah5aС(A*&a(-!( 'AbSVD/ra/rb/rc/rdA!3KY"Ad@La macro SVD effectu!ape la dcomposition en vApaleurs singulires d'unape matrice A quelconque.p A = U SI VH A ra x rpb ( ra = rb) VH rd x rcp ( rd = rc ) SI pour !pce module est un vecteuApr de dimension rb. Ent!apre A : matrice ra xAp rd . Sorties U :ap matrice ra x rb c : vpecteur des valeurs singpulires index par rb. pVH : matrice rd x rc. !p Les variables rb et rcAp sont cres l'intri!apeur de la macro.AAI¡Á!(*¡*( JbSVD/ra/rb/rc/rdġ,Aaaá`@AAJAA`@Uá¡áÁA !áa`@cġā`@VHaaA!-aA$Oaa$|š!$ЁA$ !r9Ł |ǁaš |ŁhRea@{{aa {! {!A {Ɓ!r oƁ! {Aaơ {AƁb N?/raaXVHKa! WA! |WaA eWa!a YaAǁ!|Łaǡ Ёǁ ǡ kbSVD/ra/rb/rc/rd!Aa!d@Le module SVD effectAȁpue la dcomposition en aȡpvaleurs singulires d'uȁpne matrice carre A queȡplconque. A = U VH p Entre A : matrice !pra x rd . SortiesAZTa!d@A ra x rb ( ra = rb)AɁp VH rd x rc ( rd = rc aɡp) pour ce module estɁp un vecteur de dimensioɡpn rb."i!AAd@U : matrice ra x rbAp c : vecteur des valeur!aps singulires index paAʁpr rb. VH : matrice rd aʡpx rc. e : entier gal ʁp 1 si la dcomposition ʡps'est bien effectue.WGHK!́A 9XA #X!a  XAˁ aˡ #ˁ Fˡ F FlbSVD/ra/rb/rc/rdJ|_a̡`@eAFAzA`@U̡ˁ̡́A*;?R!̡a`@A9X!͡+́`@ca#ˡaAI^a`@VHF͡!r'NdA΁Ρ! {(ơ!a!|M!AbN/rb!Zlo!!! c!Ρ cAb N?/rdΡZ&mLdAρΡϡ! c'!a!eKAAbN/rc!@!!!ϡ A!AAc!ϡAB!aBOaAЁBǡ!a!A С  Ub Determ/ra/rdСAa!KaсAd@Le module Determ/ra/aѡprd permet de calculer lсpe dterminant D d'une mѡpatrice A ra x rd (ra = prd) Entre A : matric!pe ra x rd. Sortie D :Ap dterminant de A.!^ҁAa aҡ ]ҁ .ҡb ,Determ/ra/rdӡ!Aa`@AҁaӡcyӁ`@Da]ҡaAUi>aСء _ _! hjA h@!b INVERS/ra/rdԁԡaV"aԁd@Le module INVERS/ra/ԡprb permet d'inverser unpe matrice A ra x rd (r!pa =rd). Entre : MatrApice A. Sorties : b : !apinverse de la matrice AAՁp ra x rd. c : estimatioaաpn du conditionnement deՁp A (rel entre 0 et1 :աp si 1 matrice trs bienp conditionne, si 0 mat!price trs mal conditionApne)!!uQ>ցaԡ a֡ Pց .֡ b ,INVERS/ra/rd!AuAAׁ`@A!ց!avXmס!`@bׁPׁ֡a!&:ׁ`@c.a)/A؁)/am! wء w Ub $RCondi/ra/rdءAa!c8فAd@Le module RCondi/ra/a١prd permet d'estimer le فpconditionnement d'une m١patrice A ra x rd (ra = prd). Entre A : matr!pice ra x rd. Sortie Ap b : estimation du co!apnditionnement de A. (rAځpel entre 0 et1 : si 1 aڡpmatrice trs bien condiځptionne, si 0 matrice tڡprs mal conditionne)ۡ#:!a A 9!a "Ab ,RCondi/ra/rdAa#`@aۡ!ۡA?$T!ۡ`@b9Aہ܁ہA.ܡaad@Soustraction : c = ܁pa - bܡg`܁ ~a! ~A ~!A.܁4Igݡt[hComplexes ݁K3݁7AAa( 8a!(b4TFD reelle/t/faށA3wޡad@ Le signal d'entreށp est rel et pair. A utޡpiliser quand le nombre pde points n'est pas une!p puissance de 2 (Sinon Apil est plus rapide d'ut!apiliser le module TF). CA߁pf le module TF pour uneaߡp description plus compl߁pte.ߡ8Hd`@ Transforme de Fouri!per discrte=a$ %>A$%!aA!( !(A`Rend pairMA N!!a "iA a #idAlarme!7AA!( a!)6Ab$Indices/taA6ad@Forme la suite (sousp forme de nombres relsp) des entiers en commenpant "0" : 0,1,2,3,4.!p......b:a$ A$9A!aI^A J!`0!?!!#>aA !a R!!A aa  ``t 3Aa # ! a`+1@ !a A!aAa( A!)a`l_NOTI]c!Va``Le nombre de points apdoit tre pairaa !!"AA!!d=?@}}!} } }a/!a( %A(%A!b $Somme/t@}}!} }a!}!K!!(aA( L!!a("Ab,Var frequ/t/fHC0!$ /!$  IA$"<aAa !`@06!! A d+1=!a A!!d/2!A  A!"!"  b(Part_dec/fpa A abPas?/fAVl!AA  W  b ChVar/t/fa  AA`@16A@  A!! !   ,A! a!a!"$A +ad/!5DA!a! 6 "<! Cd/@<<!<a <!<!P8eaa!  Q!!"lA! !bPas/fBABBaB$aBl!!L{oA Ma!a!zAbN?/t!K/<m!!A %L "m! %bDemi/fAa) !A(ab$Indices/fA %A! $`@16/G<A! %A!a "'A!%FabDual/f!@''!A!'!'a!!'!@a!A!aa A@CCAA C C!!CA`4aa!( %a!A) aAa)"paA)")%!`Calcul06ENAA`@si!%aa!A!`@so%a!MeA`@Npa`@nAA!4IA!`@kav!A4aA4!a4A4a4``so=si* expi(-2*pi*n*pk/N)v@CCA!C!a!CAA!Ca@%C%C!!!%Ca %Ca!%CB}AB!!aAC!ABCaaAiaBAViBCA!Am!ABp!E ( a(DbHTFD complexe/t/fa,i|!d@ Le signal d'entreAp est complexe. A utilis!aper quand le nombre de pApoints n'est pas une puiapssance de 2 (Sinon il epst plus rapide d'utilisper le module TF). Cf lep module TF pour une des!pcription plus complte.Ap!a2B[A`@ Transforme de Fouriaper discrte!a$ ( $($2zA( (%!a((yaAb $Somme/t! "9A!!(8a( A( b,Var frequ/t/fHC0a$ /AA$  Iaa$"<p!AA  bPas?/fVla  WA  aab ChVar/t/fAiA!  `@16@  A! !a! A  a,!!A! !"$ +ad/5Da! 6A "<a Cd/AP;eaA!  Q!!"lA  a!bPas/fBAB$Bl!oAa  ! bN?/t = A) >a(b$Indices/faqa!aA  A`@16~2;a! (aA!"  Aa (bDual/fAtAAAa( u a!( b$Indices/t@!!a  !@aa  !  A!! 2  !A( ( A !a)  a)"   )"   )(  A`Calcul 3Haa`@siA(Aa;A `@so(  A ! a`@N       `@n a  a A   a A`@k   !v A a !4 ! a4 A 4 a 4  4 ``so=si* expi(-2*pi*n* ! pk/N) v !@ a  ! a A ! a ! @((  A A (  !(!  !!( B  aB a A B! a B EA  !a( a  (D bHTFDI complexe/f/t  A a !+  Ad@ Le signal d'entre a p est la transforme de   pFourier d'un signal com  pplexe. A utiliser quand p le nombre de points n' !pest pas une puissance dApe 2 (Sinon il est plus !aprapide d'utiliser le moApdule TFI). Cf le moduleap TFI pour une descriptipon plus complte.`@ Transforme de Fouri!per inverse discrte(5@a $ 6a A$ aRa!AA S! "YA `d/a( A(ab $Somme/fABAAAa(( C!("~Ab,Var frequ/f/tvHwo Ia vbN?/faAAaa) !( !b$Indices/ti aa`@06a?;Aaa! !"a!!>bDual/tTiEA( ^a(^Db$Indices/fa@~~aa!~! ~A!~!!@<< <!a <!<Da( E!) E!A("U!a)"y!A)Aaa`Calcul2!`@siEaA`@so!!y2J!`@NUAa!|A`@nya)a`@kAE!A!va44!4A!4aA4!``so=si* expi(2*pi*n*kp/N)av@<<AA!<!<!!<@<<a <aA!<a!<@UUAA!U!!UA!!UAAY!aBAB^<aB^ya7A! =A( 8a(b4TFDI reelle/f/tAa!,ipAd@ Le signal d'entreap est la transforme de pFourier d'un signal repl. A utiliser quand le pnombre de points n'est !ppas une puissance de 2 Ap+1 (Sinon il est plus r!apapide d'utiliser le modApule TFI). Cf le module apTFI pour une descriptiopn plus complte./p?e`@ Transforme de Fouri!per inverse discrteh*a$ +A$1a3!A1(A;( 4aabD>Double demi/floYA$X/!a$ 0A'<;t"! 1=*A 1s!dCONJUGx?!A!*) 1y!aA( y!.!a(#!1AAbHConcatner/f6d@Cette macro concatn pe deux signaux selon la !p variable t. La longueu  Apr de t peut tre diffr ! apente pour les deux sign A paux. La longueur de la  a pvariable rsultante est  p la somme des deux long  pueurs. Le signal arriv !pant sur la borne supri !!peure est mis au dbut.!@!!a$ 'a!!A!$ n'A!a!$)!a!Y!"A!A"a %!" ")!"! )A"d+!""!" ("a`0"a ?Ug"#a"a#  )a"# "("#! "+(!##A!>)#!bPart/f"ewo##"$ n'## n$#bN?/f#Y$!$#$ &$$A "$$!$a  (A$Ad+$@nn$$%!! n#$$!n$A$% n)$j>*%A%$% k&%!%a!")%A%!!%abDec Circ/f%!~o%&!%!&A )%&!$!%bN?/f%2fUg&a&%' 3'!&A& "E)&a& "R)&&!e%A&bPart/f&A@'!&A'!&a''A!)'!'a !a'A@nn''(!n#'' n!''!n)a'@++(!'(!+#!((A! +$a(!(a!+)(A@(()!#((! "((!)(A#A"()!B)A!))AA"!)!)!)aB'")A)Bn%a%)a)B'A%))AE(&))AR(a&)'<8+!*!*a.( 1+A0a**A)17+a*!f*Enlever dernier poin**pt/f*a***6**`@Enlve le dernier po*+pint*r++A*$ 5-*!+!+a$5-a*A+A$*:+++!, ,A++ ).!+d-1+%o,!,a+, .A,,A!+,!bN?/f, ,,,, .a,`0,,?Yg--,- 5-,-!!"--.a--A!"-?.!-!-a 5X+a-AbPart/f,@55-,.!!5--- 5+A-.!5.A-B?-A+-.AB.,!.!.aB--!,.A 0 +!..*/!( 11..)A.f*Enlever dernier poin./pt/f.i/A/a./ 1a/!`@06/! O;m/0/!0!! 1!//!" 11a// NA/bDemi/f/(-;0A0/0 1.10!0a!1*!0Ab Miroir/f0!@$$00!1!!$100 $a01!$.0A/1A01AB#1!a1!1aB1//A1A1B1$00A1aI122! 3a11 1dRe1Bi2A2a12 A<2!`@062!0A222!3( 14A22(72b$Indices/t2r3!323 s533A "y<3!3a!13Ad/3*3434!( 833()5a3b $Somme/f3,A4A434)+24!4a( 7A4A4("64ab,Var frequ/f/t4!o45!4!5A ;45 64bN?/f4.n;5a545! /35A5!"N<5a5!m3!5bDual/t5A:A66A5A6a( =56!(9=!6b$Indices/f5@656!56a6 =d@ Si "a" est un vect=>!peur suivant t, on a en >>Ap"b" la transforme de F>!>apourier de ce vecteur (e>A>pn complexe), suivant la>a>p variable duale f cre>>p par ce module. La long>>pueur de t doit tre une>?p puissance de 2. Les at>?!ptributs de la variable ??Apf cre sont : "origine?!?ap" = 0 "pas" = 1/((pas d?A?pe t)*(longueur de t)) "?a?pdual" = 1 Si le signal ??pen entre est complexe ??p: "N" = longueur de t ?@p"demi" = 0 Si le signal?@!p en entre est rel : "@@ApN" =(longueur de t )/2 @!@ap+ 1 "demi" = 1@A@.Bl@@aAA`@ Module de FFT@)=%@A= 3@A 3$@bTF/t/fA+'@Aa@A`@bAA3$AAA@A)AAA`@aA3@AAA!O-czB!Ba=AGa Y.BBA YyB!bTFI/f/tBBBBa+PF!BBd@ Si "a" est un vectBBpeur suivant f, on a en BCp"b" la transforme de FBC!pourier inverse de ce veCCApcteur, suivant la variaC!Capble duale t cre par cCACpe module. La variable fCaCp doit avoir l'attribut CCp"dual". Les attributs dCCpe la variable t cre sCDpont : "pas" = 1/((pas dCD!pe f)*(longueur de t)) "DDApdual" = 0 "demi" = 0 SiD!Dap le signal en entre a DADpl'attribut "demi", le sDaDpignal de sortie est reDDpl et : "N" (longueur deDDp t) =(( longueur de f) DEp- 1)*2 Si le signal en DE!pentre n'a pas l'attribEEAput "demi", le signal deE!Eap sortie est complexe etEAEp : "N" (longueur de t) EaEp=( longueur de f) EE-PA(EEF`@ Module de FFT inversEFpeE$8FAFB .F!Fa .FAbTFI/f/tGA$FEG`@aF.FAFF!GA#G!F`@bG.FaGFFOcHGGBJ( YHGaG(YIG`Cplx3GaGHG6H!Gd@ Le nombre rel en enHHAptre est converti en unH!Hap nombre complexe de mmHAHpe partie relle et de pHaHpartie imaginaire nulleH>{I!HGa$ b|J!GHI$bIGHZjaIAIaHI bII!`@06I!XlnIJI!J!! bIAII "YJaII bIIhCplxIBbJAHIJAAJJaJ!J!JaBJIJAJAg{"JJGaM! qJJ qJhCONJUGJKK!J,i\KKAKd@ "b" est le complexK!Kape conjugu du complexe KAKp"a".KaK.C3KKLa`@ Complexe conjuguK LLK! KL!  LhCONJUGMv+LKL`@bLa L!LaKMwLLa`@aLLLLLAOpcMAMJPa YqM!Ma "PMAM YMahCplxM!MMM,i;NNMd@ Le nombre complexe cMN!p est construit partirNNAp de la partie relle x N!Napet de la partie imaginaNANpire y :NaOA|NOM NN "}NO NhCplxPAj} OaNO`@cOAOOANO_rOOAP`@xO}NOOPAi|P!O`@yPNPOO!gc{PPM!S qdPaP qPhReImPaPQP,iRaQ!Pd@ A partir de a, ensQQApemble de 2 nombres relQ!Qaps, disposs comme un coQAQpmplexe, reprsentant unQaQp module et une phase, oQQpn reconstitue le nombreQQp complexe b :QR.|BtR!QR`@ Fonction inverse de RRApModule et PhaseR!RS!Q RaR RhReImSSRSA`@aRRRRaSSaR`@bSARSAS!Rg7{_STPaV q8SS q^ShMoPhST!TAT0naUTaT!d@ La sortie "b" est TATpun ensemble de 2 nombreTaTps rels, disposs commeTTp un complexe, reprsentTTpant le module et la phaTUpse du nombre complexe "TU!pa" en entreUUA2GUaU!V`@ Module et PhaseUAUVATA UU UhMoPhVV!UAVa`@aVUVUV%VV`@bVaUVaVAUOSckVW!SY! YTVW YjVhImVWAWaW!,i;WWWAd@ Partie imaginaire : WaWpb est la partie imaginaWWpire du complexe a.WXavXXWa WX! XhImYdwXWX`@bXaX!XaWYbuXXa`@aXXXXXAO7cOYAYV Y8Y!Ya YNYAhReY!YYY,i;ZAYYd@ Partie relle : b esYZpt la partie relle du cYZ!pomplexe a.ZZqZa[Y {ZAZ {ZahRe[a\oZZ![!`@bZ{ZZZA[a\o[AZ`@a[!{Za[![Z 0g[[݁KlChangement de variab[[qles8   [1]\[ 8 `\!\[e!(`!\\A( 9`A\!\a(" o`a\Ab0Var_dyna/te\\\\0n^A\\d@ Macro permettant de \]pdfinir une variable "d\]!pynamique". Le nombre de]]Ap points "Nb points" de ]!]apla variable est infrie]A]pur ou gal "Nb max" f]a]pix. "Var dyna" est alo]]prs une variable dont le]]p nombre de points peut ]^pvarier l'intrieur d']^!pune boucle.^^%^a_!\($^A^( ^a^(^b8Var_dyna/t_}_^!_A`@ Nb points^^^^A_ D_a^_`@ Nb max_A^_A_!_6s__A`@ Var dyna_$^a__^>``!\$d\!``A$ d\A`!`a$"Id!\a`A'r```` &b!``@1/$z`"69aa`a ,c`a! "#dAaaA "#daa!aa ,daAb(Part_dec/t`| raa`b!dAa`@05aVfb!bab! W`bbA #^db!ba edbAd>br6bc!bcA sdbb!"zdbc!dabd<b#L5uHdcacbc ,MecAc!,tacabN/tcA@IIccAdA!Iecd!Ibcd! I`adAaa!cdaAcaAdAdBd`!dadA,aadddB^bA`AddBzbbadeB,Iccad8heAe\lA(~he!ea( 9heAe("[ieabI->V/te!eee/S]ffed@Macro pour passer deef!p l'indice la valeur. ffApL'entre est l'indice,f!fap la sortie est la valeufAfpr et l'entre "Variablefafp" communique l'informatffpion de variable t.fggge(fg!( ggA(g!bI->V/thxgfg`@VariableggAgfh!xhghA`@Indicegg!ggh3hag`@ValeurhAghAh!gaB9@i!he!$?jeAhh$ :jeahi$"Ckehi{piAihi rki!ia rliAbPas?/ti! wij!i!jA k!ii "l!ij hid+iNb fjajij XkjAj!X l!jab Orig?/tjAjkAjAka hjk!"ljk!!ikdxj@XXkjk!Xkkak!Xjakk XikBrkiAkalBrkiakl!AXjilolale!t(plAl( p!lal("pAlbV->I/tlAlml1n!m!ld@ Macro pour passer demmAp la valeur l'indice. m!mapL'entre est la valeur,mAmp la sortie est l'indicmampe (rel) et l'entre "Vmmpariable" communique l'immpnformation de variable mnpt.mnUnAom(n!na( VnAn(xnabV->I/toEnno!`@ValeurnVnann!oaoAno`@Variableo!xno!oooo!`@IndiceonAooanNpaplA$plaop!$ OqlppA$"slp!o[ ppop pq!pap ppdFloatpaKkP qqApaqa Lrapq!!jpqdFixpqqpr p!qaq "t!qq r!qd-qa3Br!rqar! 4qrrA ":tAr!ra!AqrAd/r/prsrs! trr!.tArbPas?/trfsAsrs ts!sa!t!sAb $Orig?/ts!@ss!t! pAss!tast!rsAsaqstAA:rrAt!taAsttAtBtasAtaTd-tlAt`@Autres oprations :tfGuAut\`Oprations sur vectetu!pursu Auat&zuv!uA!("zuau( zuu(%zuu*{uv(%{!ubDPos local max/tuavAvav!ewvvAd@Macro donnant la posvavpition "arg"(et la valeuvvpr "v") du maximum localvvp du vecteur "a" partivwpr de la position "ini" vw!p(rel). "arg normalis"wwAp donne la position normw!wapalise en utilisant l'owAwprigine et le pas de la wawpvariable.wx7Uwxva("wx( *wx!(#TxxA*6x!xa(0TxAbDPos local max/tza"xwy`@inixwxwyA 3y!xya`@ay*xyxy>Q%yyy`@vya6xAyayAz0fDyyaz!`@arg normalisy0Txayyzai!zAy`@argz!#Tx!z!zxO{Azua$"Puzz$  uzz$auz{$NPuz{!$.{av{$9h{a{z{(.{!{A{( .!{a{("%A{bI->V/t{A:||A{A|a ~{|! }!|l-1{0r||{| &~a|a`@-32000|a@||a}A!!|} a|}!! |!}r}a}|} ~A}A`@i1}Ar}}}A~ ~!}`@0}!?!~!}! ~}~~A! ~}a~!~a! &~|~A~!Q~!|~a~ Q~AA~~ Q&~a!~~ "2~ "Pz~!=A~a`@t!3D!( &~aa( ~!("("2!~(CA~!(&Ca~A(#22!!a(2A`Index maxaL1a4L4L4L!4LA4L!a4L!A4LAa4Lae`ok=$3 debut=$7 valmipn=$1 argmin=$2 func=$4 ptester=argmin>debut val!pmin=tester?func:valmin Apok=tester?((valmin<$1)?!api0:ok):ok argmin=ok?argApmin+1:argmin $8=ok $5=aaprgmin $6=valminL#B~AaA5P!!B52AAB|a~!aA:|AAB:aaa@22~! 2!2A!2~B.|{AA{!aB}zAAAP{aBAA&~B zA #pAAua!( a!a(" @A(oabV/t@__! _ _!_A@>>A >!a >A >aa!n@^!a "oa!"o! A!A! QA! Aa!a!a QAA 1AAaa Q1A p\``t ! AA !a "A aad:-!A a !d+1@a!A a!> aA 1 $A! "A 1!d:-FZ#! P! "Ga PAd>?@$$A!$!a $A!$!a@!!!A!!@11A 1!a!1A!1aBA!BAaA!!BPABP!@__!_a!_ _<!aA!;a`@i0 3 1 2 /t';<a!1;A`@-1e30A@A!!!!a !B5AAA_a!aA>AAA`aB`A1B#A_#!Ba!(A(Sa((bDPos global min/tA!3UXAAd@Macro donnant la pos!apition "arg"(et la valeuApr "v") du minimum du veapcteur "a". "arg normalips" donne la position npormalise en utilisant pl'origine et le pas de !pla variable.}-aA!( "~A*,a((&bDPos global min/ta\,{!!a`@arg"~aA6JE`@arg normalisa&aA9La!`@v,a$ A`@a!!L5C!A$BAa$<$6$8BA.C)hA(8(!a( 8AA("/aabI->V/t!@b b !A b  b !!b a@ssa s!A s!a s!quaA "r!"r !! vAaA Q!!!a! vAA Qaa 4v Q4a s_!``t.E A /a!a /A "9a Dd:-!A!a ! Ad+1@!a !!.AE a 4/! '/A "9!!a 4DAd:-@44!!4 4 4AI]#A! SA!a "J!A Saad>?!@''!A!'! '!!'a@  a! aA! !a! BaAB A9!A9AAASA!aBS aA@bb!b!b b!9q!Aa!p`@i0 3 1 2 /t*J>q!4pa`@1e30a@aA!A!! aB8aaAb!AAsaaAc<BcA4BU!!AbUAB a!aA !AAA( (b0Recouvre/t/bvre:!A`@Coef de recouv.BcAxxAdB!d@Transforme un signalp dcoup en blocs en unp ensemble de blocs se r!pecouvrant d'un facteur Apgal la valeur sur le!ap devant de la macro. LApes blocs sont des fonctapions de la variable "t"p, et sont indics par lpa variable "b". Le prempier bloc de la sortie e!pst le premier bloc de lAp'entre prcd de vale!apurs nulles. Un recouvrApement de 1 revient doapubler la longueur des bplocs, ce qui est alors pralis plus simplementp par "Recouvre 2" ,'YA( B(!a(BAb0Recouvre/t/bvreAa/C`@aB(A!A+?!`@bBa?JR`@Coef de recouv. 2a$ -$-g !!a(aA( h!`Ceil!{9!a( -|A(-a(""bDVect.gliss.inv./b/dOA$ !a$A$"PC!a!rA! `A  ?AA! "sC!u a`dAz&7 A ' 6!d=@??!! ?A ?!a ?AxFf!() Gab Retard/bB!a!AAAB?!!BW Caa Vd+1a  dAaa !!bN/d aa " !d/a!a AA "a!a!Adxz%" `0|o!a }A!!!bN?/t$6g!A -!"%!"%! -bPart/t@a! !A!a!@YYAA!YA! Y!!YA@>"a!=A`@2AaAA##7vi!AA! -$ -uab Recolle/t/d@-x-xa! -xA!-xa!-xA!ABA!BABY!a!aAAAABaBx!AAѡ( a("/Ɓ!(ơb \Dcoupe_recouvre/t/bapA:a`@Coef de recouv.Gh!Auu!C?!Ad@On dcoupe le signal!ap "a" selon t en blocs dApe longueur "L", puis ona¡p aboute autant de ces bplocs que le coefficient¡p de recouvrement donn psur la face avant + 1, !ppour en faire un seul bAploc en t, de manire qu!ape deux blocs successifsAÁp aient le recouvrement aáprecherch. Un recouvremÁpent de 1 revient doubápler la longueur des blopcs.V4A!!( W!a("Aā(ab \Dcoupe_recouvre/t/bpġB'TA`@aWA!Łaš`@LAaA!'A`@bšāšŁġg.!`@Coef de recouv. 2\E)a$ ]AƁ$"Baaơ$(ǡ!ƁhAAa a "с! ǁb(Dcoupe/t/bD aǁa) Eȁ!aǡ(ȡơǁb0Recouvre/t/bvreaF!`@Coef de recouv.A!ȁa$ -aǁaȡ$-́ǡȁg !!aA(( ha`Ceil!{9!a( -|ȁAɁ(-ρaɡ(""aɁbDVect.gliss.inv./b/dABWAAa C! V΁d+1  dʁ aʡ!aʁbN/daaaˁ ! "СA !d/ˡ! ˁ "ˡ!dxˁz%"Aaˁ́ !!`0!|o̡! }Á!ˡ̡bN?/t́$6g!́͡ -!A!"%!!a!"%Á -ȡabPart/t@A! !ʁ!!Ё@YYa!YA΁! Y!aΡ!Y΁@>"Aa!=`@2A!##7viρ! -$Ɂaϡ -uρb Recolle/t/da@-x-xaa! -xϡ!!-x!A!-xA!AʡɡЁB!СaСAЁ!ЁBaAСBYΡA!BAAABxA̡!ABсƁaсBaa!( ѡ(b*dEnlever premier poinѡ!pt/tAa!6ҁAd@Enlve le premier poaҡpintҁr!ѡ$ 5Ձ$5$*:AӁӡ !a )Ad-1!%o!! ӡ!AbN?/tӡ rAaӡԁ !`@1!,?Ygԡ!!A 5aԁ!"--ԡ!"-? 5XbPart/tԁ@55aԁ!5ԡAՁ 5aա!5ՁB?aABաB-AAAѡ("Sa!a( ہAց(ۡa֡*Sց(֡b@Pos local min/t!!O$؁Ad@Macro donnant la pos!apition "arg"(et la valeuAׁpr "v") du minimum localaסp du vecteur "a" partiׁpr de la position "ini" סp(rel). "arg normalis"p donne la position norm!palise en utilisant l'oAprigine et le pas de la !apvariable.AaKء١!("؁( ء(J*!(Jb@Pos local min/t!فa`@iniaءa؁a!`@a١aAځ`@v!!\ڡ!`@arg normalisځJ!ځa!_~ځ`@argJAOa!$"PAAہ$  aaۡ$!ցہ$NPA֡ۡ$.!$9h!܁Aܡ(.A( .!a("%AbI->V/t:! Aܡ l-1ܡ0rAaܡ݁ &!!`@32000!@ݡ!!݁ !ݡ! r!A݁a `@i1rށޡ a`@0a!?aa! Aaށ! a!!! &߁AAA!Q!a QA߁ Q&!aߡ "2߁ "Paߡ!=!`@t3DaAA( &!!a( A("a("2ߡ(CA(&C!߁(#22A!(2aA`Index min!J/!4JAa4Ja4J4J4J!4JA4J!a4J!Ae`ok=$3 debut=$7 valmiapn=$1 argmin=$2 func=$4 ptester=argmin>debut valpmin=tester?func:valmin pok=tester?((valmin>$1)?!pi0:ok):ok argmin=ok?argApmin+1:argmin $8=ok $5=a!aprgmin $6=valminAJ%aB!A5PB52B|!a!A:|AAB:!!!@22 2a!2!2ߡB.ݡAaAa!BۡAAAPa!aBAAAA&߁aaB ہA8aA!( 9!(b,Ordonner/taA6ad@Ordonne les lmentsp du vecteur d'entre. Lp'ordre (croissant ou dpcroissant) est choisi !p l'intrieur de la macrApo!1n, |oa,|!`8Choix ordre :axy!``Utiliser qsort ?I{gAa!!{!ak]pa$ A$o R!(QA( a!a" A`.Choix ordreteur>/2!$s1!$ 0AA$ X0aBA C!a4A`Dcroissantanning!NEc!! XF4X`CroissantCening^)A4r!a r(Ad`Ordre : Croissantt!Bs+!Ar+a@Ca!(Bh`A!i$ah`V_Scalairescalairea, a``Modulee!a fA4!d`Ordre : Croissantta-d@Module "report matrpe". Le nom donn ce mpodule pourra tre donn!p un ou plusieurs repoAprts "esclaves" dans la !apmme clture ou dans unApe sousclture, et une lapiaison sera tablie entpre le "matre" et le oup les "esclaves".{"a!``Etiquettes verticaleAps!F ad@Croissant Dcroissanaptr!A!a`@i1ra!AA`@i-1ASlA!  Rb ChVar/t'/t}%A !a "!A!ab Coupe/t!PA!a)!( Q!" Qa`.Choix ordreteurL!( !aa)KAb"TOrdre dcroissant/t/apt'fia!a$ gA$!:N: ;!a Mad-1a@xxaa x! #xA x!@xx xa x!!x!oAaa! ! bN?/td! !a bN/t'a!Ca! a!!"A BZ!a QAA!"kaa A`` t'u0(%a!("A(  v!a( *vAb (Ch Val/troBA!A( aa(A(Ab 0MaxPos/tNR*ga$ SA$fa$f!A! A`i0Aa !`i0!!l F! A! A QE QE! QEAAA! !!a "m!!A o5 C`` t a a A! "AA !!d:-0 !A   "$ /d:-a A ad+1A@AA!a !!aa A "a !d>?A@Aa!! "aA!!@!a! @aa!!! A!!!B!AAaBA$Baqw$!a rA!!bPremier/t@bb!b! ba!bBTb!!ATa@a!A a!@ZZAA ZA! Z!!ZBaaaA%AAA!!aA kAB*a$.Aa) !)#bMin/teBkAxAaB!BAATBTZAJAaa( A!a)I!AbHOrdre croissant/t/t'!p&0!!$ aA$/a,e<zA 4fa!a 4yAd+1!@CC!! C #C C@A !a A!a:Lo!!! C CAbN?/t:LdA! C!a CAbN/t'!!Ia!!! !A!"J  u!A! Q A!"J! K d` t'a Aa a((" (  !(  b (Ch Val/trou]   (  ! a (\ A  (\ aA b ,MinPos/t aNR*g  ! a$ S   A$f   ! a$f   A      `i0   !  A   `i0 !l F A a A   A !    a QE A  QE a  A  QE   a  !  !   ! "ma  o5 C a A `` t A   ! A A A  a  "     d:- 0  a    A  a "$  /  d:- A!a A A  !d+1@!!  !a! !A "!a aAd>?@!!A " !!@A!!a! aA! a@!!!!  a!BA AA !!aB AAaB aAB A$A !B!qw$a A rA! aabPremier/tA@bbAA!ba b !!!bABTb!aaATA !A@   a!    ! @uu! uA! u !a!uAB!AAaA AB  !*>V)AA) 4!a)4UAAbMax/t!B4Aa!A4ABC aB!!AAABu!! 7P!! .8aa!"\ .agExtern qsort_m 1-R4/apt 2-I4 3+R4/t=Aa( !a) .A# !a`.Choix qsorteur!Y5A!$4aA$ Zaa!$ Zva wA4a``ouioissantanningAo!AA p!4``nonssantCening@&a(%Ah`A聠Aa-!A$ah`V_ScalairescalaireAa !``Module!L!4M A`nonssanttamming? a!!``Etiquettes verticaleAps!T-ty dxad@non oui aBAA@!!!aA !a A@ A!A!a@!!AA!!a!AB\!ABA]B]!AaAB!A!aB.!ABcaA cAt'!!&(!( u!b0Retard bc/t/bAa!@|Ad@ Macro de Retard Blocaps Contigus Retarde d'upn chantillon un signalp dcoup en blocs, en a pssurant la continuit d !pe la sortie d'un bloc a  Apu suivant. Les signaux ! ap d'entre et sortie son A pt constitus de blocs f a ponction de "t" et indic  ps par "b". Il faut rem  pplacer par cette macro  !ples macros "Retard/t" d !!p'un filtre rcursif pou!!Apr faire fonctionner le !!!apfiltre sur un signal d!A!pcoup en blocs. !a{}*"!$)"!!$ ~"!*"!"A!"a ""`@06"!#""!""#a"!"a" #!"" #!"" S"#" #!"a#A`` b#!##a# "#%A"#A# &!"#a# %"## S#a&A"#!$#A$!`@t0#$A$#$ %$!$a $Ad=$!$%$!%! %a$$ $d=$@%A$% "#a%!%a!$%A% &!%a@%%!&!!$A%% #%& &a%B%#%&AA&a#&!&aB&&A&A$='&&+(0'&&( 0'&b,Double 0/t/fal/tt&''!&6'A'd@ Macro doublant la lo'!'apngueur du signal en raj'A'poutant des 0.'amQ('&$P(&''$ +&' g(!('( +!((A " +A(!(a " +a(A( '(abPart/t("()()!!+A(`0(l)A)() ))!)a "+)A)!+a)ad+)!@))!*A!)A)* *)*!!+*Oyo*a*)* P+*A*!x**abN?/t*A@33**A+A!3+*+ 3'*+!!3(!+A((A*+aA)(a+A+B*!++a+A+)a++B3**a+ .,,A&3a(.+,!( .,b( a8a <=<< Q9<><= "!=a= <== <=#f!>>A=a("<=>!) =>b Retard/t=BG>AG>>a>a>B<>>YB>?!8A?A( >?(X>b8Recouvre 2/t/b>CA?a?>E( Ca?A?(C?a?("/C?b TRecolle_recouvre/t/b?A?p?@@!?6Aa@A@d@ Recolle des blocs qu@!@api se recouvrent La fon@A@pctionnalit de cette ma@a@pcro est dduite de cell@@pe du module "Recolle" m@@pais on ne garde que la @Aplongueur L du dbut de @A!pchaque bloc que l'on reAAApcolle.A!B!}ABa@!( AaA(|AA("'Ab PRecolle_recouvre/t/bC!BpABAAAB`@ aB!AB!AaB.BB!B`@ LB'ABBaC!CB`@ bB|ABBA=CCa?A$ D?aCAC$D?CaC$"[E?C r iCD!CADA sE!CD CCb Recolle/t/bC.D"DaDCD CEaDA`0DA = ngDEADAEa >CaDD!"OEaDE "[CDE!!mCEbPart/tDBODDaD!AEF?AF!( EE( EE(Eb8Concatner/tE+!FAFEF(F!Fa(FAb*dEnlever dernier poinF!Fpt/tF+D|JFGAF!MA( 7JFG(7{JFG!(",*JGbDVect.gliss.inv./t/rFGaGGA60LHGGad@ Un signal selon t arGGprive en "a". En "var r"GGp est communique la dfGHpinition de la variable GH!pr. Le rsultat "b" est HHAple vecteur glissant invH!Hapers de longueur la lonHAHpgueur de r pour tous leHaHps points selon t.HIaiHIG( jHI(HI!("IbPVect.gliss.inv./t/rJa*IHI`@ bIaIIaHJIIaJ!`@ var rII!IIJaH\JAI`@ aJ!jHJ!JIAOKJF$ K!FJJ$LGJJ$"PCKG!J!rKK!JL `KALJKKA K!LK!Ka ?L!M!KAK "sCJKa!u KKK`rK@??LKLa ?K!KL! ?KaLLA ?LL!xFf!LLK(KALaL) GLALb Retard/tLaBMJKMAM!LLM!B?KaMMe~OMaMFT( qO!MAM("f/OAMaM(qOaMbTDcoupe_double/t/bbMAMNM6N!Md@ La fonctionnalit deNNAp cette macro est dduitN!Nape de celle du module "DNANpcoupe". Les diffrentsNaNp blocs rsultat en t soNNpnt doubls en longueur NNpavec des 0.NEHOO!MA$ ~IRMaOOA$"FSMO!Oa$~RMOALw[lOPOP! SxPAOO "MSOO SSOd+O@SuSuPAOP!SuOP!Pa SuPPAP!SuSaPaJI\soPQP!Q! SJSPP!SrPaPbN?/tP_zp"QAQaPQ gSQ!`0Q!ugQR!Q!RA ~RaQQ!"vSQQ!"vSQR ~OaQbPart/tQ@~G~GRaQR!~GQRAR ~GS!RaR!~GSRt>hRSARASa ~O!RS "uOARS!!~=RSb(Dcoupe/t/bRBJuPSRSAJSaOSaSBSQOSSBSGRPSSBgQQASHa^XT!TMA\a( TYTTA(T]Y!T!Ta("IYATAT("I<YaTab8Vect.gliss.N/t/r/rTTTT6VUTd@ Un signal selon t arTU!prive en "a". En "var r"UUAp est communique la dfU!Uapinition de la variable UAUpr. Le rsultat "b" est UaUple vecteur glissant de UUplongueur la longueur deUUp r pour tous les pointsUVp selon t espacs de "cUV!part". Utilise le modulVVApe vectoriel "sEchant" qV!Vapui peut ncessiter une VAVpgrosse mmorisation. VaWaVWT( VV(VW("0VW!("rWbDVect.gliss.N/t/r/rXWVW`@ cartWarW!WaVXWWaX!`@ bWVWWXa9bXAWX`@ var rX!0WX!XXXX!`@ aXVXXaWA6OYYT$ `ZAT!XY!$`NYTAYYA$"7;ZTaY!Ya$"7YTYAWjjYZXZ! `\AYY "XYaYY `Y!Yb$sEchant/tY!NryZZAY\ `Z[aYZ!Za!q[A\ZAZ Q`xZA[ZaZ "O;YAZ!QhovZZ![`rZ@``[!Z[ `[[[A `Za[![a `ZA[AVjef![[[(`dZ[[) `[![b Retard/t[BZa\!Z!\!A\\A\\AB`\!Y\! 9\\T( ,\a\(,\bPDeuxime moiti/tb\aSyt_!]]Ato(fs_A\]!* f_a]b$XSurchantillonne_l/t\]ap]A]))]]a^E 5]]d@ Surchantillonne un ]]psignal du facteur entr]^p sur la face avant. Le]^!ps chantillons ajouts ^^Ap la suite de chaque c^!^aphantillon du signal i^A^pnitial sont calculs pa^a^pr interpolation linair^^pe.^dun]^n\,Q!__A\$ `A]_!_a$ -n]!_AXl___!` Yo!__ `_b ChVar/t/b_i`!`a_` ```A _A`!bRecolle/t/b`a!``d!! b_`` "aada``!cA`!`a "bd` aAa`a ba!aa "`aAa  caadxa!abAa!ba cab "aab! c!bdxa@bab dbab `bb!aAbyccabac! abc!!"b!ccA `c!d+bhf!ccbd)gacc) dcb (Retard/bcAcbcddAd`k( eld!da)e!`dAd)eAadaf&|calcul-coefficients/d!dptd.eaed!$ vjadAde!$kAdaeeA$~jde!Ic\eede beea`@1leagxefAeafa! heef "ojef! wjfd-e;M!offef Dkfaf D k!fbN?/tfan)9ggafag v*hfg!!"o1k!ggA v8gg!d/f@vBvBgfh!vBjgg!vBgAgg vBkagQe \h!hAgha dhh`@0h!oihhjA!"phjh!hah Shihh!vj!ghh vjh!i!haiA`@t0iiaiii "iiAi hiad+1iA@vviiA!viaij "vhij! vhj@vvjahaj vejAj!vkjaj!vhjAvogfjAjA~f!eAjkBDjfjk!BD1g!fkkAAkae!k!kaBBgkAkAszkld!l! z{mkk #nkk zoAkd/k9elAlkl ml!la!"oAlAl!dAlabPas/tl!q?uplm!l!mA z@oalm!ztklbPas?/tl2dmamlm mmAm!lAmabN/tmA@mmAnA!mamn!kmn! nan@Fr\nanmn!qn!nA`@4nA_nA^@55nnAoA 5_ano!5oano!!5_oBzlaknoaBz5oloA(}N1qoo\w(;0qoo* ;~qob$XSurchantillonne_i/toppop!pApqA6pap!d@Surchantillonne un pAppsignal du facteur entrpapp sur la face avant. Lesppp nouveaux chantillons pppprennent la mme valeurpqp que le signal initial.pq!pq9Jw!p!qAwRqqo$roqq$ voqprrAqra wAqr! srbPas?/tq+irrqr sArar qrbRecolle/t/srar nssaras svrs! "zwassA!rs!d=r'strt!! r!ss #uss &wsd/sEu'etAtst Fut!ta!"]wtAt!twatabPas/tt!!Adtu!t!uA "uatu!@tAtbN/tt@uatu!tuAu vuau!suK%luv!uAvA vauv!Jsub ChVar/t/su@vauv!uvAv qvav!wAv@vwvAwA!uv`4vqavqABvrvwaAzts!wAwB]taswa(Ntywxo(;syww* ;ywb$\Surchantillonne_0/twx!pxxAl&l&xax!yA6xxAd@Surchantillonne un xaxpsignal du facteur entrxxp sur la face avant. Lesxxp nouveaux chantillons xypprennent la valeur nullxy!pe.y9JxAyARyyw$wyy$ wy7%lzzAyza yz! 6{zb ChVar/t/sypzzyz zaz }zbPas?/tza';+i{{Aza{a 1z{! 1!{bRecolle/t/sz!E |{z}! F{|z!{a{ Q{}!{{! d}a{{ "{A{!|!{a|A``t|g|a||| }A|A`0|AIZ|}|A}! J{|| Y}a|d=|B}A{|}AA|a}!}!}aAd|{}A%}~{a~!! z}} #}} $a}d/}Eu'e~A~}~ F~!~a!"]a~A~!tA~abPas/t~!!Ad~!~!A "a~!@~A~bN/t~@a~!~A aa!}@AA!z y!!@a!A`4AyaAyAB!zAB1d{{B!y!A1{!AA{~{!aB]~a}AL_SwA U URb,OrigDual?/f!eAd@ Permet de connaitr!ape l'origine de la variaApble support de la transapforme de Fourier selonp la variable "f".B`@ Origine en frquence!p ?5HS;a! >A "6'a >Rb(OrigDual/fA,i;!d@ Permet de dfinir Apl'origine de la variabl!ape support de la transfoAprme de Fourier selon lapa variable "f".1yA+`@ Dfinir l'origine enp frquencew :AaAa(  !`Infos!a4qCd@ Donne des informatpions sur le type d'un spignal et sur ses variab!ples.A9Ia!`@ Infos ...tillonAGJ@,!!, KAA`KR;%|[uaA$ \A!@p~7!! aad@????????????????????ap???????????????????????p?????????????????????aeAa fA!a!A` Sonde!qm!d@ Le module Sonde apppliqu un signal d'en!ptre quelconque sort enAp un texte formatt les !apinformations relatives Apau type du signal et auapx variables support du psignal.r`@ Infos ...tillon A !a!A` SondeA`@SA!A-y!`@Texte d'informationacAxA!( mBaa("dx(mb0Ajuste var/tsa!vWAd@ L'entre "Si" est !apun signal selon la variApable t. Le signal arrivapant en "Var t" dpend dp'une autre variable de pmme nom t. La macro afpfecte au signal inciden!pt "Si" les attributs deAp la variable t du signa!apl "Var t". Attention : Apil y a un module Part ap l'intrieur pour ajustper les longueurs des sipgnaux.y!!d@ Change les attributsAp d'une variable une a!aputreA7sa!( *(";(*rb}9$ ]!$"?!$]8ATgml!a ]A ]l!b ChVar/t/pTqgh! ]rA "U ]bDcoupe/p/t>A!(!a( ?Ab,Multiplex/t/p!,id@ L'entre est compopse d'un vecteur selon !pla variable "p" de signApaux selon la variable "!apt", soit E(t,p). La sorAptie est un vecteur seloapn la variable "t" : S(0p)=E(0,0) S(1)=E(0,1) ..p.. S(n)=E(0,n) S(n+1)=Ep(1,0) ...!1?^A`@ Oprateur de multipl!apexageANA(M(b4Multiplex/t/p[m!!a`@SM`@EaaA g!!$CaA$ Ca;~LlA C!a CAb ChVar/p/t!:Mzi! C!CyAb$Recolle/p/t$'A!A !a "A &abDTEMPS_REEL/t!: /d@ Module simulant le t!pemps rel. "a" et "b" Apsont des vecteurs selon!ap la variable t. "Temps Aprel" est un scalaire vapalant 0 ou 1 : s'il vaupt 1, la proprit "Tempps rel selon la variablpe t" est attribue au v!pecteur "b", s'il vaut 0Ap, elle est enleve. Si !aple vecteur "b" a la proApprit "Temps rel seloapn la variable t", le copmportement de MUSTIG vips vis de ce vecteur epst identique ce qu'il!p serait si la longueur Apde t tait infinie (cod!ap : -1)A!;a < "x bPTEMPS_REEL/t!Aa`@Temps rel!x!!`@ba!+`@a< @P na! AA " Ha Oh=A,i!d@ La dimensionnalit dApu signal "c" est la ru!apnion des dimensionnalitAps des signaux "a" et "apb" donns en entre. Unp pandage de "a" est efpfectu suivant les dimepnsions supplmentaires.!p Par exemple, si "a" eApst un scalaire et "b" u!apn vecteur suivant t, "cAp" est un vecteur suivanapt t compos de valeurs ptoutes gales "a" ! "A  !h=+?`@c A!%A`@b!a`@aAA!a<!A("( !(;Ab $S_ECH/tAa!by=!Ad@ Le signal de sortiape est form avec les cphantillons du signal dp' entre conditionns ppar le signal H. Le nomb!pre de valeurs de S est Apgal au nombre de valeu!aprs non nulles de H. Le Appas d'chantillonnage dape S est gal au pas de pE multipli par le rappport des longueurs entrep S et E (Cela suppose u!pne rgularit dans l'esAppacement des H non nuls!ap). Macro trs semblableAp la macro Slectionneapr.fwy`@ Sous chantillonnagep asynchrone,DAa("!!a) "A)"Cab ,S_ECH/t%9!`@H!A!a A`@E!"a! Ti!`@S"Ca$a$"%O!$ r!A$rA!+>  4a`@i0a>:Rra!aA( H;!(Hqa`l_NOT>vSa) HwA(H!ab $Somme/tA>R6 AAa H!"?*!!H5d=?}Ha `Aa`@06afu Aaa mA "ga! m dxfu! m!a "g md/adwp!aa m!A!m!bPas?/tM`o V!VabN?/t;'! A "!a :AAb Echant/t@HH! H!H!HAegA! fa!a!"~AA "!a bPart/t!@rr!a ra! r!A!r!7e! a!" abPas/ta@mm!a!m!A!m!a!mA@]]!]!!]!!]B4*!BHAB~a!aAVABmaBVABA!A7OB7!A]ABraA!aAAA'!  " b Echant/t!ALr8aa!d@ Recopie en sortie Aples chantillons du sigapnal d'entre si la valepur du signal H correspopndant est non nulle. Sipnon, les chantillons s!pont sauts. Le signal dApe sortie comporte donc !apen fin des valeurs indAptermines. Il est indisa¡ppensable de les supprimper par un module "parti¡pe" (voir macro S_ECH).P_x!`@ Sous chantillonnageAp asynchrone!(ÁAA aá "Á 'áb (Echant/t!a`@EÁaġ*ā`@HaáaA9Ja`@S'ġ>jAšɡ ?!a "sAŁ ab$sEchant/t!š2|d@ Module sous-chantil!plonneur. "a" est un veApcteur selon la variable!ap t. "Indice" est un scaAƁplaire (rel) et "i" estaơp la partie entire de "ƁpIndice". "b" est le vecơpteur "a" sous-chantillponn d'un facteur "i" :!p b={a[0], a[i], a[2i], Ap...} Attention : modu!aple vectoriel qui ncessAǁpite la mmorisation comaǡpplte du signal d'entrǁpeǡȁQd( Z! "RA Z'!b0sEchant/tɁ%:0ȡ`@IndiceȁR!ȁ!=8PMȁA`@bZ'AɁ>Qa`@aAZA!a|v*!! wɡ "} b(Dec Circ/tɡAa!,iʁAd@ "a" et "b" sont des aʡpvecteurs selon la variaʁpble t. "Indice" est un ʡpscalaire (entier). "b" pest obtenu partir du !pvecteur "a" par un dcApalage circulaire d'un n!apombre de valeurs gal Aˁp "Indice" vers la droitaˡpe si "Indice" >0 et gaˁpl -"Indice" vers la gˡpauche si "Indice"<0.̡M!a A "!a LAb4Dec Circ/t͡`@a̡!̡Au!̡a`@bLa͡*h́`@IndiceaAaÁ  4aɡ΁(3(" !( A( !b Ch Val/tisDΡ( ΁(C!Ρb(Partie_v/t΁!FAd@Mme macro que Parti!ape sauf qu'on exprime "DAρpbut" et "Fin" en abcisaϡpse en tenant compte du ρppas d'chantillonnage.ϡaA΁, сΡ!,ѡ` (a<n!AСa:ӡaСӁAС!!tA!!~! `с$ "aaѡ$_!сoAaa(( !(!bV->I/toҁ(aҡ( ҁ(aҡbV->I/ta@0O!aa`@A!@/RӁ`@del _aaС@[aA!ҡ`@.0Ёaoaԡ !Aԁ ؁a`+1AhAAa!  "ա!!a`-@Ձ ءaա!Ձ! ҁա@\!aa!`@400 =,gց!  Aa֡!"ءց!"*؁֡ <ѡbPart/ta@Aaס!ց!a сAׁ a@!!!Aס!#ׁ!!A!סABa!aAAA؁B*ԁaءB֡Ձ؁z!΁( {(!b Partie/tAa!DiUܡفAd@ a et b sont des vecta١peurs selon la variable فpt. En ouvrant la macro,١p on peut charger les papramtres dbut (d) et f!pin (f). Le vecteur b s'Apobtient partir de a e!apn gardant les points deAځp a entre d et f (d et faڡp compris). La longueur ځpdu nouveau vecteur b esڡpt f-d+1. L'origine de bp est calcule en foncti!pon de l'origine et du pApas du vecteur a. La lon!apgueur de b peut tre plAہpus grande que celle de aۡpa : des zros sont alorہps gnrs. Les paramtۡpres "Dbut" et "Fin" sopnt des indices. Pour le!ps exprimer en tenant coApmpte du pas d'chantill!aponnage, utiliser "PartiA܁pe_v" a!0Aaa( &ܡ(&@b $Partie/t MbA܁݁`@b!&@!ܡݡ!`@a݁&݁aAA, a!,߁6ށAnAAށ!:lށIߡa$ !A߁$!a@+NA`@del _ߡaߡA@.M!ߡa`@ޡށ@P aa`@4aa3Aaa ! h+1/ a "A!h-a@!a A!!a! A@O!`@15!g! aA!"!a!"A ߁abPart/tBa!BA!i! A "0!a "LA hab(Part_dec/tO`d@ Module pratiquement !pidentique au module "PaAprt". Seule diffrence :!ap l'origine du vecteur rApsultat est inchange. ap(cf module "Part")cx=( mbVar?/t!AOa!d@Cette macro permet dApe connaitre tous les ataptributs d'une variablex, !%!Ad@Origine duale%a`@OrigineAA`@Pas'`@Nb points1V!A`@Demia`@DualA)qA.v,taAA,t遠A.aAAXrt%%A!$ &A@7a A`??????????????A衠A/!A 0!ab,OrigDual?/tAa!`Ad@ Permet de connaitrape l'origine de la variapble support de la transpforme de Fourier selonp la variable "f".!3A`@ Origine en frquence!ap ?Aj  k hFixk !a lAA !!hFix@7! `???@7!A! A`???顠@q7 rA`??????????????aA@i7!A jA`??????????????!@~`7 a`??????????????7ep!a 8aA!d!!bPas?/t;\o <!![bN?/t2g!a 3!A!f!!b Dual?/t2f 3!eb Demi?/t5mf!a 6A!l!b Orig?/t@--!-! - -A@--!!-!A!"-!a -A@,, ,A ,a!,@,,!!,!A!#,!a!,!A@--!-!-a!-B-!B,!AB*a!!aA*AA5H+e > "6 >*bPas/t!A-wma!d@ "a" et "b" sont des Apvecteurs selon la variaapble t. "Pas" est un scaplaire dfinissant le paps du vecteur "b".!A A "!a AbPas/tdw `@PasAAt,!a`@bas`@aa!aALo_!a Up Ub Dual?/fAa!,i;!Ad@ "a" est un vecteur sapelon la variable f. "b"p est l'attribut "dual" pde cette variable (en rpel).zAa !a Ab $Dual?/fAex`@aA!Aex!`@baL/_kf U0a Ujb Orig?/ta,i;!d@ "a" est un vecteur sApelon la variable t. "b"!ap est l'origine du vecteApur selon cette variableap (en rel).Aw  b Orig?/ti|a`@bAAgzA`@a!L_+p!aa UA U*!bPas?/ta,i;ad@ "a" est un vecteur spelon la variable t. "b"p est le pas du vecteur !pselon cette variable (eApn rel).!! a bPas?/tmAA`@baoa`@aAA!5/Hkt! >0 "6M >jbOrig/tA+u+ua!AC4AAd@"a" et "b" sont des apvecteurs selon la variapble t. "Origine" est unp scalaire (rel) dfinipssant l'origine du vect!peur "b".a!a A "a bOrig/t!A`@bAsa`@aAaA!A`@OrigineL_!a UA U!b Demi?/fa,i;ad@ "a" est un vecteur spelon la variable f. "b"p est l'attribut "demi" !pde cette variable (en rApel).!z! a b $Demi?/fexAA`@badwa`@aAA!5Hd > >bN/t!Av`a!d@Ce module dfinit unApe nouvelle variable ayaapnt pour longueur la valpeur relle "Nombre de ppoints", et pour nom le pnom de variable du modu!ple. (Cf macro "/t" au Appremier niveau de la bi!apbliothque)A ?Sd AA I IbN/t &9 !a a`@ Nombre de points I  &9a  `@ Description de varia a pble I a A5oH  a A >p  ! "6  A > !bDual/f    a6:7   d@ "a" et "b" sont des   pvecteurs selon la varia  pble f. "dual" est un sc  !palaire dfinissant l'at  Aptribut "dual" du vecteu ! apr "b". A !    a   "   bDual/f !~  A a `@a !  !    ! `@b    a !  `@dual     5Hm a   > A "6 a > bDemi/f A  3T! d@ "a" et "b" sont des Apvecteurs selon la varia!apble f. "demi" est un scApalaire dfinissant l'ataptribut "demi" du vecteupr "b".2E ;! "3A ;!bDemi/f$s7`@a;! 3A`@b;A%a`@demiA3!A!aL_o AA U UbN?/t!A Eya!d@ "a" est un vecteur sApelon la variable t. "b"ap est la longueur du vecpteur selon cette variabple (en rel).Yl!A bA b!bN?/t!Lx_`@ab!!EX`@bbAa|nla! A mab ChVar/u/vA,i\d@ "a" est un vecteur s!pelon la variable u et "Apb" est le mme vecteur !apselon la variable v : lApa nouvelle variable v eapst dfinie par ce modulpe.a ! b $ChVar/u/vy`@aaa|'<a`@b!AAA( !a( Ab Coupe/t!gkAd@Coupe d'un vecteur p"a" est un vecteur selo!pn la variable t. "IndicApe" est un paramtre sca!aplaire qu'on peut chargeApr en ouvrant la macro. ap"b" est la coupe du vecpteur "a" pour l'indice p"Indice" : b=a[Indice].p La premire valeur cor!prespond Indice=0.Da( A(Cab Coupe/ta!!`@aaAaQfA`@b!C!Q(a!, u)A,ua_1t!`@Indice de coupezFuA!!E$ ma$m!dFw%Aaa mG "eda! mb Coupe/tJ<\\%  S=a!S[ahFixa@J\7!!aa!S6`@1A!ASdi!!  b Recolle/t/b!_o Ad@ Module permettant de!ap recoller des blocs (CApe module ralise l'oprapation inverse de celle pdu module "Dcoupe") "pa" est un vecteur selonp les variables t et b. !pLe vecteur "res" rsultApant n'est plus fonction!ap de la variable b, maisAp seulement de la variabaple t. Il est obtenu enp mettant bout bout leps nb vecteurs selon t op nb est la longueur de!p la variable b. La longApueur de la nouvelle var!apiable t (correspondant Ap "res") dfinie par ceap module est gale nb pfois la longueur de l'apncienne (correspondant  p "a"). Attention : mo !pdule vectoriel qui nce  Apssite la mmorisation c ! apomplte du signal d'ent A pre a!!l~Q !a! u  uP b,Recolle/t/b!Obb!A !`@res!!uP !! !Wj!!!`@a!u !!a!>h""a(a ?!"! "q""A "!b(Dcoupe/t/b!"""ax.&""d@ Dcoupe un signal en""p blocs En entre, "a" "#pest un vecteur suivant "#!pla variable t, de longu##Apeur L. En sortie, on ob#!#aptient les blocs comme u#A#pn ensemble de fonctions#a#p de la variable "t", do##pnc une fonction de deux##p variables : "t" et la #$pnouvelle variable "b". #$!pLa nouvelle longueur su$$Apivant la dimension t es$!$apt "Longueur" (paramtre$A$p rel, dont on ne garde$a$p en fait que la valeur $$pentire). La longueur d$$pe la variable "b" ainsi$%p cre est le nombre de$%!p blocs rsultant du dc%%Apoupage de "a". Son pas %!%apd'chantillonnage est c%A%pelui de "a" multipli p%a%par "Longueur". Si L n'%%pest pas exactement divi%%psible par "Longueur", l%&pa fin du signal est per%&!pdue. Attention: module&&Ap vectoriel qui ncessit&!&ape la mmorisation compl&A&pte du signal d'entre&a'A<&'" && " &' ;&b4Dcoupe/t/b(AtL'a&'`@Longueur'A &'A&'Lk''A(`@res';'''(A(!'`@a(&(''!%((!, (a( "((  (b Coupe/t(a))!(eck+)A)d@Module Coupe d'un ve)!)apcteur "a" est un vecte)A)pur selon la variable t.)a)p "Indice" est un scalai))pre (entier). "b" est la))p coupe du vecteur "a" p)*pour l'indice "Indice" :)*!p b=a[Indice]. La premi**Apre valeur correspond *!*apIndice=0. Attention: m*A*podule vectoriel qui nc*a*pessite la mmorisation **pcomplte du signal d'en**ptre*+.A3+!+)! 7++A "/+!+a 72+A` Coupe/t,I/^+*,`@b+72+a++,AT,!+,a`@Indice,/+A,+,/,,`@a,a7+!,a,A+g,-a(a6A ,- ",-! "--A -!bPart/t l ,---a/c4--d@Module pour prendre --pune partie d'un vecteur-.p "a" et "b" sont des v-.!pecteurs selon la variab..Aple t. "Dbut" et "Longu.!.apeur" sont des scalaires.A.p (rels). Le vecteur "b.a.p" s'obtient partir de..p "a" en gardant les poi..pnts de "a" partir de ./p"Dbut" et la longueur ./!pdu nouveau vecteur "b" //Apest "Longueur". Attenti/!/apon : "Dbut" et "Longue/A/pur" sont des nombres en/a/ptiers, indice du dbut //pet nombre de points (cf//p "Partie_v" pour une ex/0ppression en valeurs). L/0!p'origine de "b" est cal00Apcule en fonction de l'0!0aporigine et du pas du ve0A0pcteur "a". La longueur 0a0pde "b" peut tre plus g00prande que celle de "a" 00p: des zros sont alors 01pgnrs. La longueur d01!pe "b" peut tre plus gr11Apande que celle de "a" o1!1apu ngative : des zros 1A1psont alors gnrs la1a1p fin ou au dbut. "Db11put" ne doit pas dpendr11pe d'une variable. Si on12p veut que "Dbut" dpen12!pde d'une variable, il f22Apaut utiliser le module 2!2ap"Part_dec/t" (L'origine2A2p du signal de sortie es2a2pt alors toujours gale 22p celle de l'entre). "22pLongueur" peut dpendre23p d'une variable. Mais d23!pans ce cas, Dbut+Longu33Apeur doit toujours reste3!3apr infrieur ou gal l3A3pa longueur du signal de3a3p "a" (Voir Notice chapi33ptre "Longueur dynamique33p").34e@x4!5- nA44A "fY4!4a "fk4A4 n4abPart/t l 6!S$f8435!`@a4nA4!445a:'MV5A45`@Dbut5!fY4A5!553vF55!5`@Longueur5fk4a55a6!K^65`@b5n4554 -96a7,E!("96A6("96a6(,:66(":!66(":A6b Liste/h6A7!7A79a^7<7a7!d@Macro permettant de 7A7ptransformer en un vecte7a7pur suivant la variable 77ph dont la longueur est 77pfixe sur le devant de 78pla macro (maximum 4) un78!pe suite de scalaires in88Apcidants sur les bornes 8!8apsuprieures. La premi8A8pre valeur du signal de 8a8psortie est l'entre la 88pplus droite (Si l'on 88putilise moins de 4 vale89purs, connecter les entr89!pes inutiles l'une de99Aps autres).9! :7!9a:> :a96A$"?;Da6a99$"?;69:$k;69:!$"?gD6::A$"?D6:!@ct)::9: k(;:a`@4:a9:a9aa-uMd;;A:a;a! k.::;! kL;x>?!<+=>!+H>>A*,w>!>a+h>A>+(>a>*,>b liste1/co?'?=?A`@a>,>>=?(?a>`@b?A,w>A?A?!> w@?;a "WB;?? "A;?@ v@;?@! "M@;@@A "B!<@!@a DAD!BB("W?Bb/hBaC!CABaCa CC`@0C!nCCCD! C!CaC #DACC! DCh=CaA/CD!CaD!B/DBDDABC@aD!AU;D9;aDBU;DaDaDANgD:!DDBN#;DDDANE:ADEBN<DD&EAE6AHa E!Ea  EAb$Dernier/tE!EEEj^`G!EEd@Dernire valeur d'unEFp vecteur "a" est un veEF!pcteur selon la variableFFAp t. "b" est la dernireF!Fap valeur du vecteur seloFAFpn cette variable. AttenFaFption: module vectoriel FFpqui ncessite la mmoriFFpsation complte du signFGpal d'entreFG9MGAGE CG!Ga CGAb$Dernier/tHA#6+GGH`@bGCGaGG!HA%8H!G`@aHCGAHGG$HHE! HaH  Hb$Premier/tHaHIHnf@tJaI!Hd@Premire valeur d'unIIAp vecteur "a" est un veI!Iapcteur selon la variableIAIp t. "b" est la premireIaIp valeur du vecteur seloIIpn cette variable. AttenIIption: module vectoriel IJpqui ncessite la mmoriIJ!psation complte du signJJApal d'entreJ!J"JK!I JaJ Jb$Premier/tK KJAKA`@aJJJJaK 4KaJ`@bKAJKAK!JZRmfL!K[L`?bli-1KKiVjZLKKLa@1trLAK``docu-1equeL!Lag4h8LLALaKo~LM!KO vLL "pLM vLh/LMAMaM!gnMMMAd@Division : c = a / MaMpb (ne fonctionne pas paMMps pour "b" complexe)MN"NNMa MN! "NNA !N!h/ONMN`@aNNNMO!1ONOA`@bNN!NNO>ROaN`@cOA!NAOAO!Naot~OP!LR vuOO "p{OP vOhxOPAPaP!,i;PPPA`@ Multiplication : c PaPp= a x bPQaxPQPa PQ "yPQ! QhxRaUhQPQ`@bQayQQaPRcvQQaR!`@cQQ!QQRadwRAQ`@aR!PR!RQAItXRSOU PuRR "J{RR PRh>RS!SAS>SSaS!d@ Maximum entre deux vSASpaleurs : c SaSp= Max( a , b )STa STSA ST "ST! Th>Uap9MTST`@cTaT!TaSUat2TTaU!`@bTTTTUamUAT`@aU!SU!UTA*5XURU`@Hor. Vert.rt.UIXYUUV`@Larg. Haut.ut.U7G[UV!*`FVAVVad@Version 7.0.3V!BVVV!Xa 6VaV VV (*VWVa,i;W!Vd@ Module "Faisceau invWWAperse" pour rcuprer plW!Wapusieurs signaux simplesWAWp ou multiples partir WaWpd'un faisceau. Le faiscWWpeau arrive sur la borneWWp gauche. On peut ajouteWXpr ou enlever des bornesWX!p de sortie sur le ct XXApdroit. X!qBXXVaZa (6rXaX (rXX *XYXa,i;Y!Xd@ Module "Faisceau dirYYApect" pour crer un signY!Yapal multiple partir deYAYp signaux simples ou d'aYaYputres signaux multiplesYYp. On peut ajouter ou enYYplever des bornes d'entrYZpe sur le ct gauche. YZ!pLa sortie du faisceau eZZApst droiteZ!\kZZXa^a cZaZ "]ZZ cZh-Za[[!Z-/*\[A[d@ Soustraction : Si "[![apa" et "b" sont des vale[A[purs numriques, c = a[a[p - b Si "a" est un rec[[ptangle de courbe et si [[p"b" est un entier, alor[\ps "c" est le rectangle [\!pde courbe obtenu en ro\\Apdant le rectangle initi\!\apal d'un nombre de pixel\A\ps gal "b"\a]A\][! \\ "\] \h-^A]a\]`@b]A\]A\]]]A^`@c]]]]^A^!]`@a^\^]]!\tk6^^Zaaa cu^a^ "]{^^ c^h<^a__!^,i;__A_d@ Minimum entre deux v_!_apaleurs : c _A_p= Min( a , b )_a`A}_`_! __ "~_` _h<aAex`a_``@a`A_`A_`i|``Aa`@c````aAYla!``@ba~_a``!Yaa^a Ca`FichiersaaBNaaa&<eeab!a( 1eab(1deadChoix d'un fichierabAbab!dbbAd@Macro permettant de babpchoisir un fichier, prabbptiquement de la mme mabbpnire qu'en utilisant lbcpe dialogue d'ouverture bc!pfichier du systme. PouccApr remonter au dessus duc!cap rpertoire courant, mecAcpttre "../" dans le filtcacpre. Pour partir du rpeccprtoire courant, laisserccp le filtre vide. cdo!d!dba) z"ddA)zd!dChoix d'un fichiereaDhdced@Filtre (Chaine de caddpr.)dz"d!ddeaBte!d`@Fichier ou rpertoireeApe choisie!zdAedda: gAeea,  gaaee,  gbeqef!eqa +#tefaf!tt,#@wf!ffawO%|iafaffiA gf``Cliquer dans la listfg!pe ->gMggae$ 4NtAegAg$4~sega\gggAh`Exec...gthghae`"save_all"=1{ volat gh!p"choix" } ouvrir "" ouvhhAprir "choix"h!dghhgi (i!hh4hd`fen_uniqueh@hii!iAhq!)ihi`ParmsififkAiii,~kai!i7iij!``Seulement une liste ijpouverteiWjAij``Enregistrer le choixj!jap avec le graphejAixoj!jjoixmjkjmm"lajklAkkai$oaikA(kkkAl!dExec...kk(kkla`ouvrir ""select "" kk(k@llAkm`OKc...l!k!l!kj(ll!le`fermer "" select "" llpcalcul "" lj(l@:Imm!jl!ma(Anmh`m!#6WmmoA``save_allmaAm!majmAmjUXnAnn!m&~nm!mh`CheckrLect - Fichim\namnh`YellowetiquettenAr]nnnnA"~onn``Modulenvoo!n ~nn`@06n@`#oooaoma(nokaoAh`oAjoAjhXp!opoA$poaoh`CheckrLect - Fichio\pAopah`Yellowetiquettep!]pppp! popa``Modulepapqpa pp`@16p@Q{qqAqais!( Rqq!i`q!fq!eccdQrqqq!$ dr!qAqh`VecteurectorielleqgGrar!rAq hrqr``Moduler<rrrr ;ra`` ra{7rsra |r!rd ?????????r@4d4dsAq!s 4dss!sa!4dasAs 4dgsa)@Ests!t!44ss! 4DsAs``resx_recab<s+z?ttAtasa( 4{tgat!`choix_rect!@buatfAt!, putAttf!f{fAu!tf{tu!duut$ atua<W6uuuava`Exec...utvuvAe`"v_choix"="" ouvrir uv!p"choix"vfu Dvvuv C!va`  vavwvaw! v` 1v@wwAwv|(ww!wa( x|wAdw!fw!fanxAwx!w!,mxawAwx, xwaw`choixw%xxaxw|,xwxAx, &yxxah`xApJ$yAxy!xA$#|Axaxy$ q|axxh`V_Scalairescalairexw1yyayxz za|AyAh`Moduletes verticaleyA {yzAyAz zay``zAz!yzad`v_choixzyzyyAyyazt{zzyA|A #|!|az``Etiquettes verticalezzpsz{a{!{Az|!( {|!{`?cro1{4[R7{{{|$ F\{!{ad ????????????????????{a{p???????????????????????{{p????{4[I{aA{!z{Byaxz|aBzy|A%oxA|}w!)wa||( |b"PChercher fichiers/nu|}!pmfic}}A}a}!bd}}Ad@Module d'interface d}a}pe type "Fichier" : tan}}pt donn un masque (qui }}ppeut contenir des "wild}~p cards" * ou ?), ce mod}~!pule rcupre la liste d~~Apes fichiers dont le nom~!~ap satisfait au masque. L~A~pa valeur l'intrieur ~a~pde la macro est le nomb~~pre maximum de fichiers.~~p~!}a(A( !dChercher fichiersa~d@Liste des fichiers (pchaine de caractres)!a,>S!`@masque (chaine de caApractres)!Aa"%!|,A|, #a|WzA$!a$ A7!A(A( 8!ab(Chaines/numfic!UvAd@Macro de transformat!apion d'une chane de carApactres (lue dans un fiapchier ou un module "Chapne de caractres") compportant plusieurs ligneps en un vecteur de chai!pnes de caractres d'uneAp ligne chacune. En "a"!ap arrive le numro identApificateur du fichier ouap la chaine de caractreps. En "b" sort le rsulptat. Le nombre maximum pde lignes est donn en !pface avant de la macro Apintrieure. La variable!ap "nc" est cre l'intAprieur de la macro.a!J`a!(U( Ub(Chaines/nc:*K;A`@b!U!7I!`@aUa#QHA,5!, 5R!`(a-g=A``Maxa*:at>A$*=a!$ *!da !A !abN/numficA!bAA (cA Q(!!!"!A @A!a "A!?d` numfico8a (p "a! (A 7A!gLect_champ 50\r\n `@i0@a!! A!A!@ a! !%oaa!) &!!)naA)"J!`Nb lignesa~9d@Macro donnant le nompbre de lignes (en entiepr) partir de la posit!pion "Pos dbut"(entier)Ap dans un fichier ou une!ap chane de caractresA! !;a) ):)" `Nb lignesa"5Aa`@ Pos dbut!!r!!d@ Descripteur fichier pou Chane de caractresp aaK/A`@ Nb lignes!:!t$ uA$a!$"<A:!a A !`-1@!!!d@1000A a!a A`+1!d!!! A bN/liEGA F!a AA`Nbytes?!@<<!!!<A <a "<A! a!a "A a`-!-=!! 5`@i0!U!A !a!"<A QA!a! 5!Q5A!"!" SA!ad`li!g!! aa "<a f <gLect_champ 1000\n\ra+? Aa 7!a 1A ",a 5`:-! ! !! A "a!a AA`:-!A a " `>?@a!AA!"a!@AA! !a!!/?0a 7A!7/Aa`+1A@77AA!7a 7!!7@  a! A  Aa! B1!aAAB !!BAAAa!!aBABaB5A7>c!!A!b`@i1A5aaBAAABaABAaBB!AB(A!aB* AAZ aaBZAAaB*!BJA!!A a) A( aa`Cherche_fichiersnuAi 2A!A,1aa( fji`a$gA$ gah`FichierectorielleAF A!A gaa g A``Module]pqa!(gA`?cro1A*A$cad`QU%yf7AaA g&!d ???????????!in|!4o d`fen_unique A !a  A "a Al:-!_!!a ^!d ouvrir "choix_rec" cApalculer "choix_rec"!  a "A! ad+a@!a!A!!a!Ae! d` fermer "choix"\rvria! !!"A!!l=??HV4JI J``res<_rec<ab<H[!a (QA4Q!``res>1rec>1b>1a( b`choix_rec1@EEa!E! EA E!!*9 +Aa "1a!8!l+a[o!Aaa e``*@  a( a`<-r le signal complauat-A!a, |ai`P`wa$ Q!Ah`VecteurectorielleA[0LA!  \A``ModuleHA!`Batche\ ap`alAY Ab!7  cd@????????????????????p???BVAaAA V!!DU^Ha!)Q!a! WV!) JV("Eu`0Commutedreteura!,LAaa #K!` 0!%9#!! /a!"&!/l>?%9QA /!a!/AlIm! !!( A!)a`test fermerA$ |!a$|Ap\q! xp``  !a Ad`fermer ".." select "Ap" ouvrir "choix"!r !! ~!a! x "sa |ad:-a4G%Aaa =$!`@06!e%y=,!! o&!"f1!o<ad=?A~AAB!!aAoAB=1AaB|AAo OAa A!!lRe@ z A( {a`->ertoire ...auAau!:usA!a, ovai@;sa$ Ah@VecteurectorielleA-]A !`@ModuleVA!`BatchetaaPAtA  7 d ???????????x" ouvriB!a!A Kaa(  A(J!a`Rpertoire ?A]{!A$ a$z{Aa  !``/!! `@i1a!  A! "A  !d=?!A  " !!gLect_champ 50\r\na AA!"a!d-A@A AA! "hA!a!a hAgLect_champ 50\r\n@hh! h!h!!hAa!!`@i0!B!BDA DAA ^v !A! _vA! _!a!" j!A!uad:-@A!a!wA!!'Ra QAA` 0,0mA``choix_recbQaA@nn!!nAA!n!a!nA! A!"!|l+@A!!a uA!AaB!v!AaBAAA!AWEAAB!aA1ABe!aA/uB#AB/naAB!a!BjaABn!a!Bdsat!AOaaBOqA&G=!aa(1( 1Hb"PChercher fichiers/nuApmfic!kʡdEcriture ASCIIa|?aC)a(  Db"XEcriture ASCII_1D/nl!pAO%Á!Aa77A0n@d@Macro permettant d'pcrire un fichier ASCII pavec un vecteur de chai!pnes de caractres l'eApntre!$¡$ pa\$lIZa dH!¡`@i0¡@*I8J!A¡á 97gFichier Ecr MonFichiaperAaAZnHL daád=áZMnH!ġá! dNA!"[]!a!dAā #m}ab Ecrit/nlB9]A!Bp}ā)5a!A(  Ɓ`Ecriture ASCII(1 lia%+ǁAšaaa0n@šd@ Macro permettant d'pcrire un fichier ASCII !pavec un texte l'entrApe.!$ơƁ$ p!a\$lIZa dH!ơ`@i0ơ@*I8J!Aơǡ 97AgFichier Ecr MonFichiaperAŁaZnHL daǡd=ǡZMnH!ȡǡ! dNA!"[]A!a!dAȁ #m}aab Ecrit/nlP`Z! XA`@16Nb0dAɁɡ! X!a XʁAbN/nl!fz n!!A pƁɡ!"gʁ!p ad=ɡB9]A!ɡaAp}ȁAʁBXaasaˁd Fichiers avec tracʡp : matlab, ...t!ʡaapouvrir "Fichiers aveApc trac"!tdFρˡʡ(ϡˁbHLecture_blocs /t/xˁGW!d@Macro de lecture d'uApn fichier par blocs Le!ap nom du fichier est fixÁp sur le devant de la ma̡pacro ainsi que la longúpeur des variables t et ̡px dfinies l'intrieupr de la macro : le nomb!pre de donnes lues sur Apdisque est gal au prod!apuit des longueurs de t Ápet x. Le pas de x est da͡pfini par la longueur d́pe t et le pas de t. Le͡p type des donnes lues pest choisi l'intrieu!pr de la macro.Aca!``Nom du fichien : cf A΁pinfo des modules de basaΡpe΁JaAvAA!vLxA)(ϡˁ.'!ˡρ#"AρoA!ρ$СϡHԡa ( IAЁ("aС(!Ё("!С(#~A b0lect_blocs/t/xA!A6сa!d@ AaѡA)с)Tѡ))l!)Qb lect_blocs/t/xԁ ҁa`@ Nombre d'octets saaҡputer au dbutҁQ!aс!aA`@ Signal 2Dӡwad@ Variable des blocs (AӁpx)alA!!AAd@ Variable d'un bloc p(t)Tӡԁa`@ DescripteurAѡA!Av /aA$  aԡ$"w Ё$. !С!$"w !A$# !Ձԡ aaա " Ձ  ա`xa{+e!ցa֡  !A!# !a * AbPas/xp!  ֡! bPas?/t֡oAׁ֡ס  A!a!ՁAbN?/t!? !!   ס >AhFixס!NAס ! Oف!a "j١ A؁ " aء  a؁ QAaء!" A!!!A`@xUa!(Aف( VAa١*"jaف("!؁١(Aء(jab(Lect_ric/tAAa!C%aځAd@Module de lecture deaڡp tout type de donnes (ځpRel, entier, complexe)ڡp Le type des donnes lpues est fix par un rep!port aiguilleur. En "b" Aparrive le numro identi!apficateur du fichier.En Aہp"a" on entre en entier aۡpla position en octets ہp partir du dbut du ficۡphier. En "d", on lit lap position dans le fichi!per (toujours en octets Apet en entier) aprs la !aplecture. En "c" est comA܁pmunique la variable suaܡpivant laquelle on fait ܁pla lecture, et en "e" sܡport le vecteur des donnpes lues. "f" rend la t!paille du mot en octets Ap(en entier).!a݁ޡa(aݡ)݁+3ݡ)s(s!(3b(Lect_ric/tށA`@da݁aa a!`@aݡޡa*;A߁`@b!3!jzߡ!`@c߁s߁a!j|߁A`@es0Aa``fA3!A!AdA.Va. Veف."!١!."AA.a!a.A#~a!`$$ A!$"at A$"a !!a$AA$taaUaa Va "i "! A a!b4Lect_r8/t~ !`@i8Zm!A ca`@i86Ia ?A`@i4A&A `@i2!Aa `@i1 a`@i8aa! `@i4aAA(!a) cA# a) ) ) !!) ?Aa!) a`.Choix typeteur!l5!$4Aa$ 3a$ A$ $ A!$ A$ A!a$ O!AE[Xa! P4PWd@Complexe entiers 32 pbits  HA A!a4GA`@Entier 32 bits!)=H!! 343G`@ComplexeHA !a4GA`@Entier 16 bits!H!! !4G`@Entier 8 bitscisioGA !!a4FAd@Rel double prcisio!pn?!!A a4>`@Rel 1tCeningpa5qA ad`Type donne : RelrABOaAAPB!!AAABa!aAAA!(( Y" !) A!!( aA( !a( 5aA( }!a`.Choix typeteurl5$4$ 3!!$ A$ a!a$ !A$ !Aa$ a$ O!E[XA PA!4PWd@Complexe entiers 32 apbitsA  H 4G`@Entier 32 bits)=H!a 3A43G!`@ComplexeH !4G`@Entier 16 bitsH!a A4G!`@Entier 8 bitscisioG! 4Fd@Rel double prcisiopn?A !a4>A`@Rel 1tCening!p!!5q d`Type donne : RelrBOAAAP!!aBAAAaaBaAA@v!(h`ᡠl5$4h`V_ScalairescalaireFz1!``Module[A n!a4nAd@Type donne : Relr!p: ``Etiquettes verticalepsu0!A d@Rel Rel double prapcision Entier 8 bits EnAptier 16 bits Entier 32 apbits Complexe Complexe pentiers 32 bits!()!( pA" )!!a) aA( Aa( a( L( `.Choix typeteurPEA Q!a "dA "a!!!Ab4Lect_r4/t!@00!! 0A 0!a 0A@00 0A!0! 0@00!!0A!0!a!0A_ CAa ` " s " !!!!b4Lect_i2/t@00!0a!0a 0+c? Da 5d! ",wA ",!a!5aA!>ab4Lect_i4/t@5050A!50!50! 50AOgcca! YhaA "P{a "P!Y!bb4Lect_c8/tA@Y0Y0AA!Y0!!a!Y0aA Y0 askba!! }l  "t ! "t A!!}A!!b8Lect_ci4/t@ii!i i! i a@ii!!iA i !a!iAZ `Aa! [ "n "!A!!ab4Lect_i1/t@nn n a!n!n a@ssaa!s!!s A s !@)w)w!)w!a!)w  )w @M{M{aa!M{!!M{ A!M{ !!@!a  !  A@aa!!! AA  a!@!a! a  @aa!!! A  !@""!"Aa!"  " @FFaa!F!!F A!F A!AaAAtaBAAA)aBp!!B)!AAB!aB!ABLaBAB0!AAdaa A}0 !AMA  AAFA ! aBn A AtA! a Bs!  BwA  B){!  An !A  !Bn   AB! ! aBA A B! a BA  B"! @ ! a!؁  !    A!A !@   ! ! a   ! Aա a BA  !A!!  AB a ! aA- A  A B- aa a A  A  B     A   Bja  !B( A  AA( a ! ! aBء A Ah  A !~ `@0 @u! a } `@5 ! s +d ! } a!}*bN/xadAaa !!bN/t@!a`@256aaaA@"B!a!!agFichier Lect MonFichApier!A!ЁA}F`ˁ?!(:b!A>(L9x>!A>(9<A<_%A.$ac%a\a$AHAA;( I>a(">(a("!?!(#~A<b$lect 2D/t/xaA2a`@ Lecture 2Dw y) )xE!)xA)x]!a)BAb$lect 2D/t/x!`@ Nombre d'octets saputer au dbutBaatA`@ Signal 2D!x!!Kh_!`@ Nombre de blocsx]Aa!L_A`@ Longueur blocxE~a`@ DescripteurA A!^&Ca$ ';a$"_A$B;!$"_A$#;!!3S  4;Aa RhFixa!Y!a;! ZA! "~a;aA "!a ;A Q !a "!!`@xi!(!A( jA!a*"~a!A("Aa(a(~b(Lect_ric/t1g!!.fA!A. aA!a."aA.";a.0;.0*Z%%A!`A$#!!a$ *aAA$"at9aa$"a:!$8$t7Ua!! V+A "i0!a "5!A $Aa 7b4Lect_r8/t~  ! A #`@i8Zm a  c" A`@i8 A6I   A! ?#a `@i4 &!!!A !a "!`@i2!!!!! #A!a`@i1!a!"!a"! #!`@i8!"A"a!" #!"!`@i4"!a"#"!#(7"") c a""# !!"#) !"#!) "A##A) !#!#a) ? #A#)  #a`.Choix typeteur"#$"%(A#$( Y.#$!" ,!$$A) $!$a( )$A$( 2!$a$( 5-$$( }0A$`.Choix typeteur#@v%%!%A#((%%h`%%%l5&%%%$4%!%h`V_Scalairescalaire%Fz1&A&!%&``Module&[&a&& n&A&4n&ad@Type donne : Relr&Ap: '!&&``Etiquettes verticale&'ps&u0'A'a& '!d@Rel Rel double pr'!'pcision Entier 8 bits En'a'ptier 16 bits Entier 32 ''pbits Complexe Complexe ''pentiers 32 bits'(!)!%)A()8((A( p8!(!(a" )8A(A() 7(a(( 8a((( 8((( L8()( 8(`.Choix typeteur(PE)a*(*! Q8)A) "d9)a) "4))!$a))!8a)b4Lect_r4/t)A@00*A)A* 0**!*a 0a*A* 0,*a@00**!+! 0+a**!0*A*+ 01*@00+A*+!08+!+a!0*+A+!0!+a_ C+,a+!, `,++ " s3!+, " 6!+,!!$!,,A!8A,!b4Lect_i2/t+@00,+-!0+,,!0*,, 0.,+c? D-!-,- 5d.!--A ",w3-!-a ",6-A-!5$-a-!>8-b4Lect_i4/t-@5050.-.a!50,-.!!50-!..A 50/a.!Ogcc./!-/A Yh/.a. "P{4!.. "P7!..!Y$./!b8!.b4Lect_c8/t.a@Y0Y0/a.a/!Y0.A/A/!Y0./a/ Y09!/skb/0/A0! }l9!/0 "t9A/0! "t9a00A!}$0!0a!80Ab8Lect_ci4/t/@ii0/1!!iA00 i1A01 i90@ii1A01!i01!1a i91A1!i91aZ `12a1!2! [+11 "n212 "512!!$22A!82!b4Lect_i1/t1@nn213 n922!n122!n92@ss3!23!s+33A!s93!3a s93A@)w)w334!)w-A33!)w933 )w:3@M{M{4!34!M{.44A!M{:4!4a!M{9A4A@445!)44 :A44 :a4@5!45!a55A!:a5!5a :5A@556!255!:55 :5@6!56!,66A!:6!6a :6A@""667!"-a66!":66 ":6@FF7!67!F.77A!F:7!7a!F9a7AA(77At777B7777A"778A)(!78!Bp/(A88AB),A(a8!8aB)(8A8B2A(8a8BL-(88B0a)88B0+A)a89Ad1)89!A}0//99AAM4a09!9aAF7a0!9A9Bn219a9At1a99Bs3A299Bw33a9:B){4A39:!An:A::ABn4:!:!:aB5A4:A:B55a:a:B6A5::B66a::B"7A6:A;!A;!B1;A;;;AA1;!;!;aB~!;A;B<;;a;A<;;;;Ba;;h<=abN/t=A@z=>=A>A!=a=`@256=a=A@"B>a>=>!!>AgFichier Lect MonFich>A>pier>!>AA=>A?Aj=>T@?A?aHA( r@?!b"PEcriture cmplx I2/f?!?lG?a??F??6@?d@ Ecriture d'un vecteu?@!pr de nombres complexes @@Apsous forme d'entiers su@!@apr 16 bits : Re1, Im1, R@A@pe2, Im2, ...@a>f@@?!$ GA?A@YAAa@A(Ca@A!( ZE!AAA("sGA!b/h@2OAA@B GAA 1DAdImATlMB!BaAB UGaBBA!kGB!dReBkrBBBB uEB`@i0BrCC!BCA DaB`@2BiCaCBC! ACAC CCab Recolle/h/fCA) ^CD!CADA! CCD (GCdFix2CHdDaDCD! CDAD HDabN/hDA9InDEADAEa! :ADE!#AHDE!!HA!Ed=Dk KHEFDF!! u BEaE "lH!EE uJFAEE!#~;GEb Ecrit/hEakO_FLFAFaEaF! uPEF!d=F!@Cbp JFFF!G!!RoH!FgFichier Ecr MonFichiFFperF?F?@GAFG @G!Ga!B!GAG!GGaAsBAAAG!GBGAGGB;EDGHBAEDGH!ARFEHMAHaH?!(MaHAH(9MHabDLecture ASCII/li/coHAHHH6ZHLIHd@ Pour la lecture d'unHI!p fichier ASCII dont on IIApne connait pas les caraI!Iapctristiques, cette macIAIpro dtermine le nombre IaIpde lignes et de colonneIIps du fichier. On peut sIIpauter la ou les premirIJpes lignes (correspondanIJ!pt souvent des noms syJJApmboliques). Il faut renJ!Japtrer comme paramtres lJAJpe nom du fichier et le JaJpnombre maximum de ligneJJps et colonnes. Les doJJpnnes sont converties eJKpn flottant. On peut choJK!pisir la prcision (DoubKKAple prcision ou simple K!Kapprcision). On peut voKAKpir les premires lignesKaKp sautes. Elles sont auKKpssi disponibles sur la KKpborne infrieure.KLL!LH(LLA( ML!bDLecture ASCII/li/coM!LKL`@ Signal 2DLL!LLM!&XIMLd@ Premires lignesL MLALLLa,+QMaMHA,*QHaMAM&QHMa`MAM_MMN`@Nb max lignesMZN!MNA`@Nb max col.N}bNNNAbSNANNS0PDqNONqacaNOAOa`aatjrAOOOAr!cltrOAOOqraH^RaOPORA$wOPAPwa@PaPP`@Choix prcision :PAPPAP`@Nb col.nePPPQ`@Nb lignesP2 EDQ!PQA`@FICHIERQaaQQAAVQQMA$sMaQQ$UnMQ@5RRR!QSa( *RnQ`Premires lignes (saQRAputes)R!OQOVLgL7RRQSA$ WRRd@????????????????????RRp???????????????????????RSp???????????????????????RS!p??????????????????SVfR@8aH7SSQS 9T!Sa`@??????SaNSaN 4T TTASaTa  TST!!3STdFloatS@TST!TTaT U!TT s!TUUUaTabA( UoTU!)UTUUA("UU!`Nb col.T)AnVUT$ BaUUU$XAU!UU$"*VAUAU4T< V!VUV DbVVA "5UV!Va D;VAV SWVagLect_champ 10000\n\rVVpVx"WW!VWA X!V`@i0Vx"WaWVW WWA`@i0WA!\XWWA_! X]WaWW!"]YVWX QW_aWX!! XA_WXXA QX!ZUX!Xa "]b!XA ^XWXd`coX<XYaXY ]aXY "WXY! ;[YYA Y!gLect_champ 10000,; \XYptYaiL}dYZ!XZA sM^YY "jX_YZ sc^!Yd=?Y]u ZaZY[ ^\ZAZ ^_!ZaZ "i]ZZ tXAZd:-ZAp [![ZA[ q\![[A q^a[![a "|_A[A[ _[ad:-[@JJ[[\A! JY![\!J^[\!!J[!\\a\[\ \\A\!Za\ad+1\A@\\A]A!\a\] _\]!!_!]@]a\]!X]A] W]a] ^]@sisi]]A^A!siZ]^!si_A]^!! siZ^@^a]^![A^A^!#]^a^!^^BsJ\Y^A^Bg^_^_AgX^Y^_!B]!Z__AAs|^[a_!_aB_X_A_A[_a_a_B_X!__A]__MZe```!Wa)Y`b!_b/co_`AQtaa`!`AO!:u``_&Wa``Ma d`a!`aA Waa`a W``bN/co`@O_"aaa`!W`aA`@5aAO!aA`AaAOBRbU_bADRV!aab!AY`Xab@MvH7babTb NcbA`@??????bANabANAIT bc!bAcA  cabc!HbabdFloatb@cabc!bcAc cac sAc4P cd!cAdA qcd 3cdFixc8edadcn) 9e!dAd(eAo!dad("nea!dd(ned`Sauter lignesdAzee!dA$ *nadaeeA$*n!de!ea$"kideAe$ykjAdeaZn8Hdefef! dgee d7mebN/lie"2rfAfaef *kf!`@i0f!Rv fg!f!gA hmff ]hAff "S iAfg!defd:-fFf gagfh ZmgAg Pmagag "Gngg VnAgd:-gAUeh!hagAh ]lhhA!]fh!d+1h9Mhihi! Cl!hh ":khh Ciahd=?h@C C iAhi!C fi!ia! C hiAi!C nia!/Bjaii!k *0jjkii "kjeaij!Q*ikmij!!#A>mjjA Akk!ej! @jijd@lijaA:jkAja *Bijj "kijk *jjk! 9kjAkgLect_champ 10000\n\rjkapkA@**kil!*ikk! *fAkk!*hk@CCl!kl!ChllA Cm!l!la "CnalA@]]llm "]mAll!]mll!]h!l@PPm!lm!"PlAmmA!Plm!ma!PgmABd>j!emmBhlfmmA*jmmmBZmgamnACigmn!B*nAeAnnAAVgn!n!naB*lae!nA@**ndAo! *nn *Qnn!*Rn@o!no! dooA ro!oa ooA@oop !oo!#oaoo!Uo=pap!pAoq(<pAp`Fichierp,e)ppp$H(pp!pa>R pqpaq! HqApp HppdFichier Lectp@>RrqAqap!Hpq!`@essai.txtq!Nq!N@rqOpr!cq`@16ra@vr!qr`@Lignes sautererOarOAqrOqqO$srsar) soArr("sArs(#sQrs!)"tTssA)"t!cs!`Lecturer-tAsr$ arss$". {rss$sst$".Vas!st!$".AsAt:Wttatsz(Ht!tAt( HuAta`0Choix pr.eteurtAP"u!ttA$wAtatu$ zatt`uAutu avu!ua4uA`Double prcisionbitu!Zuvu!v! [vauu4u`Simple prcisionl u6}vAvuv zv!va!5uvAfConvert %fv!.}vwv!w! zvv!-uAvfConvert %lfv@wwwAwavz!(wtw!h`w!P!w!Ppxwww!$/oywAwh`V_Scalairescalairew9|axax!xAwx ^`xzx``ModulexSiIxxx4^xax ^Hx!x`@Simple prcisionlxa0_yAyxy``Etiquettes verticalexy!psy!Hyayx GyAd@Double prcision SimyAypple prcision yyp yB/gzwxzA^gx!yy@zAw!z!zz!za uzAz!zzaBzvAz!zBzAvz"{{!tA{A ~Az`@i0z!lN|{az}! {|a{A{ QM{a|{a{ "m |s{{ "m/{{  |!{ o=K|!{A|Ad@li||7 |a|| {a|A| "} {|a| 6{||  {|gLect_champ 100000\n\|A}pr|7K d}A}{A} AA}!}a!A}AbN/li}!: d}~}!~! }} 9}bN/co}!5~~A}! 6~A{~!~a!"ia~A~ Q~A~a~!"S~~!iA~  ~!!d@co~> A~ ?~A!a "i~aA ~a i~gLect_champ 10000 ,;\!ptB!s~!!AHtaABHi~t!aBsAA{aaaAA}aBYAY/{Bi~a!!A {AAA}At!!aAVtABaaA}BS~}@nnra n!!ndA! np!!@~~!~Aa! ~ ~!@~~aa ~!!#~A!~!) !!a)Ac)"aa`Nb lignesa!~9Ad@Macro donnant le nom!apbre de lignes (en entieApr) partir de la positapion "Pos dbut"(entier)p dans un fichier ou unep chane de caractres !;!!) A):!a)" A`Nb lignes"5`@ Pos dbut!r!d@ Descripteur fichier Apou Chane de caractres!apA aK/`@ Nb lignes:At!a$ uA$!a$"<aA: ! !d-1@"!A!`@600QaQA  Ad+1 d!a! A A!bN/liEG F! dNbytes?@<<!!<A <!a "<aA!!  "a d--="Aa 5!`@i0!!U!a !!"<A Q! 5!!A!!Q5!A!"!a!"aA Sd`lig a  "<! faA <!gLect_champ 100000\n\pra+? Aa 7 1A ",a! 5!d:- ! a  " d:-aAa !a "aA ad>?!@!A!!"!!a@a! !A!a!/?0!AA 7a!7/d+1@77a!7A 7Aa!7A@  AA!   !! B1aA!AB !aBABAB!B5AAA7!!>c"!baa`@i1aA5!aBBA!!AAAB!A!aAABaaAAUAaA6daB6dA*nnd!AoAAr!aBAA~aanHA( ("1!(mA!("MaA(#-!a("A(" a("b8lect part 2D/t/xDWs%!d@Lecture partielle 2DAp Macro qui remplacera "!aplect 2D" dans "Lecture_Ap2D" si on veut lire seuaplement un sous-rectanglpe du signal 2D (en partpiculier pour des problpmes d'occupation mmoir!pe).. Le choix du type Apde donne est fait l'!apintrieur de la macro.A$}!((?(|(\!(#;A  !a("A(""ab lect part 2D/t/x<PaA`@ Nombre d'octets saputer au dbut#;! a`@ Signal 2DA|A!xA`@ Nombre de blocs lus\Ak!a`@ Longueur bloc?)`@ DescripteuraaAua!`@ Dbut bloc saut AaA`@ Longueur bloc lue!a! w!`@ Nb blocs sauts"a#.A. Z/a!."$|A.Z!a."$!A.#xAa."$@a."$N!."$\A(5{aa$ AA$"|ʁ!a$́A$"|a$#͡$"|ˡ!$"|ˁA$"|GA! A`@colonnes sautesa|aA/za!`@colonnes lues|!a~OA`@lignes sautes!|GA!!`@longueur ligne|aa ʁ! #ʡA !dx@,, ,!!,ʡ ,@,,!!,A ,a!a ,aA%4! &ˁ!#, 3dx%4A &ˡ!a!",AA 3adx!A!a ǁ "! d-cP  dȡa !dFixa!\I|!aơ 0]!! "AA "!a!a HAA Q0{a "O "nA!!"+!Ha!!jGzAa`@x!)$83! 0%a "*+ 02d+a)g8vw!a 0hA "*n!a 0uAd+%< )0) 0a*"&!!("&!AA(;Aa!a(;aAb(Lect_ric/td.V. Ve."!!."A!A.aA!a.aA#~!!`$$ !$"atAA$"a!!a$áAA$tAaaUaa V! "ia "! A !!b4Lect_r8/t~ !`@i8Zm!A ca`@i86Ia ?A`@i4A&A `@i2!Aa `@i1 a`@i8aa! `@i4aAAa(Á!a) cA# a) ) ) !) ?a!) `.Choix typeteur!!(a( Y" ) !( a!( A( 5!!a( }A`.Choix typeteura@vAa(ah`l5a$4Ah`V_ScalairescalaireAFz1Aa``Module[A n!4nd@Type donne : Relrp: ``Etiquettes verticaleapsu0a d@Rel Rel double pr!pcision Entier 8 bits EnAptier 16 bits Entier 32 !apbits Complexe Complexe Apentiers 32 bitsa()á( p" )!) !A( !a( !A( LAa( a`.Choix typeteurPE Qā! "dġA "A!a!A!ab4Lect_r4/t@00A 0 0! 0a@00a 0A!0a 0a@00AA!0ā!0a!!0_ Ca! `AA " sa " !!b4Lect_i2/tA@00AA!0a!a!0!A 0a+c? Da! 5d ",wA ",A!!5AA!>A!b4Lect_i4/t@5050!50!50 50Ogcc! Yh!A "P{!a "PA!Ya!bb4Lect_c8/t@Y0Y0a!Y0!!Y0!A Y0!skb!A! }la "t "t!}a!ab8Lect_ci4/ta@iiaa!iA ia i!@iiAA!i iA!!iġZ `a!! [A "naa "A!!!!b4Lect_i1/tA@nnAA na!a!nA!n!a@ss!!!s!sa sŁ@)w)wA!)w!a!)wŁA )wša@M{M{!!!M{A!M{š!M{@A!A!a A a@!!!! !@A!!a!!A Aa@!!!!A a@""A¡!"!a!"aA "Ɓa@FF!!!Fa¡!FƁ!FA!A¡AAta!aBÁAAÁAAaaáA)aÁBpáB)BA!BaABLA!aBAāB0aġAd!!āA}0AġAMAF!BnAAt!!aBsAAŁBwaašB){ŁAnAšBnaB!BaAB!aBaAƁB"a@!!aơ!!bqAǡơ c!!a "iAǁ!pad-!@ii!A!ia!i!!i!HWa ÍAȁ "Oaȡ!VȁdxA@OOAa!Oȁ!!OAA!O!) 8qɁ 0 Aaɡ!"*Ɂ!0ɡd+a':P !aaʁ 0A!0Ɂ!dFixAʡA!ʁBOAʡABA!BWAAAW<!a!aB<AaAˁA!aˡAAˁB+!ˡBɡA!!BAB!a!aAAÁB̡a̡A\́́B\a̡̡ABO!An!AAGaA!aBF́AÁAFaaa͡Ab́Bb͡͡A0! <w!aҁ A ;!hPERMoctets΁Ρa,i^A΁d@ Module permutant desΡp octets Si "a" est un pscalaire sur 2 ou 4 oct!pets, "b" s'obtient en pApermutant les 2 ou 4 oct!apets (Module utile pour Aρpchanger des donnes biaϡpnaires entre des machinρpes qui placent les poidϡps forts en tte et des pmachines qui placent le!ps poids faibles en tteAp (principalement PC et !apmachines DEC)) : AЁp |---|---|---|---| aСp 1 2 3 Ёp 4 devient |--Сp-|---|---|---| p 4 3 2 1!p &=.aΡ 1Aс 1-ahPERMoctetsa)!!`@ a1aAa;'PA`@ b!1-с!ѡҡ adModules de baseҁҁJ! gFichier Ecr MonFichiAper!aӁA^7ӡad@Module d'ouverture dӁpe fichier en criture ӡpLe nom d'un fichier en pcriture est indiqu su!pr la deuxime ligne de Apce module, et le descri!appteur du fichier est coAԁpmmuniqu sur la borne daԡpe sortie.ԁFԡd`Si le nom de fichierp est suivi de |< ou de !p|>, l'criture se fait Aprespectivement en LITTL!apE_END ou non. Sinon, l'AՁpordre des octets est fiaաpx par la machine.Ձ_Aف ` "{! hRenameaցAZAua֡ad@Ce module renomme unցp fichier ouvert. Pour ֡pviter des problmes ulptrieurs, le fichier es!pt ferm aprs renommageAp!aׁaց baס "}ׁ סhRenamea<!A؁`@Descripteur de fichiAper!bׁa\ء`@Nouveau nom؁}ס؁aaD؁d@Descripteur de fichi!per nul (peut tre vu avApec un module FIX)!K١ ف J١hDate?ف!UaAd@!ځA! aڡ ځhDate?ZAa`@Descripteur de fichi!perځapہd@Date (secondes depuiaۡps le dbut de l'anne 1ہp970))ۡڡaA!aف A !hExist?܁ܡa37h߁܁d@Module d'ouverture dܡpe fichier en lecture Lpe nom d'un fichier en l!pecture est communiqu pApar une chane de caract!apres sur la borne d'entA݁pre, et le descripteur aݡpdu fichier est communiq݁pu sur la borne de sortݡpie. Si le fichier n'expiste pas, le descripteu!pr de fichier en sortie Apest nul (peut tre vu a!apvec un module FIX)AށT?ޡad`Si le nom de fichierށp est suivi de |< ou de ޡp|>, l'criture se fait prespectivement en LITTL!pE_END ou non. Sinon, l'Apordre des octets est fi!apx par la machine.AߡAܡ ߁ ߡhExist?I!ށa`@Nom du fichierߡ߁s`@Descripteur de fichiaperaAxA! ! wiAd`Si le nom de fichierp est suivi de |< ou de !p|>, l'criture se fait Aprespectivement en LITTL!apE_END ou non. Sinon, l'Apordre des octets est fiapx par la machine.9  8i, l'criture se fait !aprespectivement en LITTLApE_END ou non. Sinon, l'apordre des octets est fipx par la machine.ZnGA! d! dhNbytes?aAO+aad@ Sur la sortie de ce pmodule, on trouve (en epntier) la taille d'un fpichier ou d'une chane !pde caractres en nombreAp d'octets.!(a a '`Nbytes?YAd@ Descripteur de fichi!per ou chane de caractApres!a+`@ Nombre d'octets'ak`  ! "/A "W!a  jA Wab Lect_i1/tg_FAd@ Module de lecture L!pe type des donnes luesAp est le type entier 1 o!apctet. En "b" arrive le Apnumro identificateur dapu fichier.En "a" on entpre en entier la positiopn en octets partir dup dbut du fichier. En "!pd", on lit la position Apdans le fichier (toujou!aprs en octets et en entiAper) aprs la lecture. Eapn "c" est communique lpa variable suivant laqupelle on fait la lecturep, et en "e" sort le vec!pteur des donnes lues.!'k;aa 1lA "(a "( 1 :b,Lect_i1/tFYA!`@e!:!A(!`@d1a!!A`@c( a`@bA(A!J-^A`@a1laoC! pA "!a "A a b Lect_i2/t&!d@Module de lecture : Aple type des donnes lue!aps est le type entier 2 Apoctets. cf Lect_i1/ta,kDaA " "/ "W! "jA +W!b Lect_i4/taE3d@Module de lecture : ple type des donnes lueps est le type entier 4 !poctets. cf Lect_i1/to0ba &pA "a " & /b$Lect_ci4/tA!AE3a!d@Module de lecture : Aple type des donnes lueaps est le type complexe psur deux entiers 4 octepts. cf Lect_i1/t0Dkc!A :A "17!a "1QA :ja CCb$Lect_c8/tE3!d@Module de lecture : Aple type des donnes lue!aps est le type complexe Apsur deux rels 4 octetsap. cf Lect_i1/t4oHEa >p "5! "5A >!a GAb$Lect_r4/tE3d@Module de lecture : ple type des donnes lue!ps est le type rel 4 ocAptets. cf Lect_i1/t!H\ka! Ra "I/ "IW Rj [Wb$Lect_r8/taAa!E3Ad@Module de lecture : aple type des donnes lueps est le type rels 8 opctets. cf Lect_i1/tr!aa  A q!i8Fichier Ecra^7 d@Module d'ouverture dpe fichier en criture pLe nom d'un fichier en !pcriture est communiquAp par une chane de cara!apctres sur la borne d'eApntre, et le descripteuapr du fichier est communpiqu sur la borne de soprtie.X!d`Si le nom de fichierAp est suivi de |< ou de !ap|>, l'criture se fait Aprespectivement en LITTLapE_END ou non. Sinon, l'pordre des octets est fipx par la machine.[H !     A "+ ! a Z A #K ab Ecrit/t   F <\ a  d@ Module d'criture L !pe type des donnes est  Apfix par les donnes in ! apcidentes, et le nombre A pdes donnes crites par a p la longueur de la vari  pable t. En "b" arrive l  pe numro identificateur  p du fichier. En "a" on  !pentre en entier la posi  Aption en octets partir ! ap du dbut du fichier. E A pn "d", on lit la positi a pon dans le fichier (tou  pjours en octets et en e  pntier) aprs l'criture  p. En "e" arrive le vect  !peur des donnes crir  Ape. ! !  a   a  "       # b Ecrit/t  A A `@b !  ! a   ! `@d     a !\p   A`@a      / a `@e A  A ! `h  A  o   "aA   og  ! ~A gLect_champ 'format' P !  ҁ (0 A ab PLecture cmplx I2/f a *H A    !%  A   a v  Ad@ Lecture de nombres c a pomplexes rangs sous fo  prme d'entiers sur 16 bi  pts : Re1, Im1, Re2, Im2  p, ... ( a A a$t   !   !   a    dFloat a` q5  ! a A p ! `@26 V& a  W  A  abDernier/$i A A A a!   "  !  ! dCplx m$ n a !  bPremier/$i aRh  a a !  !!"   A Q !bDcoupe/$i/f @TT !T ! T A !T  .Z>q< ! a 6[  A 6p  !dx2 g{C A  a q  "h A "h a  q !!z a bLect_i2/$i @. ?L !6K ! a`@256 a ! a ,@d  A a a! 6 A !!6 a bN/$i gE{r   !qq a`@i0 a@DbB   a a!S A gFichier Lect MonFich  !pier    B !   A a  a B    BT a  A   Bt ! A  !A !   AAS  ! aA6 ! AF    a 6a( ! b(Lecture /t     9 ! d@ Le nom du fichier  Ap est fix sur le devant ! ap de la macro ainsi que A pla longueur de la varia a pble t dfinie l'intr  pieur de la macro : le n  pombre de donnes lues s  pur disque est gal ce  !ptte longueur. Le type d  Apes donnes lues est cho ! apisi l'intrieur de la A p macro. a <O   ``Macro de lecture d'u  pn fichier  ! ``Nom du fichien : cf  Apinfo des modules de bas ! ape A     J A   !6.  ! A .p-   >) !  A gH   $ 6 ! @pB    a  5 gFichier Lect MonFich  !pier     k        a`@i0 ad  ! a A  a    5 bN/t @x a   !  A`@256 A  A   "{    A 5(z   )     !+"  ! 5  A)" ^ A 5 ! a(!^ a 6A A (!  ab(Lect_ric/t `    .    .  !   !."a A !  A."au a A ! a.u  a A .   ae  A    a`   $    !$  %!   A$"at 4a ! ! a$"a 4 A A $ 2 a a $t 2a  Ua     V &A   "i +  ! " /  A   ! a  2A Ab4Lect_r8/t ~      A `@i8 Zm ! A  a c  `@i8 6I     ? ! a`@i4 a&   a !   `@i2  A a     !`@i1 !   !    `@i8   !  A   `@i4 a a a  ( 2 A ) c ! a #    )    )    )  A  !) ?   A)   !`.Choix typeteur A   A (   ( Y )  "  &  )  A  !(  $  A(  , ! a( 5 (A A ( } + a`.Choix typeteur @v a    "( h`    A  l5 $4  ah`V_Scalairescalaire aFz1 ! a !``Module [ !! !a n ! !A4n !!d@Type donne : Relr !p: ! ! ``Etiquettes verticale ! !ps !u0 " "! !  !d@Rel Rel double pr ! "Apcision Entier 8 bits En "! "aptier 16 bits Entier 32 "A "pbits Complexe Complexe "a "pentiers 32 bits " " #  $() 2 " #( p 2 " #!" ) 3 # #A)  2A #! #a(  3! #A #(  3A #a #( L 3a # #(  3 #`.Choix typeteur "PE $! $ " $ Q 3 $ $A "d 3 $! $a " /a $A $! ! $a $! 3! $b4Lect_r4/t $@00 % $ %a 0 % $ %! 0 ! % %A 0 ' %!@00 % $ % 0 &! %a %!0 % % % 0 , %@00 & %a &a!0 3 % &!!0 % & &A!0  &!_ C & '! % 'A ` 'a &a & " s - & & "  0 & &!  & '! 3 &b4Lect_i2/t &a@00 'a &a '!0 & 'A '!0 %A 'a ' 0 ( '+c? D ' ( 'A ( 5d ( ' ( ",w .a ' (! ", 1a ( (A!5 a (! (a!> 3a (Ab4Lect_i4/t '@5050 ( ' )!!50 ' ( (!50 ' ( ) 50 *! (Ogcc )A ) ( * Yh *A )! )a "P{ . )A ) "P 1 )a )!Y  ) )!b 2 )b4Lect_c8/t )!@Y0Y0 *! )! *!Y0 ) * *A!Y0 )A *! *a Y0 3 *Askb * +A * +a! }l 3 * * "t 4 * * "t 4! * +!}  * +!! 3 +b8Lect_ci4/t *@ii + * +!i  +a + i , + + i 4A +@ii , +a ,a!i + + ,! i 4a , ,A!i 3 ,!Z ` , -! + -A! [ % ,a , "n - , , " 0a , ,! A , -! 3A ,b4Lect_i1/t ,a@nn -a ,a - n 4 -A -!n , -a -!n 4A -@ss - -A .A!s & - .!s 4 - .! s 4 .@)w)w .a - .!)w ( .A .!)w 4 .a . )w 4 .@M{M{ . .A /A!M{ )a . /!M{ 4 . /!!M{ 4 /@ /a . /! $a /A /  5 /a /  5! /@ / /A 0A! ! / 0! 5! / 0!  5A 0@ 0a / 0! , 0A 0! 5A 0a 0  5a 0@ 0 0A 1A! & 0 1! 5a 0 1!  5 1@"" 1a 0 1!" (! 1A 1!" 5 1a 1 " 5 1@FF 1 1A 2A!F ) 1 2!F 5 1 2!!F 4! 2A #A a 1 2aAt 2  2A 2B 2 2a 2a 2A a 2 2 2A) "  2 2Bp ) # 2 3B) ' #! 2 3!B $ #a 3 3AB - # 3! 3aBL (a # 3A 3B +! # 3a 3B0 & $! 3 3Ad ,A $A 3 3A}0 * *a 3 4AM /! * 3 4!AF 2! * 4 4ABn - + 4! 4aAt ,! A 4A 4Bs . -a 4a 4Bw . .! 4 4B){ / . 4 4An 5 a 4 5Bn / 4 4 5!B 0 / 5 5AB 0 0! 5! 5aB 1 0 5A 5B 1 1! 5a 5B" 2 1 5B !   5B^ A  5 6B} 6!  5 6!A$} 6A 6 6 6AB$^ a 6! 6!F 9a 6 6  pes arrivant l'entre = >!pde la macro. > >A~a >a >! >d`Macro d'criture d'u >A >pn fichier partir de d >a >ponnes deux dimension > >ps >i? ? >A``Nom du fichien : cf > ?!pinfo des modules de bas ? ?Ape ?!L B < ?a B# ? ? _ par _ YA Y Y Yd_ Z Z Yd@Transforme tous les Y Z!pblancs de la chaine en Z ZApunderscores. Attention Z! Zap : une variable interm ZA Zpdiaire $b est cre en Za Zptant que variable dynam Z Zpique Z [a [ [ Y( Z [!( [`Blancs -> _ par _ \ [ Z [`@in [a [ [a Z \# [ [a`@out [ [! [ [ [AdR ] \A \ YA, 8e ]! Ya \! \a,8 ]A Y \A(9 ^a \! \ \ ^A-s: \ \`@Longueur max \^>F ]a ]! \!$ i! \A ] ]A$E h \a ]!` ] ] ] ^( g ]a ](  ` ] ](" g ]b0Var_dyna/$b ]a@bs ^! ^A ]a ^!j g ^`@100 ^ \ ^ \J+w ^ ^ ^ ^ "v a! ^``_ ^Jj _ _A ^ _a  K ga ^ _!  i _ _`Fix ^n- _ _ ^ `!  o _! _a _ "z h _ _   h! _`=? _a `! `A _a `a! h ``@i32 `5uG ` ` ` ` 6 hA `a `!t ] `hNbytes? `a|0 a a `a a (} ha ` a!! "} ^ a aA!" h! a! aa & a aA`:- `1 b! a b ` d) & bA aa a a(& ba h ab ,>Somme/$b a%4 b bA a$  & dA a b! ba$  cA a bA9Q b b b! b  P c b` b!U# ca c b dA!  V cA c b b c! "u c d c cA Q  c d ba c!!  c b cd@$bs cam} c d! ca  n c c c "u c! c d  | cA c`+ cB * da bA b daA* d dA dA dBu c! da da! ea d a fa "H e i d d  e e f d e Q d f d e!!"w g e eA H f! g e!  e d e`@$b ea"o e fA ea # d e e "H d e f n e e f! H eA fgLect_champ 1 e. f f d f!- d fa`@i0 fa@ f fa gA  iA f g! h f g!! hA g@ H H ga f g! H _ gA g! H eA ga g! H ha gBw e! ] gA gAj ^! ] g hAz `! _ g h!B  aA _ h hAB g! ` h! haB(H g a hA hB h ]A ha hA& a h h hA g h h hB h i h iAH h d h i!B iA ]! i iAA f i! i!Vk n i j! YA sa( ` n ia i(` n i i(j o i i("W o! i j("W oA i`Sous-chaineane ia jA ja j!s; ka j jAd@Attention : une vari ja jpable intermdiaire est j jpcre dans la macro $b. j jp Il pourra tre ncessa j kpire de la remplacer par j k!p une variable dynamique k kAp k! lA{ k l ja( | ka k( k k( k k(" k l(" k`Sous-chaineane ng la kA ld@Position dans la cha lA lpine aprs la lecture (e la lpntier) l k lA ka m! m lA mA`@Chaine de sortie l k l l mt ma l m`@Nombre de caractres mA mp lire (entier) ma l mA m! n+ m mA n!`@Chaine d'entre m k m m n` nA m`@Dbut dans la chaine n! nap (entier) nA| k n! n l!> oa n ia$ (? p i n n$( p i n o$ r i n o!$" s! i o oA$"l r! j o!3d o o n o  ra oa o 2 r obN/$b oap'l b! p pA oa pa( z( r o p!(zk s pb ,>Somme/$b o!Qe q! p o r! " q sA pa p ( p q n p p Q(d p q n p p!"5 r p q!P q r p SOc qA pa qa``b q!8- q r q! ( p qa q " p q q (, p q q 7 q qgLect_champ 1 qaAl rA oA pa rAB ra r! r! raA o rA rA rB5 p o ra rBz q p r rA r o r rBn s r r sAzn p! r r s!A sA o! s sAB p s! s!TjS v s s ia !( _ v sa s(_R v s`Minuscule sa s t s.c ua t! sd@Transforme tous les t tApcaractres majuscules d t! tape la chaine en caractr tA tpes minuscules. Attenti ta tpon : une variable inter t tpmdiaire est cre dans t tp la macro $b. Il pourra t up tre ncessaire de la t u!premplacer par une varia u uApble dynamique u! u u v! t( ua u( u`Minuscule v v uA vA`@in u u u ua v(D va u`@out vA u vA v! ui w v sa$ gj s v v$g A s vG w! wa v w A w wA  w w!dNbytes? wd w w w x! wA w w  a wbN/$b wl6+ x! x w x v za x xA "m x! xa v xAdAND x9|J x x x y A y! x`@i91 x7K% y! y x y! A x y yA #J y! ya!A yAd>? yO;`f y y y z We  y`@i64 yl% z! z y z v ~ z zA!"m  z! za!v x! zAl>? z z {A z {a  ! z z  }! z {!" z {!  | {d:- zE b! { { z {( F |! {a {( a {b ,>Somme/$b {aA | |A {a |a!  {! { |!!@ { |dChar {z | | { |  |a`@i32 |aJYu | }A |a }a K } | }!"R | }!!X z }d+ |@@@ } | }!@ | }a } @ ~ } } @ ~! }@v@v@ ~ }a ~a!v@ z! } ~!!v@ } ~ ~A!v@ ~!@55 ~ } ~!5 } ~a ~ 5 ! ~ ~!5 ! ~ +  A ~a a  ~ !!* ~ dFix ~!Jc !  ~ a " !  a  !    Q!b   !"3 a  !I  QHa A a a`@$b !1+  ! ! !  a " A !*  0  gLect_champ 1 aA A  a AB ! !q* a !!  a`@i0 a@gg a A g v !g !!g A B ! w! aB3  w A AA ya xA a Bv { xa Bb@ ~A Ab yA BW zA y !B5 ~ z  ABg a v ! aA { A A BR } | a B   Ag  B  A   K A A sa (  a ! a(J AdUnderscore !  d_ `@Rajoute un underscor pe une chane de carac !ptres V| a !$ v A A $v{  a ao3~B ! A A v4 a "p:  vA `+ ]l+ a !d* A``_ AAd: a Ak K ! ! a( u!  (uJ ! `Point A a !d_ A`@Rajoute un point u a pne chane de caractres p V| A  $ v a !$v{  o3~B a v4  A "p: A a vA ! `+ A]n/  ! A A!e. A ``.r> Ae:  R gK ( \! a (\J `Blanc a   d_ ! `@Rajoute un blanc u  Apne chane de caractres ! ap AV| a$ v  $v{ A o3~B  a v4 ! "p:  A vA !`+ ]l+ !d* d` Ad: ! pg ! ! a a ( z A  A(zf a !b? !a  ! !! A `i0 0v'| A ! 1 ! a u AfFormat 1d !za !   ! `: ! ! a!  a  A!"  ! a Q ! ! A   d` bits # A  !  " A !  a `+ Jc1   A)V0 ! ab/bits a O_+ ! <w A ! a$Y Oc7d a  Y A Y ! afN/bits A@Qaa  A!Y a `32 B a a a aA A A AV\  a B A a B A a "6( ! ,  A "# ! a ,' Ah=? N Ca hEntres 6>  B  ! a ځ( !  A( C A !b Sinus/t   aU4 d@ Gnrateur de sinuso pde En "a" arrive la d pescription de la variab !ple t. En "b" sort un ve  Apcteur "Sinus" suivant l ! apa variable t. Les frqu A pence, phase et amplitud a pe de la sinusode sont prentres en paramtres paprs ouverture de la m pacro. La frquence ("vr !paie") dpend du pas de  Apla variable. Si ce pas ! apvaut 1, la frquence es A pt la frquence rduite. a p AH  ( ( I b Sinus/t  a `@b A A !5 A`@a I  !  ! a ,E  !  A, E ! A ! [  a ס. Cm a ա_t\ ! ֡v  a ! ! -vC  ! a ! ^vr  a ! PK A  $J ! !$  A 4D a 5 ف A "< a C  dx ApUe  a A xV A ! #]  A xd  !dx $Zp  % ! !Y bPas?/t _ a ! !( `  A)"s  ! a(#s A A ( A a (  a ( ! b,Rampe_i/t   ! : A `@Macro interne !=J A $  ! a $">0 Ӂ A $#0 ! a $I ! $]I !$> A \k{ a a c a A``1 AfzA a A A (p@  A ( p ¡ )"g( a !(y( `>Modulo AA   $e@ ! a ¡$ e   $"B Ł  ¡ $ ȡ ! ET{ ! A a a S á `.5 ^mx Á   e ǡ a á!"_ ! Á e ád+ av+ ! ā a ġ }  A "w#  ! a }* A Ad- ]n P   !! e ġ e  dFix ġ@QQ A ġ š Q a ! a Q ȁ A Ł Q a@ee ! !!e š e a  e ¡ ^m A ơ š e ! a!"_ a A Ɓ!e  adx !@e e ! A!e A !e ! e ^m a ! e A ǁ!"_ ȁ a ǡ!e Á ǁd/ AB} ! A Ae# Ɓ A !Be5 A   AA}5 a ! ! aBQ a A A ȁBQ ǁ a a ȡAu ȁ Bu ! ȡ ȡCVRu{  ! A Qe a `.5 4f a a (e  A Ɂ( 5 ! a ɡ("M a Ɂ (M ɡ`>Modulo AAU({ ! A A a K' `4294967296 Tf< ʁ  ] a ʡ ] ʁdx2 aUe  a a ˁ ] ˡ ! "V !  A ] ҁ !d/ @]] ˡ !]  ˁ !] ʡ ˡ !] A gtzP ! a ˁ ́ pu Ё  A p ԁ !dFix !x A ̡  Ρ  a  ́ Q ̡ ̡  ΁ ԡ  # !!"y ԁ !z a ́ ́`t0 Ar ͡  A !  A ́ " ! ͡  d+ ́@ A ́! ͡ ! a  ̡ A ΁  a@KQKQ ́ !! KQ ! Ρ KQ a  KQ  hIyY A ϡ Ρ ! pJ ! a!"iQ A ρ pX A adx !Tg Z  ! !!] ʁ dPI i]xlx A С ! p^ ρ ! a!"je  A Ё!pk ! ad+ !~}P ! ! A ~ ѡ ! ̡ dFix jy a ! k A с "r  a ѡ!x сd/ A\  A A a!  ԡ !  dFloat @]#]# ҁ ! ]# A a ҡ!]# ҁ ]#  ҡ@KK  a a! K  !!K !  A K ! !Bc(  a ӁA_0 ӡ a ӡB_ Ӂ Ӂ Ap ӡ ӡ Ah a  Bh a !A0 Ɂ  AB a ! aAM A ɡ A ԁBp ! A a ԡA  ԁ B  ԡ Bs# ҡ  Asr с @m{ A  Ձ!x  !`@.012 @Tit ա ! !`@Frquence (hz) Ձ Ձ x A Ձ a ! a@k*{ A Ձ ց!u) !d@3 @ ֡ ! !`@Amplitude ց  ց u) A ց a ! @{ A A ց ׁ! A !`@1.57 @(x ס ! !`@Phase (rd) ׁ ׁ a A ׁ A a ! ! A ء ׁ !  ! a!" a A ؁  a adx !@ ! A! !   ! !! !  a ١ !  ؁ A ف! a adSin AAu< A A A] ! Bxs A A !B !  AAs A a ! aB a Ao a ڡ  (y ܁ ځ ( y ܡ ڡb0Sinus_FM/tt ځ  ! 2 A d@Gnrateur de Sinuso ! apde FM Les frquences A ہpinstantanes de dbut e a ۡpt fin sont entres sous ہ p forme de frquences en ۡ p Hertz, et le calcul es pt trs prcis mme pour !p un grand nombre de poi  Apnts (comme le Sinus). !g/  ܁ ځ, ! ڡ a ܡ, 0 A ܁p1 ! a  5 ! A  m a  ݁`@Dbut Al a A ݁ A a ݁  Ar ! A`@Fin  a  ށ A ! A ށ 5 ށ W a ! a$IV ܁  A$ I ܡ !6k] a ߁ A  a( Il A a ߡ("7 ߁ (#\ ߡ (I (< !(7 b,Rampe_i/t a0= a A(&<   a ( & !  b $Rampe/t a+ A  A a, a !, , 1ux ၠ A 1y A A !  ޡ  A a@ a $r  A $ r ! ! a@F[ A `@V InitialeV Init a A@ ! a`@V Finale  ᡠ  @DWR{   MQ  a`@.0012 a a ށ a @ [{ ! A a Z ! `@.0036  !  A  bI A  )"c  (r  a )# ! ! !( rJ A bTcalcul-rampe/t a AAyK a`@Calcul de la rampe %  a $"& $y !$# a   A$ y ! ! !q  y a a "r ! y  `+ aq_ ! a y  A "r A ! a!y A`x Rh   g A `@0 =N/ ! E  A "> ! a E A`- @,,  !!, A ", !, ! !r A !"s a ! a S A A A !y ! a y a ! ! `@t0 P ! a "  A  a !`+1 @yy !y ! "y A y *I:]6: ! a ! 2J  A 2\ !`-1 )$;Eo   2% !2D ! bN?/t @y y ! y A  A!y ! a!y A=Nc   !! E a !"> !E A `/ A,  AAE A ! aA ! A BR a a AER ! B2 A B2 A BM !B  ! A@RP a a IA a A "BH ! a IO ! dx Aa/q  A ! &b ! #.i A  A!&p !dx @ `@Frquence (hz) &p A a60Hfp ! a ?1 a  A!?e A !bPas?/t @,6{  !"5 ! d@3 A@m"  `@Amplitude ! "5 @f{{ ݡ !p `@1.57 A@y4  `@Phase (rd) p ݡ ݁AR  !! I !"B I A dx @I&I& A !I& ߁ ! a I& A !I& a a@II ! !!I a I A !I  ?S A ! I ! a!I a AdSin !A& A ߡ ! Ap B<  B&  !A"H  AA?i A ! ! aB?& ! AB ځ ( ( C b8BaseTemps/t  ! ej} A A d@ Gnrateur de base d ! ape temps En "a" arrive A pla description de la va a priable t. En "b" sort u pn vecteur "Base de temp ps", qui est une rampe e pntre 0 et 1 suivant la !pvariable t.   a  !) A ) ab8BaseTemps/t a&; ! !`@b  a A a A `@a ! !  g $ $ <o  A a  a ! ; ! bN?/t    a #  dx av ! a w  A "} ! a! Ad/ Oa_  !` ! `@16 Ld: ! a ! M !  A!c !d-1 !k\ !  a Q[    ! A  # !mJZ A a`@t0t !u&> ! ' ! a = d+1 a@  a  !!  A  !@   a !  ! A u  ! a A! h0 A a aB A  A B a A a A} A A VBk   A (` ! !( `C A b4Triangle_p/t a A6m ad@Gnration de signal p priodique de forme tr piangulaire (cf Sinus)   ! a , !   A,  A ! !`  [ a `@Amplitude | `@Frquence (hz) j ! A`@Phase (rd) ~    A }  A   ~    1 a ! $>  !  A$ >2 A A !P1p     (Q a  ( bPas?/t a  a a     !!#  A   !hx @Ayr    ! x  `0.005  a  A@>G>G !   >G   A >G A ! a!>G A@|r      ! `0    60FH ! a   >1 A  A >G ! !`|| 6eFy:     >f a   >x  `-1 )0?r ! A  a '>  `4 C/R    ! 'D ! a  " J a   'Q `/ a7RFa !  a ! >S A  A!"8Z ! a!>`  A`x 7}F  !  A! >~    #E   > ! `x @{C|r a   !{ A`.5 A  A +R a  A ) > !  )",   !)#Q !  A)> ! ! a(1 A ), A ab,Rampe_i/t B(G a   B( !  B  A !B !   AB a ! aAJ A  A B'Z A  a A a   a a (  (   !("   A("  !b xPorte/t  aZNG ! d@Macro pour multiplie pr un signal par une por pte dont on spcifie le !p"dbut" et la "longueur  Ap". A utiliser plutt qu ! ap'un module "Part" si le A p changement de variable a p n'est pas ncessaire d pans la suite du graphe. p a : Signal incident b p: Signal rsultat  A ! ( ! a( A (" a (" b $xPorte/t A   A`@ a  a !  a `@ b A A A !   A `@ dbut    A. ! `@ longueur    EHh`   $_  a $ I    $"F ! !  $"F  A n ! A a a   `@0 !Zez    A jf  ! a a  Qj     y  !   #ym  !\x ! a A`@t `t a    j  A  j  a`+1 A@jj  A!j a   j   ! j  `Qta a  a !j`  Ah0 A:   A !      `-1 + A     ! a " ! A   A a`AND !  A ! a A  !"   !! ! `>? L[!l     S a a  "M    Z  `+ a@SS ! a  "S   A!S  ! a!S  A  !  A! !     !" A     `:-  a   ! a A  "  a ! A `>? A@  A a!   !!"   A!  !@mm   !m  a  m   !m  B A  a B    !A ! a  AB   ! aA a  A B a  a A   Th  A  ^   ^  ! g hGauss  a  AyA   ad@ Gnrateur de nombre  ps pseudo-alatoires gau  pssiens En "a" arrive l  pa "graine" (scalaire),  !ptransforme en une autr  Ape "graine" "b", et en " ! apc" est le nombre rel p A pseudo-alatoire gaussie a pn.  aC       B  ! , hGauss a.1B   `@c a, ! a  Ti  a !`@b B    a A `@a !  !  AB      [(  bHEntre_matrice/li/co  p   ! ,i; A d@Pour entrer une peti ! apte matrice sous forme d A p'une chane de caractr a pes (d6 A   ._5 a  .h1 Z   Y Z!V/ \  a $[ [  AX "   A Y(  " [a  (W " [ b@matrice_ascii/li/co   ! 2VC !! A d@ Pour entrer une matr ! apice quelconque dans une A p chane de caractres, a pcette macro dtermine l  pe nombre de lignes et d  pe colonnes de la matrce  p. Il faut rentrer comme  !p paramtres le nombre m  Apaximum de lignes et col ! aponnes. Les donnes so A pnt converties en flotta a pnt. On peut choisir la pprcision (Double prci psion ou simple prcisio !pn). !+  !A " !(, !! !a( !AbXmatrice_ascii/li/co "a ! ! "!`@ Chane de caractres ! !p !, !A ! !! "a "A !`@ Signal 2Dlignes "! !a "! " !M % " " ,  %  " "& %  "` " # #! " #A`@Nb max col. #,p #a # #`@Nb lignes #A*` # #A #`@Nb col.ne #$ 4a # $ # 3!  $! # $A`@Choix prcision : $ ? <``Module <SiI =a = <4^ =A = ^H = =a`Simple prcisionl =A0_ >! = < >``Etiquettes verticale = >ps =!H >A >a = G >!d@Double prcision Sim >! >pple prcision >a >p >B/g > < = >A^g = > >@ ?! < ?! ? ? ?A 9 ?! ?a! ? ?AB ?a ;! ? ?B ?! ; ?" ? @ 9! @!  C ?`@i0 ?!lN @ @A ? A @a AA EA @! @a QM @A A @A @ "m Aa 8 @a @ "m/ E @ @  A E @ o=K A @! A!d@li @|7  AA A @ @A A! Aa "} @ AA A 6 @a Aa A  @ AgLect_champ 1000\n\r A!7K d B BA @! Ba A F A B!!A Ea BbN/li A: d B B A B  Fa Ba B 9 F BbN/co Ba!5 C C Ba D! 6 CA D ? B C!!"i D! E C CA Q C DA C! Ca!"S F CA C!i Da E Ca   C B Cd@co C>  D D C ? C C D! "i C! D DA  CA D! Da i C DAgLect_champ 1000 ,;\t C Dp DB D 8 B DAH 9A D D EBHi C 9a D E!B EA 8 E EAA @A E! E! EaAA B! E EA EBY Ea E Ea EAY/ E @ E EBi C! E E EA E @ E FAA B 9 E F!AV FA 8 F FAB Fa F! F! FaA B FA FA FBS Ca B Fa@uu F 7 G! u Ga F F!#u Y F G!u X F@ZZ GA F G Z YA G! Ga!Z F GA G Z Y Ga]=r KA G H! G! X) g> Ka X G G)g K 6A G H)"^b K YA G`Nb lignes G HA Ha H!~9 IA H HAd@Macro donnant le nom Ha Hpbre de lignes (en entie H Hpr) partir de la posit H Hpion "Pos dbut"(entier) H Ip dans un fichier ou une H I!p chane de caractres I I !; Ia J! Ha)  IA I): Ia I)"  I`Nb lignes K!"5 J I! JA`@ Pos dbut I Ia I IA Jr Ja I Jd@ Descripteur fichier JA Jpou Chane de caractres Ja Jp J  I JA J! K!K/ K JA`@ Nb lignes J: I J J It K Ka G$ u O G KA K$ M G Ka K$"< N H K: K L! KA LA  La K L  Ma Kd-1 K@ La L K L! K LA`@20 LA %a LA %A L M! LA MA  X L M  K Ld+1 Led Ma M L M!  L MA M  Xa MabN/li MAEjG M N! MA NA F Na M N  N MdNbytes? M@<< Na M N!< M NA N < P Na N "< K N N OA NA Oa!  N N O " X N O!  X Od- N-= O O N O 5 PA Oa`@i0 Oa!U P O Oa W  P! V! Ka O P!"< QA N O P! Q O V P PA! 5 Pa WA O P! Pa!Q5 PA RA W PA P!" X! Pa P!" S X P S P O Qd`li Pgg Q! Q P Q  V Q QA "< P Q! Qa f T QA Q < QagLect_champ 1000\n\r Q+? Q Ra Q R 7 U! Q R 1 Va Q R! ", V R RA 5 Pa R!d:- Q R S! Q SA  T R R  V R R " T R S  V Rd:- R  Sa S R S  W SA S " P Sa S  W! Sd>? SA@ T SA Ta! R S T!!" W! T TA! V T!@ T S T!  Qa Ta T! W T T! R T/?0 U UA Ta Ua 7 U T U!!7/ Q Ud+1 T@77 U T U!7 U Ua U 7 Wa U U!7 Va U@  V Ua Va! Q! U V!  O V VA! V V!B1 U R U VA TA R! Va VB VA R V VB V P! V VA S V V WB T Sa V W!B T! S W WAB5 Wa PA W! WaA7 U WA WA>c W W O W!b X W`@i1 WA5 Pa X W XB W L W X!B P XA X XAA X! Xa X! XaB XA M XA XA W O Xa XB P O! XAuT G (! G XAg/ G 7! X YB F Y! X Y!Au Y 7 Y YABZb H GA Y! YaB Y % YA YAZ G Ya Ya@_3 Y Y  [! [ Yd@1 2 3 2 3 4 4 5 6 Y ! Y  ZA !! Za Z!d@Module d' entre d'u ZA Zpne chane de caractres Za Zp (le tour du module a u Z Zpn trac qui le distingu Z Zpe d'un module "Val") ZA Y [! Y [!B [ [A [ [AA [! [a [! [aB [A  [A [BZ [ a [a [AZ  [ [B9 ^ [ \  y($ ^ [b$Matrice/co/li [ \! \A \ ]^75 \a \!d@Oprateur de cratio \A \pn d'un signal deux di \a \pmensions sous forme d'u \ \pne matrice. Les dimensi \ \pons de la matrice (limi \ ]ptes 4) sont entres \ ]!psur la face avant (Co p ] ]Apour colonnes et Li pour ]! ]ap lignes) et la matrice ]A ]pelle-mme est donne ]a ]pl'intrieur. ]|1 ] \! ^`@Li ]D1[ ^! ] ^A`@Co ^"]5z s! ^ ^ ^A s"5 d! ^A ^ d< c ^ _ [,n c! [ ^@T" u ^ _A _ ua@&TS v _ _ _A u@WT v _A _ _ va@T w _ ` _ vXl" n! _ `A ` nX&lS o ` ` `A oXWl o! `A ` ` oXl n ` a ` np" jA ` aA a j!p&S j a a aA jpW kA aA a a k!p k a b a k" fa a bA b fA&S f b b bA fW ga bA b b gA g b b gx cA c! ^$ x ^ c d ca c c c  c cA c  w cafN/li cA@ c d cA dA! ca c`@4 c ^ c ^> e da d c i(= e x! dA d( e xA dab8liste ligne/co dA d d d'x e! e d`@ dCH[ eA e d)N e! ea)NI eAbDliste ligne/co e!HtR f e dA& ha da e e& u h d e@L.`[ f! fA e f _E h f`@41 f b! f b@dx< f f f g w% hA f`@42 f ba f bA@| g! gA f g  h g`@43 g b g b@ g g g h  h! g`@44 g b g bU? h! h g+ g h hA+% f h! ha*T e hA h+E f! ha h+ g! h h* e hb liste1/co hq i i! ia dA l(p i xa i iA( i r i!b8liste ligne/co i(2- i i i&, lA i! i i&  l iA i@,@ j j! i ja ? la i`@31 i a! i a@DX j j i j W l! ja`@32 ja aa ja aA@\p k k! ja ka o l j`@33 j a j a@|h k k j k ~ l ka`@34 ka a ka aD? l l ka+~ k k l!+ j l lA* i l! la+ j lA l+ k la l*E i lb liste1/co kA ma m mA i p( m x l m!(B m r! mb8liste ligne/co l m m l$ p! m ma m$  p m! m@i m n ma nA  pA m`@21 m `! m `@ 7 na n m n  o nA`@24 nA ` nA `@)V n o nA oA @ pa n`@23 n ` n `@Jw oa o n o ` p oA`@22 oA `a oA `A? o p oA+ na o p+` oa o p!* m p pA+ m p! pa+@ n pA p* m pab liste1/co o~d p q! l qA r p q  qa pfN/co p@ qa p q! q qA q  s qa q  q q@ q qA rA!" q q r  r q r!! m! r@ ra q r! xA rA r!" r ra r! iA r@ r s rA sA! p r`@2 r ^a r ^A}[ s sa s r w!( s x sA s)\ t q sab8liste ligne/co sA44>I t! s sA$H t sa s t$ 5 t s ss? tA u s u!*" v t! ta*" u tA t* s ta t*" uA t t*" vA t t* t t tb liste1/co t!@8L# uA ua t! u!K t u!`@11 u! _! u! _@Pd u u u! v!!c ta u`@12 u _a u _A@h| vA va u v!{ t v!`@13 v! _ v! _@ v v v!! tA v`@14 v _ v _*? wA x sA x!+d x! w! wa+ x wA w* x wa w+ x w w+ xa w w++ c wb liste1/li w!Bd wA da w! xAB ra d x! xaB w i! xA xB wa m xa xB w sa x xB x c! x xA w x xB |a y! yA [ ( | ybPVecteur de base/t y ya y yA,i { y yad@ Gnration d'un "Vec y ypteur de base" La varia y ypble t, sa longueur, son y zp origine et son pas son y z!pt dfinis en image l' z zApintrieur de la macro ( z! zapL'ouvrir par double-cli zA zpc pour les voir). En "b za zp" sort un vecteur "Ramp z zpe" suivant la variable z zpt, avec pour valeur ini z {ptiale de la rampe l'ori z {!pgine de la variable t, { {Apet pour pas de la rampe {! {ap le pas de la variable {A {pt. {a |> { |A y(= {b`Vecteur de base/t |APe |! {`@b |= { | { {H  ~! | | y, ~A y! |a]  |a | | `  | }! | n | }a }! am  }! } }a O#d } }a }`@Nombre de points }gMxy A } } ! ~a ~A |a$ a | ~!d ~ ~ ~! ~  ~a ~  ~bN/t ~a@  ! ~a a! ~ ~`@100 ~ ~ ~ }@  ~ `@V Finale a } a |@  a !`@V InitialeV Init  |  |@N A a  M !`@500 ! }A ! }!@ W ! ! V `@1000 } }aE A )"|  ! a( ! ~A A )#| A a ) F a ~ bPcreer-rampe/t !   7 ! d@Macro faisant le cal  Apcul d'une rampe entre d ! apeux valeurs extrmes, l A pa variable tant commun a pique sur la borne de g pauche.  lP  ! " ! A ! O ! a  A #k ! a  A!P ! a " ! SO  A   a !>N A a`@t0 !)9P ! "*  a 8 h+1 a@   a! ! "  A  ! ! a`@0 a8%G A a a 9  "? ! F ! h+ $%4_ ! % a ", !3 hx a&e ! a  A  A " ! a!  AbPas/t /%_t !  A 0 a "G  ^  bOrig/t *G a  ! A "! A a ) h- AN:  A A a !  A h-1 eo f a a !  b N?/t a@cc  a a! c  !!c a  A!c ! !{ ! a !" A  h/ a@!! ! a "!  A!! ! a!! A@  ! A ! ! @ ! "   A! ! a! AA? a   A, AG a AW  A BW ! !A a   AB ! ! aBc ! A A! A ! aB| A A ! B| <P  ! y F hAla A a !F`  Ad@ "Graine" En "a", "g a praine" scalaire pour la p gnration de nombres ppseudo-alatoires a1 ! a ' hAla , `@a a' ! a  A A    !  hUniform a A8% ad@ Gnrateur de nombre ps pseudo-alatoires uni pformes entre 0 et 1 En p "a" arrive la "graine" !p (scalaire), transform  Ape en une autre "graine" ! ap "b", et en "c" est le A pnombre rel pseudo-ala a ptoire uniforme. a; <   ! _ hUniform ad x `@c a_ ! a ( a !`@a < a A `@b !  !  AB  ( ( C ( C b(Bruit 2d /t/n ! A ,i a !`@ A !g a A(f ( ( b,Bruit 2d /t/n at A a `@Bruit 2D !f ! oo ! `@Description variable p t  a ar ! `@Description variable  Ap n !  S  $  $ | $ a ! ! A !  A Q ! A ! a "# A D a A a # a !  `` n ! ! A  !  A Q ! ! A ! a D A A "# a a!  `` t ,\  a - ! ! [ A  A D a !dGauss a  ! ! dAla B|# a B ! !A A   ABD ! ! aB AoBA ( yC (y b$Indices/t =BR ! ! a (G A  A( GC a !b(Carr_p/t   a6m d@Gnration de signal p priodique de forme ca prre (cf Sinus) D ! A ,u A ! ! a, u a A A` ! kX} aW  ! OfD A a`@Phase (rd) !4 ! `@Amplitude aOXa A a !kV  `@Frquence (hz) gS A !$R  A ! a$  a A6p !   a 5 bPas?/t AQ ! B A  A!#I ! a P Ahx @#5  ! , `.5  @1 A a !0 ! !`0.005 ! ! @ ! !   a ! a #5 ; A , ! a , A`- !-<F A ! a! ,. a .  "9 ! 'E ! `:- @,, ! , a !, A !,   ! a A  A `0  a  A !" A a ! `>? A@(:1  ! A a 10 a `0 a" a A a) b a )"u )#!u a ) a ( !) b,Rampe_i/t aB  a BI A a Bu a B A9  BK ! A !A'K !   AB  ! aB1u  A:M  C `dPI   J|D ! d@Donne en sortie la v  Apaleur PI = 3.14159.. ! ap. en double prcision A p( 8 octets) aBɡ  !( ( C b(Triangle/t } A a(  ! a(  ! Ab Dirac/t !  ! @ A  !$ ! A !$ A a J a I A`@0 Ap A A a! q a q  "| ! !   h:- J !I a`@1 a@x'  a A & a `@0 w+Cp a ! , A "x7 a !B ! h=? AL`W  ! A A V a h0 !Eg a !! V   A QV a a a !f7 f A !Gpe  A !`@t0 LT`l3 A VU ! a Vk Ah+1 !@V7V7 !!V7 A V7  V7 a A|  A AB ! !Qy  ! (e ! a ( e A b Porte/t a bu A ! !5>5> A ,iE a !d@ En "a" arrive la d A pescription de la variab a ple t. En "b" sort un ve pcteur "Porte" suivant l pa variable t. La longue pur L de la porte est en !ptre en paramtre sur l  Apa face avant de la macr ! apo. A | a `@________ }| `@1  ! Ad@| | | | .CA a  `@ Gnrateur de porte A  $ A `@L  d@| | | | ^ ! A`@_______________ z a  `@0 A A A`@L "; A(: (  b Porte/t  a `@a A  A F[ A`@b : !=F a ! a$E  A$ a !|   !  A a  "} A  ! h:- a A a a ! !`@0 ! ! ! `@1 @gz  ! a p `@60  fzl ! p  a "g !p A h>? aH\W ! A a a R h0 !Bb/   A! R ! ! a QR. !a  a a !D`- ! a A`@t H\3 a  R A R ah+1 A@RR A!R a  R ! R Ap a aB A AmB a a(w  ( wC ! b $Rampe/t  ! ,i A d@ En "a" arrive la d ! apescription de la variab A ple t. En "b" sort un ve a pcteur "Rampe" suivant l pa variable t. Les valeu prs initiale et finale d pe la rampe sont rentre !ps en paramtres aprs o  Apuverture de la macro. ! a/B_ A !`@ Gnrateur de rampe a a !( ( b (Rampe/t  A a `@a ! ! "7 !`@b  a N( A  A ,u a !, u) `.ux A {.y A A !`s  | A  !@ a $r  A $ r ! a@F[ A `@V InitialeV Init a A@ ! a`@V Finale   @DWR  MQ ! a`@.5 a a @ [  ! a a Z A `@.9 ! bI  !)"c ! a (r a )# A ( rJ b', le report pmatre vrai, invisible, !p sera cr au niveau du  Ap graphe principal. Si l ! ape nom du report est ter A ہpmin par '>1', le repor a ۡpt maitre est disponible ہ p au niveau immdiatemen ۡ pt suprrieur. Si le nom p du report est termin !ppar '>n', le report mai  Aptre est disponible n ni ! apveaux au-dessus. A` A @@ `.01A3A5!79:;a;@a@EHJOSTUVWXYY]!_ac"f"kAmswaz}aaA!!a!aa!AA!AaɁʂbԁա!ۂ!a!AA  !a!!Aa "$'!)A,a.1258B:F#GMY[EchjbuCvx}~g'g&$%%! a#a,B368:;=@BCDKLcNdSTUZ$Z]e`d`jjaAABb!""ġbɣբ`"D  %bc!"%)+/034789?@ADDEbFBFG$ICILLNO$QRSXCY^dddhj#lmnoBprvy}~B~"c$d$dcd""d#$%Dedǂɢʃdϣcա֢Bڣܢ#bB  c)*2#58:c?cC#EGIELQ%g"inbpuuvAwz{a}!a!Aa!Baԡba܂ށABB " aAaA"!C*+#:"=BHHK!MQTAWaY[\`ehmouAvbzBb"#"Bcb"BcbdE b!'"',.449<@"CBGJNOTX]_!dpAqxay!"!AaAa!baBAcAaaA Ab!")!-7A9<?EIL M`P`S@WY[ _ abaegBgikDklmoqtuduwx{g}e&'GEF%EFbbρCԣdfAB%%?@HMAQRU`epcstw#BEΡӂւ"ܢBb a !      e 6 9a < ? C DA F GA JB R! R V W Y \! ] b# ja n t v A a  ! A ! ! a A   # c d ! a  D !   a  !  B # " % (e 3F 8e 9 < He KE ZC \A ^ c d e i mc s y |a ~"  a A ! "  A  ! B  a a ! Ӏ