17
Détermination de la vitesse du son et de la capacité calorifique de différents gaz Pierre-Alexandre Turgeon But Ce laboratoire vise à déterminer la longueur du tube de Kundt, calculer la vitesse du son dans différents gaz ainsi que déterminer le ratio des capacités calorifiques de chacun de ces gaz. Théorie Notre oreille nous permet de percevoir les sons qui nous entourent. Pour parvenir d’une source jusqu’à nous, une onde sonore doit se propager dans l’air à travers des zones de com- pression (haute pression) et de raréfaction (basse pression) telles qu’illustrées à la figure 1. La vitesse de propagation du son dans un milieu est intimement reliée aux propriétés de ce milieu. Dans le protocole suivant, nous allons étudier le comportement des ondes sonores dans les gaz parfaits. Bien sûr, puisqu’aucun gaz n’est parfait, vous serez à même de constater que notre description simplifiée de ce phénomène est loin d’être exacte ! Temps Amplitude Zone de compression Zone de raréfaction Figure 1 Représentation schématique d’une onde sonore et de sa propagation à travers un gaz. 1

Détermination de la vitesse du son et de la capacité

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Détermination de la vitesse du son et de la capacité

Détermination de la vitesse du son et de la capacité

calorifique de différents gaz

Pierre-Alexandre Turgeon

But

Ce laboratoire vise à déterminer la longueur du tube de Kundt, calculer la vitesse du sondans différents gaz ainsi que déterminer le ratio des capacités calorifiques de chacun de cesgaz.

Théorie

Notre oreille nous permet de percevoir les sons qui nous entourent. Pour parvenir d’unesource jusqu’à nous, une onde sonore doit se propager dans l’air à travers des zones de com-pression (haute pression) et de raréfaction (basse pression) telles qu’illustrées à la figure 1.La vitesse de propagation du son dans un milieu est intimement reliée aux propriétés de cemilieu. Dans le protocole suivant, nous allons étudier le comportement des ondes sonoresdans les gaz parfaits. Bien sûr, puisqu’aucun gaz n’est parfait, vous serez à même de constaterque notre description simplifiée de ce phénomène est loin d’être exacte !

Temps

Am

plit

ude

Zone de compression Zone de raréfaction

Figure 1 Représentation schématique d’une onde sonore et de sa propagation à travers un gaz.

1

Page 2: Détermination de la vitesse du son et de la capacité

Thermodynamique

Dans cette section, nous allons traiter de la thermodynamique des gaz parfaits. Les équa-tions qui se trouvent dans cette section se retrouvent aussi dans n’importe quel ouvrage dechimie physique tel que Physical Chemistry par Ira N. Levine [1]. Le théorème de l’équiparti-tion nous a appris qu’une molécule possède 1

2 RT d’énergie par mole par degré de liberté (quenous allons appeler α). Pour un gaz parfait, l’énergie interne est donc donnée par

U =α

2nRT (1)

Le nombre de degrés de liberté α dépend de la géométrie de la molécule. Tout d’abord,pour un gaz monoatomique, les seuls degrés de liberté disponibles sont les degrés de libertétranslationnels et ils sont au nombre de trois. L’énergie cinétique d’un gaz monoatomiqueselon le théorème d’équipartition est donc de

Ek =32

nRT (2)

Si la molécule possède plus d’un atome, elle possédera aussi des degrés de liberté rota-tionnels et vibrationnels, mais nous présumer qu’à température ambiante seules la rotation etla translation seront pertinentes. Une molécule linéaire possède 2 degrés de liberté rotation-nels alors qu’une molécule non linéaire en possède 3, ce qui fait qu’au total, α= 5 (linéaire)ou α= 6 (non linéaire).

À l’école secondaire, vous avez appris qu’on pouvait relier la chaleur et la température àl’aide d’une quantité appelée capacité calorifique (C). La capacité calorifique correspond àla quantité de chaleur nécessaire pour élever la température d’un Kelvin

C =Q∆T

(3)

où Q représente la chaleur qui a des unités d’énergie. En thermodynamique, on définitdeux capacités calorifiques importantes, soit la capacité calorifique à volume constant (CV ) etla capacité calorifique à pression constante (CP) et elles sont respectivement reliées à l’énergieinterne (U) et à l’enthalpie (H). Dans le cas de la capacité calorifique à volume constant, elleest définie comme

CV =�

∂ U∂ T

V=�

∂Q∂ T

V(4)

Puisque l’énergie interne d’un gaz parfait ne dépend que de la température, on trouvefacilement que

CV =α

2nR (Gaz parfait) (5)

La capacité calorifique à pression constante est plutôt reliée à l’enthalpie. Rappelons ra-

2

Page 3: Détermination de la vitesse du son et de la capacité

pidement la définition de l’enthalpie

dH = dQ+ V dP (6)

À pression constante, on voit donc qu’on peut écrire

CP =�

∂Q∂ T

P=�

∂ H∂ T

P(7)

Afin de trouver la relation entre CP et CV pour un gaz parfait, on peut écrire la relationsuivante

H = U + PV = U + nRT (8)

On voit que pour un gaz parfait, l’enthalpie, tout comme l’énergie interne, ne dépend quede T . Il en découle que

dHdT=

dUdT+

d (nRT )dT

(9)

Et puisque H et U ne dépendent ni de V et P

CP = CV + nR (10)

Pour un gaz parfait, on voit donc que CP est toujours supérieure à CV . Il devient aussiintéressant de définir la quantité γ, appelée indice adiabatique. Il s’agit du ratio entre CP etCV

γ=CP

CV=

α2 nR+ nRα2 nR

= 1+2α

(11)

Fait intéressant, l’indice adiabatique ne dépend que du nombre de degrés de liberté dansun gaz, il permettra donc de fournir de l’information sur la géométrie et la quantité d’atomesde la molécule.

La vitesse du son

Le son se propage dans un milieu à une vitesse qui dépend de plusieurs facteurs. L’équationgénérale qui caractérise la vitesse du son est donnée par

Vson =

√ Bρ

(12)

où B est le module d’élasticité isostatique (anglais : bulk modulus) et ρ la densité. Le mo-dule d’élasticité isostatique est inversement proportionnel à la compressibilité d’un matériauou d’un gaz et est donné par

3

Page 4: Détermination de la vitesse du son et de la capacité

Figure 2 Pierre-Simon deLaplace, physicien etmathématicien français né en1749 et mort à l’âge de 77ans. Il est connu pour sesénormes contributions dansle domaine desmathématiques et del’astronomie.

B = ρdPdρ

(13)

On obtient donc l’équation suivante pour la vitesse du son

Vson =

√ dPdρ

(14)

Pour la suite de la dérivation, il est possible de réexprimer la loi des gaz parfaits sous laforme suivante

P =ρRT

M(15)

où M correspond à la masse molaire. Comme P n’est pas seulement fonction de ρ, il fauttenir compte des autres variables. Une première approximation est d’assumer que la propa-gation du son se fait à température constante. La solution obtenue pour cette approximationest

(Vson)T =

√RTM

(16)

En utilisant cette équation, on obtient systématiquement un résultat trop petit pour lavitesse du son. Ce n’est qu’en 1816 que Pierre-Simon de Laplace proposa que la propaga-tion du son était un processus adiabatique où il y avait localement de petites variations detempérature.

Pour parvenir au bon résultat, il faut faire la dérivation pour un processus adiabatique.Par définition, puisque dQ = 0, au cours d’un processus adiabatique, le changement d’énergieinterne est donné par

dU = dW = −PdV (17)

Pour un gaz parfait, on peut redéfinir U à l’aide de la capacité calorifique à volume constantpour obtenir

CV dT = −PdV (18)

À l’aide de la loi des gaz parfaits, on transforme l’équation précédente

CV dT = −�

nRTV

dV (19)

Et on intègre entre deux points arbitraires 1 et 2

∫ 2

1

CV

TdT =

∫ 2

1

nRV

dV (20)

4

Page 5: Détermination de la vitesse du son et de la capacité

En approximant que CV est constante entre les points 1 et 2 (ce qui est vrai pour de petitschangements de températures dans un gaz), on obtient la solution

CV ln (T2/T1) = nR ln (V1/V2) (21)

Qu’on peut réarranger sous la forme

T2

T1=�

V1

V2

�nR/CV

(22)

Dans notre cas, on s’intéresse plutôt à la pression qu’à la température (pour obtenir lerésultat de l’équation 13, on utilise donc la loi des gaz parfaits pour remplacer T2/T1 parP2V2/P1V1. On a donc

P2V2

P1V1=�

V1

V2

�nR/CV

(23)

Qu’on peut simplifier à

P1V 1+nR/CV1 = P2V 1+nR/CV

2 (24)

On se rend compte que l’exposant dans l’expression précédente correspond en fait à γ, leratio des capacités calorifiques, on obtient donc une relation appelée la condition adiaba-tique

PV γ = C (25)

où C est une constante. La définition du module d’élasticité isostatique énoncée à l’équa-tion 13 est équivalente à la définition suivante

B = −VdPdV

(26)

Donc

B = −Vd (CV−γ)

dV= V γ C V−γ−1 =

C γV γ

(27)

En introduisant le module d’élasticité isostatique B dans l’équation 12 et en définissant ladensité d’un gaz parfait comme étant ρ = nM

V , on obtient

Vson =

√ C γ VV γnM

(28)

Et puisque C/V γ = P, on a

Vson =

√γRTM

(29)

5

Page 6: Détermination de la vitesse du son et de la capacité

n=1

n=2

n=3

Figure 3 Exemple des trois premières harmoniques du tube de Kundt

Figure 4 Jean BaptisteJoseph Fourier, physicien etmathématicien français né en1768 et mort à l’âge de 62ans. Il est connu pour sestravaux sur le transport dechaleur à travers lesquelles ilintroduisit les séries deFourier à l’origine de lacélèbre transformée deFourier.

L’expression obtenue dans les conditions adiabatiques se rapproche donc beaucoup del’expression dans les conditions isothermes. Cette solution nous montre bien pourquoi on ar-rive systématiquement à des vitesses du son trop faibles avec l’équation 16 puisqu’il manquaitle facteur γ qui est d’environ 1.4 pour l’air !

La résonance

Lorsque des ondes sonores sont introduites dans un tube fermé, certaines fréquences su-biront des interférences constructives et d’autres des interférences destructives. Ces phéno-mènes d’interférence dépendent directement de la géométrie du tube, et plus particulièrementde sa longueur. En connaissant la longueur du tube, il est facile de déterminer d’avance quellesseront les longueurs d’onde qui entreront en résonance à l’aide de la relation suivante :

L =nλn

2(30)

où n est un entier plus grand ou égal a 1 qui représente le nombre de noeuds dans le tube. Àpartir des longueurs d’onde, il est aussi possible de déterminer les fréquences de résonanceen connaissant l’équation de proportionnalité suivante :

Vson = λ f (31)

Si on fait passer un signal audio composé de multiples fréquences à l’intérieur du tube, seule-ment celles qui respectent la condition suivante entreront en résonance :

fres(n) =Vson

2Ln (32)

Si on connait la longueur du tube, on voit donc qu’il est possible de déterminer facilement lavitesse du son dans un gaz à l’aide de cette méthode puisqu’il y a une relation linéaire entreles fréquences de résonance et la vitesse du son.

Transformée de Fourier

La transformée de Fourier est l’une des opérations mathématiques les plus courammentutilisées en chimie et en physique. Elle permet de prendre un signal en fonction du tempset d’extraire toutes les fréquences qui le composent. Un exemple très simple de transformée

6

Page 7: Détermination de la vitesse du son et de la capacité

0 . 0 0 . 5 1 . 0 1 . 5

Amplit

ude

T e m p s ( s e c o n d e s )0 2 0 4 0 6 0 8 0

F F T

Inten

sité

F r é q u e n c e ( H z )

F F T

0 . 0 0 . 5 1 . 0 1 . 5

Amplit

ude

T e m p s ( s e c o n d e s )0 2 0 4 0 6 0 8 0

Inten

sitéF r é q u e n c e ( H z )

Figure 5 Exemple de transformée de Fourier pour un signal sinusoïdal pur et pour une somme de trois sinus.

de Fourier est démontré à la figure 5 où l’on peut voir qu’il est facile d’extraire la fréquenced’un sinus ou d’une somme de plusieurs signaux sinusoïdaux à l’aide de cette opération ma-thématique. Lorsqu’on prend la transformée de Fourier d’un signal temporel, on le projettedans l’espace des fréquences et on obtient une composante réelle (qui correspond à l’intensitéde chaque fréquence dans le signal) et une composante imaginaire qui contient l’informationsur la phase du signal. Pour cette expérience, on s’intéressera seulement à la partie réelle duspectre de fréquence.

Il est important de rappeler que c’est entre autres grâce à l’avènement de la transforméede Fourier qu’il a été possible de développer et d’améliorer considérablement les techniquesd’analyse spectroscopique telles que la résonance magnétique nucléaire et la spectroscopieinfrarouge. En spectroscopie optique, les encombrants réseaux de diffraction ont pu êtreremplacés par des interféromètres, beaucoup plus précis et rapides. En plus d’améliorer larésolution, ce développement technologique a permis l’avènement d’instruments beaucoupplus compacts avec une sensibilité accrue.

Méthode expérimentale

Matériel requis

� Tube de Kundt� Haut-parleur� Micro� Ordinateur doté d’une carte de son� Amplificateur� Câblage� Cylindres de gaz comprimés

7

Page 8: Détermination de la vitesse du son et de la capacité

Figure 6 Exemple de l’effet d’aliasing. Le signal du haut est échantillonné à une fréquence suffisante, ce qui n’estpas le cas pour le signal du bas. Il en résulte une fréquence "fantôme" créée artificiellement lors de l’acquisition.

Enregistrement d’une onde sonore

L’enregistrement d’une onde sonore nécessite d’abord l’utilisation d’un micro. Il en existedifférents types, mais le microphone de type "dynamique" est le plus couramment utilisé.Dans ce type de micros, un diaphragme est attaché à un solénoïde qui peut osciller autourd’un aimant permanent. Par effet d’induction, l’oscillation du solénoïde dans le champ ma-gnétique entraînera un courant électrique. Les zones de compression/raréfaction d’un signalsonore feront donc vibrer le diaphragme, ce qui permettra de créer un signal électrique quireproduira la fréquence de vibration. Pour enregistrer ce signal électrique (analogue) dansun ordinateur, il faut ensuite le transformer en signal numérique à l’aide d’un convertisseuranalogique-numérique. C’est exactement ce que fait la carte de son de l’ordinateur. Lors decette transformation, il y a deux facteurs importants dont il faut tenir compte : la fréquenced’acquisition et la résolution.

La fréquence d’acquisition (fréquence d’échantillonnage)

La fréquence d’acquisition correspond au nombre de points par seconde que l’ordinateur"mesurera" sur le signal électrique d’entrée. Plus elle est élevée, plus fidèle sera la conversiondu signal. Une fréquence d’acquisition insuffisante peut d’autant plus apporter des effets in-désirables, notamment le repliement du spectre (aliasing). Ce phénomène peut fausser lesrésultats d’une expérience en introduisant des basses fréquences "artificielles" dans le signalnumérisé. La figure 6 montre le même signal échantillonné à deux fréquences différentes etla fréquence fantôme qui peut résulter de l’effet d’aliasing.

Pour éviter l’effet de repliement du spectre, il est généralement convenu d’utiliser unefréquence d’échantillonnage deux fois supérieure à la fréquence maximale du signal d’origine.Cette fréquence maximale est appelée fréquence de Nyquist et elle correspond à

fNyquist =fech

2(33)

Dans le cas d’un signal sonore, la fréquence maximale audible à l’oreille humaine est d’en-viron 20 kHz. La fréquence d’échantillonnage utilisée sur le format CD est de 44.1 kHz, cequi correspond à une fréquence de Nyquist de 22.05 kHz. Pour cette expérience, nous allons

8

Page 9: Détermination de la vitesse du son et de la capacité

Amplit

ude

T e m p s

Figure 7 Exemple de signal échantillonné avec une résolution insuffisante.

aussi utiliser une fréquence de 44.1 kHz puisque la majorité des cartes de son d’ordinateursont construites pour échantillonner à cette fréquence.

La résolution

Dans un ordinateur, toutes les informations sont stockées dans des bits. Un bit peut prendredeux valeurs, 0 ou 1. C’est la base même de l’encodage binaire. Lorsqu’on veut stocker unchiffre avec une plus grande précision que 0 ou 1, il faut alors utiliser plusieurs bits. Parexemple, avec 2 bits, on se retrouve avec 4 possibilités : 00, 01, 10 et 11. Avec trois bits, ona maintenant 8 possibilités : 000, 001, 010, 100, 110, 101, 011 et 111. En fait, on se rend vitcompte que le nombre de possibilités (Npos ) va comme

Npos = 2nbit (34)

Lors de la conversion d’un signal analogique vers un signal numérique, le nombre de bits uti-lisé sera très important. En effet, si la résolution est insuffisante, il sera impossible de détecterde petits changements dans le signal. Par exemple, sur la figure 7 on observe l’acquisition d’unsignal analogique sinusoïdal avec une faible résolution. Le signal numérique résultant repro-duit piètrement le signal initial.

La majorité des cartes de son d’ordinateur ont une résolution minimale de 16 bits (formatCD) qui donne 65536 intensités de signal différentes possibles. Certaines cartes peuvent allerà des résolutions plus hautes (exemple : 24 bits = 16777216 possibilités !).

Protocole

Partie expérimentale

� Déterminer la longueur externe du tube à l’aide d’un ruban à mesurer ;� Relier le haut-parleur et le microphone du tube aux prises correspondantes sur l’ordi-

nateur et démarrer le logiciel ;� Effectuer l’expérience avec le tube rempli d’air (avant d’introduire les autres gaz) ;� Connecter un des gaz inconnus au montage et purger le montage en s’assurant de ne

9

Page 10: Détermination de la vitesse du son et de la capacité

Figure 8 Mesures du micro et du haut-parleur dans le tube (les mesures sont en mm)

pas utiliser un débit trop élevé (distorsion dans le signal du microphone) ;� Après environ une minute, réduire le débit au minimum (en gardant tout de même

une circulation de gaz) et prendre la mesure (ne pas oublier de sauvegarder le fichierWAV correspondant après votre mesure) ;

� Répéter les deux dernières étapes pour tous les gaz inconnus ;� Déconnecter le tube et ranger les câbles audio ;� Débuter l’analyse.

Partie analyse

Afin d’effectuer l’analyse de vos données, nous avons mis à votre disposition sur les ordina-teurs du laboratoire le logiciel Python. Python est en fait un puissant langage de programma-tion informatique particulièrement adapté pour la programmation scientifique. Vous devrezl’utiliser pour procéder à votre transformée de Fourier, mais le reste de l’analyse pourra êtreeffectué dans Excel si vous le désirez. Comme l’expérience de vitesse du son est relativementcourte, vous aurez le temps de faire une partie de l’analyse de vos données pendant la périodede laboratoire. Le démonstrateur pourra vous assister dans votre apprentissage du langagePython.

Vous devrez dans un premier temps calculer la longueur du tube à l’aide de votre mesureet des dimensions du micro et du haut-parleur en portant une attention particulière à l’incer-titude sur cette mesure. En effet, la longueur du tube influencera fortement les vitesses duson calculées.

Dans un deuxième temps, vous devrez valider votre méthode avec la mesure sur l’air afinde confirmer que l’expérience du tube de Kundt permet d’obtenir des résultats fiables.

Par la suite, vous devrez déterminer la vitesse du son ainsi que les capacités calorifiquespour chacun des gaz à étudier.

10

Page 11: Détermination de la vitesse du son et de la capacité

Analyse des données

Transformée de Fourier et détermination des maximums

Pour ce laboratoire, vous devrez utiliser la programmation Python pour l’analyse de vosdonnées. Nous allons détailler ici les étapes nécessaires à l’obtention des résultats finaux.Après avoir fait l’acquisition de vos données, vous vous retrouverez avec plusieurs fichiersde types Wave (un pour chaque gaz). Il s’agit en fait des fichiers audio enregistrés par lemicro à l’intérieur du tube de Kundt et ils contiennent le signal sonore en fonction du temps.Vous devez d’abord créer un nouveau fichier Python (.py) en ouvrant le logiciel Spyder quise trouve sur l’ordinateur au laboratoire. Spyder est ce qu’on appelle un interpréteur Python,il permettra d’écrire votre code et de le faire fonctionner. Si jamais vous désirez installerPython sur votre ordinateur, vous pouvez télécharger Python(x,y) qui contient d’avance tousles modules scientifiques dont vous aurez besoin.

Ensuite, une fois votre fichier créé, sauvegardez-le sous n’importe quel nom et entrez leslignes suivantes

import numpy as np

import matplotlib.pyplot as plt

from scipy.signal import savgol_filter

from scipy.io import wavfile

Ces lignes permettent d’importer dans votre code les fonctions et les modules qui serontutiles pour l’analyse des données. La première ligne sert à importer le module Numpy (toutesles fonctions mathématiques) et de s’en servir sous le nom de np. La deuxième ligne est unmodule qui permettra de faire vos graphiques. La troisième sert à importer un algorithmede lissage de données que nous verrons plus loin et la quatrième nous permettra de traiterdirectement les fichiers WAV dans Python.

Pour importer le fichier WAV, ajoutez maintenant la ligne suivante

rate ,signal = wavfile.read("C:\\ waveform.wav")

Le fichier WAV contient deux informations que nous allons sauvegarder dans les variablesrate (fréquence d’acquisition) et signal (intensité du signal en fonction du temps). Vous devezaussi remplacer l’emplacement entre guillemets par l’emplacement de votre fichier WAV surl’ordinateur. Comme le fichier WAV ne contient pas l’axe du temps, il nous faudra le recons-truire. Pour ce faire, il faut savoir combien de points notre fichier WAV contient. Nous allonsutiliser la commande size pour le savoir et introduire le résultat dans la variable n

n = signal.size

Une fois que nous avons le nombre de points, il est possible de leur associer chacun unincrément de temps en utilisant la fréquence d’acquisition comme constante de proportionna-lité. La commande np.arrange permet de créer une liste allant de 0 jusqu’à n que nous allonsensuite diviser par la fréquence d’acquisition (note : le "." avant la division est nécessaire pourobtenir des temps non-entiers)

temps = np.arange(n)* 1./ rate

11

Page 12: Détermination de la vitesse du son et de la capacité

0 . 0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6- 8 0 0 0

- 6 0 0 0

- 4 0 0 0

- 2 0 0 0

0

2 0 0 0

4 0 0 0

6 0 0 0

8 0 0 0

Inten

sité

T e m p s ( s )

Figure 9 Exemple de signal audio

Vous devez exécuter votre code en appuyant sur F5. Nous avons maintenant notre signaltemporel dans la variable signal ainsi que les incréments de temps associés dans la variabletemps. On peut maintenant visualiser à quoi ressemble notre signal. Pour ce faire, nous allonsutiliser la commande plot. Dans la fenêtre de droite de Spyder (ce n’est pas la même où vouscréez votre code), entrez la commande suivante dans la console

plt.plot(temps ,signal)

Cette commande ouvrira une nouvelle fenêtre avec un graphique qui représentera votresignal audio. Ce signal devrait ressembler à celui de la figure 9. Vous pouvez expérimenteravec la commande plot. Par exemple, si vous entrez la commande suivante, vous aurez ungraphique avec un trait rouge

plt.plot(temps ,signal ,'r')

La prochaine étape est de réaliser la transformée de Fourier de vos données afin d’enextraire la fréquence des harmoniques. Cette étape est réalisée assez facilement à l’aide de lacommande suivante

Fourier = np.fft.rfft(signal)

Le résultat de la transformée de Fourier vous donnera une liste de nombres complexes.La partie réelle des nombres complexes contiendra l’information sur l’amplitude de chaquefréquence dans votre signal. La partie imaginaire correspondra plutôt à la phase de chaquefréquence dans votre signal. Comme nous nous intéresserons seulement à l’amplitude, nousutiliserons le conjugué de la transformée de Fourier de la manière suivante

Fourier = np.real(np.sqrt(Fourier*np.conj(Fourier )))

La fonction np.sqrt correspond en fait à la racine carrée. Pour déterminer l’axe des fré-quences, une autre commande Python doit être utilisée. La fréquence maximale de votreexpérience correspondra à la fréquence de Nyquist (la moitié de la fréquence d’acquisition).Pour fonctionner, la commande rfftfreq aura besoin du nombre de points dans votre signal(n) et de l’espacement entre ces points (l’inverse de la fréquence d’acquisition) :

12

Page 13: Détermination de la vitesse du son et de la capacité

0 2 0 0 0 4 0 0 0 6 0 0 0 8 0 0 00

1 0 0 0 0 0

2 0 0 0 0 0

3 0 0 0 0 0

4 0 0 0 0 0

5 0 0 0 0 0

6 0 0 0 0 0

7 0 0 0 0 0

8 0 0 0 0 0

Amplit

ude

F r é q u e n c e ( H z )

Figure 10 Transformée de Fourier d’un signal sonore

freq=np.fft.rfftfreq(n,d=1./ rate)

Vous pouvez maintenant tracer votre transformée de Fourier en entrant la commandesuivante dans la console (fenêtre de droite) après avoir préalablement exécuté votre code(F5) :

plt.plot(freq ,Fourier)

Votre transformée de Fourier devrait ressembler un peu à celle de la figure 10. À partir demaintenant vous avez deux choix :

� Trouver la fréquence des harmoniques avec Python� Trouver les harmoniques à la main (environ 55 pics pour chaque gaz). Si vous décidez

de poursuivre en trouvant les harmoniques à la main, vous pouvez copier vos donnéesdans Excel. Rien de plus facile, vous n’avez qu’à aller dans l’explorateur de variable (àdroite) trouver les variables qui vous intéressent (freq et Fourier), double-cliquer surla colonne valeur et copier la colonne entière dans Excel.

Pour poursuivre, il faut maintenant trouver la position de chacun des maximums sur votrespectre de fréquence. La tâche n’est pas aussi facile qu’il ne le parait... En effet, vous devrezfixer des critères qui permettront à votre programme de comprendre qu’un point est bel etbien un maximum. Prenons un instant pour regarder l’allure du pic d’un harmonique. Sur lafigure 11, le trait en noir montre ce à quoi ressemblent les données brutes, surtout à plus hautefréquence. Il est difficile de trouver le maximum absolu sur une courbe qui contient beaucoupde bruit, c’est pourquoi nous allons d’abord utiliser un filtre afin de réduire le niveau de bruit.Dans le cadre de ce laboratoire, nous utiliserons un filtre Savitsky-Golay qui est largementutilisé pour filtrer les données numériques.

Le principe du filtre Savistky-Golay est relativement simple. On prend une fenêtre depoints autour du point qu’on désire lisser. On fait ensuite une régression polynomiale à traverstoute la fenêtre et on calcule le point lissé grâce à ce polynôme. On répète cette étape pourchacun des points. Heureusement pour nous, une fonction Python existe déjà afin de nouspermettre de filtrer nos données. Nous utiliserons un polynôme de degré 3 puisque celui-cipermet de tenir compte des points d’inflexion dans nos données. La largeur de la fenêtre doit

13

Page 14: Détermination de la vitesse du son et de la capacité

5 8 4 0 5 8 6 0 5 8 8 0 5 9 0 0 5 9 2 0 5 9 4 0 5 9 6 08 0 0 0 0

1 6 0 0 0 0

2 4 0 0 0 0

3 2 0 0 0 0

4 0 0 0 0 0

Amplit

ude

F r é q u e n c e ( H z )

D o n n é e s b r u t e s S a v i t s k y - G o l a y

Figure 11 Application d’un filtre Savitsky-Golay

être plus grande que l’ordre du polynôme et doit être impaire. Dans notre cas, il est conseilléde commencer avec une largeur de 21 points et de la modifier au besoin. Pour filtrer vosdonnées, entrez la commande suivante

smooth = savgol_filter(fourier ,21 ,3)

où 21 est la largeur de la fenêtre et 3 l’ordre du polynôme. Si vous tracez les donnéeslissées, vous devriez maintenant obtenir une courbe avec un niveau de bruit semblable àcelui du trait rouge sur la figure 11.

Il ne reste maintenant qu’à faire une liste des maximums. Nous allons sauvegarder la listedes maximums dans une variable vecteur et la valeur de chacun des maximums dans uneautre variable vecteur. Nous devons d’abord les définir comme deux vecteurs vides

position_max =[]

valeur_max =[]

Il faut que nous passions chaque point l’un après l’autre pour vérifier s’il s’agit d’un maxi-mum. Tout d’abord, le nombre de points dans le spectre de fréquence correspond à n/2+ 1,il y a donc moins de points que dans le domaine de temps. Pour vérifier si chaque point dansle domaine de fréquence est un maximum ou non, nous utiliserons une boucle de type for

for i in range(n/2+1):

Cette boucle créera une variable "i" qui augmentera de valeur à chaque itération de laboucle et la boucle s’arrêtera après n/2+1 itérations (soit lorsque tous les points auront étéanalysés). Nous allons ensuite ajouter une condition à notre boucle, pour être un maximumil faut tout d’abord que le point "i" soit au moins plus grand qu’une certaine valeur (à fixerselon vos données)

for i in range(n/2+1):

if (smooth[i] > 7500):

On ajoute maintenant d’autres conditions qui spécifient que le point "i" doit aussi être plusgrand que le point le précédant et le point le suivant

14

Page 15: Détermination de la vitesse du son et de la capacité

for i in range(n/2+1):

if (smooth[i] > 7500 and

smooth[i] > smooth[i-1] and

smooth[i] > smooth[i+1] and):

Malheureusement, comme il peut toujours rester un peu de bruit dans les données, cesconditions sont insuffisantes. On ajoute alors d’autres conditions dans notre boucle pour biencontraindre notre définition d’un maximum

for i in range(n/2+1):

if (smooth[i] > 7500 and

smooth[i] > smooth[i-1] and

smooth[i] > smooth[i+1] and

smooth[i] > smooth[i-5] and

smooth[i] > smooth[i+5] and

smooth[i] > smooth[i-20] and

smooth[i] > smooth[i+20]):

Si toutes les conditions sont respectées, on peut maintenant dire que le point "i" est unmaximum. On l’ajoute alors à nos listes avec la fonction "append" de la manière suivante

for i in range(n/2+1):

if (smooth[i] > 7500 and

smooth[i] > smooth[i-1] and

smooth[i] > smooth[i+1] and

smooth[i] > smooth[i-5] and

smooth[i] > smooth[i+5] and

smooth[i] > smooth[i-20] and

smooth[i] > smooth[i+20]):

position_max.append(freq[i])

valeur_max.append(smooth[i])

La majeure partie de l’analyse est maintenant complétée, mais il faut d’abord s’assurerque nos maximums sont bien déterminés. Pour ce faire, nous allons tracer notre spectre defréquence et lui superposer nos maximums. La première ligne de la commande suivante per-met de créer une nouvelle figure. La deuxième ligne servira à tracer nos données lissées avecune ligne bleue. La troisième ligne servira à y ajouter les maximums déterminés illustrés pardes étoiles vertes. Les autres lignes servent à mettre des titres à nos axes et à changer l’échellede l’axe des x.

plt.figure (1)

plt.plot(freq ,smooth ,'-b')

plt.plot(position_max ,valeur_max ,'g*')

plt.ylabel('Amplitude ')

plt.xlabel('Frequence (Hz)')

plt.xlim ((0 ,8000))

plt.show()

Votre graphique devrait ressembler à celui de la figure 12

15

Page 16: Détermination de la vitesse du son et de la capacité

0 1000 2000 3000 4000 5000 6000 7000 8000Frequence (Hz)

0

100000

200000

300000

400000

500000

600000

700000

Am

plit

ude

Figure 12 Exemple de détermination des maximums

Calcul de la vitesse du son

Si vos maximums sont bien déterminés, vous pouvez maintenant compléter votre analysedans Excel (ou continuer en Python si vous le voulez. Votre démonstrateur pourra sans doutevous aider !). Vous remarquerez que la première harmonique que vous avez déterminée necorrespondra pas à l’harmonique n= 1 du tube. Dans votre discussion, vous pourrez proposerpourquoi ce phénomène se produit.

Pour calculer la vitesse du son, vous devrez utiliser l’équation 32. Tracez d’abord les fré-quences de résonance en fonction du numéro de leur harmonique et effectuez une régressionlinéaire. Rappelez-vous que les harmoniques sont nécessairement des nombres entiers. Lereste des calculs devrait se faire facilement.

16

Page 17: Détermination de la vitesse du son et de la capacité

Références

1. LEVINE, I. N., Physical chemistry ; McGraw-Hill : 2008.

17