chuap — Simule un oscillateur de Chua, un oscillateur RLC avec une résistance active, qui peut avoir bifurcation et attracteurs chaotiques, avec un contrôle de taux-k des éléments du circuit.
Simule un oscillateur de Chua, un oscillateur RLC avec une résistance active, qui peut avoir bifurcation et attracteurs chaotiques, avec un contrôle de taux-k des éléments du circuit.
iI3 -- Courant initial dans G
iV2 -- Tension initiale aux bornes de C2
iV1 -- Tension initiale aux bornes de C1
kL -- Inductance L
kR0 -- Résistance R0
kC1 -- Capacité C1
kG -- Résistance G
kGa -- Résistance V (terme non linéaire)
kGb -- Résistance V (terme non linéaire)
kGb -- Résistance V (terme non linéaire)
ktime_step -- Pas temporel de l'équation aux différences, permet de contrôler plus ou moins la hauteur.
L'oscillateur de Chua est un simple oscillateur RLC avec une résistance active. L'oscillateur peut être amené à une bifurcation de période, et ainsi vers le chaos, à cause de la réponse non linéaire de la résistance active.
Diagramme du Circuit de l'Oscillateur de Chua
Le circuit est décrit par un ensemble de trois équations différentielles ordinaires appelées équations de Chua :
dI3 R0 1
--- = - -- I3 - - V2
dt L L
dV2 1 G
--- = -- I3 - -- (V2 - V1)
dt C2 C2
dV1 G 1
--- = -- (V2 - V1) - -- f(V1)
dt C1 C1
où f() est une fonction dsicontinue par morceaux simulant la résistance active :
f(V1) = Gb V1 + - (Ga - Gb)(|V1 + E| - |V1 - E|)
Une solution (I3,V2,V1)(t) de ces équations partant d'un état initial (I3,V2,V1)(0) est appelée une trajectoire de l'oscillateur de Chua. L'implémentation dans Csound est une simulation de l'oscillateur de Chua par une équation aux différences avec intégration de Runge-Kutta.
![]() |
Avertissement |
---|---|
Attention ! Certains jeux de paramètres produiront des pics d'amplitude ou une rétroaction positive pouvant endommager vos haut-parleurs. |
Voici un exemple de l'opcode chuap. Il utilise le fichier chuap.csd.
Exemple 77. Exemple de l'opcode chuap.
<CsoundSynthesizer> <CsOptions> csound -RWfo chuas_oscillator.wav </CsOptions> <CsInstruments> sr = 44100 ksmps = 100 nchnls = 2 0dbfs = 10000 gibuzztable ftgen 1, 0, 16384, 10, 1 instr 1 ; sys_variables = system_vars(5:12); % L,R0,C2,G,Ga,Gb,E,C1 or p8:p15 ; integ_variables = [system_vars(14:16),system_vars(1:2)]; % x0,y0,z0,dataset_size,step_size or p17:p19, p4:p5 istep_size = p5 iL = p8 iR0 = p9 iC2 = p10 iG = p11 iGa = p12 iGb = p13 iE = p14 iC1 = p15 iI3 = p17 iV2 = p18 iV1 = p19 iattack = 0.02 isustain = p3 irelease = 0.02 p3 = iattack + isustain + irelease iscale = 1.0 adamping linseg 0.0, iattack, iscale, isustain, iscale, irelease, 0.0 aguide buzz 5000, 440, sr/440, gibuzztable aI3, aV2, aV1 chuap iL, iR0, iC2, iG, iGa, iGb, iE, iC1, iI3, iV2, iV1, istep_size asignal balance aV2, aguide outs adamping * asignal, adamping * asignal endin </CsInstruments> <CsScore> ; Adapted from ABC++ MATLAB example data. i 1 0 20 1500 .1 -1 -1 -0.00707925 0.00001647 100 1 -.99955324 -1.00028375 1 -.00222159 204.8 -2.36201596260071 3.08917625807226e-03 3.87075614929199 7 .4 .004 1 86 30; torus attractor ( gallery of attractors ) i 1 + 20 1500 .425 0 -1 1.3506168 0 -4.50746268737 -1 2.4924 .93 1 1 0 -22.28662665 .009506608 -22.2861576 32 10 2 20 86 30 ; heteroclinic orbit i 1 + 20 1024 .05 -1 -1 0.00667 0.000651 10 -1 .856 1.1 1 .06 51.2 -20.200590133667 .172539323568344 -4.07686233520508 2.5 10 .2 1 66 81 ; periodic attractor (torus breakdown route) i 1 + 20 1024 0.05 -1 -1 0.00667 0.000651 10 -1 0.856 1.1 1 0.1 153.6 21.12496758 0.03001749 0.515828669 2.5 10 0.2 1 66 81 ; torus attractor (torus breakdown route)' </CsScore> </CsoundSynthesizer>
Inventeur de l'oscillateur de Chua : Leon O. Chua |
Auteur de la simulation dans MATLAB : James Patrick McEvoy MATLAB Adventures in Bifurcations and Chaos (ABC++) |
Auteur du portage dans Csound : Michael Gogins |
Nouveau dans la version 5.09 de Csound