rapport de stage master 2 atiam 2006/2007
TRANSCRIPT
RAPPORT DE STAGEMASTER 2 ATIAM 2006/2007
SIMULATION DE CIRCUITS AUDIO ANALOGIQUES NON LINEAIRES
PAR LES SERIES DE VOLTERRA
Etudiant : Ivan CohenResponsable de stage : Thomas HĂ©lie
Table des matiĂšres
Remerciements 1
Introduction gĂ©nĂ©rale 11 Ătat de lâart sur la simulation de circuits audio analogiques . . . . . . . . . . . . . . 1
1.1 Méthodes de modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Méthodes numériques actuellement utilisées pour la résolution des équations 2
2 ĂnoncĂ© et ProblĂ©matique du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
I Ătude dâun circuit analogique : le SansAmp GT2 de Tech21 41 PrĂ©sentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Séparation en étages découplés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 ModĂšles et Ă©quations du circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1 ModĂšle de lâamplificateur opĂ©rationnel . . . . . . . . . . . . . . . . . . . . 8
3.2 Ăquations des composants linĂ©aires . . . . . . . . . . . . . . . . . . . . . . 9
II Introduction aux séries de Volterra 111 SystÚmes mono-entrée et mono-sortie . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1 Définitions et propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Lois dâinterconnexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Exemple : impédance généralisée au cas faiblement non linéaire . . . . . . . 12
2 SystÚmes à deux entrées et deux sorties . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1 DĂ©finitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Lois dâinterconnexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Application de la loi dâinterconnexion en cascade . . . . . . . . . . . . . . . 15
2.4 QuadripĂŽles Ă©lectriques et conventions . . . . . . . . . . . . . . . . . . . . . 16
3 Identification en structures simulables . . . . . . . . . . . . . . . . . . . . . . . . . 17
III MĂ©thode 1 : sĂ©ries de Volterra de chaque Ă©tage 181 Premier Ă©tage Ă©tudiĂ© : lâĂ©tage B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.1 Points dâĂ©quilibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2 ModĂšle exact petits signaux pour lâamplificateur opĂ©rationnel . . . . . . . . 19
1.3 Noyaux de la sĂ©rie de Volterra de lâamplificateur opĂ©rationnel . . . . . . . . 19
1.4 Calcul des noyaux de lâĂ©tage B . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5 Structure simulable de lâĂ©tage B . . . . . . . . . . . . . . . . . . . . . . . . 23
i
Table des matiĂšres
2 Ătages suivants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1 Ătage A1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2 Ătage A2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Ătage C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 Structure des Ă©tages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
IV MĂ©thode 2 : reprĂ©sentations dâĂ©tat 261 Ăcriture des reprĂ©sentations dâĂ©tat de lâĂ©tage B . . . . . . . . . . . . . . . . . . . . 26
1.1 Amplificateur opérationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.2 ImpĂ©dances de lâĂ©tage B . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.3 ReprĂ©sentation dâĂ©tat gĂ©nĂ©rale de lâĂ©tage B . . . . . . . . . . . . . . . . . . 29
2 Résolution du débouclage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1 ProblĂšme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2 Solution (Newton-Raphson) . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3 Ăquations dâĂ©tat pour tous les Ă©tages . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 Résolution numérique des équations . . . . . . . . . . . . . . . . . . . . . . . . . . 31
V Simulation temps réel des deux méthodes et résultats 331 Implantation Volterra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.1 Suréchantillonage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.2 SynthĂšse des filtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2 Implantation Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3 RĂ©sultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Conclusion générale et perspectives 38
Bibliographie 39
VI Annexes 411 Expression des filtres pour les séries de Volterra . . . . . . . . . . . . . . . . . . . . 41
1.1 Ătage A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.2 Ătage B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.3 Ătage C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2 Expression des constantes pour les séries de Volterra . . . . . . . . . . . . . . . . . 43
3 Schéma complet du SansAmp GT2 et valeurs des composants . . . . . . . . . . . . 44
ii
Remerciements
Je tiens Ă remercier spĂ©cialement Thomas HĂ©lie, chargĂ© de recherche dans lâĂ©quipe Analyse SynthĂšse
de lâIrcam, pour mâavoir encadrĂ© comme il lâa fait lors de ce stage. Ses connaissances sur le sujet, ses
conseils avisés et ses critiques, son écoute, son engagement sur mon travail et ses encouragements
mâont Ă©tĂ© dâun Ă©norme secours. Je remercie Ă©galement RĂ©my Muller pour ses conseils, et son intĂ©rĂȘt
sur le stage, ainsi que tous les gens de lâIrcam que jâai pu cotoyer, en particulier RenĂ© CaussĂ©, David
Roze et Didier Perini, et mes collĂšgues de la formation ATIAM.
1
Introduction générale
Alors que la puissance des ordinateurs est en augmentation perpétuelle depuis 15 ans, le domaine de
lâinformatique musicale a apportĂ© un grand nombre de nouveaux moyens aux musiciens dâexprimer
leur art. En particulier, la dĂ©mocratisation des "home-studios" permet Ă des artistes amateurs dâenre-
gistrer et mixer leur musique avec peu de moyens techniques, mĂȘme si la crĂ©ativitĂ© ne sâimprovise
pas encore !
Actuellement, la simulation de circuits audio analogiques est un des secteurs clés de la musique assis-
tĂ©e par ordinateur, que cela concerne des synthĂ©tiseurs, les outils de mixage que lâon trouve en studio
dâenregistrement, ou encore du matĂ©riel reliĂ© aux instruments de musique, comme les amplificateurs
de guitare. Il est possible de remplacer une partie de ces éléments par des solutions logicielles, fon-
dées sur des opérations de traitement de signal et des études électroniques de circuits, ce qui serait
impossible sans le développement des micro-processeurs de ces derniÚres années.
NĂ©anmoins, les simulations numĂ©riques nâont pas encore tenu toutes leurs promesses : plus pratiques
Ă utiliser que leurs Ă©quivalents hardware, plus abordables au niveau des prix, elles peinent encore Ă
atteindre le rĂ©alisme sonore qui permettrait aux musiciens de sâaffranchir totalement des circuits ana-
logiques originaux, malgré des progrÚs notables ces derniÚres années. Nous allons donner un aperçu
des diffĂ©rents moyens mis en oeuvre aujourdâhui, dans des produits commerciaux, pour simuler des
circuits audio analogiques en temps-réel.
1 Ătat de lâart sur la simulation de circuits audio analogiques
1.1 Méthodes de modélisation
Il est difficile de faire un Ă©tat de lâArt exhaustif sur la modĂ©lisation de circuits analogiques, les re-
cherches dans le domaine Ă©tant essentiellement effectuĂ©es au sein dâentreprises en concurrence les
unes avec les autres, ce qui limite lâaccĂšs aux informations prĂ©cises. Il est toutefois possible de dis-
tinguer trois méthodes majeures de simulation de circuits analogiques : une méthode empirique, une
mĂ©thode sâappuyant sur lâidentification, et une mĂ©thode fondĂ©e sur des modĂšles physiques.
MĂ©thode empirique
La méthode empirique consiste à développer un modÚle approximatif avec des opérations de traite-
ment du signal pour le circuit Ă simuler, par exemple en utilisant des filtres simples, des fonctions
polynomiales pour lâaspect non linĂ©aire [24] [25]. Cette mĂ©thode est qualifiĂ©e dâempirique car ses
1
Table des matiĂšres
paramĂštres ainsi que son degrĂ© de complexitĂ© sont ajustĂ©s par lâapprĂ©ciation perceptive des dĂ©ve-
loppeurs. Ces modĂšles sont faciles Ă concevoir, mais sont largement en retrait des autres au niveau
de la qualitĂ© dâimitation, dĂ©pendant fortement de la complexitĂ© du modĂšle, et sâappuyant sur peu
dâĂ©lĂ©ments quantitatifs. Ils sont pourtant trĂšs largement utilisĂ©s.
Identification
La mĂ©thode sâappuyant sur lâidentification a le vent en poupe depuis plusieurs annĂ©es, sur des do-
maines trĂšs prĂ©cis. Tout a commencĂ© avec la possibilitĂ© dâeffectuer des convolutions du signal entrant
en temps réel, avec les calculs de FFT. En mesurant la réponse impulsionnelle de différents systÚmes
parfaitement linéaires (acoustique de salles, simulations de réverbération, haut-parleurs et égaliseurs
numériques en premiÚre approximation), il devient possible de réaliser par convolution des simula-
tions précises. Par la suite, de nombreux logiciels temps réel fondés sur cette technique ont vu le jour
[1], en particulier des réverbérations à convolution comme Audio Ease Altiverb [3] ou Waves IR-1
[15]. Les logiciels de simulation dâamplificateurs guitare comme Guitar Rig [10] ou Revalver MK2
[2] se servent Ă©galement de cette technique pour simuler la rĂ©ponse des haut-parleurs. Aujourdâhui,
des évolutions ont vu le jour, notamment avec la prise en compte de phénomÚnes non linéaires dans
les mesures, sâinspirant parfois de loin des sĂ©ries de Volterra, comme câest le cas avec le Waves Q-
Clone [16] et le Focusrite Liquid Channel [4] (simulation dâĂ©galiseurs et de compresseurs hardware),
le futur produit Ellipse Audio Torpedo qui a été mon sujet de stage au début 2006... Cette méthode
a de lâavenir, elle garantit le rĂ©alisme de la simulation, mais elle se heurte Ă un certain nombre de
difficultés, en particulier sur les moyens de mesurer la non linéarité de façon exhaustive.
Modélisation physique
Actuellement, la méthode qui donne les meilleurs résultats (et que nous avons choisie pour notre
Ă©tude), est celle qui se repose sur des modĂšles physiques. Il sâagit dâĂ©tudier le circuit analogique
Ă simuler au moyen dâĂ©quations sur les tensions Ă chaque noeud, les intensitĂ©s sur chaque branche
du circuit. Les différences entre les logiciels viennent des simplifications et discrétisations utilisées
pour obtenir la solution temps rĂ©el. En effet, cette transition est loin dâĂȘtre Ă©vidente, elle peut se
rĂ©aliser de diffĂ©rentes maniĂšres. Il faut donc trouver des moyens de rĂ©soudre des systĂšmes dâĂ©quations
diffĂ©rentielles non linĂ©aires en temps rĂ©el, en rĂ©duisant la complexitĂ© du problĂšme Ă rĂ©soudre. Câest
la technique utilisĂ©e pour les simulateurs dâamplificateurs les plus performants Ă lâheure actuelle,
comme Guitar Rig [10], Revalver MK2 [2], et Simulanalog Guitar Suite [19]. Elle a fait lâobjet dâune
étude à paraßtre dans la conférence DAFX 2007 à Bordeaux, réalisée par Julius O. Smith, David T.
Yeh et Jonathan S. Abel.
1.2 Méthodes numériques actuellement utilisées pour la résolution des équations
Bien sĂ»r, il est difficile pour nous dâĂ©valuer quelles sont les techniques de rĂ©solution numĂ©rique
dâĂ©quations utilisĂ©es dans les logiciels du commerce. Dans le cas de Simulanalog Guitar Suite, des
articles sont disponibles sur le site de lâapplication [18] [21], donnant une vision dâensemble des tech-
niques sur lesquelles se basent leurs logiciels. Nous pouvons deviner dans lâensemble lâutilisation des
algorithmes de Runge Kutta ou de Newton-Raphson. Par contre, il semblerait que les séries de Volterra
2
Table des matiĂšres
nâaient jamais Ă©tĂ© utilisĂ©es de maniĂšre approfondie dans ce domaine. Cet outil permet de reprĂ©senter
un systĂšme dâĂ©quations non linĂ©aires diffĂ©rentielles par une "sĂ©rie Ă noyaux de convolution", quâon
peut ensuite identifier avec un schĂ©ma bloc numĂ©rique dâopĂ©ration Ă©lĂ©mentaires (addition, multipli-
cation, filtrage linéaire), sans contre réaction. Cette forme est alors dite réalisable, i.e. simulable sans
avoir Ă rĂ©soudre dâĂ©quations implicite (Ă lâĂ©chantillon).
Une prĂ©sentation de lâutilisation des sĂ©ries de Volterra pour la simulation temps rĂ©el du filtre Moog
[7] a dĂ©jĂ Ă©tĂ© faite en 2006 lors du congrĂšs DAFX, par Thomas HĂ©lie, et câest naturellement que
lâidĂ©e de tester la validitĂ© de lâoutil sur dâautres circuits, plus fortement non linĂ©aires par exemple, est
apparue et a fait lâobjet dâun stage...
2 ĂnoncĂ© et ProblĂ©matique du stage
Dans ce stage, de nouveaux moyens de simulation de circuits analogiques sont Ă lâĂ©tude, et en parti-
culier lâutilisation des sĂ©ries de Volterra. Nous nous sommes proposĂ©s dâĂ©tudier une pĂ©dale dâeffets
pour guitare, le SansAmp GT2 de Tech 21, et de la simuler sous forme logicielle temps réel dans le
format plug-in VST, avec cet outil. Nous nous situons donc dans le mĂȘme contexte que les produits
commerciaux, avec la nécessité de réaliser une simulation temps réel, et des performances au niveau
sonore qui soient aussi proche que possible du rendu réel.
Dans un premier temps, nous avons fait une Ă©tude du circuit Ă©lectronique de la pĂ©dale dâeffet, pour
estimer la complexité de la modélisation, et pour déterminer quels seront les modÚles de composants
dont nous aurons besoin pour décrire physiquement le circuit. Ensuite, nous nous sommes intéressés
en détail aux formalismes des séries de Volterra, et à la maniÚre dont nous pourrions faire un pont
entre une reprĂ©sentation Ă©lectronique du circuit, et sa formulation Ă©quivalente avec cet outil. Lâen-
semble des équations a alors été converti en structure simulable numériquement en temps-réel, aprÚs
le calcul des noyaux de Volterra pour chaque étage du circuit qui nous intéresse, et la discrétisation
des filtres numériques. Enfin, nous avons testé une autre méthode de résolution numérique temps-réel
des Ă©quations, sâappuyant sur la mĂ©thode de Runge-Kutta.
3
Chapitre I
Ătude dâun circuit analogique : leSansAmp GT2 de Tech21
1 Présentation
Au dĂ©marrage du stage, il Ă©tait prĂ©vu dâĂ©tudier le fonctionnement dâun amplificateur guitare Ă lampes.
Mais un gros problĂšme sâest alors posĂ© sur les composants clĂ©s de ce circuit audio : la lampe et le
transformateur. En effet, il nâexiste aujourdâhui aucun modĂšle satisfaisant de ces composants, qui
tienne compte de leur comportement non linéaire. Il existe un peu de littérature sur leur fonction-
nement idéal, notamment les articles [17] [13], mais rien qui tienne compte du champ de fonction-
nement complet des circuits. Lâexplication de ce manque dâinformations est simple : ces composants
sont considérés comme étant dépassés pour des applications industrielles à plus large échelle, contrai-
rement Ă notre domaine dâĂ©tude oĂč ils sont des Ă©lĂ©ments essentiels. Par consĂ©quent, la recherche de
ce type de modĂšle est effectuĂ©e dans des entreprises, pour ĂȘtre ensuite appliquĂ©e directement sur des
produits commerciaux. Il nâest donc pas dans leur intĂ©rĂȘt de publier le rĂ©sultat de leurs recherches...
LâĂ©tude de ces composants pouvant faire lâobjet dâun stage complet, nous nous sommes rabattus sur
la pédale SansAmp GT2 de Tech21, qui fait office de préamplificateur guitare, avec des paramÚtres
permettant de sculpter le son en partant dâun Fender Twin Ă un Mesa Boogie en saturation. Son circuit
est trĂšs bien connu (voir annexes).
La pĂ©dale dâeffet embarque trois simulations dâamplificateurs (California pour Mesa-Boogie, British
pour Marshall, Tweed pour Fender), quâon choisit Ă lâaide du switch S3. Elle donne la possibilitĂ©
aussi de choisir le nombre dâĂ©tages de gain (Clean pour avoir un son clair, puis Hi-Gain et Hot-Wired
pour des sons saturés). Il est enfin possible de contrÎler une simulation de haut-parleur + microphone,
ainsi que lâĂ©galisation avec deux potentiomĂštres agissant sur les frĂ©quences graves et aigues.
2 Séparation en étages découplés
La description physique du SansAmp GT2 est difficilement réalisable sans partitionner les problÚmes,
câest-Ă -dire en Ă©tudiant sĂ©parĂ©ment chaque Ă©tage du circuit. Cela ne peut ĂȘtre pertinent que si les diffĂ©-
rents étages sont choisis judicieusement, en étant découplés, ce qui permettra de cascader directement
leurs structures au sein de la simulation, et de ne pas se soucier de lâinteraction dâun bloc avec un autre.
4
Chapitre I â Ătude dâun circuit analogique : le SansAmp GT2 de Tech21
Figure I.1: Le SansAmp GT2 de Tech21
Figure I.2: Alimentation du circuit
Pour commencer, nous Ă©tudions lâĂ©tage dâalimentation du circuit (voir figure I.2). Celui-ci fournit
une tension de polarisation de 4.5 Volts à différents emplacements du circuit, grùce au pont diviseur
formĂ© par les rĂ©sistances R1 et R2, et la tension dâalimentation de 9 Volts, fournie par pile ou ali-
mentation secteur. Les condensateurs permettent de découpler les différents étages reliés au potentiel
de polarisation (notĂ© VBIAS). On peut donc approximer lâensemble de lâĂ©tage dâalimentation par un
générateur de tension VBIAS idéal.
Ensuite, nous devons nous pencher sur le découpage du circuit en plusieurs étages et blocs découplés.
Celui-ci est facilité par la présence des amplificateurs opérationnels dans le circuit, dont nous allons
voir une modélisation précise ci-dessous. Une propriété de cette modélisation est que le courant sur
les entrĂ©es V+ et V- de lâamplificateur opĂ©rationnel est nul. On profite de cette propriĂ©tĂ© pour identifier
nos Ă©tages et blocs Ă lâentrĂ©e de certains amplificateurs opĂ©rationnels, comme on peut le voir sur les
figures I.3 I.4 I.5 I.6 I.7
Figure I.3: Mise en cascade des Ă©tages
5
Chapitre I â Ătude dâun circuit analogique : le SansAmp GT2 de Tech21
Figure I.4: Ătage A1
Figure I.5: Ătage A2
Figure I.6: Ătage B
La "chaßne électronique audio" peut donc se résumer ainsi :
âą Le gĂ©nĂ©rateur de signal : la guitare Ă©lectrique, qui peut ĂȘtre considĂ©rĂ©e comme un gĂ©nĂ©rateur de
tension idĂ©al, ne dĂ©bitant pas dâintensitĂ©, avec une tension maximale en valeur absolue de 400 mV
environ ;
âą LâĂ©tage A : il a une fonction de prĂ©amplification du signal provenant de la guitare. Il est divisĂ©
en deux parties, un étage A1 qui correspond à la modélisation analogique des amplificateurs Ca-
lifornia et British (avec des sonorités plutÎt saturées), et un étage A2 qui ne sature pas, du fait de
6
Chapitre I â Ătude dâun circuit analogique : le SansAmp GT2 de Tech21
Figure I.7: Ătage C
la prĂ©sence de lâamplificateur en configuration de suiveur. Les deux sous-parties fonctionnent de
maniĂšre exclusive, selon la position du switch S3.
⹠Les étages B et C : ils ont comme fonction de mettre les amplificateurs opérationnels en régime
saturĂ©, dont la saturation est contrĂŽlĂ©e par lâamplitude en tension de lâentrĂ©e de lâĂ©tage B, modi-
fiable par lâutilisateur via le potentiomĂštre R11 appelĂ© aussi "DRIVE". Il est reprĂ©sentĂ© par deux
rĂ©sistances avec une jonction au milieu, dont les valeurs sont respectivement αR11 et (1â α)R11
A lâintĂ©rieur de ces Ă©tages, des sĂ©parations supplĂ©mentaires par blocs sont faites, ce qui permet de
traiter en plusieurs temps les sections linéaires et non linéaires de chaque étage. Nous allons voir
comment gĂ©rer les interactions entre ces blocs, interactions qui nâexistent pas par contre entre nos
Ă©tages.
Note : toutes les valeurs des composants sont donnés en annexe.
Pour ce stage, nous ne nous sommes intĂ©ressĂ©s quâaux premiers Ă©tages du SansAmp GT2, i.e. les
étages non linéaires qui sont les plus intéressants à étudier. Les étages suivants, linéaires et plus
simples Ă modĂ©liser, feront lâobjet dâune prochaine Ă©tude.
3 ModĂšles et Ă©quations du circuit
La premiÚre étape pour la simulation avec des modÚles physiques est de réaliser la description par des
équations du fonctionnement du circuit électronique. Pour cela, on utilise le théorÚme de Millmann sur
chacun des noeuds, ainsi quâun modĂšle pour chaque composant particulier du circuit (amplificateur
opérationnel dans ce cas, tubes, diodes ou transistors en général...). Des vérifications sur les modÚles
ont été effectuées avec le logiciel LTSpice/Switcher CAD III, une version gratuite de Spice aussi
complĂšte que PSpice par exemple, disponible pour Windows seulement sur le site de Linear Tech-
nology [20]. Non seulement LTSpice peut réaliser les simulations de base (analyse petits-signaux,
harmonique, points dâĂ©quilibre, analyse des transitoires), mais en plus il lui est possible de remplacer
les gĂ©nĂ©rateurs de tension par des signaux au format WAV, puis dâexporter en WAV ce signal traitĂ©
par le circuit.
7
Chapitre I â Ătude dâun circuit analogique : le SansAmp GT2 de Tech21
Figure I.8: ModĂšle de lâamplificateur opĂ©rationnel
3.1 ModĂšle de lâamplificateur opĂ©rationnel
Les sonorités saturées du SansAmp GT2 sont produites par un amplificateur opérationnel, le modÚle
TL072 de Texas Instruments. On peut trouver son Datasheet [11] sur le site de Texas Instruments,
donnant quelques-unes de ses caractéristiques, ainsi que sa structure avec des transistors. Pour pouvoir
le dĂ©crire Ă©lectroniquement avec des Ă©quations, il est nĂ©cessaire dâen rĂ©cupĂ©rer un modĂšle grand
signaux réel, qui tienne compte de son fonctionnement non linéaire ainsi que du "Slew Rate", et de
la saturation du courant sur les frĂ©quences Ă©levĂ©es. Un modĂšle est dĂ©crit dans [22], ainsi que dâautres
plus complexes dans [5] [9], dont nous nous sommes servis pour faire des simulations dans LTSpice.
Le modĂšle I.8 que nous utilisons, issu de [22], produit des non linĂ©aritĂ©s au moyen dâĂ©quations condi-
tionnelles, de la forme y = ax + b en régime linéaire, et y = a en régime de saturation. Dans le
but dâĂ©crire des Ă©quations analytiques, ces expressions ont Ă©tĂ© remplacĂ©es par des tangentes hyperbo-
liques. Nous obtenons la description suivante :
ig = IAO tanh(GinAO(V+ â Vâ)),
ig = CAOdug
dt+
ug
RAO,
Vout = UoutAO tanh[Gout
AO(ug âRoutIout)] + VBIAS , (I.1)
oĂč IAO, GinAO, CAO, Rout, Gout
AO, et UoutAO sont les paramĂštres du TL072. 1
Il est possible de simplifier ces Ă©quations. Pour cela nous posons :
Δ = V+ â Vâ
U inAO = IAO/CAO
ÏAO =1
RAOCAO(I.2)
1Les valeurs numĂ©riques des paramĂštres de lâamplificateur opĂ©rationnel sont dĂ©terminĂ©s Ă lâaide de LTSpice pour lesparamĂštres statiques, de maniĂšre empirique, en changeant les paramĂštres de gain du modĂšle que nous utiliserons jusquâĂ quela rĂ©ponse avec un V+ et un V- donnĂ©s soit la mĂȘme que la rĂ©ponse du modĂšle plus complexe. Pour les autres paramĂštres(RAO , CAO , Gin
AO , U inAO), nous nous sommes référés aux caractéristiques du Datasheet [11], et aux valeurs par défaut
proposées dans [22].
8
Chapitre I â Ătude dâun circuit analogique : le SansAmp GT2 de Tech21
Figure I.9: Diviseur de tension à impédances complexes
Nous obtenons alors :
dug
dt= U in
AO tanh(GinAOΔ)â ÏAOug
Vout = UoutAO tanh[Gout
AO(ug âRoutIout)] + VBIAS (I.3)
3.2 Ăquations des composants linĂ©aires
Nous pouvons Ă©tudier les Ă©quations de chacun des blocs sĂ©parĂ©ment. A lâexception du bloc 2 de
lâĂ©tage A2, ceux-ci sont des diviseurs de tensions avec des impĂ©dances complexes, comme nous
pouvons le voir sur la figure I.9
Dâune maniĂšre gĂ©nĂ©rale, nous pouvons donc Ă©crire dans le domaine de Laplace :
Vout = Vin ĂZ2
Z1 + Z2,
Z1(s) = R1 +1
C1s,
Z1(s) = R2 (I.4)
soit
F (s) =R2C1s
1 + (R1 + R2)C1s(I.5)
Concernant le bloc 2 de lâĂ©tage A2, la rĂ©solution sâest effectuĂ©e sous Maple, autour du point dâĂ©qui-
libre de lâĂ©tage, avec donc les rĂ©sistances R6 et R7 reliĂ©es Ă une masse. On entre le systĂšme suivant
sous Maple, en utilisant le théorÚme de Milmann :
9
Chapitre I â Ătude dâun circuit analogique : le SansAmp GT2 de Tech21
(C4ÎŽ
ÎŽt+
1R5
)VB3 = C4dVB4
dt+
VB6
R5+ Iout
AO
((C4 + C5)ddt
+1
R7)VB4 = C4
dVB3
dt+ C5
dVB5
dt
((C5 + C6)ddt
+1
R6)VB5 = C5
dVB4
dt+ C6
dVB6
dt
(C6ddt
+1
R5)VB6 = C6
dVB5
dt+
VB3
R5
IoutAO =
VB3
RoutAO
(I.6)
Maple nous donne alors lâexpression du filtre. Lâensemble des coefficients des filtres, dont nous ver-
rons la nomenclature au chapitre 3, est disponible en annexes.
10
Chapitre II
Introduction aux séries de Volterra
Dans ce chapitre, nous allons définir et donner les propriétés principales des séries de Volterra. Cet
outil peut ĂȘtre vu comme une gĂ©nĂ©ralisation du filtrage linĂ©aire, au cas faiblement non linĂ©aire. Pour
une présentation détaillée, nous renvoyons à [8] [6] [14] [12].
Ce chapitre est organisé comme suit : en §1, les séries de Volterra pour un systÚme mono-entrée
mono-sortie sont dâabord introduites ; puis en §2, le cas des quadripoles est considĂ©rĂ© (deux entrĂ©es
et deux sorties) ; enfin §3, un principe dâidentification en structures simulables est donnĂ©.
1 SystÚmes mono-entrée et mono-sortie
1.1 Définitions et propriétés
Un systÚme est décrit par les séries de Volterra si :
y(t) =+âân=0
â« +â
ââ...
â« +â
ââïžž ïž·ïž· ïžžn
hn(t1, t2, ..., tn) u(tâ t1) u(tâ t2) ... u(tâ tn) dt1dt2...dtn (II.1)
Figure II.1: SystÚme non linéaire décrit par les séries de Volterra
Les fonctions hn sont appelées noyaux de Volterra, et décrivent le systÚme. On remarque que celui-ci
est linéaire si et seulement si hn = 0 pour n ℠2. La représentation en séries de Volterra du systÚme
devient Ă©quivalente Ă celle dâun filtre linĂ©aire, avec la forme dâune opĂ©ration de convolution.
Pour des systĂšmes causaux (hn(t1, ..., tn) = 0 si âk | tk < 0 ), on dĂ©finit les noyaux dans le domaine
de Laplace par, pour tout (s1, ..., sn) â D â CN ,
Hn(s1, ..., sn) =â«
Rn+
hn(t1, ..., tn) exp(â(s1t1 + s2t2 + · · ·+ sntn)),dt1dt2...dtn, (II.2)
11
Chapitre II â Introduction aux sĂ©ries de Volterra
oĂč D est le domaine de convergence de la transformĂ©e de Laplace. Pour un systĂšme stable, D contient
s â C | <e(s) > 0. Une notion de convergence existe pour ses sĂ©ries, mais nous ne nous en
occupons pas ici.
1.2 Lois dâinterconnexion
Considérons deux systÚmes non linéaires représentés respectivement par leurs séries de Volterra fn
et gn, ou encore Fn et Gn dans le domaine de Laplace. Leurs interconnexions, par une somme, un
produit instantané, et une mise en cascade, représentent encore une série de Volterra hn donnée par,
respectivement, pour n â„ 1 :
Figure II.2: Somme de séries de Volterra
Figure II.3: Produit de séries de Volterra
Figure II.4: Mise en cascade de séries de Volterra
Hn(s1, ..., sn) = Fn(s1, ..., sn) + Gn(s1, ..., sn) (II.3)
Hn(s1, ..., sn) =nâ1âp=1
Fp(s1, ..., sp) Gnâp(sp+1, ..., sn) (II.4)
Hn(s1, ..., sn) =nâ
p=1
âm1+...+mp=nm1,...,mpâ„1
Fm1(s1, ..., sm1) ... Fmp(sm1+...+mpâ1+1, ..., sn)
Gp(s1 + ... + sm1 , ..., sm1+...+mpâ1+1 + ... + sn) (II.5)
1.3 Exemple : impédance généralisée au cas faiblement non linéaire
Pour les circuits Ă©lectroniques, on peut gĂ©nĂ©raliser la notion dâimpĂ©dance usuelle (dipĂŽle linĂ©aire)
au cas de dipĂŽles faiblement non linĂ©aires Ă lâaide des sĂ©ries de Volterra, de la maniĂšre suivante : la
tension u(t) aux bornes du dipĂŽle est modĂ©lisĂ©e par la sortie dâune sĂ©rie de Volterra de noyaux Znet dâentrĂ©e i(t), i.e. lâintensitĂ© traversant le dipĂŽle (cf II.5 II.6).
12
Chapitre II â Introduction aux sĂ©ries de Volterra
Figure II.5: Impédance généralisée de noyaux Zn
Figure II.6: Admittance généralisée de noyaux Yn
Cette dĂ©finition donne bien une gĂ©nĂ©ralisation du cas linĂ©aire. En effet, considĂ©rons lâexemple linĂ©aire
dâune rĂ©sistance et dâun condensateur en sĂ©rie. Les noyaux de Volterra "impĂ©dance" de ce dipĂŽle sont
donnés par :
Z1(s1) = R +1
Cs1
Zn(s1, ..., sn) = 0 si n â„ 2 (II.6)
De mĂȘme, une gĂ©nĂ©ralisation similaire existe pour les admittances : lâentrĂ©e est la tension u(t), la
sortie i(t) et les noyaux sont notés Yn.
La conversion des noyaux admittance Yn en noyaux impédance Zn est possible si Y1 6= 0. Elle
est donnée par, pour n ℠1,
Zn(s1, ..., sn) = [Y1(s1)Y1(s2) . . . Y1(sn)]â1
[In(s1, n)
ânâ1âp=1
âm1+...+mp=nm1,...,mpâ„1
Ym1(s1, ..., sm1) ... Ymp(sm1+...+mpâ1+1, ..., sn)
Zp(s1 + ... + sm1 , ..., sm1+...+mpâ1+1 + ... + sn)]
(II.7)
oĂč In reprĂ©sente le systĂšme identitĂ© de sorte que :
I1(s1) = 1
In(s1, ..., sn) = 0, si n â„ 2. (II.8)
La conversion symĂ©trique est obtenue en Ă©changeant le rĂŽle de Yn et de Zn. Ce rĂ©sultat sâobtient
simplement en Ă©crivant Ă lâaide de II.5 que la cascade de Yn et de Zn dĂ©finit le systĂšme identitĂ©
(Hn = In).
Pour les deux premiers ordres (n = 1, n = 2), cette conversion sâĂ©crit :
Z1(s1) = [Y1(s1)]â1 (II.9)
Z2(s1, s2) = â[Y1(s1)Y1(s2)]â1 Z1(s1 + s2)Y2(s1, s2) (II.10)
Remarque : on retrouve bien la relation connue pour le cas linéaire.
13
Chapitre II â Introduction aux sĂ©ries de Volterra
2 SystÚmes à deux entrées et deux sorties
Les sĂ©ries de Volterra peuvent ĂȘtre gĂ©nĂ©ralisĂ©es Ă des systĂšmes non linĂ©aires multi-entrĂ©es et multi-
sorties. Nous allons voir les conventions qui concernent les systÚmes non linéaires avec deux entrées
et deux sorties, dont nous aurons besoin pour la modélisation électronique.
2.1 DĂ©finitions
Figure II.7: Séries de Volterra deux entrées et deux sorties
Soit (m,n) â M2 = N2 \ (0, 0). La formulation dâun systĂšme non linĂ©aire deux entrĂ©es deux
sorties sâĂ©crit de la maniĂšre suivante :
y1(t) =+âân=0
â« +â
ââ...
â« +â
ââïžž ïž·ïž· ïžžn
[hm,n(t1, t2, ..., tm, Ï1, ..., Ïn)]1
u1(tâ t1) ... u1(tâ tm) u2(tâ Ï1) ... u2(tâ Ïn) dt1...dtmdÏ1...dÏn
y2(t) =+âân=0
â« +â
ââ...
â« +â
ââïžž ïž·ïž· ïžžn
[hm,n(t1, t2, ..., tm, Ï1, ..., Ïn)]2
u1(tâ t1) ... u1(tâ tm) u2(tâ Ï1) ... u2(tâ Ïn) dt1...dtmdÏ1...dÏn (II.11)
De mĂȘme que pour les systĂšmes mono-entrĂ©e et mono-sortie, on peut dĂ©finir les transformĂ©es de La-
place de y(t), u(t) et hm,n(t1, t2, ..., tm, Ï1, ..., Ïn). Il prennent la forme Y (s1, . . . , sm, Ï1, . . . , Ïn),U(s1, . . . , sm, Ï1, . . . , Ïn) et H(s1, . . . , sm, Ï1, . . . , Ïn). Ce sont des vecteurs de dimension 2. Les
variables s1, ..., sn affichent la dĂ©pendance de Hm,n en fonction de lâentrĂ©e 1 tandis que les variables
Ï1, ..., Ïn affichent la dĂ©pendance de Hm,n en fonction de lâentrĂ©e 2.
2.2 Lois dâinterconnexion
Nous allons nous intĂ©resser Ă prĂ©sent aux lois dâinterconnexion de deux sĂ©ries de Volterra Ă deux
entrées et deux sorties. Pour la somme des noyaux, celle-ci est immédiate comme dans le cas des
séries mono-entrée et mono-sortie. Nous ne nous intéressons pas au produit, dont nous ne servirons
pas.
Voyons à présent le cas de la cascade de séries de Volterra à deux entrées et deux sorties. On utilise
les notations suivantes :
14
Chapitre II â Introduction aux sĂ©ries de Volterra
Figure II.8: Mise en cascade de séries de Volterra deux entrées deux sorties
s(1,m) = sm (II.12)
s(2,n) = Ïn (II.13)
(1, (m,n)) =((1, 1), . . . , (1,m), (2, 1), . . . , (2, n)
)(II.14)
s1,(m,n) =(s1,1, . . . , s1,m, s2,1, . . . , s2,n
)(II.15)
s1,(m,n) = s1,1 + · · ·+ s1,m + s2,1 + · · ·+ s2,n (II.16)
(m,n) +(1, (mâČ, nâČ)
)=
((1,m + 1), . . . , (1,m + mâČ), (2, n + 1), . . . , (2, n + nâČ)
)(II.17)
M(mâČ,nâČ)(m,n) = ia,b â (M)(m
âČ,nâČ) | i1,(mâČ,nâČ) = (m,n) (II.18)
On dĂ©finit i(q, Îœ) par :
i(1, Îœ) =Îœâ1âÎČ=1
i1,ÎČ + (1, i1,Îœ)
i(2, Îœ) =mâČâ
ÎČ=1
i1,ÎČ +Îœâ1âÎČ=1
i2,ÎČ + (1, i2,Îœ) (II.19)
On Ă©crit finalement la relation dâinterconnexion deux entrĂ©es et deux sorties :
Hm,n(s1,(m,n)) =â
(mâČ,nâČ)âM2
mâČ+nâČâ€m+n
âia,bâM(mâČ,nâČ)
(m,n)
mâČâÎœ=1
[Fi1,Îœ ]1(si(1,Îœ))nâČâ
Μ=1
[Fi2,Μ ]2(si(2,Μ))
GmâČ,nâČ(si(1,1), . . . , si(1,mâČ), si(2,1), . . . , si(2,nâČ)) (II.20)
2.3 Application de la loi dâinterconnexion en cascade
Pour clarifier un peu les choses, nous allons dĂ©tailler lâapplication de la formule prĂ©cĂ©dente pour le
terme H(1, 0), soit (m,n) = (1, 0).
La relation II.20 nous dit que mâČ + nâČ â€ m + n = 1 soit (mâČ, nâČ) â (1, 0), (0, 1). Nous pouvons
donc Ă©crire des relations dans sur les deux valeurs possibles de (mâČ, nâČ). Cela nous permet de trouver
que i1,1 = (1, 0) = i2, 1 et que i(1, 1) = ((1, 1)) = i(2, 1)
15
Chapitre II â Introduction aux sĂ©ries de Volterra
En appliquant la formule dâinterconnexion, on trouve :
H1,0(s1) = [F1,0(s1)]1G1,0(s1) + [F1,0(s1)]2G0,1(s1) (II.21)
2.4 QuadripĂŽles Ă©lectriques et conventions
De la mĂȘme façon que prĂ©cĂ©demment avec les impĂ©dances gĂ©nĂ©ralisĂ©es, nous allons dĂ©finir un forma-
lisme avec des séries de Volterra à deux entrées et deux sorties, pour faire une correspondance avec
des blocs de composants Ă©lectroniques. Ces blocs vont donc ĂȘtre dĂ©finis comme des quadripĂŽles de
Volterra, prenant en entrĂ©e la tension dâentrĂ©e du bloc Vin, le courant de sortie Iout II.9. La sortie du
quadripĂŽle donnera la tension de sortie du bloc Vout, et le courant dâentrĂ©e Iin. Lâinversion dans notre
convention de lâemplacement dans le quadripĂŽle de Volterra des courants va nous permettre de tenir
compte du couplage entre les quadripÎles. Leur mise en série et en parallÚle sont décrites dans les
figures II.10 II.11.
Figure II.9: Formalisme des quadripĂŽles
Figure II.10: Mise en série
La notation en quadripĂŽles de Volterra va ĂȘtre mise en application lors de la recherche des noyaux de
lâamplificateur opĂ©rationnel.
En pratique, lors de la rĂ©solution des problĂšmes et de la mise en cascade, on va essayer de se limiter Ă
un minimum dâentrĂ©es sorties si des simplifications sont possibles, pour allĂ©ger la forme des calculs,
et limiter le nombre de bouclages empĂȘchant la rĂ©solution. Ces bouclages pourront ĂȘtre ensuite sup-
primĂ©s Ă lâaide dâun schĂ©ma annulateur, comme nous lâavons vu pour le changement de convention
impĂ©dance vers admittance, et nous pourrons alors appliquer directement nos relations dâintercon-
nexion.
Par contre, nous remarquons que la présence de contre-réactions et la multiplication des noeuds au
sein dâun circuit peut rendre difficile le passage de lâĂ©lectronique Ă des dipĂŽles et quadripĂŽles de
Volterra. Câest pourquoi nous nâavons pas trouvĂ© de mĂ©thode systĂ©matique de rĂ©solution du problĂšme
16
Chapitre II â Introduction aux sĂ©ries de Volterra
Figure II.11: Mise en parallĂšle
Figure II.12: ModĂšle de la structure simulable
(voir chapitre suivant), et que les opérations de débouclage sont composées de simplifications des
noeuds "Ă la main" puis de lâutilisation du schĂ©ma annulateur.
3 Identification en structures simulables
Soit le systÚme décrit dans la figure II.12, avec n filtres linéaires dont les sorties sont multipliées entre
elles, puis cascadĂ© avec un autre filtre linĂ©aire. Cette structure peut sâĂ©crire sous la forme dâune sĂ©rie
de Volterra dont tous les noyaux sont nuls sauf Ă lâordre n, il sâĂ©crit A11(s1) A2
1(s2) ... An1 (sn)B1(s1 +
... + sn).
Soit un systĂšme de noyaux hn. DâaprĂšs II.1, y(t) peut sâĂ©crire comme une somme de yn(t) pour
chaque ordre de Volterra. En Ă©crivant lâexpression des noyaux et en les identifiant Ă la structure que
lâon vient de voir, il devient possible de dĂ©terminer le schĂ©ma permettant de simuler le systĂšme.
La structure simulable est composée de cascades de blocs élémentaires, additions, multiplications et
filtres linéaires, sans aucun bouclage.
17
Chapitre III
Méthode 1 : séries de Volterra de chaqueétage
A présent, nous allons mettre en application les formalismes que nous venons de voir pour réaliser la
simulation du SansAmp GT2. Le calcul des noyaux de Volterra est prĂ©sentĂ© jusquâĂ lâordre 3 dans un
premier temps, la complexité des calculs augmentant significativement dans les ordres plus élevés.
1 Premier Ă©tage Ă©tudiĂ© : lâĂ©tage B
Nous avons commencĂ© par Ă©tudier lâĂ©tage du circuit le plus simple : lâĂ©tage B, reprĂ©sentĂ© par la figure
I.6. LâĂ©tude suit le cheminement suivant : recherche des points dâĂ©quilibre de lâĂ©tage(§1.1), modĂšle
exact petits signaux de lâamplificateur opĂ©rationnel (§1.2) et calcul des noyaux de Volterra (§1.3),
calcul des noyaux de lâĂ©tage B (§1.4), puis identification Ă une structure simulable (§1.5).
1.1 Points dâĂ©quilibre
Une reprĂ©sentation en sĂ©ries de Volterra dĂ©termine la dynamique non linĂ©aire "petit signal" dâun
systĂšme autour dâun point de rĂ©fĂ©rence. De façon naturelle, le point de rĂ©fĂ©rence le plus adaptĂ© dans
notre cas est le point dâĂ©quilibre du circuit "au repos" (i.e. avec un signal dâentrĂ©e nul). Ce point
dâĂ©quilibre paramĂ©trise les expressions des noyaux de Volterra, et fixe leur domaine de validitĂ©.
A lâĂ©quilibre, les tensions Vin = V+, Vâ et Vout, et les intensitĂ©s IAO et Iout sont constantes. LâĂ©tage
B devient donc équivalent au circuit présenté figure III.2, les condensateurs étant au repos équivalents
Ă des circuits ouverts.
Figure III.1: ReprĂ©sentation simplifiĂ©e de lâĂ©tage B, avec Z1 = RS3 + 1/(C11s)et Z2 = R14 + 1/(C12s)
18
Chapitre III â MĂ©thode 1 : sĂ©ries de Volterra de chaque Ă©tage
Figure III.2: ReprĂ©sentation Ă lâĂ©quilibre de lâĂ©tage B
Figure III.3: Structure de lâamplificateur opĂ©rationnel
On note A = a + Aâ avec A la grandeur rĂ©elle, Aâ la grandeur Ă lâĂ©tat dâĂ©quilibre, et a la grandeur
en rĂ©gime petits signaux. On cherche V âin = V â
+, V ââ, V â
out, IâAO et Iâout . La tension dâentrĂ©e V â+ est
Ă©gale Ă VBIAS . Le courant qui rentre dans lâentrĂ©e V- est nul par dĂ©finition, ce qui implique que la
tension aux bornes de R14 lâest aussi. Donc V ââ = V â
out. De plus, la sortie de lâĂ©tage B est connectĂ©e Ă
lâentrĂ©e de lâamplificateur opĂ©rationnel de lâĂ©tage C, qui a un courant entrant nul. Donc Iâout = 0. Et
finalement, par dĂ©finition de notre modĂšle (voir chapitre 1), nous avons V â+ = V â
â donc V âout = VBIAS
Ă lâĂ©quilibre.
1.2 ModĂšle exact petits signaux pour lâamplificateur opĂ©rationnel
Maintenant que nous avons les points dâĂ©quilibre pour les diffĂ©rentes grandeurs de lâĂ©tage B, nous
pouvons Ă©tablir les Ă©quations petits signaux de lâamplificateur opĂ©rationnel.
dug
dt= U in
AO tanh(GinAOΔ)â ÏAOug
vout = UoutAO tanh[Gout
AO(ug âRoutiout)]
Δ = v+ â vâ
U inAO = IAO/CAO
ÏAO =1
RAOCAO(III.1)
1.3 Noyaux de la sĂ©rie de Volterra de lâamplificateur opĂ©rationnel
Les équations suivantes correspondent au schéma bloc présenté en figure III.3. Chacun de ces blocs
est représentable par une série de Volterra élémentaire. Néanmoins, le calcul de séries de Volterra ne
19
Chapitre III â MĂ©thode 1 : sĂ©ries de Volterra de chaque Ă©tage
peut se faire que si nous avons Ă notre disposition des expressions qui font intervenir des polynĂŽmes.
Nous calculons donc le développement limité du tangente hyperbolique.
tanh(x) = x + T3 Ă x3 + o(x4) = xâ 1/3Ă x3 + o(x4) (III.2)
PrĂ©cisĂ©ment, nous avons T3 = â1/3. Voyons Ă prĂ©sent lâexpression des noyaux de chaque bloc :
⹠Le bloc 1 correspond à une fonction instantanée développable en série entiÚre. Ses noyaux de
Volterra sont donnĂ©s dans le domaine de Laplace par, pour k â N :
F 12k+1(s1,2k+1) = U in
AOT2k+1(GinAO)2k+1
F 12k(s1,2k) = 0 (III.3)
⹠Le bloc 2 correspond à un filtre linéaire. Ses noyaux de Volterra sont donnés par :
F 21 (s1) =
11 + s1
ÏAO
F 2n(s1,n) = 0 si n â„ 2 (III.4)
âą Pour le bloc 3 on a :
F 31 (s1) = Rout
F 3n(s1,n) = 0 si n â„ 2 (III.5)
âą Pour le bloc 4 on a :
F 42k+1(s1,2k+1) = Uout
AOT2k+1(GoutAO)2k+1
F 42k(s1,2k) = 0 (III.6)
En utilisant les lois dâinterconnexion (Ă©quations ...), on trouve les noyaux (deux entrĂ©es, une sortie)
de lâensemble bloc 1-3 et du sommateur, donnĂ©s par :
F 1â3m,n (s1,m, Ï1,n) = F 1:2
m (s1,m) = F 1m(s1,m)F 2
1 (s1,m) si n = 0
F 1â3m,n (s1,m, Ï1,n) = âF 3
1 (s1) si (m,n) = (0, 1)
F 1â3m,n (s1,m, Ï1,n) = 0 si n 6= 0 6= m (III.7)
De mĂȘme pour lâamplificateur opĂ©rationnel, on trouve les noyaux (deux entrĂ©es, une sortie) donnĂ©s
par les lois dâinterconnexion :
20
Chapitre III â MĂ©thode 1 : sĂ©ries de Volterra de chaque Ă©tage
H1,0(s1) = F 1:21 (s1)F 4
1 (s1)
H0,1(Ï1) = âRoutF41 (Ï1)
H2,0(s1, s2) = H1,1(s1, Ï1) = H0,2(Ï1, Ï2) = 0
H3,0(s1, s2, s3) = F 1:21 (s1)F 1:2
1 (s2)F 1:21 (s3)F 4
3 (s1, s2, s3)
+F 1:23 (s1, s2, s3)F 4
1 (s1 + s2 + s3)
H2,1(s1, s2, Ï1) = F 1:21 (s1)F 1:2
1 (s2)F 1:21 (Ï1)(F 4
3 (s1, s2, Ï1) + F 43 (s1, Ï1, s2) + F 4
3 (Ï1, s1, s2))
H1,2(s1, Ï1, Ï2) = F 1:21 (s1)F 1:2
1 (Ï1)F 1:21 (Ï2)(F 4
3 (s1, Ï1, Ï2) + F 43 (Ï1, s1, Ï2) + F 4
3 (Ï1, Ï2, s1))
H0,3(Ï1, Ï2, Ï3) = âRoutF43 (Ï1, Ï2, Ï3) (III.8)
Soit comme résultat final :
H1,0(s1) =A1,0
1 + s1/ÏAO
H0,1(Ï1) = âA0,1
H2,0(s1, s2) = H1,1(s1, Ï1) = H0,2(Ï1, Ï2) = 0
H3,0(s1, s2, s3) =A3,0
(1 + s1/ÏAO)(1 + s2/ÏAO)(1 + s3/ÏAO)+
AâČ3,0
1 + s1+s2+s3ÏAO
H2,1(s1, s2, Ï1) =A2,1
(1 + s1/ÏAO)(1 + s2/ÏAO)
H1,2(s1, Ï1, Ï2) =A1,2
1 + s1/ÏAO
H0,3(Ï1, Ï2, Ï3) = A0,3 (III.9)
1.4 Calcul des noyaux de lâĂ©tage B
En reprĂ©sentant lâĂ©tage B Ă lâaide des systĂšmes linĂ©aires Z1, Y2 = 1/Z2 et de la sĂ©rie de Volterra
Hm,n pour lâamplificateur opĂ©rationnel, on obtient la structure (exacte, petits signaux) donnĂ©e en
figure III.4. Cette figure fait apparaßtre plusieurs boucles. Ceci pose des difficultés pour le calcul
des noyaux de Volterra de lâĂ©tage B. Pour lever ce problĂšme, on construit des systĂšmes Ă©quivalents
non bouclĂ©s, en procĂ©dant en deux Ă©tapes : suppression de la boucle fermĂ©e Z1 â Y2 â Z1, et
suppression de la boucle impliquant Hm,n grĂące Ă lâintroduction dâun "systĂšme annulateur".
Figure III.4: Structure de lâĂ©tage B
21
Chapitre III â MĂ©thode 1 : sĂ©ries de Volterra de chaque Ă©tage
Suppression de la boucle fermĂ©e Z1 â Y2 â Z1
On considÚre le bouclage des impédances / admittances comme un schéma bloc avec une entrée et
deux sorties. On obtient la représentation suivante :
Figure III.5: Suppression de la boucle fermée
On peut alors Ă©crire :
Z = Y2W =Y2
1 + Z1Y2U
V = Z1VZ1Y2
1 + Z1Y2U (III.10)
On obtient la figure III.6 aprÚs débouclage, avec :
P1(s1) =Z1Y2
1 + Z1Y2
Q1(s1) =Y2
1 + Z1Y2(III.11)
Figure III.6: Structure simplifiĂ©e de lâĂ©tage B
SystÚme annulateur et principe de débouclage
Pour finalement obtenir la reprĂ©sentation de lâensemble, on utilise les lois dâinterconnexion, et on
écrit un schéma annulateur (voir figure III.7)
22
Chapitre III â MĂ©thode 1 : sĂ©ries de Volterra de chaque Ă©tage
Figure III.7: Suppression de la boucle fermée
Expression des noyaux de lâĂ©tage B
GrĂące au schĂ©ma annulateur, on peut Ă©crire enfin les noyaux de lâĂ©tage :
G1(s1) =H1,0(s1)
1 + P1(s1)H1,0(s1)âQ1(s1)H0,1(s1)= H1,0(s1)ĂGâČâČ
1(s1)
G2(s1, s2) = 0
G3(s1, s2, s3) = GâČ3(s1, s2, s3)ĂGâČâČ
3(s1, s2, s3)
GâČ3(s1, s2, s3) = (1âG1(s1)P1(s1))(1âG1(s2)P1(s2))(1âG1(s3)P1(s3))H3,0(s1, s2, s3)
+(1âG1(s1)P1(s1))(1âG1(s2)P1(s2))G1(s3)Q1(s3)H2,1(s1, s2, Ï3)
+(1âG1(s1)P1(s1))G1(s2)Q1(s2)G1(s3)Q1(s3)H1,2(s1, Ï1, Ï2)
+G1(s1)Q1(s1)G1(s2)Q1(s2)G1(s3)Q1(s3)H0,3(Ï1, Ï2, Ï3)
GâČâČ3(s1, s2, s3) =
11 + P1(s1 + s2 + s3)H1,0(s1 + s2 + s3)âQ1(s1 + s2 + s3)H1,0(s1 + s2 + s3)
= GâČâČ1(s1 + s2 + s3) (III.12)
1.5 Structure simulable de lâĂ©tage B
Pour obtenir la structure simulables de lâĂ©tage B, on applique directement ces Ă©quations, avec le
formalisme vu à la fin du chapitre précédent.
Figure III.8: Structure simulable de lâĂ©tage B
23
Chapitre III â MĂ©thode 1 : sĂ©ries de Volterra de chaque Ă©tage
On obtient des combinaisons de filtres en cascade, sommes et produits, déterminés pour chaque noyau
de Volterra de lâĂ©tage, puis sommĂ©s en sortie. Notons Ă©galement la prĂ©sence de gains statiques (tri-
angles sur la structure) et des fonctions puissance 2 ou 3 de lâentrĂ©e.
2 Ătages suivants
A présent, nous avons les moyens pour calculer les autres étages. Nous nous basons sur les calculs
qui ont Ă©tĂ© faits sur lâĂ©tage B, auxquels nous ajoutons quelques variantes.
2.1 Ătage A1
Pour lâĂ©tage A1, nous avons trois Ă©lĂ©ments supplĂ©mentaires Ă considĂ©rer par rapport Ă lâĂ©tage B. Ces
trois Ă©lĂ©ments mis Ă part, les calculs de lâĂ©tage B peuvent rĂ©utilisĂ©s tels quels.
Pour commencer, un Ă©tage linĂ©aire est prĂ©sent en entrĂ©e de lâamplificateur opĂ©rationnel. Celui-ci
peut ĂȘtre modĂ©lisĂ© facilement Ă lâaide dâun filtre dâordre 2, dont la formulation est prĂ©sentĂ©e dans
le premier chapitre. Ce bloc est parfaitement dĂ©couplĂ© du reste, ses noyaux de Volterra peuvent ĂȘtre
directement cascadés aux noyaux de la suite.
Ensuite, nous remarquons que lâamplificateur opĂ©rationnel nâest pas dans ce cas en parallĂšle avec un
condensateur, mais seulement une rĂ©sistance, ce qui va simplifier certains calculs, et descendre lâordre
des filtres.
Enfin, lâĂ©lĂ©ment le plus ennuyeux est la prĂ©sence dâun bloc linĂ©aire en sortie de lâamplificateur opĂ©-
rationnel. Celui-ci nâest absolument pas dĂ©couplĂ© du reste, et va influencer le comportement du bloc
non-linéaire. Pour garder nos conventions, et éviter de reprendre les calculs du début, nous avons
trouvé un moyen de tenir du couplage simplement. Pour commencer, un bloc linéaire qui correspond
au diviseur de tension à impédances complexes est cascadé en sortie du bloc non linéaire. Ensuite,
un bloc Ă part est ajoutĂ© Ă lâentrĂ©e IoutAO de lâamplificateur opĂ©rationnel, qui correspond au courant
traversant le dernier bloc linĂ©aire. Celui-ci est calculĂ© en rĂ©solvant lâĂ©quation suivante :
I =V2 â V1
Z1 + Z2=
V1Z2
Z1+Z2â V1
Z1 + Z2(III.13)
2.2 Ătage A2
Dans cet étage complÚtement linéaire, nous avons simplement trois filtres à cascader, dont les trans-
formĂ©es de Laplace peuvent ĂȘtre dĂ©terminĂ©es facilement Ă partir de ce qui a Ă©tĂ© fait dans le premier
chapitre. Nous considĂ©rons ces trois blocs parfaitement dĂ©couplĂ©s, grĂące Ă la prĂ©sence dâun amplifi-
cateur opérationnel en configuration suiveur entre les deux premiers blocs, et ensuite pour la derniÚre
jonction grĂące Ă la prĂ©sence de lâamplificateur opĂ©rationnel Ă lâentrĂ©e de lâĂ©tage suivant.
2.3 Ătage C
LâĂ©tage C est une variante des Ă©tages A1 et B. Le bloc non linĂ©aire est pratiquement identique Ă celui
de lâĂ©tage B, avec un terme supplĂ©mentaire Ă ajouter de la mĂȘme façon que pour le bloc A1, du Ă
24
Chapitre III â MĂ©thode 1 : sĂ©ries de Volterra de chaque Ă©tage
la prĂ©sence de deux rĂ©sistances en sortie dâĂ©tage. Le calcul des deux blocs linĂ©aires Ă ajouter se fait
dâailleurs simplement, ce sont de simples gains (pas dâimpĂ©dances complexes).
3 Structure des Ă©tages
On utilise des filtres dâordre 1, 2 et 3, qui ont la forme suivante :
F (s) =âN
n=1 bnsnâMm=1 amsm
(III.14)
Les conventions sont prĂ©sentĂ©es sur chaque Ă©tage, et font rĂ©fĂ©rence aux expressions que lâon trouve
en annexes.
Figure III.9: Structure simulable de lâĂ©tage A1
Figure III.10: Structure simulable de lâĂ©tage A2
Figure III.11: Structure simulable de lâĂ©tage C
25
Chapitre IV
MĂ©thode 2 : reprĂ©sentations dâĂ©tat
En plus de la simulation du SansAmp GT2, avec les séries de Volterra, nous nous sommes intéressés
Ă une rĂ©solution du problĂšme utilisant les reprĂ©sentations dâĂ©tat, et les mĂ©thodes numĂ©riques de Euler
et Runge-Kutta. Cette approche nous permettra de comparer les performances de deux méthodes de
simulation numĂ©rique du mĂȘme circuit, avec les mĂȘmes Ă©quations, et des approximations diffĂ©rentes.
1 Ăcriture des reprĂ©sentations dâĂ©tat de lâĂ©tage B
Pour Ă©crire la reprĂ©sentation dâĂ©tat dâun systĂšme donnĂ©, on pose sous forme de vecteurs ses entrĂ©es
(vecteur U), ses sorties (vecteur Y) et ses Ă©tats intermĂ©diaires (vecteur X) qui nous permettront dâarri-
ver à la résolution. Les équations sont ensuite mises sous la forme générale suivante, qui nous donnera
une reprĂ©sentation dâĂ©tat valide :
X = f(X, U)
Y = g(X, U) (IV.1)
De plus, comme pour les sĂ©ries de Volterra, nous considĂ©rons les Ă©quations autour des points dâĂ©qui-
libre, quâil convient de calculer. On note A = a + Aâ avec A la grandeur rĂ©elle, Aâ la grandeur Ă
lâĂ©tat dâĂ©quilibre, et a la grandeur en rĂ©gime petits signaux.
x = x + Xâ = f(x + Xâ, u + Uâ)
y = g(x + Xâ, u + Uâ)â Y â = g(x + Xâ, u + Uâ)â g(Xâ, Uâ) (IV.2)
Nous remarquons quâune sĂ©paration est faite entre le comportement dynamique du systĂšme, rĂ©gi par
les variables dâĂ©tat intermĂ©diaires, et son comportement statique qui donne la valeur de la sortie du
systĂšme, en fonction de lâentrĂ©e et des Ă©tats intermĂ©diaires.
En nous inspirant du travail qui a Ă©tĂ© fait pour les sĂ©ries de Volterra, nous allons Ă©crire pour lâĂ©tage
B les reprĂ©sentations dâĂ©tat de lâamplificateur opĂ©rationnel, ainsi que des deux combinaisons dâimpĂ©-
dances / admittances prĂ©sentes dans lâĂ©tage dans le schĂ©ma simplifiĂ© de lâĂ©tage B.
Dessin
26
Chapitre IV â MĂ©thode 2 : reprĂ©sentations dâĂ©tat
1.1 Amplificateur opérationnel
Pour lâamplificateur opĂ©rationnel, nous posons les vecteurs suivants comme paramĂštres dâĂ©tat :
UAO =
Δ = V+ â Vâ
IoutAO
VBIAS
XAO = ug YAO = V outAO (IV.3)
Nous calculons les point dâĂ©quilibre pour chacun des paramĂštres dâĂ©tat, ce qui a dĂ©jĂ Ă©tĂ© Ă©tudiĂ© dans
les chapitres précédents. On obtient :
UâAO =
Δâ = 0
(IoutAO)â = 0
VBIAS
XâAO = 0 Y â
AO = VBIAS (IV.4)
Et Ă partir des Ă©quations du premier chapitre, nous pouvons Ă©crire directement les Ă©quations dâĂ©tat
suivantes :
ËxAO = f(xAO, uAO) = âÏAO.xAO + U inAO tanh(Gin
AO.Δ)
yAO = g(xAO, uAO) = UoutAO Ă tanh(Gout
AO.xAO âGinAORout
AOIoutAO) (IV.5)
1.2 ImpĂ©dances de lâĂ©tage B
Les deux blocs dâimpĂ©dances / admittances sont des filtres linĂ©aires du deuxiĂšme ordre (P1B et Q1B),
dont les expressions ont Ă©tĂ© calculĂ©es prĂ©cĂ©demment. Chaque filtre sâĂ©crit sous la forme suivante dans
le domaine de Laplace :
F (s) =bmsm + ... + b1s + b0
sn + ... + a1s + a0= S(s)/E(s) (IV.6)
ReprĂ©sentation dâĂ©tat dâun filtre linĂ©aire
On considĂšre pour commencer le cas m < n. On peut donc Ă©crire
S(s)/E(s) =1
sn + ... + a1s + a0Ă (bmsm + ... + b1s + b0)
=Y (s)E(s)
Ă S(s)Y (s)
E(s) =1
sn + ... + a1s + a0Y (s)
S(s) = (bmsm + ... + b1s + b0)Y (s) (IV.7)
Soit encore :
27
Chapitre IV â MĂ©thode 2 : reprĂ©sentations dâĂ©tat
dny(t)dtn
+ anâ1dnâ1y(t)dtnâ1
+ ... +a1dy(t)dt
+ a0y(t) = e(t)
s(t) = bmdmy(t)dtm
+ ... +b1dy(t)dt
+ b0y(t) (IV.8)
On prend alors le vecteur dâĂ©tat suivant :
X =
y(t)dy(t)dt
...dnâ1y(t)dtnâ1
(IV.9)
On a alors les Ă©quations dâĂ©tat suivantes :
X =
0 1 0 ... 0
0 0 1 ... 0
...
0 0 0 ... 1
âa0 âa1 âa2 ... âanâ1
X +
0
0
...
0
1
e(t)
s(t) =[
b0 b1 ... bm 0 ... 0]X (IV.10)
Pour m = n, on doit Ă©crire la forme suivante :
S(s)/E(s) =bnsn + ... + b1s + b0
sn + ... + a1s + a0= bn +
bâČnâ1snâ1 + ... + bâČ1s + bâČ0
sn + ... + a1s + a0(IV.11)
On en revient au problĂšme prĂ©cĂ©dent, on rĂ©sout avec les bâ, et on obtient les Ă©quations dâĂ©tat sui-
vantes :
X =
0 1 0 ... 0
0 0 1 ... 0
...
0 0 0 ... 1
âa0 âa1 âa2 ... âanâ1
X +
0
0
...
0
1
e(t)
s(t) =[
bâČ0 bâČ1 ... bâČnâ1 0 ... 0]X + bne(t) (IV.12)
Application
On peut maintenant appliquer directement ce que lâon vient de voir, et Ă©crire les paramĂštres dâĂ©tat :
U1 = V in1 X1 =
[y(t)
dy(t)/dt
]Y1 = V out
1 (IV.13)
28
Chapitre IV â MĂ©thode 2 : reprĂ©sentations dâĂ©tat
U2 = V in2 X2 =
[y(t)
dy(t)/dt
]Y2 = Iout
2 (IV.14)
Ces systĂšmes Ă©tant des filtres linĂ©aires, on ne se prĂ©occupe pas de leurs points dâĂ©quilibre, qui seront
dĂ©pendants des connexions effectuĂ©es avec lâamplificateur opĂ©rationnel. On peut donc Ă©crire leurs
Ă©quations dâĂ©tat :
X1 = A1X1 + B1U1
Y1 = C1X1 + D1U1
A1 =
[0 1â1
R1R2C1C2
â(1+R1C1+R2C2)R1R2C1C2
]
B1 =
[0
1
]C1 =
[0 â1
R1R2C1C2
]D1 = 1 (IV.15)
X2 = A2X2 + B2U2
Y2 = C2X2 + D2U2
A2 =
[0 1â1
R1R2C1C2
â(1+R1C1+R2C2)R1R2C1C2
]
B2 =
[0
1
]C2 =
[â1
R1R2C1C2
â(1+R2C2)R1R2C1C2
]D2 =
1R1
(IV.16)
1.3 ReprĂ©sentation dâĂ©tat gĂ©nĂ©rale de lâĂ©tage B
Les paramĂštres dâĂ©tat de tout lâĂ©tage sont les suivants :
U = V inB X =
XAO
X1
X2
Y = V outB (IV.17)
Nous Ă©crivons les expressions des entrĂ©es de lâamplificateur opĂ©rationnel, placĂ© dans lâĂ©tage B :
Δ = V inB â Y1 = V in
B â C1X1 âD1UoutAO Ă tanh(Gout
AO.XAO âGinAORout
AOIoutAO)
IoutAO = Y2 = C2X2 âD2U
outAO Ă tanh(Gout
AO.XAO âGinAORout
AOIoutAO) (IV.18)
29
Chapitre IV â MĂ©thode 2 : reprĂ©sentations dâĂ©tat
Pour obtenir une reprĂ©sentation dâĂ©tat valide, il est nĂ©cessaire de trouver lâexpression de X et Y en
fonction de U et X . Nous allons voir comment y arriver.
2 Résolution du débouclage
2.1 ProblĂšme
A présent, nous utilisons les expressions de Δ et IoutAO, que nous réinjectons dans les autres équations,
pour obtenir notre reprĂ©sentation dâĂ©tat. En dĂ©roulant lâexpression de IoutAO, une Ă©quation du type
x+a tanh(x)+ b = 0 apparaĂźt, celle-ci nâa pas de solution analytique, il est nĂ©cessaire dâutiliser une
méthode numérique de résolution de cette équation, par exemple Newton-Raphson (voir plus loin).
Cette étape réalisée, on obtient une expression du type IoutAO = I(X, U) comme solution, et on peut
Ă©crire une reprĂ©sentation dâĂ©tat valide de lâĂ©tage B :
X = f(X, U) =
ËXAO
X1
X2
=
f(XAO, UAO)
A1X1 + B1g(XAO, UAO)
A2X2 + B2g(XAO, UAO)
Y = g(XAO, UAO) = g(X, U) (IV.19)
soit
ËXAO = âÏAO.XAO + U inAO tanh(Gin
AO.Δ(X, U))
X1 = A1X1 + B1UoutAO Ă tanh(Gout
AO.XAO âGinAORout
AOI(X, U))
X2 = A2X2 + B2UoutAO Ă tanh(Gout
AO.XAO âGinAORout
AOI(X, U))
Y = UoutAO Ă tanh(Gout
AO.XAO âGinAORout
AOI(X, U)) (IV.20)
2.2 Solution (Newton-Raphson)
La mĂ©thode numĂ©rique de rĂ©solution de lâĂ©quation x + a tanh(x) + b = 0 se fait avec la mĂ©thode
de Newton Raphson. Pour chaque Ă©chantillon Ă calculer, on fait un certain nombre dâitĂ©rations pour
atteindre la convergence vers une solution.
Soit tk lâinstant considĂ©rĂ©, x lâitĂ©ration numĂ©ro n-1 pour lâinstant tk et xâ lâitĂ©ration n. On pose
comme solution xâ = x + Δ. On pose lâhypothĂšse que Δ est trĂšs petit, ce qui nous permet dâĂ©crire
que :
tanh(xâ) = tanh(x) +d tanh(x)
dtΔ (IV.21)
Notre Ă©quation de dĂ©part sâĂ©crit :
0 = [1 + a(1 + tanh2(x))]Δ + x + a tanh(x) + b (IV.22)
30
Chapitre IV â MĂ©thode 2 : reprĂ©sentations dâĂ©tat
On remplace Δ par xâ â x, ce qui nous permet dâĂ©crire lâexpression utilisable :
xâ =x + a tanh(x) + b
1 + a(1 + tanh2(x))+ x (IV.23)
Deux remarques : tout dâabord, Ă la premiĂšre itĂ©ration de calcul pour lâinstant tk, nous dĂ©cidons de
prendre la valeur de x calculĂ©e Ă lâinstant tkâ1 comme x initial. Les variations dâun Ă©chantillons Ă©tant
relativement faibles, ce choix devrait nous donner une certaine rapidité de convergence.
Ensuite, dans notre cas prĂ©cis, le paramĂštre a est une fonction analytique de xâ. Cela ajoute un calcul
supplémentaire à chaque itération, mais ne contrarie pas la validité de notre équation, ainsi que sa
convergence Ă©ventuelle.
3 Ăquations dâĂ©tat pour tous les Ă©tages
En reprenant les raisonnements que nous avons vu dans ce chapitre, et dans le chapitre précédent, il
est possible en partant de la reprĂ©sentation dâĂ©tat de lâĂ©tage B dâaboutir directement Ă celle des Ă©tages
A1, A2 et C. Il suffit pour cela de considĂ©rer chaque bloc Ă lâintĂ©rieur de chaque Ă©tage sĂ©parĂ©ment
(voir chapitre 1) en dĂ©terminant sa relation dâĂ©tat.
4 Résolution numérique des équations
Une fois que les reprĂ©sentations dâĂ©tat de chaque Ă©tage ont Ă©tĂ© dĂ©terminĂ©es, nous utilisons les mĂ©-
thodes de résolution numériques de Euler explicite et de Runge-Kutta, qui sont à peu prÚs équivalentes
en termes de construction, et dont nous Ă©valuerons les performances. Ces techniques permettent de
calculer la variable dâĂ©tat intermĂ©diaire Ă lâinstant n+1 en fonction de celle de lâinstant n, et donc
de rĂ©soudre lâĂ©quation dynamique. Une fois ce calcul rĂ©alisĂ©, celui de la variable dâĂ©tat de sortie
Y = g(X, U) est immédiat.
Pour rĂ©soudre lâĂ©quation dynamique avec la mĂ©thode dâEuler explicite, nous Ă©crivons simplement :
Xn+1 âXn
TE= f(Xn, Un),
Xn+1 = TEf(Xn, Un) + Xn, (IV.24)
avec TE la pĂ©riode dâĂ©chantillonnage.
Pour rĂ©soudre lâĂ©quation dynamique avec la mĂ©thode de Runge-Kutta dâordre 2, nous Ă©crivons :
X = f(X, U) = ÏU (X, t)
Xn+1 = Xn + k2 (IV.25)
Avec :
31
Chapitre IV â MĂ©thode 2 : reprĂ©sentations dâĂ©tat
k1 = TEÏU (Xn, tn) = TEf(Xn, Un)
k2 = TEÏU (Xn + k1/2, tn + TE/2) = TEf(Xn + k1/2,Un+1 + Un
2) (IV.26)
La stabilitĂ© de cette mĂ©thode de rĂ©solution fera lâobjet dâune Ă©tude ultĂ©rieure.
32
Chapitre V
Simulation temps réel des deux méthodeset résultats
Nous allons à présent voir comment implanter nos modÚles en numérique, pour une simulation temps
rĂ©el du SansAmp GT2. Nous avons choisi dâutiliser le SDK VST de Steinberg, le VST (Virtual Studio
Technology) étant le format de plug-in temps réel le plus répandu dans le domaine de la musique
assistĂ©e par ordinateur. Le langage de programmation choisi est le C++, via lâenvironnement Visual
Studio 2003.NET de Microsoft, sur plate-forme Windows. Ce travail a Ă©tĂ© effectuĂ© avec lâaide de
Remy Muller.
1 Implantation Volterra
Grùce aux structures simulables obtenues directement à la fin du travail sur les séries de Volterra,
les algorithmes dâapplication des noyaux de chaque Ă©tage sont dĂ©jĂ disponibles, le seul travail res-
tant à effectuer est la discrétisation de chaque filtre, calculé dans le domaine de Laplace, ainsi que
lâimplĂ©mentation du surĂ©chantillonage :
1.1 Suréchantillonage
Les traitements numĂ©riques gĂ©nĂ©rant de la distorsion jusquâĂ lâordre 3, il est nĂ©cessaire de surĂ©chan-
tillonner le signal pour éviter les phénomÚnes de repliement. En effet, notre distorsion amenant la
crĂ©ation dâharmoniques, elle est susceptible avec une frĂ©quence dâĂ©chantillonnage basse (par exemple
44 100 Hz) de faire apparaßtre des composantes au delà de la demi-fréquence de Nyquist, qui par re-
pliement vont perturber la qualité sonore du résultat (composantes inharmoniques dans les hautes
fréquences).
La solution Ă ce problĂšme est dâaugmenter la frĂ©quence dâĂ©chantillonnage de travail. Le signal dâen-
trĂ©e Ă©tant Ă bande limitĂ©e dans le domaine de lâaudible (jusquâĂ 20 kHz environ), les composantes de
rang 3 superflues ne perturberont plus le signal utile, il sera alors possible de les filtrer complĂštement
puis de revenir Ă la frĂ©quence dâĂ©chantillonnage de dĂ©part, avec un signal sonore plus propre.
33
Chapitre V â Simulation temps rĂ©el des deux mĂ©thodes et rĂ©sultats
OĂč implanter le surĂ©chantillonnage ? Deux possibilitĂ©s : surĂ©chantillonnage sur chaque Ă©tage, ou une
seule fois avec de lâordre 3 exclusif en sortie (pas dâordre 9, 27 etc. qui serait faux de toute façon).
(filtres polyphase de MusicDSP.com)
1.2 SynthĂšse des filtres
Les structures simulables obtenues Ă la fin du chapitre 4 nous indiquent directement la forme de
lâalgorithme de calcul Ă implanter. NĂ©anmoins, les filtres sont Ă©crits dans le domaine de Laplace, et il
est nécessaire de les discrétiser pour avoir une représentation en Z.
La transition entre les deux domaines peut se faire en utilisant la transformĂ©e bilinĂ©aire, câest Ă dire
en Ă©crivant :
s =2Te
Ă 1â zâ1
1 + zâ1(V.1)
En appliquant la transformée bilinéaire sur la forme générale des filtres en Laplace, on obtient les
formules suivantes Ă appliquer directement :
F (s) =âN
n=1 bnsnâNn=1 ansn
F (z) =PN
n=1 bâČnzânPNn=1 aâČmzân
(V.2)
Pour lâordre 1 (n = 1) :
aâČ0 = a0TE + 2a1
aâČ1 = a0TE â 2a1
bâČ0 = b0TE + 2b1
bâČ1 = b0TE â 2b1 (V.3)
Pour lâordre 2 (n = 2) :
aâČ0 = a0T2E + 2TEa1 + 4a2
aâČ1 = 2T 2Ea0 â 8a2
aâČ2 = a0T2E â 2TEa1 + 4a2
bâČ0 = b0T2E + 2TEb1 + 4b2
bâČ1 = 2T 2Eb0 â 8b2
bâČ2 = b0T2E â 2TEb1 + 4b2 (V.4)
Pour lâordre 3 (n = 3) :
34
Chapitre V â Simulation temps rĂ©el des deux mĂ©thodes et rĂ©sultats
aâČ0 = T 3Ea0 + 2T 2
Ea1 + 4TEa2 + 8a3
aâČ1 = 3T 3Ea0 + 2T 2
Ea1 â 4TEa2 â 24a3
aâČ2 = 3T 3Ea0 â 2T 2
Ea1 â 4TEa2 + 24a3
aâČ3 = T 3Ea0 â 2T 2
Ea1 + 4TEa2 â 8a3
bâČ0 = T 3Eb0 + 2T 2
Eb1 + 4TEb2 + 8b3
bâČ1 = 3T 3Eb0 + 2T 2
Eb1 â 4TEb2 â 24b3
bâČ2 = 3T 3Eb0 â 2T 2
Eb1 â 4TEb2 + 24b3
bâČ3 = T 3Eb0 â 2T 2
Eb1 + 4TEb2 â 8b3 (V.5)
La transformée bilinéaire ne donne pas une conversion numérique parfaite du filtre exprimé dans le
domaine de Laplace. En particulier, elle implique une distorsion de lâespace des frĂ©quences, qui tend
Ă Ă©loigner la rĂ©ponse du filtre dans les domaines lorsquâon se rapproche des hautes frĂ©quences.
Lorsquâon a besoin dâune grande prĂ©cision autour de la frĂ©quence de coupure dâun filtre, on peut rĂ©ali-
ser un "pré-warping" qui va recalculer la fréquence de coupure effective du filtre numérique, en tenant
compte de la distorsion de lâespace des frĂ©quences. Dans notre cas, lâerreur Ă©tant aux environs de la
demi-frĂ©quence de Nyquist, nous nâutilisons pas de prĂ©-warping, le surĂ©chantillonage garantissant
une précision convenable dans le domaine audible.
[23]
2 Implantation Runge-Kutta
LâimplĂ©mentation de Runge-Kutta nâa pas pu ĂȘtre effectuĂ©e durant le stage, faute de temps, mais sera
rĂ©alisĂ©e Ă lâavenir, pour clore le travail sur les modĂ©lisations de circuits audio analogiques.
Toutefois, la procĂ©dure envisagĂ©e pour implanter la rĂ©solution des reprĂ©sentations dâĂ©tat avec les
méthodes numériques de Runge-Kutta, et de Newton-Raphson, est la suivante :
Dans chaque bloc, pour lâinstant tn+1 on calcule Xn+1 en fonction de f(X, U), de Xn, de (IoutAO)n, et
de Un. On peut alors calculer le (IoutAO)n+1 ainsi que Yn+1, puis nous continuons pour les Ă©chantillons
suivants. Lâinitialisation se fait avec des valeurs nulles.
Concernant la mĂ©thode de Newton-Raphson, le nombre dâitĂ©rations doit ĂȘtre limitĂ© Ă une valeur
constante, pour que le temps-réel soit envisageable. On peut imaginer faire en offline ou au démarrage
du plug-in une phase dâinitialisation qui calcule ce nombre dâitĂ©rations fixes en fonction de contraintes
optimales, comme les performances CPU et lâerreur maximale souhaitĂ©e.
3 RĂ©sultats
Pour des problÚmes de temps, les résultats pour la méthode des séries de Volterra seront disponibles
pendant la soutenance orale, ainsi que les valeurs numériques. Néanmoins, le plug-in VST temps réel
a été développé, et nous pouvons faire quelques remarques sur ce qui en sort.
35
Chapitre V â Simulation temps rĂ©el des deux mĂ©thodes et rĂ©sultats
10 100 1K 10Kâ040
â020
â003+000
+020
Fréquence
dB
Module de Filtre F1 â Ordre 1
LaplaceZ
10 100 1K 10K
âpi
âpi/2
âpi/4
+00pi
Fréquence
rd
Phase de Filtre F1 â Ordre 1
LaplaceZ
Figure V.1: Diagramme de Bode pour un filtre en Z et Laplace, de fréquence decoupure 1000 Hz
En utilisant uniquement des Ă©tages linĂ©aires, le son en provenance dâune guitare Ă©lectrique subit des
colorations dues à la présence des filtres linéaires. Par contre, en activant les étages non linéaires, la
sortie prend une amplitude démesurée problématique.
En rencontrant ce problĂšme, nous avons Ă©mis deux hypothĂšses expliquant le dysfonctionnement. La
premiĂšre Ă©tait une instabilitĂ© Ă©ventuelle de certains filtres. AprĂšs vĂ©rification sous Matlab, il sâest
avĂ©rĂ© que câĂ©tait en partie le cas pour certains filtres, dont il a fallu reprendre les expressions.
Toutefois, lâexplication la plus pertinente Ă©tait que le dĂ©veloppement limitĂ© du tanh(x) au troisiĂšme
ordre est trÚs insuffisant, et amÚne des divergences au delà du domaine de validité de la série entiÚre.
Or, en cherchant des sonorités saturées sur le SansAmp GT2, on sort trÚs rapidement de ce domaine
36
Chapitre V â Simulation temps rĂ©el des deux mĂ©thodes et rĂ©sultats
malheureusement. Nous devrons donc Ă lâavenir augmenter lâordre de Volterra de la simulation, ou
modifier le gain des noyaux non linéaires, en agissant par exemple sur le T3 du développement limité,
pour étendre le domaine de validité de la simulation.
37
Conclusion générale et perspectives
Pour conclure ce rapport, il semble important de faire un bilan sur le travail effectué pendant le stage.
Au prix de quelques efforts, il a Ă©tĂ© dĂ©montrĂ© quâil Ă©tait possible de simuler des circuits Ă©lectroniques
en utilisant les sĂ©ries de Volterra, outil encore peu Ă©tudiĂ© Ă lâheure actuelle dans ce contexte. NĂ©an-
moins, les dĂ©marches Ă effectuer sont contraignantes, et gagneraient Ă ĂȘtre automatisĂ©es par un outil
de résolution systématique, surtout pour les ordres élevés.
Autre point important, le fait que le travail nâait pas Ă©tĂ© totalement abouti. Par manque de temps,
certains aspects du stage ont été vus trÚs rapidement, et seront finalisés ultérieurement, par exemple
sur tout ce qui concerne la méthode de Runge-Kutta, la vérification de sa convergence, son application
logicielle, ainsi que la simulation de lâensemble de la pĂ©dale SansAmp GT2... Pour les sĂ©ries de
Volterra, un grand nombre de points pourraient ĂȘtre amĂ©liorĂ©s, pour garantir la stabilitĂ© et une qualitĂ©
sonore optimale. Par exemple, on pourrait travailler sur un remplacement du développement limité
en séries entiÚres par du Volterra-Padé qui garantirait des termes constants en dehors du domaine de
validité plutÎt que de la divergence.
Et bien entendu, tous ces outils pourront ĂȘtre rĂ©utilisĂ©s sur dâautres circuits intĂ©ressants, pour conti-
nuer à développer leur potentiel.
38
Bibliographie
[1] Ivan Cohen. Viva la convolution, Réverbération et processeurs à convolution. AudioFanzine.fr,
2005.
[2] Alien Connections. Revalver MK 2. http://www.alienconnections.com/.
[3] Audio Ease. Altiverb. http://www.audioease.com/.
[4] Focusrite. Liquid channel. http://www.focusrite.com/.
[5] Donald O. Pederson Graeme R. Boyle, Barry M. Cohn. Macromodeling of integrated circuit
operational amplifiers. Technical report, IEEE Journal of Solid-State Circuits, Vol. SC-9, No.6,
1974.
[6] Martin Hasler. PhĂ©nomĂšnes non linĂ©aires. Technical report, Ăcole Polytechnique fĂ©dĂ©rale de
Lausanne, Suisse, 1999.
[7] Thomas HĂ©lie. On the use of Volterra series for efficient real-time simulations of weakly nonli-
near analog audio devices : Application to the Moog ladder filter. In Proc. of the Int. Conf. on
Digital Audio Effects (DAFx-06), pages 7â12, Montreal, Quebec, Canada, Sept. 18â20, 2006.
http://www.dafx.ca/proceedings/papers/p_007.pdf.
[8] Thomas Hélie. Introduction aux séries de volterra. Technical report, Cours de la formation
ATIAM, 2007.
[9] Bonnie Baker Stephan Baier Hubert Biagi, R. Mark Stitt. Burr-brown, spice based macromodels.
Technical report, 1995.
[10] Native Instruments. Guitar Rig 2. http://www.native-instruments.com.
[11] Texas Instruments. TL072 Low Noise JFET-Input Operational Amplifiers. Technical report,
http://focus.ti.com/lit/ds/symlink/tl072.pdf, 1978-2005.
[12] Alberto Isidori. Non linear control systems, an introduction, 2nd edition. Communications and
Control Engineering Series, 1989.
[13] Norman Koren. Improved vacuum tube models for spice simulations. Technical report,
http ://www.normankoren.com/, 2003.
[14] Françoise Lamnabhi-Lagarrigue. Analyse des systĂšmes non linĂ©aires. Technical report, Ăditions
HermĂšs, 1994.
[15] Waves Ltd. IR-1. http://www.waves.com.
[16] Waves Ltd. Q-clone. http://www.waves.com.
[17] Charles Rydel. Simulation of electron tubes with spice. Technical report, AES the 98th conven-
tion, 1995.
39
BIBLIOGRAPHIE
[18] Thomas Serafini. A complete model of a tube amplifer stage. Technical report,
http ://www.simulanalog.org, 2002.
[19] Simulanalog. Guitar suite. http://www.simulanalog.org.
[20] Linear Technology. LTspice / Switcher CAD III. http://www.linear.com.
[21] Pierluigi Zamboni Thomas Serafini. State variable changes to avoid non computational issues.
Technical report, http ://www.simulanalog.org, 2002.
[22] Alain Vachoux. Modélisation de systÚmes intégrés analogiques et mixtes, introduction à vhdl-
ams. Technical report, Laboratoire de SystÚmes Microélectroniques, école Polytechnique fédé-
rale de Lausanne, Suisse, 2002.
[23] David T. Yeh and Julius O. Smith. Discretization of the â59 Fender Bassman tone stack. In Proc.
of the Int. Conf. on Digital Audio Effects (DAFx-06), pages 1â6, Montreal, Quebec, Canada,
Sept. 18â20, 2006. http://www.dafx.ca/proceedings/papers/p_001.pdf.
[24] Udo Zölzer. Digital Audio Signal Processing. John Wiley and Sons Ltd., 1997.
[25] Udo Zölzer. DAFX - Digital Audio Effects. John Wiley and Sons Ltd., 2002.
40
Chapitre VI
Annexes
1 Expression des filtres pour les séries de Volterra
Ci dessous sont prĂ©sentĂ©s lâensemble des expressions des filtres en Laplace utilisĂ©s dans les structures
simulables de Volterra, voire dans les reprĂ©sentations dâĂ©tat.L1
a0 1
a1 1/ÏAO
b0 1
b1 0
1.1 Ătage A
P1A
a01
C8(R8+R9)
a1 1
b01
C8(R8+R9)
b1C8R8
C8(R8+R9)
Q1A
a01
C8(R8+R9)
a1 1
b0 0
b1C8R8
C8(R8+R9)
FR1A
a0 1
a1 (R3 + R4)C3
b0 0
b1 R4C3
T1A1
a0 1
a1 (R11(1âDRV ) + (R11(DRV ) + R12))CS3
b0 O
b1 (R11(DRV ) + R12)CS3
T1A2
a0 1
a1 2 â (R11(1â α) + (R11(α) + R12))CS3
a2 (R11(1â α) + (R11(α) + R12))2C2S3
b0 O
b1 âCS3
b2 âR11(1â α)C2S3
41
Chapitre VI â Annexes
GâČâČA
a0 1
a11
ÏAOC8(R8+R9) + 1 + C8R8(A1,0âA0,1)C8(R8+R9)
a21
ÏAOâ C8R8A0,1
C8(R8+R9)
b0(1+A1,0)
C8(R8+R9)
b11
ÏAOC8(R8+R9) + 1
b21
ÏAO
ΩA
a0 1
a1 (C4 + C5)(R6 + R7)
a2 C4R7(C4R6 + 2C5R7)
a3 RoutAOC5R7C6R6C4
b0 -1
b1 (C4RoutAO â (C4 + C5)(R6 + R7))
b2 C4(C5RoutAOR7 + C4R
outAOR6 â 2R6C5R7 + Rout
AOC5R6 â C4R6R7)
b3 C24Rout
AOR6C5R7
1.2 Ătage B
P1B
a0 1
a11+RS3C11+R14C12
RS3R14C11C12
a2 1
b0 1
b1RS3C11+R14C12RS3R14C11C12
b2 1
Q1B
a0 1
a11+RS3C11+R14C12
RS3R14C11C12
a2 1
b01
RS3
b1RS3C11
RS3RS3R14C11C12
b21
RS3
GâČâČ1B
a0 1
a11
ÏAO+ (1 + RS3C11 + R14C12) + A1,0(RS3C11 + R14C12)âA0,1C11
a2 1 + 1+RS3C11+R14C12ÏAORS3R14C11C12
+ A1,0 + A0,1
RS3
a31
ÏAO
b01
RS3R14C11C12
b11
ÏAO+ (1 + RS3C11 + R14C12)
b2 (1 + 1+RS3C11+R14C12ÏAOR1R14C11C12
)
b31
ÏAO
42
Chapitre VI â Annexes
1.3 Ătage C
P1C
a0 1
a11+RS2C20+R24C19
RS2R24C20C19
a2 1
b0 1
b1RS2C20+R24C19RS2R24C20C19
b2 1
Q1C
a0 1
a11+RS2C20+R24C19
RS2R24C20C19
a2 1
b01
RS2
b1RS2C20
RS2RS2R24C20C19
b21
RS2
GâČâČ1C
a0 1
a11
ÏAO+ (1 + RS2C20 + R24C19) + A1,0(RS2C20 + R24C19)âA0,1C20
a2 1 + 1+RS2C20+R24C19ÏAORS2R24C20C19
+ A1,0 + A0,1
RS2
a31
ÏAO
b01
RS2R24C20C19
b11
ÏAO+ (1 + RS2C20 + R24C19)
b2 (1 + 1+RS2C20+R24C19ÏAOR1R24C20C19
)
b31
ÏAO
2 Expression des constantes pour les séries de Volterra
A1,0 UoutAOGout
AOU inAOGin
AO
A0,1 âUoutAOGout
AORoutAO
A2,0 0
A1,1 0
A0,2 0
A3,0 (U inAOGin
AO)3 Ă T3UoutAO(Gout
AO)3
AâČ3,0 U in
AOT3(GinAO)3 Ă Uout
AOGoutAO
A2,1 (U inAOGin
AO)2(âRoutAO)Ă 3T3U
outAO(Gout
AO)3
A1,2 U inAOGin
AO(RoutAO)2 Ă 3T3U
outAO(Gout
AO)3
A0,3 â(RoutAO)3 Ă T3U
outAO(Gout
AO)3
ACR29
R28+R29
AâČC
âR28(R28+R29)2
43
Chapitre VI â Annexes
Ïâ1AO RAOCAO
U inAO IAO/CAO
UoutAO (Vcc+ + Vccâ)/2â Voffs
CS3 (S3 = CAL)C9
CS3 (S3 = BRI)C10
CS3 (S3 = TWE)C7
RS3 (S3 = TWE)R13
(S3 = CALouBRI) R13R10R13+R10
RS2 (S2 = CLE)R26 + R25
(S2 = HOTouHIG) R26R27R26+R27
+ R25
3 Schéma complet du SansAmp GT2 et valeurs des composants
44
Chapitre VI â Annexes
33 33 33 3322 22 22 2211 11 11 11DRIVEDRIVE LOWLOWHIGHHIGHVOLUMEVOLUME
+
9v
ACADAPTOR
INPUT 10k
10k 22k
22k
22k33k 33k
100k
100k
100k330k
330k
1M
22k
22k
1k
1k
10k
1k
1k
2.2
2.2
.022
560p.001 .01
.01
.01
.0047
.0047.022
.022220p
220p
.01
.01.0022
.047
.0022.047
.022
.022
.022
10k
220uF
220uF
10k
100k10k
10k10k
2k2 22k
22k
22k 6k2
22k
10k
.022
.022
.01.1
.022 10k
3k3
22k
10k
3k3
Vb
Vb
Vb
Vb
Vb
Vb
Vb
VbS2A
SXX
Switch Wiring
Switch Settings
S1 = MIC1 - Off Axis2 - Center3 - Classic
S2 = MOD1 - Hot Wired2 - Hi Gain3 - Clean
S3 = AMP1 - California2 - British3 - Tweed
SX0SX3SX2SX1
S3B
S3A
S2BS1A S1B
Vb Vb
Vb
VbVb Vb
Vb
Vb
Vb
Vb
Vb
Vb
Build the Sans Amp GT2. Pads are provided for panel mount switches, wiring will be different depending on the switches used. Off board components except for the potentiometers are not shown on the layout. Trademarks remain property of their owners.
Resistors4 - 1k1 - 2k22 - 3k31 - 6k211 - 10k10 - 22k2 - 33k4 - 100k3 - 330k2 - 1M
Pots4 - 100k Lin.
Capacitors9 - 0.022 ”F2 - 0.047 ”F2 - 0.0047 ”F6 - 0.01 ”F1 - 0.1 ”F2 - 220 ”F1 - 560 pF2 - 220 pF2 - 2.2 ”F2 - 0.0022 ”F1 - 0.001 ”F
Transistors &ICs4 - TL0721 - 2N5088
Parts List
LAYOUT
Sin Amp 2.2Rev.2.Feb.26.2004
FP2003 FP2003
TONEPAD
TONEPAD
SINAMP2
SINAMP2
READY TO TRANSFER
Schematic
OUTPUT
0
œ
1
1œ
2
0 œ 2œ1 31œ 3œ2 4
Q1
6
6
6
5
5
5
7
7
7
IC4a
IC3b
IC2b
IC1b
8
8
8
8
100k
100k
330k
2
2
3
3
1
1
2
3
1IC2a
IC3a
IC1a
IC4b
4
4
4
4
100k
100k
2
31
6
5
7
La
you
t a
nd
pre
sen
tatio
n b
y F
ran
cisc
o P
eñ
a 2
00
1 -
20
03
Âź.
All
rig
hts
re
serv
ed
. A
uth
oriza
tion
fo
r p
ers
on
al u
se o
nly
,a
ny
com
me
rcia
l use
is fo
rbid
de
n.
Pe
rmis
sio
n fo
r p
ost
ing
/se
rvin
g li
mite
d to
Pe
rmis
sio
n r
efu
sed
fo
r p
ost
ing
fro
m o
the
r si
tes.
http
://w
ww
.to
ne
pa
d.c
om
D R I V ED R I V E L E V E LL E V E L H IH I L O WL O W
GNDGNDS3A1S3A1 S2A1S2A1 S2B1S2B1S3B1S3B1
S3A2S3A2 S2A2S2A2 S2B2S2B2S3B2S3B2
S3A3S3A3 S2A3S2A3 S2B3S2B3S3B3S3B3
S3A0S3A0 S2A0S2A0
S1B1S1B1
S1B2S1B2
S1B3S1B3
S1B0S1B0
S1A1S1A1
S1A2S1A2
S1A3S1A3
S1A0S1A0 S2B0S2B0S3B0S3B0
ININ
10k10k 1M1M
2k2
2k2
1k1k
10k
10k
100k100k
330k
330k
330k330k
22k22k
22k22k
22k
22k
6K2
6K2
22k
22k
22k22k
22k22k
22k22k
10k
10k
10k10k10k10k3k33k3
3k3
3k3
100k100k
100k
100k
330k
330k
1k1k10k
10k
10k
10k
22k
22k
22k
22k
22k
22k
1M1M
OUTOUT
Q1Q1
1k1k
10k10k
10k
10k
10k
10k
100k100k
1k1k
++ 2.2
2.2
IC 1IC 1
IC 4
IC 4
IC 2IC 2
0.0
22
0.0
22
0 .0220.0220.0220.0220.0220.022
0.0220.0220.0220.022
0.0470.047
220pF220pF
220pF
220pF
0.0
47
0.0
47
0.0
10.0
1
0 .010.01
0.010.01
10k
10k
33k33k33k33k
IC 3IC 3
0 .00220.0022
560pF
560pF
0.0
01
0.0
01
0 .0220.0220.0220.022
0.0
10.0
1
0.0
047
0.0
047
0.0
047
0.0
047
0.0
22
0.0
22
0 .010.01
0.1
0.1
0.0
022
0.0
022
0.0
10.0
1
++2.22.2
++
220uF220uF
++
220uF
220uF
+9V+9V
45