projet de fin d'etudes d'ingénieur ensea construction de

63
Projet de Fin d’Etudes d’Ingénieur ENSEA CONSTRUCTION DE FAMILLE D’INSTRUMENTS A VENT VIRTUELS Étudiant Thomas Hézard ENSEA STC 2009 Encadrants IRCAM Rémi Mignot équipe Analyse/Synthèse Thomas Hélie Professeur ENSEA Antoine Tauvel

Upload: vodat

Post on 05-Jan-2017

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Projet de Fin d’Etudes d’Ingénieur ENSEA

CONSTRUCTION DE FAMILLE D’INSTRUMENTS

A VENT VIRTUELS

Étudiant Thomas HézardENSEA STC 2009

Encadrants IRCAM Rémi Mignotéquipe Analyse/Synthèse Thomas Hélie

Professeur ENSEA Antoine Tauvel

Page 2: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Version 1.2 - mars 2011

1

Page 3: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Table des matières

I Structures simulables et simulation temps-réel 9

1 Décomposition d’un instrument en cellules simples 101.1 Représentation en cellules MIMO simples . . . . . . . . . . . . . . . . . . 101.2 Quadripôles de passage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3 Découpage des tronçons . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.4 Embouchure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5 Rayonnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.6 Jonction à N portes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.7 Modèle de switch continu . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.8 Modèle de diaphragme et de piston . . . . . . . . . . . . . . . . . . . . . . 16

2 Représentation d’état en temps continu 182.1 Découpage des tronçons . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2 Embouchure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.3 Rayonnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.4 Jonction à N portes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5 Modèle de switch continu . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.6 Modèle de diaphragme et de piston . . . . . . . . . . . . . . . . . . . . . . 212.7 Concaténation de deux cellules . . . . . . . . . . . . . . . . . . . . . . . . 212.8 Diagonalisation de la matrice A . . . . . . . . . . . . . . . . . . . . . . . . 222.9 Autres modifications des représentation d’état . . . . . . . . . . . . . . . . 23

3 Structure simulable 233.1 Discrétisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2 Débouclage partiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3 Fonctionnement des différentes cellules variables . . . . . . . . . . . . . . . 25

3.3.1 Switch continu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.2 Piston . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4 Implémentation Matlab 26

5 Simulation temps-réel 275.1 Excitation : modèle de lèvres . . . . . . . . . . . . . . . . . . . . . . . . . 275.2 Principe de la simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.3 Implémentation C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

II Optimisation de profil de tube 30

2

Page 4: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

6 Présentation du problème 316.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316.2 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.2.1 Tronçon à courbure constante . . . . . . . . . . . . . . . . . . . . . 316.2.2 Profil C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

7 Optimisation géométrique 327.1 Tronçon caténoïdal sur x ∈ [−1, 1] . . . . . . . . . . . . . . . . . . . . . . 327.2 Changements de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

7.2.1 Profil cible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347.2.2 Profil modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7.3 Résolution analytique des contraintes C1 . . . . . . . . . . . . . . . . . . . 357.4 Présentation du problème d’optimisation . . . . . . . . . . . . . . . . . . . 357.5 Critère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

7.5.1 Définition du critère . . . . . . . . . . . . . . . . . . . . . . . . . . 367.5.2 Etude du critère lorsque Υn → 0 . . . . . . . . . . . . . . . . . . . 37

7.6 Contraintes supplémentaires : critère pénalisé, lagrangien, lagrangien aug-menté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387.6.1 Critère pénalisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387.6.2 Lagrangien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387.6.3 Lagrangien augmenté . . . . . . . . . . . . . . . . . . . . . . . . . . 38

7.7 Implémentation Matlab de l’optimisation géométrique . . . . . . . . . . . 397.7.1 Fonctions non définies en 0 . . . . . . . . . . . . . . . . . . . . . . 397.7.2 Point de départ de l’optimisation et choix de N . . . . . . . . . . . 397.7.3 Problème de minima locaux . . . . . . . . . . . . . . . . . . . . . . 397.7.4 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

7.8 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

8 Optimisation en impédance 428.1 Calcul de l’impédance à partir du modèle . . . . . . . . . . . . . . . . . . 428.2 Choix du critère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

9 Développements d’outils de “LAO” 43

III Validation du modèle : mesures et simulation 45

10 Problème du sinus glissant 46

11 Campagnes de mesures effectuées à l’IRCAM 4711.1 Trompette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4711.2 Cor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

12 Prototype de pavillon sur-mesure 48

3

Page 5: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

A Structure simulable 54A.1 Standardisation des représentations d’état . . . . . . . . . . . . . . . . . . 54A.2 Débouclage partiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

B Optimisation géométrique 58B.1 Formules de passage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

B.1.1 Variables dimensionnées . . . . . . . . . . . . . . . . . . . . . . . . 58B.1.2 Variables adimensionnées . . . . . . . . . . . . . . . . . . . . . . . 59

B.2 Détails des calculs de la récurence sur Un . . . . . . . . . . . . . . . . . . 60

4

Page 6: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Table des figures

1 Quadripôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Quadripôles de passage C(p,PU), C(UP,p), C(p,UP ) and C(PU,p). . . . . . . . . 113 Décomposition du tube en 7 quadripôles . . . . . . . . . . . . . . . . . . . 134 A gauche : schéma d’une embouchure. A droite : circuit éléctrique équivalent. 145 Quadripôle de l’embouchure. . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Quadripôle de rayonnement . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Switch continu en position intermédiaire. . . . . . . . . . . . . . . . . . . . 168 Schéma d’un diaphragme dans un tube . . . . . . . . . . . . . . . . . . . . 179 Quadripôle du diaphragme . . . . . . . . . . . . . . . . . . . . . . . . . . . 1710 Décomposition d’un piston . . . . . . . . . . . . . . . . . . . . . . . . . . . 1811 Concatenation de deux cellules en représentation d’état . . . . . . . . . . . 2212 Débouclage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 Concaténation algérbique du switch continu . . . . . . . . . . . . . . . . . 2614 Modèle de lèvre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2815 Première série de résultats d’optimisation. . . . . . . . . . . . . . . . . . . 4016 Deuxième série de résultats d’optimisation. . . . . . . . . . . . . . . . . . 4117 Concaténation de 2 quadripôles . . . . . . . . . . . . . . . . . . . . . . . . 4318 Mesure d’impédance de la trompette . . . . . . . . . . . . . . . . . . . . . 4719 Différents doigtés de la trompette . . . . . . . . . . . . . . . . . . . . . . . 4820 Mesure d’impédance du cor . . . . . . . . . . . . . . . . . . . . . . . . . . 4921 Main à l’intérieur du pavillon du cor . . . . . . . . . . . . . . . . . . . . . 4922 Mesures sur le cor. En haut : sans boucher le pavillon. En bas : en bouchant

le pavillon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5023 Pièce fabriquée sur mesure. A gauche : modèle numérique CATIA. A

droite : pièce réalisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5124 Courbe d’impédance du prototype . . . . . . . . . . . . . . . . . . . . . . 52

5

Page 7: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Remerciements

Je tiens à remercier en premier lieu Hugues Vinet, directeur scientifique de l’IRCAMpour m’avoir acceuilli dans son laboratoire. Je tiens à remercier ensuite Xavier Rodet,responsable de l’équipe Analyse & Synthèse des Sons dans laquelle j’ai travaillé pendantces six mois.

Je tiens à remercier Sylvain Reynal, professeur à l’ENSEA, qui m’a aidé à entrer encontact avec l’IRCAM.

Je remercie tout particulièrement Thomas Hélie et Rémi Mignot qui m’ont encadréet qui ont su être présents et disponibles tout au long de mon stage pour répondre auxnombreuses questions que j’ai pu leur poser. Merci à Rémi Mignot qui m’a aidé pour lamise en forme et la relecture du présent document.

Je remercie chaleureusement toutes les personnes de l’IRCAM qui m’ont aidé de prèsou de loin pendant mon stage, notamment René Caussé, Gérard Bertrand, Allain Terrieret Frédéric Cornu qui n’ont jamais été avares de services rendus.

Je remercie enfin très chaleureusement Jérôme Joubert qui nous a permis de faire unesérie de mesures très complète sur son cor et qui a participé activement à ces mesures.

Ce travail a été soutenu par le projet CONSONNES - ANR-05-BLAN-0097-01.

6

Page 8: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Introduction

Etat de l’art des modélisations physiques de propagation acous-

tique dans les tubes

La modélisation physique pour la simulation temps-réel des instruments intéressephysiciens et programmeurs depuis de nombreuses années. L’avancée exponentielle destechnologies de l’informatique et du traitement du signal permet de concevoir des modèlesde plus en plus complexes afin de modéliser au plus près l’acoustique d’un instrumentréel.

Mon travail durant ce stage se situe aux premières implémentations de nouveauxmodèles de propagation pour la simulation temps-réel des cuivres. Les deux premièreshypothèses sous lesquelles les différents travaux de modélisation ont été effectués sont lessuivantes :

– L’influence de l’enroulement de l’instrument sur lui-même est négligée.– Les instruments, une fois déroulés, sont considérés comme axisymétriques.

Ainsi, un instrument est entièrement décrit par le relevé de sa perce, c’est à dire le relevédu rayon du tube le long de son axe de symétrie. C’est cette courbe qui est appelée “profilde tube” dans la suite de ce document.

Les premiers modèles de Markel (voir [MG73]), datant de 1976, proposent de mo-déliser un tube par une concaténation de tubes cylindriques à sections plus ou moinsgrandes, son profil modèle est alors une fonction constante par morceaux. Välimäki (voir[VV95]), en 1994, introduit la prise en compte de portions coniques dans le modèle. Cesdeux modèles nécessitent des hypothèses fortes puisque qu’ils impliquent la sphéricitédes ondes à l’intérieur des tubes.

En 2002, dans le cadre de sa thèse, Thomas Hélie introduit la prise en compte detubes courbes et des pertes visco-thermiques dans les modèles de propagation pour letemps-réel (voir [TH02]). Ce modèle permet de considérablement réduire les hypothèses :d’une hypothèse de sphéricité des ondes dans le tube, nous passons à une hypothèselocale de quasi-sphéricité des ondes au contact avec la paroi. Un changement de variablejudicieux permet de redresser la carte isobare et, du fait de la quasi-sphéricité des ondesà la paroi, de réduire le problème à une seule dimension : l’abscisse curviligne ℓ le longde la paroi interne de l’instrument. L’intégralité des travaux présentés ici se fait sous ceshypothèses et après le changement de variable spatiale.

Les ondes acoustiques à l’intérieur du tube sous ces hypothèses sont régies par le

7

Page 9: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

modèle de Webster-Lokshin (pour plus de détails sur ce résultat, voir [HMM07]) :

[((s

c0

)2+2ε(ℓ)

(s

c0

)3

2

+Υ(ℓ)

)−∂2

]{r(ℓ)P (ℓ, s)

}= 0, (1)

ρ0 sU(ℓ, s)

S(ℓ)+ ∂ℓP (ℓ, s) = 0, (2)

où s ∈ C est la variable de Laplace (ℑm(s) = ω est la pulsation), r(ℓ) est le rayon dutube, S(ℓ) = πr(ℓ)2 est la section du tube, ε(ℓ)=κ0

√1−r′(ℓ)2/r(ℓ) quantifie les pertes

visco-thermiques et Υ(ℓ)= r′′(ℓ)/r(ℓ) est la courbure de la paroi. P (ℓ, s) et U(ℓ, s) sontrespectivement la pression et le débit acoustique. Eq. (1) est appelée équation de Webs-ter, et eq. (2) est appelée équation d’Euler.

La résolution analytique de ces équations n’est possible que pour des courbures Υconstantes. Ceci nous amène à la définition du modèle de tube utilisé tout au long demes travaux : une concaténation de tronçons à courbure constante. Selon le signe de Υ,le profil de chaque tronçon s’écrit comme une combinaison linéaire de cosinus et sinus oude cosinus hyperboliques et sinus hyperboliques :

Υ < 0 : r(ℓ) = A cos(√

−Υ ℓ)+B sin

(√−Υ ℓ

)avec (A,B) ∈ R

2 (3)

Υ = 0 : r(ℓ) = A+Bℓ avec (A,B) ∈ R2 (4)

Υ > 0 : r(ℓ) = A cosh(√

Υ ℓ)+B sinh

(√Υ ℓ)

avec (A,B) ∈ R2 (5)

Objectifs du stage

Mes objectifs durant ce stage étaient multiples. Premièrement, j’ai continué le tra-vail de Pierre-Damien Dekoninck (cf [PDD08]) dans l’implémentation d’un constructeurde structures simulables (en Matlab) à partir des travaux de Rémi Mignot, basés sur lemodèle décrit ci-dessus, et d’un programme de simulation temps-réel de ces structures(en C++). Deuxièmement, j’ai travaillé sur le développement d’outils d’optimisation deprofils d’instruments, dont un des but, à terme, est d’apporter de nouveaux outils infor-matiques aux luthiers. Enfin, j’ai mis en place plusieurs séries de mesures d’impédancesur des instruments réels et sur un pavillon construit sur-mesure à partir d’un profil théo-rique dans le but de valider les modèles utilisés. Le présent document s’organise dans cetordre.

8

Page 10: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Première partie

Structures simulables et simulation

temps-réel

Le sujet principal de ce stage est la simulation temps-réel de cuivres. Cette partiedécrit comment construire une structure simulable à partir de la description d’un instru-ment puis comment simuler cette structure en temsp-réel. Les travaux de Rémi Mignotet Pierre-Damien Dekoninck sont résumés ici sans détailler les calculs qui ont amené lesdifférents résultats. Le lecteur intéressé pourra se reporter à [RM06] et [PDD08] pour plusde détails sur les méthodes ayant conduit à ces résultats. Les travaux que j’ai effectuéspendant mon stage sont, en revanche, plus détaillés, ici ou en annexe.

9

Page 11: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

1 Décomposition d’un instrument en cellules simples

1.1 Représentation en cellules MIMO simples

A partir du modèle décrit plus haut, nous pouvons décomposer d’un point de vueacoustique un instrument en plusieurs éléments simples qui sont raccordés les uns auxautres. Nous pouvons regrouper ces éléments en deux grandes familles : les statiques etles variables.Les éléments statiques sont les suivants :

– Tronçon de tube à courbure constante (droit, conique ou courbé)– Embouchure– Rayonnement– Jonction de N tubes

Les éléments variables sont les suivants :– Modèle de switch continu– Modèle de diaphragme– Modèle de piston

Les travaux de Rémi Mignot de ces dernières années permettent de décomposer cha-cun de ces éléments en une ou plusieurs cellule(s) MIMO (quadripôlaires pour la plupart).Chaque cellule contient une matrice de fonctions de transfert reliant ses différentes en-trées et sorties. Nous représentons donc une cellule quadripôlaire par quatre fonctions detransfert, deux transmissions et deux rélexions : T+(s), T−(s), Rl(s), Rr(s) (cf figure 1).Les entrées et les sorties des cellules sont des états acoustiques, pouvant être par exempleune pression, un débit ou une fonction d’onde positive (propagation gauche-droite) ounégative (propagation droite-gauche).

Rl(s)Rr(s)

T+(s)

T−(s)

Q

s1(s)

s2(s)e1(s)

e2(s)

Figure 1 – Quadripôle

1.2 Quadripôles de passage

Afin de respecter la causalité et de faciliter le branchement des éléments entre eux,nous avons décidé de choisir aux extrémités de chaque élément un état acoustique indépe-dant de l’élément lui-même : le couple des ondes planes progressives positives et négatives[p+(ℓ, s), p−(ℓ, s)]. Nous introduisons dans ce but un tube virtuel de référence de rayonrc choisi empiriquement (dans le but d’optimiser le conditionnement numérique) et delongueur nulle. Chaque élément est relié à chacune de ses extrémités à ce tube de réfé-

10

Page 12: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

rence. Nous pouvons ainsi définir les matrices de passage entre le couple pression/débit[P (ℓ, s), U(ℓ, s)] et le couple d’ondes planes progressives [p+(ℓ, s), p−(ℓ, s)] :

[p+(ℓ, s)p−(ℓ, s)

]=

1

2

[1 Zc

1 −Zc

] [P (ℓ, s)U(ℓ, s)

]. (6)

où Zc est l’impédance caractéristique du tube de référence, calculée avec c0 = 344m.s−1

la vitesse du son, ρ0 = 1.2 kg.m−3 la densité de l’air et Sc = πr2c la surface du tube deréférence :

Zc =ρ0c0Sc

, Yc =1

Zc. (7)

A partir de ces formules de passage, nous pouvons construire les différents quadripôlesde passage qui représentent les différents types d’interface entre un élément et le tube deréférence. Ces quadripôles sont présentés sur la figure 2.

1 −Zc

2

−Zc

C(p,PU)

P(ℓ, s)

p−(ℓ, s) U(ℓ, s)

p+(ℓ, s)

Zc 1

Zc

2

C(UP,p)

P(ℓ, s)

p+(ℓ, s)U(ℓ, s)

p−(ℓ, s)

−1 −Yc

2Yc

1

C(p,UP )

U(ℓ, s)

p−(ℓ, s) P(ℓ, s)

p+(ℓ, s)

Yc −1

1

−2Yc

C(PU,p)

U(ℓ, s)

p+(ℓ, s)P(ℓ, s)

p−(ℓ, s)

Figure 2 – Quadripôles de passage C(p,PU), C(UP,p), C(p,UP ) and C(PU,p).

Nous allons maintenant présenter la décomposition de chaque élément en cellulesMIMO en prenant soin d’intégrer les quadripôles de passage à ces décompositions

1.3 Découpage des tronçons

D’après les équations (3), (4) et (5), un tronçon est caractérisé par cinq paramètres : salongueur L, sa courbure Υ, les deux paramètres linéaires A et B et le coefficent des pertesvisco-thermiques κ0. Les paramètres A et B peuvent être facilement liés linéairement auxrayons à gauche du tronçon rl et à droite du tronçon rr . Un tronçon peut être décomposéen sept quadripôles, comme le montre la figure 3, chacun des quadripôles étant définien fonction des paramètres qui viennent d’être cités. Les sept quadripôles comprennentdeux quadripôles Qa modélisant les ruptures de section à gauche et à droite du tronçon,deux quadripôles Qs modélisant les ruptures de pente à gauche et à droite du tronçon,deux quadripôles Qcl modélisant les ruptures de courbure à gauche et à droite du tronçon

11

Page 13: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

ainsi que les pertes visco-thermique, et un quadripôle de propagation QP représentantle retard et l’amortissement de l’onde qui se propage dans le tronçon.

Quadripôles Qa

Les quadripôles Qla et Qr

a représentent les effets de rupture de section en entrée eten sortie du tronçon. kl et kr sont les coefficients de réflexion causée par le branchementdu tube sur le tube de référence, ils s’expriment en fonction des sections du tube à sesextrémités Sl = πr2l et Sr = πr2r ou des impédances caractéristiques Zl = ρ0c0/Sl etZr = ρ0c0/Sr.

kl =Sc − Sl

Sl + Sc=

Zl − Zc

Zl + Zc(8)

kr =Sc − Sr

Sr + Sc=

Zr − Zc

Zr + Zc(9)

Quadripôles Qs

Les quadripôles Qls et Qr

s représentent les effets de rupture de pente à gauche et àdroite du tronçon. Ils s’expriment à l’aide des fonctions Rs

l (s) et Rsr(s) qui dépendent de

la pente à gauche r′l = r′(ℓ = 0) et à droite r′r = r′(ℓ = L) du tronçon.

Rsl (s) =

αl

s− αl, avec αl = −c0

2

r′lrl

(10)

Rsr(s) =

αr

s− αl, avec αr = +

c02

r′rrr

(11)

(12)

Quadripôles Qcl

Ces quadripôles, avec la fonction R(s), prennent en considération la courbure constantedu tronçon ainsi que les pertes visco-thermiques dans le tronçon.

R(s) =s/c0 − Γ(s)

s/c0 + Γ(s)(13)

où Γ(s), issue du modèle de Webster-Lokshin est définit par :

Γ(s) =

√(s

c0

)2

+ 2ǫ

(s

c0

) 3

2

+Υ (14)

Quadripôles QP

La fonction de tranfert T (s) représente le retard et l’amortissement de l’onde pro-gressive et peut s’écrire sous la forme :

12

Page 14: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

p+ 0

p+ 0 p− 0 p− 0p− Lp− L p+ Lp+ L

QP

Ql a

Qr a

Ql s

Qr s

Qr cl

Ql cl

Rs l

Rs l

Rs r

Rs r

1+R

s l

1+R

s l

1+R

s r

1+R

s r

k lk r

1+k l

1+k r

−kl

−kr

1−k l

1−k r

RR

−R−R

1+R

1+R

1−R

1−R

r l r rT

r r r lT

Figure 3 – Décomposition du tube en 7 quadripôles

13

Page 15: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

T (s) = e−Γ(s)L = D(s)e−s/c0L (15)

avec D(s) = e−(Γ(s)−s/c0)L (16)

1.4 Embouchure

Une embouchure est composée de deux parties (cf figure 4) : une cuvette, décrite parson volume Vm, et une queue, décrite par sa longueur Ls et son rayon équivalent rs.Par analogie avec un circuit électrique (cf [FR91]), l’embouchure est modélisée par unecapacité acoustique Ca, une masse acoustique Ma et une résistance acoustique Ra dontles expressions sont :

Ca =Vm

ρ0c20

,Ma =ρ0Ls

πr2set Ra =

8µLs

πr4s, (17)

où µ = 1.8 10−5 kg.(m.s)−1 est le coefficient de viscosité de cisaillement.

Ue

Ue

Pe

Pe

U

U

PP

rmVm

Ls

rs

Ca

Ma Ra

Figure 4 – A gauche : schéma d’une embouchure. A droite : circuit éléctrique équivalent.

Z1 −Z1−Z2

Z1

−Z1

Rlemb(s)

T−emb(s)

T+emb(s)

Rremb(s)

C(p,UP ) C(PU,p)

Qemb

Pe

PUe

U

p−e

p−e

p−

p−

p+e

p+e

p+

p+

Figure 5 – Quadripôle de l’embouchure.

Nous obtenons alors le quadripôle en variable [P,U ] de la figure 5 que nous conca-ténons avec les quadripôles de passage pour donner les fonctions de transmission et de

14

Page 16: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

réflexion en ondes progressives suivantes :

Rlemb(s) = 2

(MaY

2c s+ (1 +RaY c)Y c

)/d(s) − 1 ,

T−emb(s) = 2Yc/d(s) ,

T+emb(s) = 2Yc/d(s) ,

Rremb(s) = 2 (−Cas− Yc) /d(s) + 1 ,

(18)

avec d(s) = YcMaCss2 +

(Ca + YcRaCa +MaY

2c

)s+ (2 +RaYc)Yc.

1.5 Rayonnement

Plusieurs modèles ont été établis par Thomas Hélie (cf. [TH02]), tous basés sur lerayonnement d’une portion de sphère pulsante. Nous utilisons ici le modèle passe-hautd’ordre 2 qui est représenté en variable [P,U ] par une impédance de rayonnement Zray

(cf. figure 6) :

Zray(s) = Zs

αrsωr

+(

sωr

)2

1 + 2ξrsωr

+(

sωr

)2 . (19)

p+p+

p−p−

C(p,UP )

Us Pr Pr

Pr

Zray

Rr

Tr

Figure 6 – Quadripôle de rayonnement

Après concaténation avec un quadripôle de passage pour retrouver nos variables[p+, p−], nous obtenons un quadripôle constitué d’une seule réflexion et d’une seule tran-mission (les deux autres fonctions de transfert sont nulles) notées Rr et Tr

Rr(s) =Zray(s)− Zc

Zray(s) + Zc(20)

Tr(s) = Rr(s) + 1. (21)

1.6 Jonction à N portes

Nous considérons maintenant une jonction de N tubes. Nous modélisons cette jonc-tion sans dimension spatiale en respectant les continuités de pression et de débit. Nousobtenons alors des équations analogues aux lois de Kirchhoff qui s’écrivent :

{Pn = P1 , pour 1 ≤ n ≤ N ,∑N

n=1 Un = 0.

15

Page 17: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Le passage en ondes progressives et la résolution du système linéaire nous amène à l’équa-tion suivante

P− = JNP+ , avec JN =2

N1N − IdN , (22)

où P+ =[p+1 , p

+2 , ...p

+N

]T, P− =

[p−1 , p

−2 , ...p

−N

]T, IdN est la matrice identité N ×N et

1N est la matrice N ×N telle que 1N (i, j) = 1,∀(i, j) ∈ [1, N ]2.

1.7 Modèle de switch continu

La première cellule variable que j’ai mise en place est le “switch continu”. Il s’agit d’unejonction variable à trois portes qui relie la première porte à l’une des deux autres porteset qui permet de passer d’une porte à l’autre. Le passage d’une porte à l’autre se fait defaçon continue (le switch peut se trouver dans une position intermédiaire dans laquelle lesdeux portes sont partiellement ouvertes). Le switch continu est donc représenté par uneunique paramètre g variant dans l’intervalle [0, 1], g = 0 représente une liaison directe dela porte 1 à la porte 2 et g = 1 représente une liaison directe de la porte 1 à la porte 3.On peut représenter son fonctionnement par le schéma présenté figure 7 et par le systèmelinéaire suivant :

Y =

0 g 1− gg 0 0

1− g 0 0

U , (23)

où U = [p+1 , p−2 , p

−3 ]

T et Y = [p−1 , p+2 , p

+3 ]

T .

p+1

p−2

p−3

p−1

p+2

p+3

Figure 7 – Switch continu en position intermédiaire.

1.8 Modèle de diaphragme et de piston

Diaphragme

Physiquement, un diaphragme peut être considéré comme un tube de rayon égal àrd = k.r, où r est le rayon du tube dans lequel se trouve le diaphragme et k un réeldécrivant l’ouverture du diaphragme et variant dans l’intervalle [0, 1], et dont la longueur

16

Page 18: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

tend vers 0 (cf figure 8). Le diaphragme est modélisé par un quadripôle paramétré parcet unique coefficient k, présenté sur la figure 9. Si k = 1, le diaphragme est entièrementfermé et si k = 0, le diaphragme est entièrement ouvert.

p+1

p−1

p+2

p−2

e → 0

rd r

Figure 8 – Schéma d’un diaphragme dans un tube

kk

1− k

1− k

Qdia

p−1

p+2p+1

p−2

Figure 9 – Quadripôle du diaphragme

Piston

Le modèle de piston mis en place par Rémi Mignot et moi-même est composé decinq cellules selon le schéma présenté en figure 10. Ces cinq cellules comprennent deuxjonctions à trois portes (J1 et J2) et trois diaphragmes (D1, D2 et D3). Le piston est unélément qui possède quatre connexions externes : C1, C2, C3 et C4.

Un seul paramètre k permet de décrire le fonctionnement du piston. Les diaphragmesD1 et D2 admettent comme paramètre k et D3 admet comme paramètre 1 − k. Ainsi,quand k = 0 les diaphragmes D1 et D2 sont fermés et le piston se comporte commeune liaison directe entre les connexions C1 et C4, et quand k = 1, cette connexion estintégralement coupée et la totalité du débit passe par la portion d’instrument qui estbranchée entre les connexions C2 et C3. Ici encore, le paramètre k peut prendre toutesles valeurs réelles comprises entre 0 et 1 et le passage d’une position à l’autre se fait defaçon continue.

La repésentation en cellules MIMO est déduite de la représentation des différentséléments constituant le piston, nous verrons par la suite comment concaténer des cellulesentre elles pour obtenir la représentation du piston sous la forme d’une unique cellule.

17

Page 19: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

C1

C2 C3

C4

D1 D2

D3J1 J2

Figure 10 – Décomposition d’un piston

2 Représentation d’état en temps continu

Dans le but de construire une représentation discrétisée simulable en temps réel, nouscommençons par écrire toutes les celulles en représentation d’état en temps continu, sousla forme générale : {

sX = AX +BUY = CX +DU

(24)

où U est le vecteur des variables d’entrée du sytème, Y le vecteur des variables de sortie,X l’état interne du système et A, B, C, D les matrices du système. Nous explicitonsici ces matrices pour les différentes cellules présentées ci-dessus.

Par convention, le vecteur des variables d’entrée d’un système est composé des va-riables d’entrée de la cellule dans l’ordre des numéros de porte, de même pour le vecteurdes variables de sortie.

Les calculs des représentations d’état des éléments statiques ayant déjà été fait pré-cedemment, seuls les résultats obtenus sont présentés ici (voir [PDD08] pour plus dedétails). Je détaillerai en revanche d’avantage les représentations d’état des élémentsvariables.

2.1 Découpage des tronçons

Cellules Qa

Les filtres présents dans le quadripôle Qa ne possèdent pas de dynamique (les fonc-tions de tranfert sont indépendantes de la variable de Laplace s), la représentation corres-pondante se résume donc à une matrice D déduite directement du quadripôle. La celluleQl

a s’écrit :A = [] , B = [] ,

C = [] , D =

[kl 1− kl

1 + kl −kl

].

(25)

18

Page 20: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

La matrice D de la cellule Qra se déduit directement de la précédente en remplaçant kl

par −kr.

Cellules Qs

Les cellules Qs contiennent une fonction de transfert du premier ordre. La représen-tation d’état de Ql

s est la suivante :

A =[αl

], B =

[1 1

],

C =

[αl

αl

], D =

[0 11 0

].

(26)

On déduira aisément Qrs en remplaçant αl par αr.

Cellules Qcl

La présence de√

Γ(s) dans les cellules Qcl introduit des fonctions de transfert irra-tionelles comportant des lignes continues de singularités, nommées coupures, qui relientun point de branchement complexe à l’infini. Ces systèmes à dimension infinie appelésreprésentations diffusives (voir [GM98] et [DM98]) peuvent être approximés (voir [GM98]et [HMM07bis]) par un système fini de pôles que l’on place sur les coupures. Le choix duplacement des pôles ainsi que l’optimisation des poids de ces pôles sont issus des travauxde Rémi Mignot, détaillés dans [RM06]. Nous obtenons comme approximation de R(s)en dimension finie :

R(s) =

L∑

j=1

µRj

s+ ξj+

L∑

j=1

(ωRj

s+ γj+

ωRj

s+ γj

),

où les −ξj sont les pôles placés sur la coupure le long du demi axe R− avec µj leurs

poids, et les couples (−ωj , −ωj) sont les couples de pôles complexes conjugués du restedu plan avec

(γj , γj

)leurs poids.

La représentation d’état de ces cellules s’écrit alors :

A = diag([ξ1, ..., ξL, γ1, ..., γM , γ1, ..., γM

]),

B =

[1, ... 1−1, ... −1

]T,

C =

[µR1 , ..., µR

L , wR1 , ..., wR

M , wR1 , ..., wR

M

µR1 , ..., µR

L , wR1 , ..., wR

M , wR1 , ..., wR

M

],

D =

[0 11 0

].

(27)

19

Page 21: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Cellules QP

Les retards dûs au terme e−s/c0L seront simulés en temps discret par des tamponscirculaires. La fonction de transfert D(s) est approximée, par la même méthode que R(s),par un système à dimension finie :

A = diag([ξ1, ..., ξL, γ1, ..., γM , γ1, ..., γM

]),

B =[1, ... 1

]T,

C =[µD1 , ..., µD

L , wD1 , ..., wD

M , wD1 , ..., wD

M

],

D =

[0 11 0

].

(28)

2.2 Embouchure

La représentation d’état de l’embouchure s’écrit :

A =

0 1 0 0−a0 −a1 0 00 0 0 10 0 −a0 −a1

, B =

0 01 00 00 1

,

C = 2MaCa

1+RaYc 1MaYc 01 −1

0 −Ca

Yc

T

, D =

[−1 00 1

],

(29)

avec a0 =2+RaYc

MaCa, et a1 =

Ca/Yc+RaCa+MaYc

MaCa.

Notons qu’ici la matrice A n’est pas diagonale, il sera nécessaire de la diagonaliser (cfI.2.8).

2.3 Rayonnement

La représentation d’état du rayonnement s’écrit :

A =

[0 1

−a0 −a1

], B =

[01

],

C = 2ωrZcZs

(Zs+Zc)2

[−ωr

(αr−2ξr)

]T, D =

[Zs−Zc

Zs+Zc

2Zs

Zs+Zc

].

(30)

avec a0 =Zcω

2r

Zs + Zcet a1 =

ωr(2Zcξr + Zsαr)

Zs + Zc.

Même remarque que pour l’embouchure.

20

Page 22: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

2.4 Jonction à N portes

Les jonctions à N portes ne possèdent pas de dynamique, leur représentation d’états’écrit donc directement :

A = [] , B = [] ,

C = [] , D = 2N 1N − IdN .

(31)

2.5 Modèle de switch continu

Afin de minimiser la quantité de calculs lors des changements de paramètre d’unélément variable, j’ai fait en sorte que la représentation d’état de chaque élément variablesoit sans dynamique. On les déduit très simplement à partir des systèmes linéaires quidécrivent leur comportement.

Pour le switch continu, on obtient :

A = [] , B = [] ,

C = [] , D =

0 g 1− gg 0 0

1− g 0 0

.

(32)

2.6 Modèle de diaphragme et de piston

Diaphragme

Comme pour le switch continu, la représentation d’état du diaphragme est immédiate :

A = [] , B = [] ,

C = [] , D =

[k 1− k

1− k k

].

(33)

Piston

Les représentations d’état de chaque cellule composant le piston sont calculées indé-pendamment. Une fois les cellules calculées et discrétisées, elles seront concaténées selonla méthode décrite ci-après afin que le piston soit bien modélisé par une seule cellule àquatre portes que nous pourrons simuler en temps-réel.

2.7 Concaténation de deux cellules

Comme on peut le voir sur la partie supérieure de la figure 11, il apparaît une boucleinstantanée entre deux cellules adjacentes. En représentation “cellule MIMO”, cette boucleest formée par la réflexion Rr(s) de la cellule de gauche et la reflexion Rl(s) de la cellulede droite. Cette boucle instantanée n’est évidemment pas simulable en temps-réel, il estdonc nécessaire de la supprimer. La solution la plus évidente pour la supprimer est laconcaténation des deux cellules entre elles.

21

Page 23: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

La concaténation de deux cellules connectées entre elles se fait grâce à l’algèbre miseen place par Stéphane Tassart (voir [ST98] pour détails). La figure 11 présente la conca-ténation de deux systèmes quadripôlaires. L’extension des fomules de concaténation dedeux systèmes quadripôlaires à deux systèmes multi-portes a été mise en place par Pierre-Damien Dekoninck, le lecteur pourra se reporter à [PDD08] pour retrouver les formulesde concaténation.

p+1

p+1

p−1

p−1

p+2

p−2

p+3

p+3

p−3

p−3

(A1, B1, C1,D1) (A2, B2, C2,D2)

(Ae, Be, Ce,De)

Figure 11 – Concatenation de deux cellules en représentation d’état

Les matrices des représentations d’état des cellules variables sont exprimées algébri-quement en fonction de leurs paramètres. La concaténation d’une cellule variable avec uneautre cellule (variable ou statique) doit donc être effectuée algébriquement (afin d’obte-nir, dans l’idéal, une seule cellule représentant l’instrument en entier et dont les matricess’expriment en fonction des différents paramètres variables de l’instrument). Il apparaîtmalheureusement très rapidement que cette solution n’est pas réalisable en raison de lacomplexité des calculs algébriques à effectuer. Nous ne concaténons donc pas les cellulesvariables pour l’instant et nous verrons plus tard comment résoudre le problème de laboucle instantanée pour ces cellules.

2.8 Diagonalisation de la matrice A

Il est possible, notamment après une concaténation, que la matrice A de la représen-tation d’état d’un système ne soit plus diagonale. Nous souhaitons alors la diagonaliserafin de gagner considérablement en temps de calcul. Comme nous travaillons dans C, lesmatrices sont presque toujours diagonalisables. Après diagonalisation, le système s’écrit,en fonction de la matrice de passage P :

{sX ′ = (P−1AP) X ′ + (P−1B) U,Y = (CP) X ′ +D U.

(34)

où X ′ = P−1X.

22

Page 24: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

2.9 Autres modifications des représentation d’état

Afin d’assurer la stabilité (entre autres) des différentes cellules, l’observabilité et lacontrolabilité de chaque cellule sont vérifiées à l’aide des fonctions Matlab correspon-dantes.

Il est par ailleurs nécessaire de vérifier l’absence de pôle complexe célibataire (chaquepôle complexe doit avoir son conjugué) afin de s’assurer que la sortie du système soitbien réelle. J’ai implémenté pour cela un rapide algorithme qui permet de supprimer lesparties imaginaires “epsilonesques” issues de la précision Matlab et de ne garder que lesvéritables paires de pôles complexes conjugués.

3 Structure simulable

3.1 Discrétisation

Une fois mise sous forme de représentation d’état avec une matrice A diagonale, nouspouvons aisément disctrétiser une cellule. En effet, le système se comporte comme Jsystèmes du premier ordre avec les pôles Aj,j :

sXj = ajXj + Vj, pour 1 ≤ j ≤ J, (35)

où aj = Aj,j et Vj =∑N

n=1 B(j,n)Un.

De nombreux schémas de discrétisation peuvent être envisagés, le lecteur intéressépourra trouver plus d’informations dans [FPW90]. Avec le schéma de discrétisation parinterpolation linéaire utilisé ici, ces J équations nous amènent à la représentation d’étatdiscrétisée suivante :

{zXd = AdXd + (zΛ1 +Λ0)U

d ,Y d = CXd +DUd,

(36)

Λl = diag({

λ(j, l)

}1≤j≤J

)B pour l ∈ {0, 1}

Ad = diag({αj}1≤j≤J

) (37)

et

αj = eaj Ts ,

λ(j,0) = −1− αj

a2j Ts− 1

aj ,

λ(j,1) =1− αj

a2j Ts+

αjaj

.

(38)

Les équations (36) ne sont pas de la forme standard des équations dynamiques desreprésentations d’état car, en raison de la présence de z dans le terme de droite de lapremière équation, Xn dépend de Un. Nous pouvons résoudre ce problème avec un chan-gement d’état. L’annexe A.1 présente la méthode générale que j’ai mise en place pour

23

Page 25: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

résoudre le problème quelque soit le schéma de discrétisation. Dans le cas de l’inter-polation linéaire, le nouvel état est W d = Xd − Λ1U

d, ce qui nous mène au systèmesuivant : {

zW d = AdW d +BdUd

Y d = CdW d +DdUd , (39)

avec

Bd = AdΛ1 +Λ0

Cd = C

Dd = CΛ1 +D

. (40)

3.2 Débouclage partiel

Le problème de la boucle instantanée dans le cas des cellules variables ne peut êtrerésolu que pour une liaison entre une cellule variable et une cellule statique. Je traite ici lecas d’une cellule statique quadripôlaire liée à une cellule variable quelconque. L’extensionau cas d’une cellule statique quelconque nécessite une étude plus approfondie.

La solution consiste à séparer la cellule statique reliée à la cellule variable en deuxparties : l’une, qui contient la dynamique, que l’on nomme “historique” et l’autre, qui necontient pas de dynamique, que l’on nomme “directe”. La partie “historique” calcule en faitla réponse libre (par rapport à l’entrée reliée à la cellule variable) anticipée, c’est-à-dire àl’instant suivant l’instant de travail. Ainsi la liaison entre la cellule historique et la celluledirecte est simulable en temps-réel, il ne reste plus qu’à concaténer la cellule directe àla cellule variable. Cependant, cette opération nécessite de raccourcir d’un échantillon leretard relié à l’entrée de la cellule statique qui n’est pas reliée à la cellule variable. Il endécoule que la séparation d’une cellule pourra se faire si et seulement si cette cellule estreliée à un retard d’au moins un échantillon sur la porte opposée à celle sur laquelle onsouhaite effectuer le débouclage. Après séparation, la partie directe (entièrement décritepar un seul coefficient réel) est fusionnée avec la cellule variable et la liaison entre la partiehistorique et la nouvelle cellule concaténée est simulable en temps-réel. La séparation sefait selon le schéma de la figure 12 et la méthode est décrite en détail en annexe A.2.

Pour une cellule statique quadripôlaire, la séparation se fait de la façon suivante :Système original :

Xn+1 = AXn +BUn = AXn +[B1 B2

] [ u1(n)u2(n)

]

Yn = CXn +DUn =

[C1

C2

]Xn +

[D11 D12

D21 D22

] [u1(n)u2(n)

]

Système historique ayant pour vecteur d’entrée En = [u1(n+ 1) u2(n)]T , pour vec-

teur de sortie Wn =[y1(n) yh2 (n+ 1)

]Tet pour vecteur d’état X ′

n =[XnT u1(n)

]T

avec yh2 (n) = C2Xn +D21.u1(n) :

X ′n+1 =

[A B1

0 0

]X ′

n +

[0 B2

1 0

]En

Wn =

[C1 D11

C2A C2B1

]X ′

n +

[0 D12

D21 C2B2

]En

(41)

24

Page 26: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

u1(n+ 1)

u1(n+ 1)

u1(n)

y1(n)

y1(n)

yh2 (n+ 1)

u2(n)

y2(n)

y2(n)

u2(n)

u2(n)

(A,B,C,D)

(Ah, Bh, Ch,Dh)

Partie historique Partie directe

Dd

z−1

Figure 12 – Débouclage

Système direct sans dynamique entièrement décrit par le réel D22 :[u2(n)y2(n)

]=

[0 11 D22

] [yh2 (n+ 1)u2(n)

](42)

Pour chaque élément variable, toutes les cellules adjacentes à l’élément sont sépa-rées en parties historiques et directes puis les parties directes et la (ou les) cellule(s) del’élément variable sont fusionnées entre elles afin de supprimer toutes les laisons non-simulables. A chaque changement de paramètre d’un élément variable, la (ou les) cel-lule(s) variable(s) constituant ce dernier est (sont) recalculée(s) puis toutes les cellulesconstituant l’élément et les cellules directes qui l’entourent sont fusionnées, algébrique-ment quand c’est possible ou numériquement à l’aide de l’algèbre de Tassart si les calculsformels sont trop lourds.

3.3 Fonctionnement des différentes cellules variables

3.3.1 Switch continu

Les trois cellules statiques adjacentes au switch continu sont séparées en parties his-toriques et directes. La concaténation du switch avec les parties directes qui l’entourentselon le schéma de la figure 13 est effectué algébriquement afin d’établir les formulesexplicites de la représentation d’état en temps discret de la cellule variable concaténéequi sera simulée. La cellule résultante ne possède pas de dynamique et le switch continuaprès concaténation est entièrement décrit par sa matrice D′

SC . La matrice D′SC s’écrit,

25

Page 27: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

p+1 p−2

p−3

p−1

p+2

p+3

p+1′

p+1′

p−2′

p−2′

p−3′

p−3′

p−1′

p−1′

p+2′

p+2′

p+3′

p+3′

DSC D′SCD1

D2

D3

Figure 13 – Concaténation algérbique du switch continu

en fonction du paramètre g du switch :

D′CS =

1

D2 g2 +D3 (1− g)2 g 1− g

g D1 g2 D1 (1− g)

1− g D2 (1− g) D1 (1− g)2

(43)

où ∆ = 1 − D1(D2 g2 + D3 (1 − g)2) et {D1,D2,D3} sont les coefficients des parties

directes.C’est cette matrice qui est implémentée dans le programme de simulation temps-réel.

Elle est recalculée à chaque fois que l’utilisateur change le paramètre g du switch continu.

3.3.2 Piston

Après le débouclage partiel, le piston est entouré de quatre cellules directes. Les deuxcellules directes reliées aux jonctions à trois portes sont concaténées avec ces dernières parle constructeur de structures simulables et les deux autres cellules directes sont passéesau programme de simulation avec les cinq cellules constituant le piston. La concaténationde sept cellules pour le piston est beaucoup trop lourde pour être faite analytiquement,même avec des outils de calcul formel type Maple. La méthode de concaténation est doncnumérique.

Lorsque l’utilisateur modifie le paramètre k du piston, les matrices des trois dia-phragmes sont recalculées puis les cellules sont concaténées numériquement, selon unordre bien determiné, grâce aux formules énoncées plus haut. Ainsi, nous retrouvons uneunique cellule représentant le piston et le débouclage est assuré.

4 Implémentation Matlab

Le programme de construction automatique de structures simulables a été implé-menté en grande partie par Pierre-Damien Dekoninck (voir [PDD08]) lors de son stageavec Rémi Mignot et Thomas Hélie à partir des travaux de thèse de Rémi Mignot. J’ai,

26

Page 28: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

pour ma part, continué son travail en résolvant les quelques bugs qui subsistaient dansle programme à la fin de son stage et surtout en élaborant et implémentant les différentséléments variables avec Rémi Mignot. J’ai aussi formaté le fichier de structure simulablequi sert d’interface entre le constructeur Matlab et le logiciel C++ de simulation temps-réel.

La procédure du logiciel Matlab de construction de structures simulables suit l’or-ganisation de la partie I du présent document. Il prend en entrée un script qui décritla géométrie de l’instrument en listant les différents éléments statiques et variables etconstruit la structure simulable dans l’ordre suivant :

– représentation en cellules MIMO,– représentations d’état en temps continu,– concaténation des cellules statiques,– vérification de controlabilité, d’observabilité et diagonalisation,– débouclage partiel autour des cellules variables,– concaténation des cellules directes et variables puis diagonalisation.Le lecteur intéressé pourra trouver plus d’informations sur le fonctionnement précis

du logiciel dans la documentation qui l’accompagne.

5 Simulation temps-réel

Une fois la structure simulable construite grâce au logiciel Matlab que nous venonsde décrire, elle est transmise, par l’intermédiaire d’un fichier contenant toutes les infor-mations décrivant la structure simulable et mis au format que j’ai établi, au programmede simulation écrit en C++. Il reste un élément indispensable à la simulation dont nousn’avons pas encore parlé : l’excitateur. Dans un premier temps, j’ai fait des tests avecdes signaux d’excitation basiques (impulsion de Dirac pour récupérer la réponse impul-sionnelle, bruit blanc pour obtenir un aperçu sonore du comportement du tube modélisé)mais une simulation réaliste nécessite de se pencher sur un modèle de lèvres.

Je vais présenter ici le modèle de lèvre que nous avons utilisé, issu des travaux deChristophe Vergez. Pour plus de détail sur le modèle, le lecteur pourra se repporter à[CV98].

5.1 Excitation : modèle de lèvres

Le modèle est présenté en figure 14. Les expériences menées par Christophe Vergez etXavier Rodet, reportées dans [CV98], ont montré que la vibration de la lèvre inférieureest négligeable donc seule la lèvre supérieure est simulée.

Le modèle comprend une masse parallélépipèdique m reliée à un ressort de raideur ket un amortisseur de coefficient d’amortissement r. Nous négligeons la vitesse de l’air dansla bouche. Nous supposons l’existence d’un flux d’air entre les lèvres et le contact avecl’embouchure est modélisé par la fonction de reflexion acoustique Rl(t). Le couplage non-linéaire entre les lèvres et l’instrument est alors modélisé par les équations de Bernouilli

27

Page 29: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

qui relient le flux d’air u(t) entre les lèvres, la position de la lèvre x(t), la pression dansla bouche pm(t) et la pression à l’entrée de l’embouchure p(t).

m

r k

x

0

α

pmu(t), p(t)

Figure 14 – Modèle de lèvre

Sous les hypothèses de propagation en ondes planes, nous pouvons écrire p(t) commela somme des ondes p+(t) et p−(t). Nous appelons x(t) le rapport entre la position deslèvres x(t) et le diamètre de l’entrée de l’embouchure, et ξ = sgn(pm − p+ − p−). Onmontre aisément que ξ = sgn(p+ − p−) = sgn(pm − 2p−). Le modèle obtenu est lesuivant :

Quand les lèves sont ouvertes (x(t) ≥ 0) :

¨x+ v ˙x+ ω2x = Apm +N(p+ + p−)

p+ = p− − ξxC2

[Cx−

√(Cx)2 + 4|pm − 2p−|

]

p− = Rl ∗ p+(44)

Quand les lèves sont fermées (x(t) < 0) :

¨x+ 5v ˙x+ 4ω2x = A(pm − p+ − p−)p+ = p−

p− = Rl ∗ p+(45)

où (voir [CV98])– v = r

m est la viscosité massique des lèvres,

– ω =√

km est proportionnel au facteur de contraction d’une lèvre,

– A,B and C sont des constantes dépendant de la géométrie des lèvres, de la massem et des constantes physiques (densité de l’air et vitesse du son),

– ∗ est l’opérateur de convolution,– Rl est la fonction de reflexion à l’entrée de l’instrument.Les variables d’entrée du modèle sont donc la pression dans la bouche pm, la pulsation

ω, le facteur v et la fonction d’onde retournée par l’embouchure.

28

Page 30: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

5.2 Principe de la simulation

Après avoir construit une structure simulable grâce au programme Matlab et implé-menté le modèle de lèvres, nous pouvons les raccorder afin de récupérer p−(t) à l’entrée del’embouchure nécessaire au couplage du modèle de lèvres avec le modèle de l’instrument.

La simulation se déroule ensuite échantillon par échantillon. A chaque tour de boucle,nous calculons la valeur de l’onde en entrée de l’embouchure à partir de données utili-sateurs (pm, ω et v) et de l’échantillon de p− précédent. La simulation déscrétisée nousimpose en effet d’introduire un retard d’un échantillon entre les lèvres et l’embouchure (ils’agit encore ici du problème de boucle instantannée). Cela revient à introduire un tubesans pertes de quelques centimètres à la sortie des lèvres, ce qui reste une approximationacceptable et qui donne des résultats sonores satisfaisants.

Une fois l’échantillon d’excitation récupéré, les cellules de la structure simulable sontexécutées dans l’ordre suivant :

– propagations,– cellules statiques,– cellules variables.

Ce processus est valable car notre programme de construction de structures simulablesnous assure que deux cellules de la même famille (propagation, statique ou variable) nepeuvent se trouver côte à côte. En effet, la concaténation des cellules statiques regroupeen une seule cellule statique toutes celles qui se trouvent entre deux cellules variables,une cellule variable et une propagation ou deux propagations. Ainsi le débouclage estréalisé parfaitement.

5.3 Implémentation C++

Le programme décrit ci-dessus a été implémenté en C++ par Pierre-Damien Deko-ninck mais ne donnnait pas des résultats satisfaisant en termes de temps de calcul. J’aidonc dans un premier temps repris ce code afin d’optimiser le temps de calcul. J’ai pourcela modifié les différents appels de fonction en remplaçant tous les objets dans ces ap-pels par des pointeurs et supprimé les nombreuses répétitions inutiles de tâches lourdesen temps de calcul. J’ai par la suite implémenté les différents éléments variables et lesfonctions de contrôle de ces éléments.

Le lecteur intéressé par le fonctionnement détaillé du logiciel pourra se reporter à ladocumentation fournie avec le logiciel.

29

Page 31: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Deuxième partie

Optimisation de profil de tube

Un objectif de mon stage, un peu en marge de la simulation temps-réel, est le déve-loppement d’algorithmes d’optimisation de géométrie d’instrument. Le principe de cetteoptimisation est de modifier les paramètres géométriques d’un modèle (une concaténa-tion de tronçons à courbure constante) afin de se rapprocher d’un instrument cible. Nousétudions ici des cibles de deux natures différentes : un profil géométrique (relevé de profild’instrument existant par exemple), il s’agira alors d’optimisation géométrique ; ou bienune impédance que nous souhaitons reproduire avec le modèle, il s’agira alors d’optimi-sation en impédance.

Contrairement à la simulation temps-réel, ce travail ne s’appuie sur aucun travailprécédent et a été entièrement réalisé par moi-même avec l’aide de Thomas Hélie.

30

Page 32: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

6 Présentation du problème

6.1 Notations

Nous utiliserons les notations suivantes :– La variable spatiale dimensionnée (abcisse curviligne) est notée ℓ et les fonctions

de cette variable sont notées avec un . (exemple : r(ℓ)).– La variable spatiale adimensionnée est notée x et les fonctions de cette variable

sont notées sans . (exemple : r(x)).– Les fonctions décrivant la cible du problème d’optimisation sont notées avec un .

(exemple : r(ℓ), r(x), I (ω)).– Un indice . n ou un exposant . n fait référence au numéro du tronçon.– Un indice . k ou un exposant . k fait référence au numéro du point du relevé.

6.2 Modèle

6.2.1 Tronçon à courbure constante

Nous appelons tronçon caténoïdal une portion de tube à symétrie axiale, à sectionvariable de rayon ℓ 7→ r(ℓ) avec une courbure Υ ∈ R constante, c’est-à-dire telle que

r′′(ℓ)

r(ℓ)= Υ . (46)

Selon le signe de Υ, on obtient alors trois catégories de tonçons :

Υ < 0 : r(ℓ) = A cos(√

−Υ ℓ)+B sin

(√−Υ ℓ

)avec(A,B) ∈ R

2

Υ = 0 : r(ℓ) = A+Bℓavec(A,B) ∈ R2

Υ > 0 : r(ℓ) = A cosh(√

Υ ℓ)+B sinh

(√Υ ℓ)

avec(A,B) ∈ R2

Par ailleurs, pour des raisons géométriques évidentes, les profils admissibles sont telsque r(ℓ) > 0 et r′(ℓ) ≤ 1 ∀ℓ ∈ [0, L].

6.2.2 Profil C1

De nombreuses optimisations géométriques se font avec des modèles à base de splines.Or nous ne savons résoudre analytiquement la propagation acoustique que dans des tubesaxisymétriques à courbure constante. Par conséquent, le modèle ℓ 7→ r(ℓ) visé pourapproximer le tube sera une concaténation de N tronçons caténoïdaux. Chaque tronçonétant caractérisé par les paramètres {Υ, A,B,L} (où L est la longueur du tronçon), lesparamètres du modèle complet sont :

– N : nombre de tronçons,– {An, Bn,Υn, Ln} 1≤n≤N : paramètres des tronçons.Par ailleurs, nous souhaitons obtenir une concaténation à régularité C1, nous poserons

donc des contraintes d’égalité sur r(ℓ) et r′(ℓ) aux points de raccordement des tronçons(comme dans le cas des splines par exemple).

31

Page 33: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

7 Optimisation géométrique

Le problème que nous nous posons dans un premier temps est l’approximation d’unprofil de tube à l’aide d’un profil modèle. Nous souhaitons optimiser notre modèle consti-tué d’une concaténation de tronçons élémentaires caténoïdaux afin d’être le plus prochepossible d’une cible constituée par le relevé de la perce d’un instrument à symétrie axiale.

Nous disposons d’un relevé de points d’un profil de tube (ℓk, rk)k∈K avec K = J1,KK,où ℓk sont les abcisses curvilignes (ℓ1 = 0 et ℓK = L longueur du tube) et rk les rayonscorrespondants. Nous représentons le profil en continu par l’interpolation linéaire durelevé de points :

r(ℓ) =

K∑

k=1

(αk(ℓ− ℓk) + rk).1[ℓk,ℓk+1[(ℓ) ∀ ℓ ∈ [0, L] , (47)

où αk =rk+1 − rkℓk+1 − ℓk

.

7.1 Tronçon caténoïdal sur x ∈ [−1, 1]

Soit H l’espace de Hilbert L 2 ([−1, 1]) muni de son produit scalaire 〈f, g〉 =∫ 1−1 f(x)g(x)dx

et de la norme associée.

Théorème 7.1 (Définition de C et S) Soit Υ ∈ R. Une base orthogonale de l’espacedes solutions de (46) sur H est donnée par :

{C : (x,Υ) 7→ φ1

(Υx2

)

S : (x,Υ) 7→ xφ2

(Υx2

) , (48)

φ1 : x 7→∑

k≥0

xk

(2k)!et φ2 : x 7→

k≥0

xk

(2k + 1)!(49)

sont analytiques sur C donc C∞ (R) et développables en série entière avec un rayon deconvergence ρ = ∞.

Remarque : Ces fonctions peuvent s’écrire (indépendemment du choix de √. )

φ1(x) = cosh(√

x), (50)

φ2(x) =

sinh (√x)√

xsi x 6= 0

1 si x = 0. (51)

J’utiliserai par la suite indifférement les notations {CΥ(x), SΥ(x)} et {C (x,Υ) , S (x,Υ)}.On note EΥ(x) = [C (x,Υ) , S (x,Υ)]T et E

Υ(ℓ) =

[C(ℓ, Υ

), S(ℓ, Υ

)]T.

32

Page 34: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Propriété 7.1 (Propriétés basiques de C et S) Les fonctions C et S sont analy-tiques et donc développables en séries entières en x avec un rayon de convergence ρ(Υ) =∞ et en Υ avec un rayon de convergence ρ(x) = ∞.

C et S sont respectivement paire et impaire , (52)

C (x,Υ) =∑

k≥0Υkx2k

(2k)!,

S (x,Υ) =∑

k≥0Υkx2k+1

(2k + 1)!,

(53)

∂xC (x,Υ) = CΥ′(x) = Υxφ2

(Υx2

)= ΥS (x,Υ) ,

∂xS (x,Υ) = SΥ′(x) = φ1

(Υx2

)= C (x,Υ) ,

(54)

∂ΥC (x,Υ) =x2

2φ2

(Υx2

)=

x

2S (x,Υ) ,

∂ΥS (x,Υ) =x

(φ1

(Υx2

)− φ2

(Υx2

))

=1

2Υ(xC (x,Υ)− S (x,Υ)) .

(55)

Un tronçon caténoïdal est défini sur [−1, 1] par son rayon :

r(x) = A.C (x,Υ) +B.S (x,Υ) . (56)

7.2 Changements de variables

Comme je l’ai dit en introduction, le modèle que nous souhaitons optimiser est uneconcaténation de tronçons caténoïdaux, nous allons donc découper notre profil cible enN tronçons. Dans le but de simplifier les calculs et de rentrer dans le cadre des théorèmeset propriétés précédents sur les tronçons du profil modèle, nous effectuons un changementde variable sur chaque tronçon afin d’adimensionner la variable spatiale et de ramenerles abcisses curvilignes dans l’intervalle [−1, 1] :

x = Xn(ℓ) =2 ℓ− ℓnKn

− ℓn1Ln

, (57)

ℓ = Ln(x) = Xn−1(x) =

xLn + ℓnKn+ ℓn1

2. (58)

Le changement de variable revient à écrire sur chaque tronçon, pour le profil cible etpour le profil modèle :

rn(x) = rn(Ln(x)

),

rn(x) = rn(Ln(x)

),

rn(Xn(ℓ)

)= rn(ℓ) ,

rn(Xn(ℓ)

)= rn(ℓ) .

Les formules de passage entre les variables dimensionnées et adimensionnées sont déduitesde ces égalités et sont données dans un tableau en annexe résumant toutes les formulesde changement de variable.

33

Page 35: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

7.2.1 Profil cible

Le relevé de points décrit en (47) est partitionné en N tronçons de longueurs {L1, . . . , LN} :

r(ℓ) =N∑

n=1

rn(ℓ).1[λn,λn+1[(ℓ) , (59)

avec rn(ℓ) =

Kn−1∑

k=1

(αnk(ℓ− ℓnk) + rnk) .1[ℓnk ,ℓ

nk+1[

(ℓ)

et λn = ℓn1 = ℓn−1Kn−1

, αnk =

rnk+1 − rnk+1

ℓnk+1 − ℓnk.

Sur chaque tronçon, nous effectuons un changement de variable de ℓ ∈[ℓn1 , ℓ

nKn

]vers

x ∈ [−1, 1] :

x = Xn(ℓ) =2 ℓ− ℓnKn

− ℓn1Ln

,

ℓ = Ln(x) = Xn−1(x) =

xLn + ℓnKn+ ℓn1

2.

Remarque : ℓ = x.En procédant au changement de variable ℓ → x, on obtient

rn(x) =

Kn−1∑

k=1

(αnk(x− xnk) + rnk

).1[xn

k,xn

k+1[(x) , x ∈ [−1, 1] , (60)

où αnk , xnk et rnk sont déduits des formules de passage données en annexe.

7.2.2 Profil modèle

On note Un =[An, Bn

]Tet Un =

[An, Bn

]T.

Le profil modèle pour chaque tronçon s’écrit, avec les paramètres{Un, Υn, Ln

}:

r(ℓ) =

N∑

n=1

rn (ℓ) .1[ℓn1 ,ℓnKn[(ℓ) ℓ ∈ [0, L] , (61)

rn(ℓ) = ETΥn

(ℓ) Un ℓ ∈[ℓn1 , ℓ

nKn

[. (62)

En procédant au changement de variable ℓ → x, on obtient 1

rn(x) = EΥn

T (x)Un x ∈ [−1, 1] , (63)

1. où Un et Υn sont déduits des formules de passage données en annexe.

34

Page 36: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

7.3 Résolution analytique des contraintes C1

Les contraintes de régularité C1 entre les tronçons s’écrivent

∀n ∈ J1, N − 1K

{rn(ℓ

nKn

) = rn+1(ℓn1 )

∂ℓ rn(ℓnKn

) = ∂ℓ rn+1(ℓn1 )

.

Après le changement de variable ℓ → x, la résolution de ce système conduit à l’équa-tion de récurence (cf annexe)

Un+1 = Φn+1GnΦnUn , (64)

dont on déduit que (cf annexe)

Un = QnU1 = Φn

n−2∏

p=1

[Gn−pΨn−p

]G1Φ1U1 , (65)

Φn =

(φ1 (Υn) φ2 (Υn)

Υnφ2 (Υn) φ1 (Υn)

), Gn =

(1 0

0 Ln+1

Ln

),

Ψn = (Φn)2 =

(φ1 (4Υn) 2φ2 (4Υn)

2Υnφ2 (4Υn) φ1 (4Υn)

).

7.4 Présentation du problème d’optimisation

Comme je l’ai dit dans la partie précédente, chacun des N tronçons du profil modèleest paramétré par quatre paramètres {Υn, Ln, An, Bn}. Le problème présente donc 4Ndegrés de liberté qui peuvent être regroupés en 2N paramètres linéaires : les couples{An, Bn}, et 2N paramètres non linéaires : les couples {Υn, Ln}.

La résolution au paragraphe précédent des 2(N − 1) contraintes d’égalité de régula-rité C1 et l’expression par récurence (64) obtenue permet de résoudre 2(N − 1) degrés deliberté sur les paramètres linéaires. Il est donc possible d’exprimer linéairement tous lescouples {An, Bn} en fonction d’un unique couple de paramètres (deux degrés de libertérestants). Ce couple peut être simplement {A1, B1} (comme présenté dans l’équation65) auquel cas notre travail d’optimisation portera non seulement sur les paramètres{Υn, Ln} mais aussi sur le couple {A1, B1} 2.

2. Il sera aussi possible de résoudre simplement les deux degrés de liberté associés à {A1, B1} àl’aide de deux contraintes supplémentaires (fixer r(ℓ) et/ou r′(ℓ) en un ou deux point(s) du profil parexemple). Dans le logiciel développé, le couple {A1, B1} est systématiquement calculé à partir du couple{r(0), r′(0)}. Enfin, il sera possible de ne poser qu’une seule contrainte et donc d’exprimer les couples{An, Bn} en fonction cette fois d’un seul paramètre qui sera intégré dans le travail d’optimisation surles paramètres non linéaires.

35

Page 37: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Le critère que nous cherchons à minimiser lors de l’optimisation est la distance qua-dratique entre r(ℓ) et r(ℓ) qui s’exprime de la façon suivante :

C (θ) =

∫ L

0

(r(ℓ)− r(ℓ)

)2dℓ . (66)

Nous utiliserons une méthode numérique pour la minimisation de ce critère.

7.5 Critère

7.5.1 Définition du critère

Le critère s’écrit en fonction du vecteur de paramètres libres θ, concaténation de Υ

vecteur des {Υn}, de L vecteur des {Ln} et éventuellement du vecteur U1.

C (θ) =

∫ L

0

(r(ℓ)− r(ℓ)

)2dℓ

=

∫ L

0r2(ℓ) dℓ+

∫ L

0r2(ℓ) dℓ− 2

∫ L

0r(ℓ)r(ℓ) dℓ .

Le terme∫ L0 r2(ℓ) dℓ ne nous intéresse pas car il ne dépend pas du vecteur θ. Nous

travaillerons donc sur le critère réduit (par soucis de clarté, comme nous ne travailleronspar la suite plus que sur le critère réduit, nous conservons la notation du critère pour lecritère réduit dans la suite du document) :

C (θ) =

∫ L

0r2(ℓ) dℓ − 2

∫ L

0r(ℓ)r(ℓ) dℓ . (67)

On obtient en variable adimensionnée et en écriture matricielle :

C (θ) = U1TQ(Υ,L)U1 − 2V(Υ,L)TU1 (68)

Q(Υ,L) =N∑

n=1

QnTMnQn , (69)

V(Υ,L) =

N∑

n=1

Vn , (70)

et

Mn =

(φ2 (4Υn) + 1 0

0 φ2(4Υn)−1Υn

), (71)

Vn = QnTWn , (72)

WnT = (C n

A CnB) , (73)

36

Page 38: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

avec

CnA =

Kn∑

k=1

[αnk

((xnk+1 − xnk

)xnk+1 φ2

(Υn x

ni+1

2)

−φ1

(Υn x

nk+1

2)− φ1

(Υn x

nk2)

Υn

)

+rnk

(xnk+1 φ2

(Υn x

nk+1

2)− xnk φ2

(Υn x

nk2))]

, (74)

CnB =

1

Υn

Kn∑

k=1

[αnk

((xnk+1 − xnk)φ1

(Υn x

nk+1

2)

−xnk+1 φ2

(Υn x

nk+1

2)+ xnk φ2

(Υn x

nk2))

+rnk

(φ1

(Υn x

nk+1

2)− φ1

(Υn x

nk2))]

. (75)

7.5.2 Etude du critère lorsque Υn → 0

L’expression de Un en fonction U1 (eq. 65) nous montre que An et Bn sont parfai-tement définis pour toutes les valeurs de Υn, et ce pour tout n. En revanche, certainstermes des expressions (74), (75) et (71) ci-dessus ne sont pas définis pour Υn = 0. Nousallons exprimer les développements en série entière de ces termes.

Théorème 7.2 (DSE partiel du critère)

La fonction f1 : Υ 7→ φ1(Υa2)−φ1(Υ b2)Υ est développable en série entière en Υ = 0 avec

un rayon de convergence ρ = ∞.

f1 (Υ) =∑

p≥0

a2p+2 − b2p+2

(2p + 2)!Υp (76)

La fonction f2 : Υ 7→ (a−b)φ1(Υ a2)−aφ2 (Υ a2)+b φ2(Υ b2)Υ est développable en série en-

tière en Υ = 0 avec un rayon de convergence ρ = ∞.

f2 (Υ) =∑

p≥0

((a− b)b2p+2

(2p + 2)!+

b2p+3 − a2p+3

(2p+ 3)!

)Υp (77)

La fonction f3 : Υ 7→ φ2(4Υn)−1Υn

est dévloppable en série entière en Υ = 0 avec unrayon de convergence ρ = ∞.

f3 (Υ) =∑

p≥0

2× 4p

(p+ 1)(2p + 2)(2p + 1)!Υp (78)

37

Page 39: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

7.6 Contraintes supplémentaires : critère pénalisé, lagrangien, lagran-

gien augmenté

Dans le cas où le vecteur U1 est défini à l’aide de deux contraintes, le modèle neprésente plus aucun degré de liberté linéaire. Il est donc impossible de résoudre descontraintes supplémentaires analytiquement. J’ai mis en place trois méthodes différentesafin de pouvoir prendre en compte des contraintes supplémentaires : un critère péna-lisé, un lagrangien et un lagrangien augmenté. Nous considérerons ici le cas d’une seulecontrainte s’exprimant c(θ) = 0 (par exemple r(ℓ0) − r(ℓ0) = 0), les méthodes dans lecas de plusieurs contraintes seront déduites immédiatement.

7.6.1 Critère pénalisé

La première solution envisagée est de rajouter une pénalisation au critère sous laforme suivante :

Cp(θ) = C (θ) + ǫc(θ)2.

où ǫ est le paramètre de pénalisation. Afin de rendre ce paramètre plus pertinent, onutilise en pratique un critère pénalisé relatif :

Cp(θ, ǫ) =C (θ)

‖r(ℓ)‖2+ ǫcr(θ)

2. (79)

où cr(θ) est la contrainte relative, de la forme r(ℓ0)−r(ℓ0)r(ℓ0)

7.6.2 Lagrangien

La deuxième solution envisagée est l’utilisation d’un lagrangien :

Cl(θ, µ) = C (θ) + µc(θ).

De même, afin de rendre le paramètre µ plus pertinent, on utilise en pratique un lagran-gien relatif :

Cl(θ, µ) =C (θ)

‖r(ℓ)‖2+ µcr(θ). (80)

7.6.3 Lagrangien augmenté

La troisième solution envisagée est l’utilisation d’un lagrangien augmenté, qui n’estautre qu’un lagrangien pénalisé :

Clp(θ, µ, ǫ) = C (θ) + µc(θ) + ǫc(θ)2.

De même, on utilise :

Clp(θ, µ, ǫ) =C (θ)

‖r(ℓ)‖2+ µcr(θ) + ǫcr(θ)

2. (81)

38

Page 40: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

J’ai finalement retenu la solution du critère pénalisé car si les lagrangiens et les la-grangiens augmentés sont plus performants en théorie, leurs implémentations numériquessont très délicates et mes quelques tentatives ne m’ont apporté que des instabilités quirendaient l’optimisation inefficace.

7.7 Implémentation Matlab de l’optimisation géométrique

7.7.1 Fonctions non définies en 0

Autour de 0, la fonction φ2 ne peut pas être définie numériquement à l’aide de l’eq.(51) à cause de la singularité en 0. De même pour les termes C n

A et C nB qui ne sont pas

définis pour des courbures nulles. Ces fonctions sont donc programmées avec un disquecentré sur 0 dans lequel elles seront calculées par un développement limité et non par leurformule exacte. Les valeurs du rayon du disque et de l’ordre du développement limité ontété déterminées (empiriquement) afin d’assurer une précision et un raccordement entrele DL et la fonction exacte au périmètre du disque satisfaisants.

7.7.2 Point de départ de l’optimisation et choix de N

J’ai choisi comme point du départ pour l’algorithme d’optimisation tel qu’il est im-plémenté actuellement un profil droit (i.e Υn = 0,∀n) divisé en N tronçons de même lon-gueur (i.e Ln = L

N ,∀n) avec U1 calculé pour que le profil modèle soit tel que r(0) = r(0)et r′(0) = r′(0).

Le choix du nombre de tronçons est sans doute le problème le plus délicat. Le nombrede tronçons sera choisi au cas par cas, afin de trouver un compromis entre nombre detronçons, qualité de l’approximation, qualités acoustiques et performances temps-réel

7.7.3 Problème de minima locaux

Le principal obstacle auquel j’ai dû faire face était le nombre de minima locaux ducritère. En effet, le critère est une fonction très complexe comportant un nombre trèsimportant de minima locaux et je me suis très vite apreçu dans l’utilisation des fonctionsde recherche de minimum de Matlab (type fminsearch) que le choix du point de départétait critique pour le bon fonctionnement de l’optimisation. J’ai alors mis au point unalgorithme d’optimisation qui permet de rester fixé au minimum local qui m’intéresse :

- 1 Optimisation sur la courbure du premier tronçon

puis, pour chaque tronçon suivant,

- n Optimisation sur la courbure du n-ième tronçon

- n bis Optimisation sur les courbures des tronçons 1 à n

- n ter Optimisation sur les courbures et les longueurs des tronçons 1 à n (facultatif)

39

Page 41: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Cette série d’optimisation nous assure dans la plupart des cas rencontrés jusqu’icile suivi du même minimum local tout au long de la procédure d’optimisation. Un boncompromis temps / performance consiste à ne réaliser l’étape n ter qu’une fois arrivé audernier tronçon.

7.7.4 Résultats

Une première série de résultats, présentée à la figure 15 illustre l’utilité de l’algo-rithme d’optimisation décrit ci-dessus et de l’optimisation sur les {Ln}. Les graphiquesprésentent en rouge la courbe cible, il s’agit ici d’un polynôme de degré 3 non réalistedans le cadre d’une perce d’instrument mais utilisé ici pour tester la robustesse de l’op-timisation, et en bleu le modèle sur lequel on peut voir les points de raccordements entreles tronçons. Les figures de la première ligne présentent une approximation à l’aide d’unmodèle à 3 tronçons et celles de la deuxième ligne à l’aide d’un modèle à 4 tronçons.Les figures de la première colonne présentent des optimisations sur les seuls paramètres{Υ}, les optimisations de la seconde colonne utilisent le compromis cité plus haut et lesoptimisations de la troisième colonne suivent toutes les étapes d’optimisation.

0 0.5 1 1.5 2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0 0.5 1 1.5 2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0 0.5 1 1.5 2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0 0.5 1 1.5 2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0 0.5 1 1.5 2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0 0.5 1 1.5 2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Figure 15 – Première série de résultats d’optimisation.

Nous constatons aisément que l’inclusion des longueurs dans les paramètres d’opti-misation des tronçons offre de bien meilleurs résultats en général. On constate cependantquelques cas isolés comme celui de l’optimisation sur le modèle à quatre tronçons dansla deuxième colonne où le critère se trouve bloqué dans un minimum local, l’algorithmefaisant parfois même tendre la longueur d’un tronçon vers 0.

De même, il arrive des cas où l’augmentation du nombre de tronçons n’améliorepas les performances. Sur un des profils de test, j’ai pu constater que les performancesétaient meilleures pour un nombre de tronçons impair et qu’au delà d’un certain nombrede tronçons, l’algorithme d’optimisation réduisait tout seul le nombre de tronçons enfaisant tendre certains paramètres Ln vers 0.

40

Page 42: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Nous pouvons constater tout de même que, dès lors que l’on optimise sur les cour-bures et sur les longueurs, l’algorithme donne de bons résultats dans l’ensemble, le grosdéfaut restant encore le temps de calcul, l’obtention d’un des résultats présentés figure15 demande, suivant le nombre de paramètres à optimiser, entre 5 et 40 secondes.

Une deuxième série de mesures, présentée en figure 16 montre les performances descontraintes numériques ajoutées sur le rayon et la pente à l’extrémité droite du profil. Lacible utilisée est cette fois-ci un relevé de perce de trombone effectué à l’IRCAM par RenéCaussé et le modèle possède trois tronçons. Toutes les simulations ont été effectuées avecoptimisation sur les longueurs uniquement à la dernière étape.

Le premier graphique résulte d’une optimisation sans contrainte numérique. Les résul-tats obtenus sont les suivants (e désigne l’erreur relative égale à la norme de la différencedivisée par la norme de la cible, er désigne l’erreur relative sur le rayon en ℓ = L et epdésigne l’erreur relative sur la pente en ℓ = L) :

e = 1.4 10−2

er = 2.7 10−2

ep = 2.8 10−1

Le deuxième graphique résulte d’une optimisation avec contrainte numérique sur le rayonen ℓ = L. Les résulats sont les suivants :

e = 2.0 10−2

er = 6.8 10−5

ep = 1.9 10−1

Le troisième graphique résulte d’une optimisation avec contrainte numérique sur le rayonet la pente en ℓ = L. Les résulats sont les suivants :

e = 7.6 10−2

er = 8.3 10−4

ep = 1.7 10−3

0 0.1 0.2 0.3 0.4 0.5

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0 0.1 0.2 0.3 0.4 0.5

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0 0.1 0.2 0.3 0.4 0.5

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

Figure 16 – Deuxième série de résultats d’optimisation.

Nous constatons que les contraintes numériques sont assez bien réalisées. Par contre, ladégradation de l’approximation est assez nette et les profils trouvés sont souvent mauvaisd’un point de vue acoustique. Une solution est évidement l’augmentation du nombre detronçons. Il faudra alors, suivant les cas, trouver le compromis entre nombre de tronçons,qualité de l’approximation, qualités acoustiques et performances temps-réel.

41

Page 43: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

7.8 Applications

L’application principale de l’optimisation géométrique est le clonage d’instrument. Lefait de disposer d’un profil modèle qui approxime le plus finement possible la géométried’un intrument donné permet de reproduire très fidèlement cet instrument en virtuelet donc de pouvoir par la suite construire une structure simulable en temps-réel dont lerendu sonore se rapproche tout aussi fidèlement du rendu sonore de l’instrument original.

8 Optimisation en impédance

Le deuxième problème d’optimisation est l’optimisation en impédance. Nous dispo-sons maintenant d’une impédance cible et nous souhaitons obtenir un profil modèle dontl’impédance se rapproche au mieux de la cible. Contrairement à l’optimisation géomé-trique, ce travail n’en est qu’à l’état de première ébauche et ce que je vais exposer dansla suite est constitué, pour une grande partie, par des idées qui sont encore à développer.

8.1 Calcul de l’impédance à partir du modèle

Le calcul de l’impédance à partir du modèle se fait grâce à la structure simulable quej’ai décrite en partie I. Les paramètres des différents tronçons du modèle, auquel nouspouvons rajouter une embouchure donnée et un modèle de rayonnement, nous permettentde construire une structure en cellules MIMO. Pour l’instant, seules les structures com-posées uniquement de quadripôles (c’est à dire une simple succession de tronçons dotéed’une embouchure en tête et d’un rayonnement en queue) sont prises en charge par lelogiciel.

Pour chaque cellule MIMO, les quatre fonctions de transfert sont évaluées pour dif-férentes valeurs de la variable de Laplace, en général un vecteur décrivant linéairementou logarithmiquement l’intervalle de fréquence qui nous intéresse. Une fois les fonctionsévaluées, les quadripôles sont concaténés numériquement un par un (voir la méthodeci-après). Nous obtenons ainsi finalement un quadripôle contenant les quatre fonctionsde tranfert de la structure complète dont nous pouvons extraire la réflexion en entrée, latransmission et l’impédance.

La figure 17 présente la concaténation de deux quadripôles. Les formules explicitantle quadripôle résultant de la concaténation sont les suivantes :

He11 = H1

11 +H1

12H211H

121

1−H122H2

11

,

He12 =

H212H1

12

1−H122H2

11

,

He21 =

H121H2

21

1−H122H2

11

,

He22 = H2

22 +H2

12H1

22H2

21

1−H122H2

11

.

(82)

Il faut noter que ces formules sont écrites pour un cas bien précis : la deuxièmeporte du premier quadripôle est reliée à la première porte du deuxième quadripôle. Il est

42

Page 44: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

x+0

x+0

x−0

x−0

x+1

x−1

x+2

x+2

x−2

x−2

Q1 Q2

Qe

H111

H112

H121

H122

H211

H212

H221

H222

He11

He12

He21

He22

Figure 17 – Concaténation de 2 quadripôles

possible qu’en termes de numéros de portes, d’autres configurations se présentent. Lesnouvelles formules seront alors aisément déduites des précédentes en inversant pour l’unou l’autre des quadripôles les expressions Hn

11 et Hn22 d’une part et Hn

12 et Hn21 d’autre

part.

8.2 Choix du critère

De fait de la méthode numérique de calcul de l’impédance, seuls des critères numé-riques sont envisageables. Le critère évident est, comme pour l’optimisation géométrique,la distance quadratique entre les impédances cible et modèle, calculée numériquementcette fois. C’est celui-ci qui est utilisé pour l’instant dans notre ébauche de logiciel. Ils’avère cependant que ce critère n’est pas le plus pertinent. En effet, d’un point de vuemusical ou du point de vue de l’instrumentiste, les descripteurs porteurs d’informationdans l’impédance d’un instrument sont les positions, en fréquence et en gain, des diffé-rents “pics” présents dans la courbe d’impédance, ainsi que leurs facteurs de qualités. Ilsera donc intéressant dans le futur d’élaborer un critère prenant en compte les différencesde position et/ou de facteur de qualité sur les pics.

9 Développements d’outils de “LAO”

Une poursuite intéressante de ce projet serait le développement d’outils de luthe-rie assistée par ordinateur “LAO” utilisables directement par des luthiers professionels.Même si, aujourd’hui, ces logiciels ne sont encore qu’à l’état d’ébauche, ils permettentde calculer automatiquement une géométrie d’instrument basée sur notre modèle dans lebut d’obtenir un clone d’un instrument donné. Les fonctions que je souhaite implémenter

43

Page 45: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

dans le futur sont les outils dont ont besoin les luthiers, comme par exemple l’optimisa-tion de l’harmonicité des pics, i.e optimiser les rapports entre les fréquences des différentspics pour obtenir une suite harmonique la plus juste possible, ou encore l’optimisation dela jouabilité de l’instrument, i.e améliorer le facteur de qualité des pics afin de permettreau musicien d’accrocher plus facilement les différentes notes.

Nous le comprenons ici, la recherche en LAO n’est pas possible sans un dialogueconcret entre les chercheurs et les luthiers. C’est pourquoi nous essayons aujourd’hui àl’IRCAM de rapprocher ces travaux du projet PAFI (Plateforme modulaire d’Aide à laFacture Instrumentale), réunissant chercheurs, pôle d’innovation des métiers de la mu-sique et artisants-luthiers, financé par l’Agence National de la Recherche et coordonnépar l’Itemm (Institut Technologique Européen des Métiers de la Musique). Il s’agit dansce projet de répondre à la problématique de la reproduction et de l’optimisation dela conception d’instruments de musique haut de gamme, caractéristiques de la lutheriefrançaise sur le marché mondial. PAFI propose donc la mise en œuvre d’outils de carac-térisation et de prédiction mécanique et acoustique dédiés à l’analyse et au prototypagevirtuel des instruments.

Une présentation des présents travaux est prévue à l’automne 2009 lors d’une jour-née de travail sur les outils logiciels d’aide à la lutherie, aujourd’hui encore en coursd’organisation, mise en place par Joël Gilbert et René Caussé dans le cadre du projetPAFI.

44

Page 46: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Troisième partie

Validation du modèle : mesures et

simulation

Le dernier objectif du stage est la mise en place de séries de mesures et de simulationsdestinées à vérifier la pertinence du modèle que j’ai décrit en introduction. Mon objectifétait de faire des mesures d’impédance sur plusieurs instruments (une trompette, untrombonne et un cor) et sur un prototype de pavillon réalisé à partir d’un profil théoriqueafin de comparer les impédances mesurées avec les impédances simulées à partir desmodèles numériques des instruments et du profil théorique.

Je disposais, pour faire les mesures, d’un banc d’impédance accompagné d’un logicielde mesures.

45

Page 47: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

10 Problème du sinus glissant

Les sweeps (ou sinus glissants) générés par le logiciel accompagnant le banc d’impé-dance ne me satisfaisaient pas car j’obtenais des courbes présentant un rapport signalsur bruit trop faible et inégalement réparti sur la bande de fréquence étudiée. J’ai doncdécidé de créer mes propres signaux d’excitation. Je pars de l’hypothèse que la réponsedu piezzo d’excitation est linéaire dans la bande qui m’intéresse, hypothèse assez bienvérifiée empiriquement.

Le but est de générer un sweep u(t) parfait, c’est-à-dire tel que

|F [u](f)| ={

1 dans la bande de fréquence souhaitée,0 ailleurs.

(83)

avec F [u] la tranformée de Fourier de u.La solution consiste à fixer le retard de groupe Tg(f) correspondant à un sweep et

de calculer la phase φ(f) = −2π∫ f0 Tg(θ)dθ correspondante. J’ai étudié deux fonctions

possible pour Tg(f) :

1. Tg(f) =T

f2 − f1(f − f1)1[f1, f2](f)

2. Tg(f) =T

ln(

f2f1

) ln(

ff1

)1[f1, f2](f)

où [f1, f2] est l’intervalle de fréquence balayé par le sweep et T est la durée du sweep.La calul de la phase donne les résultats suivants :

1. φ(f) = − π T

f2 − f1(f − f1)

21[f1, f2](f) (84)

2. φ(f) = − 2π T

ln

(f2f1

)[f

(ln

(f

f1

)− 1

)+ f1

]1[f1, f2](f) (85)

La solution du Tg(f) linéaire donne des meilleurs résultats en terme de RSB (notammentdans les hautes fréquences), j’ai donc opté pour celle-ci.

Le sweep est ensuite obtenu en construisant un vecteur des valeurs de F [u] à partirdes équations (83) et (84) ou (85), en veillant à respecter la symétrie hermitienne et lacondition de Shannon f2 < Fs

2 (où Fs est la fréquence d’échantillonage). Le signal estfinalement obtenu par FFT inverse sur le vecteur construit.

J’ai de plus pensé à rajouter un temps de relaxation à l’issue du sweep dans le signald’excitation afin de s’assurer que la mesure récupère la totalité de la réponse libre dusystème mais j’ai abandonné cette solution qui dégradait de façon significative le spectredu sweep et le RSB de la mesure.

46

Page 48: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Figure 18 – Mesure d’impédance de la trompette

11 Campagnes de mesures effectuées à l’IRCAM

J’ai eu l’occasion d’effectuer plusieurs campagnes de mesure pendant mon stage.Malheureusement, par faute de temps et de moyens, nous n’avons pu construire aucunestructure clone des instruments mesurés. Je vais donc présenter rapidement ici les mesureseffectuées en espérant qu’elles puissent un jour être exploitées pour vérifier les modèlesutilisés tout au long de mes travaux.

Les mesures ont été réalisées à l’IRCAM, en chambre anéchoïque ou bien en cabineinsonorisée, à l’aide du banc d’impédance réalisé par le Laboratoire d’Acoustique del’Université du Maine (LAUM).

11.1 Trompette

Une première série de mesures a été réalisée sur un trompette Yamaha dont disposel’équipe Acoustique Instrumentale de l’IRCAM. Les mesures ont été faites en présenced’une embouchure. Une photo du montage de l’expérience est présentée en figure 18.

J’ai mesuré en chambre anéchoïque l’impédance de la trompette pour chaque doigté,comme présenté sur les photos de la figure 19.

Malheureusement, je ne posséde pour l’instant aucun relevé de la perce de la trom-pette, il m’est donc impossible de construire une modélisation dont je peux calculerl’impédance pour comparer les résultats.

47

Page 49: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Figure 19 – Différents doigtés de la trompette

11.2 Cor

J’ai eu l’opportunité de mesurer un cor Paxman flambant neuf. Une photo de l’ins-tallation de mesure est présentée en figure 20. Je tiens à remecier encore une fois ici trèschaleureusement Jérôme Joubert qui m’a permis de faire une campagne de mesures trèscomplète sur son cor et m’a aidé tout au long de ces mesures.

J’ai ici aussi fait les mesures pour les différents doigtés. Par ailleurs, les cornistesont l’habitude de jouer sur la justesse de leur instrument en bouchant plus ou moins lepavillon avec la main. Nous pouvons voir sur la figure 21 la main à l’entrée du pavillonen position normale de jeu.

Nous voyons sur la figure 22 l’influence de la position de la main à l’entrée du pavillon.On constate nettement un réhaussement des derniers pics visibles en hautes fréquencesaux alentours de 2 kHz lorsque la main bouche la sortie du pavillon. Une observationplus fine permet de voir que les fréquences des pics sont légèrement décalées vers le grave.

A ce jour, je ne dispose d’aucun relevé de la perce de cet instrument, il m’est doncimpossible de réaliser une simulation pour comparer les impédances réelles et simulées.

12 Prototype de pavillon sur-mesure

Dans le but de comparer les impédances mesurée et simulée, Rémi Mignot a construitun profil de tube constitué d’un seul tronçon caténoïdale avec (en abcisse curviligne) unepente nulle à l’entrée et une pente de 1 en sortie. La profil a ensuite été passé en abcisseaxiale (et présente donc une pente horizontale à l’entrée et une pente verticale à la sortie).J’ai pu alors construire une pièce en 3D à partir de ce profil à l’aide du logiciel CATIA.

48

Page 50: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Figure 20 – Mesure d’impédance du cor

Figure 21 – Main à l’intérieur du pavillon du cor

49

Page 51: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

0 200 400 600 800 1000 1200 14000

1

2

3

4

5

6

7

8

9

10

0 200 400 600 800 1000 1200 14000

1

2

3

4

5

6

7

8

9

10

Figure 22 – Mesures sur le cor. En haut : sans boucher le pavillon. En bas : en bouchantle pavillon

50

Page 52: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Figure 23 – Pièce fabriquée sur mesure. A gauche : modèle numérique CATIA. A droite :pièce réalisée

La figure 23 présente le modèle numérique CATIA ainsi qu’une réalisation de la piècepar prototypage rapide que nous avons commandé. La géométrie complexe de la pièce aété établie avec Thomas Hélie, Rémi Mignot et Allain Terrier, mécanicien de l’IRCAMchargé de fabriquer le système nécessaire aux différentes mesures que nous souhaitionseffectuer sur ce pavillon.

Malheureusement, la pièce qui nous a été livrée présentait un état de surface trèsdégradé et une gorge à l’intérieur du tronçon qui rendaient la pièce inexploitable pourdes mesures acoustiques précises. J’ai néanmoins fait les mesures sur ce profil avant de lerenvoyer au constructeur. Comme on peut le voir sur la figure 24, ce profil ne présente pasdu tout la courbe d’impédance attendue, l’amortissement est très important et les picstrès déformés. Nous attendions pour ce profil des pics bien définis et réguliers présentantune décroissance régulière et assez lente.

51

Page 53: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

0 500 1000 1500 2000 2500 3000 3500 4000 45000

1

2

3

4

5

6

7

8

9titre

abcisse

ordo

nnee

Figure 24 – Courbe d’impédance du prototype

Conclusion

Les objectifs de ce stage sont globalement remplis. Le programme de construction destructures simulables est fonctionnel et le programme de simulation temps-réel fonctionnemaintenant avec des performances acceptables, bien qu’encore optimisables. Cependant,plusieurs problèmes subsistent : la concaténation en C++ lors du calcul du piston n’estpas encore entièrement fonctionelle et les impédances simulées ne sont toujours pas trèssatisfaisante. Une partie de recherche sur les approximations des représentations diffu-sives est en cours et devrait pouvoir être implémentée dans le logiciel prochainement. Ilreste aussi beaucoup d’éléments que l’on pourrait ajouter à nos instruments, tels cou-lisses, trous etc. pour compléter notre famille d’instruments.

Le point le plus positif de ce stage est sans aucun doute les résultats obtenus par lespremiers outils d’optimisation géométrique et les débuts de travaux sur les optimisationsen impédance. Comme je l’ai mentionné plus haut, nous sommes déjà en contact avecdes professionnels et des universitaires de la lutherie très intéressés par ces travaux. Ilreste encore aujourd’hui à développer des outils véritablement efficaces et utilisables etsurtout à entamer un réel dialogue avec des luthiers professionnels dans le but de com-prendre leurs attentes et de rendre les outils logiciels accessibles à des artisans qui n’ontpas toujours le bagage scientifique nécessaire à la compréhension de la théorie à la basedu fonctionnement du logiciel.

Les travaux de Thomas Hélie et Rémi Mignot dans lesquels s’est inscrit ce stage ont

52

Page 54: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

plusieurs objectfs. Le premier est évidemment le développement d’instruments virtuels,basés sur la modélisation physique, de plus en plus réalistes. Mais nous allons encore plusloin avec les outils d’optimisation : il est désormais possible de faire un modèle numériquenon pas d’“une” trompette mais de “cette” trompette, nous pouvons réaliser des véritables“clones” d’instruments destinés à la simulation temps-réel.

Ces travaux pourront avoir de nombreuses prolongations et j’espére pouvoir y prendrepart dans la suite de mes études et/ou dans ma vie professionnelle future.

53

Page 55: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Annexes

A Structure simulable

A.1 Standardisation des représentations d’état

Le but de ce changement d’état est de partir de

{z X =

∑Nn=0 AnXz−n +

∑Mm=0 BmUz−m+1

Y = CX + DU

pour arriver à {zW = AwW + BwUY = Cw W + Dw U

Les dimensions sont les suivantes :

X : J × IU : K × IY : L× I

,

An : J × JBm : J ×KC : L× JD : L×K

Nous allons faire le calcul en deux temps. Dans un premier temps nous nous occu-perons de réduire la récursion sur les matrices An et dans un deuxième temps, nousréduirons la récursion sur les matrices Bm.

Réduction de la récursion sur les matrices An

On pose B(z) =∑M

m=0 Bmz−m+1.Nous posons le changement d’état suivant :

X ′ =

Xz−1Xz−2X

...z−N X

=

X ′0

X ′1

X ′2...

X ′N

On obtient alors :

z X =

N∑

n=0

AnX z−n +B(z)U = z X ′0 =

N∑

n=0

AnX′n +B(z)U

⇔ z (Xz−n) = z X ′n = z−(n−1) = X ′

n−1 , ∀n ≥ 1

54

Page 56: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

On en déduit le système suivant :{

z X ′ = A′ X ′ + B′(z)UY = C′X ′ + D′ U

avec

A′ =

A0 A1 A2 . . . An−1 AN

IdJ 0 0 . . . 0 0

0 IdJ 0 . . . 0 0...

......

......

...0 0 0 . . . IdJ 0

(N + 1)× (N + 1) blocs de taille J × J

B′(z) =

B(z)0...0

N + 1 lignes par bloc de taille J ×K

C′ =[C 0 . . . 0

]︸ ︷︷ ︸

N + 1 colonnes par bloc de taille L× J

D′ = D

Réduction de la récursion sur les matrices Bm

On écrit B′(z) sous la forme∑M

m=0 B′mz−m+1 avec B′

m =[Bm 0 . . . 0

]Tma-

trice de N + 1 lignes par bloc de taille J ×K.On fait le changement d’état

X ′′ =

X ′ −B′0 U

U z−1

U z−2

...U z−M+1

=

X ′′0

X ′′1

X ′′2...

X ′′−M+1

On obtient alors

z X ′ = A′X ′ +B′0 U z +

M∑

m=1

B′mz−m+1

⇔ z (X ′ −B′0 U) = A′ (X ′ −B′

0 U) + (A′ B′0 +B′

1)U +

M∑

m=2

B′mz−m+1

⇔ z X ′′0 = A′X ′′

0 +

M∑

m=2

B′mX ′′

m−1 + (A′ B′0 +B′

1)U

55

Page 57: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

z (Uz−1) = U = Id2U

z (Uz−m) = z X ′′m = U z−m+1 = X ′′

m−1,∀m > 0

Y = C′X ′ +D′ U

= C′X ′ −C′B′0 U +C′B′

0 U +D′ U

= C′X ′′0 +C′B′

0 U +D′ U

On en déduit le système final :{

z X ′′ = A′′X ′′ + B′′ UY = C′′X ′′ + D′′ U

avec

A′′ =

A′ B′2 B′

3 . . . B′M−1 B′

M

0 0 0 . . . 0 0

0 IdK 0 . . . 0 0...

......

......

...0 0 0 . . . IdK 0

une matrice M ×M blocs de tailles

A′ : (J × (N + 1))× (J × (N + 1))B′

m : (J × (N + 1))×K0 sur la première colonne : K × (J × (N + 1))0 sur les suivantes : K ×K

,

B′′ =

A′ B′0 +B′

1

Id

0...0

M lignes par blocs

{première ligne : (J × (N + 1))×Ksuivantes : K ×K

,

C′′ =[C′ 0 . . . 0

]}M colonnes par blocs

{C′ : L× (J × (N + 1))0 : L×K

,

D′′ =(C′B′

0 +D′)U de taille L×K.

56

Page 58: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

A.2 Débouclage partiel

Nous partons du système original de la figure 12 :

Xn+1 = AXn +BUn = AXn +[B1 B2

] [ u1(n)u2(n)

]

Yn = CXn +DUn =

[C1

C2

]Xn +

[D11 D12

D21 D22

] [u1(n)u2(n)

]

Nous construisons un système historique ayant pour sortie Wn = [y1(n), yh2 (n + 1)]T =

[w1(n), w2(n)]T et pour entrée En = [u1(n + 1), u2(n)]

T = [e1(n), e2(n)]T où yh2 (n) =

C2Xn +D21.u1(n). On retrouve donc bien y2(n) = yh2 (n) +D22.u2(n). Il est nécessaired’avoir un échantillon d’avance dans la deuxième sortie du système historique car lacellule historique est simulée séparément de la cellule directe concaténée avec une partievariable, introduisant alors un retard d’un échantillon à l’interface des deux cellules. Nousdevons donc supprimer un retard du tampon connecté à la première entrée de la cellule.Lors de la simulation, y2(n) et yh2 (n + 1) seront calculés dans le même tour de boucleindépendemment.

Par la suite, j’utiliserai la notation z−1 pour symboliser un retard en variable tempo-rel.

Première étape de calcul

y1(n) = C1Xn + [D11D12]

[u1(n)u2(n)

]= w1(n)

= C1Xn + [D11z−1D12]

[e1(n)e2(n)

]

= C1Xn + [D11z−1D12]En

yh2 (n+ 1) = C2Xn+1 +D21u1(n+ 1) = w2(n)

= C2AXn +C2BUn +D21e1(n)

= (C2A)Xn + [C2B1z−1 +D21 C2B2]En

Xn+1 = AXn + [B1 B2]Un = AXn + [B1z−1 B2]En

On obtient donc : {Xn+1 = AXn +BhEn

Wn = ChXn +DhEn

avec

Bh = [B1z−1 B2]

Ch =

[C1

C2A

]

Dh =

[D11z

−1 D12

C2B1z−1 +D21 C2B2

]

57

Page 59: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

On obtient alors en sortie du système compet :

Yn = Id2 Wn +

[0 00 D22

]Un

D22 est appelée sensibilité du système.

Deuxième étape de calcul Dans le but de supprimer les z−1 des matrices du systèmehistorique, on procède à un changement d’état :

X ′n =

[Xn

e1(n− 1)

]

Ce qui nous donne : {X ′

n+1 = Ah′ X ′n +Bh′

E′n

Wn = Ch′X ′n +Dh′E′

n

avec

Ah′ =

[A B1

0 0

]

Bh′ =

[0 B2

1 0

]

Ch′ =

[C1 D11

C2A C2B1

]

Dh′ =

[0 D12

D21 C2B2

]

B Optimisation géométrique

B.1 Formules de passage

B.1.1 Variables dimensionnées

Profil cible

ℓ =xLn + λn + λn+1

2

αnk =

2

Lnαnk

Profil modèle

Υn =4

Ln2 Υn

58

Page 60: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

An = VnT

1 0

0 −λn + λn+1

Ln

Un ,

Bn = VnT

02

Ln

−Υn(λn + λn+1)

20

Un = Vn

T

02

Ln

−2Υn(λn + λn+1)

Ln2 0

Un

Vn =

[φ1

(Υn

(λn + λn+1)2

4

)φ2

(Υn

(λn + λn+1)2

4

)]T

=

[φ1

(Υn

(λn + λn+1)2

Ln2

)φ2

(Υn

(λn + λn+1)2

Ln2

)]T

B.1.2 Variables adimensionnées

Profil cible

x =2 ℓ− λn − λn+1

Ln

αnk =

Ln

2αnk

Profil modèle

Υn =Ln

2

4Υn

An = VnT

(1 0

0λn + λn+1

2

)Un ,

Bn = VnT

0Ln

2Υn(λn + λn+1)

Ln0

Un = Vn

T

0Ln

2ΥnLn(λn + λn+1)

40

Un

Vn =

[φ1

(Υn

(λn + λn+1)2

Ln2

)φ2

(Υn

(λn + λn+1)2

Ln2

)]T

=

[φ1

(Υn

(λn + λn+1)2

4

)φ2

(Υn

(λn + λn+1)2

4

)]T

59

Page 61: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

B.2 Détails des calculs de la récurence sur Un

∀n ∈ J1, N − 1K

{rn(ℓ

nKn

) = rn+1(ℓn1 )

∂ℓ rn(ℓnKn

) = ∂ℓ rn+1(ℓn1 )

s’écrit en variable adimensionnée

AnCΥn(1) +Bn SΥn(1) = An+1CΥn+1(−1) +Bn+1 SΥn+1

(1)An

LnΥn SΥn(1) +

Bn

LnCΥn(1) =

An+1

Ln+1Υn+1 SΥn+1

(−1) +Bn+1

Ln+1CΥn+1

(−1)

soit en écriture matricielle

(Λn)−1

ΦnUn = (Λn+1)−1 (Φn+1)

−1Un+1

Λn =

(1 00 Ln

)

et

Φn =

(CΥn(1) SΥn(1)

Υn SΥn(1) CΥn(1)

)=

(φ1 (Υn) φ2 (Υn)

Υnφ2 (Υn) φ1 (Υn)

).

De plus, det(Φn) = 1 et

(Φn)−1 =

(CΥn(−1) SΥn(−1)

Υn SΥn(−1) CΥn(−1)

)=

(φ1 (Υn) −φ2 (Υn)

−Υnφ2 (Υn) φ1 (Υn)

).

On retrouve bien l’équation de récurence

Un+1 = Φn+1GnΦnUn , où Gn = Λn+1Λn−1 ,

et on en déduit la formule explicite de Un en fonction de U1

Un = Φn

n−2∏

p=1

[Gn−pΨn−p

]G1Φ1U1 , où Ψn = (Φn)

2 .

60

Page 62: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

Références

[HMM07] Thomas Hélie, Rémi Mignot and Denis Matignon Waveguide Modeling of LossyFlares Acoustic Pipes : Derivation of Kelly-Lochbaum Structure for Real Time Si-mulation Workshop on Application of Signal Processing to Audio and Acoustics(WASPAA), 2007

[MHM08] Rémi Mignot, Thomas Hélie and Denis MAtignon From the Webster LokshinEquation to a General Framework for Simulation of Digital Waveguides, 2008

[MG73] J. D. Markel & A. H. Gray On autocorrelation equations as applied to speechanalysis, IEEE Trans. Audio and Electroacoust., vol. AU-ZA, no. 2, 04/1973

[VV95] V. Välimäki Discrete-time modeling of acoustic tubes using fractional delay filters,Ph.D dissertation, Helsinki University of Technology, 1995

[HV08] Thomas Hélie and Christophe Vergez Des instruments de musique virtuels Parudans Pour la Science-373 de Novembre 2008

[TH02] Thomas Hélie. Modélisation physique des instruments de musique en systèmedynamique et inversion (Physical modeling of musical instruments with dynamiquesystems and inversion processes), Ph.D. thesis,Université Paris-Sud, Orsay, France,2002

[FR91] N. H. Fletcher and T. D. Rossing, Physics of musical instruments, Springer Ver-lag, New York, 1991

[HHM03] H. Haddar, Th. Hélie, and D. Matignon, A webster-lokshin model for waveswith viscotermal losses and impedance boundary conditions : strong solutions,6thInternational Conference on Mathematical and Numerical Aspects of Wave Propa-gation Phenomena, INRIA, 2003, pp. 66-71

[RM05] Rémi Mignot Simulation de propagations d’ondes dans les tubes évasés avecpertes visco-thermiques pour la synthèse sonore temps réel, Rapport de stage deMaster 1 à l’IRCAM, Paris, 2005

[RM06] Rémi Mignot Modélisation de résonateur d’instruments à vents, Rapport de stagede Master 2 ATIAM, IRCAM, Paris, 2006

[TD06] Th. Hélie and De. Matignon Diffusive Representations forthe analysis and simu-lation of flared acoustics pipeswith visco-thermallosses,Math. Models and Methodsin Apllied Sciences (M3AS) 2006

[ST98] St. TASSART Modélisation, simulation et analyse des instruments à vent avecretards fractionnaires Thèse, Paris 6

[EW97] Eric Walter Identification de modèles paramétriques à partir de données expéri-mentales Edition Dunod, 1997

[PDD08] Pierre-Damien Dekoninck Lutherie virtuelle et synthèse sonore d’instrumentsà vent Rapport de stage ingénieur INSA Rouen à l’IRCAM, Paris, 2008

[CV98] Christophe Vergez et Xavier Rodet Experiments with an artificial mouth fortrumpet ISMA98, Leavenworth, Washington State, USA, 1998

61

Page 63: Projet de Fin d'Etudes d'Ingénieur ENSEA CONSTRUCTION DE

[GM98] G. Montseny Diffusive representation of pseudo-differential time-operatorESAIM : Proc, vol. 5, 1998

[DM98] D. Matignon Stability properties for generalized fractional differential systemsESAIM : Proc, vol.5, 1998

[HMM07bis] T. Hélie, D. Matignon et R. Mignot Criterion design for optimizing low-costapproximations of infinite-dimensional systems : towards efficient real-time simula-tion, Int. Journal of Tomography and Statistics, volume 7, 2007

[FPW90] G. F. Franklin and J. D. Powell and M. L. Workman Digital Control of DynamicSystems, 1990

62