Calculs audio numérique pour les nuls
Posté : ven. 19 févr. 2016 11:12
Suite a discussion sur le sujet Corrections Filtrages semi automatisé viewtopic.php?f=2&t=148, je me lance.
Ce sujet pourra par la suite servir à toutes les questions matheuses expliquées pour que tout le monde puisse comprendre
Introduction sur les nombres complexes
préliminaire : il faut que le langage de programmation supporte les nb imaginaires.
Il faut au moins pouvoir les déclarer et utiliser les opérateurs +, *, ^ et module et argument.
(j'appelle ça des imaginaires comme les anglo-saxons. C'est tout de suite moins compliqué que des complexes)
Quelques rappels sur les nombres imaginaires (rappels limités a ce qui est utile dans le contexte.)
Un nombre imaginaire s'écrit sous forme algrébrique C = a + ib
(ou a + jb quand on est physicien qui veut pas utiliser i qui représente le courant. Je noterai i.)
On peut se représenter géométriquement C comme un point de coordonnées (a,b) dans un plan.
C peut aussi s'écrire sous forme angulaire (r,φ) avec r = module et φ = argument , cad le rayon et l'angle du point C.
φ en radians
C'est la forme angulaire (appelée aussi polaire) qu'on préfère en audio et on va vite comprendre pourquoi.
On peut passer des coordonnées polaires (r,φ) aux coordonnées algébriques a+ib par les formules trigonométriques habituelles.
note: φ est dans l'intervalle ]Pi, Pi] cad ]-180°, +180°]. D'où l'emploi de atan2 pour son calcul.
Application à l'audio
En audio, on manipule fréquences, amplitudes et phase.
Par exemple, dans un fichier de mesure on voit pour chaque fréquence f l'amplitude G(dB) et la phase φ (degrés).
On lui fait correspondre la valeur imaginaire H de coordonnées polaires (A,θ) tel que :
A = 10^(G/20)
θ = Pi/180 * φ (pour passer de degrés en radians)
On peut repasser d'une valeur complexe H à son Amplitude et Phase par la conversion inverse :
Amplitude (dB) = 20 log (Mod(H)) c'est log10
Phase (degrés) = 180/Pi (Arg(H)) pour le passage de radians en degrés
Maintenant qu'on est rassuré sur le fait de pouvoir toujours convertir facilement de l'un a l'autre, on peut commencer.
Ce sujet pourra par la suite servir à toutes les questions matheuses expliquées pour que tout le monde puisse comprendre
Introduction sur les nombres complexes
préliminaire : il faut que le langage de programmation supporte les nb imaginaires.
Il faut au moins pouvoir les déclarer et utiliser les opérateurs +, *, ^ et module et argument.
(j'appelle ça des imaginaires comme les anglo-saxons. C'est tout de suite moins compliqué que des complexes)
Quelques rappels sur les nombres imaginaires (rappels limités a ce qui est utile dans le contexte.)
Un nombre imaginaire s'écrit sous forme algrébrique C = a + ib
(ou a + jb quand on est physicien qui veut pas utiliser i qui représente le courant. Je noterai i.)
On peut se représenter géométriquement C comme un point de coordonnées (a,b) dans un plan.
C peut aussi s'écrire sous forme angulaire (r,φ) avec r = module et φ = argument , cad le rayon et l'angle du point C.
φ en radians
C'est la forme angulaire (appelée aussi polaire) qu'on préfère en audio et on va vite comprendre pourquoi.
On peut passer des coordonnées polaires (r,φ) aux coordonnées algébriques a+ib par les formules trigonométriques habituelles.
note: φ est dans l'intervalle ]Pi, Pi] cad ]-180°, +180°]. D'où l'emploi de atan2 pour son calcul.
Application à l'audio
En audio, on manipule fréquences, amplitudes et phase.
Par exemple, dans un fichier de mesure on voit pour chaque fréquence f l'amplitude G(dB) et la phase φ (degrés).
On lui fait correspondre la valeur imaginaire H de coordonnées polaires (A,θ) tel que :
A = 10^(G/20)
θ = Pi/180 * φ (pour passer de degrés en radians)
On peut repasser d'une valeur complexe H à son Amplitude et Phase par la conversion inverse :
Amplitude (dB) = 20 log (Mod(H)) c'est log10
Phase (degrés) = 180/Pi (Arg(H)) pour le passage de radians en degrés
Maintenant qu'on est rassuré sur le fait de pouvoir toujours convertir facilement de l'un a l'autre, on peut commencer.