Acoustic passion

Acoustic passion

Enregistrement / Reproduction / Correction du système audio

0 appréciations
Hors-ligne
Bonjour,

J'ouvre ce sujet pour discuter des méthodes de correction acoustique auxquelles je réfléchi actuellement.

Edit: d'après plusieurs messages que j'ai reçu, le signal enregistré par le micro correspond a l'accélération de la membrane, donc la suite de ce topic est a priori un non lieu ^^

Je remarque tout d'abord une chose qui me parait incohérente dans la reproduction d'un signal : le signal enregistré correspond à la position de la membrane en fonction du temps. Lors de la reproduction, on fait correspondre ce signal à une tension que l'on applique aux bornes du haut-parleur (avec une amplification si nécessaire), ce qui va entraîner une force en fonction du temps.

La membrane du HP va subir cette force est être mise en mouvement, oui MAIS : le signal reproduit par la membrane ne sera pas identique au signal du microphone, puisque la position de la membrane ne va pas varier identiquement à la force appliqué au HP !

En effet, la force est la "cause" et le mouvement de la membrane est "l'effet". Prenez un objet immobile, et appliquez lui une force constante, et votre objet ne se stabilisera pas à une position constante, mais subira une accélération constante ! Dans le cas d'une membrane, évidemment, le mouvement est bien plus complexe, car la membrane subit des forces de rappels (celle du spider en particulier, mais également les forces de frottement avec l'air, les forces de contre-réaction de l'air, les forces de déformation de la suspension, etc.). En réalité, appliquez une force constante (courant constant) sur une membrane, et celle-ci subira un mouvement oscillatoire amorti (équation différentielle du second ordre).

Par conséquent, pour pouvoir corriger le système, je pense qu'il faut reconsidérer le signal à appliquer au HP : non seulement il ne faudrait pas appliquer le signal de le membrane mais un signal correspond a l'accélération de la membrane du micro, donc la dérivée seconde du signal audio a reproduire.

Ainsi, si la force appliqué au HP correspond à la dérivée seconde du signal, et qu'on demande au système de reproduire une impulsion parfaite, la dérivée seconde étant (théoriquement) infinie, on appliquera au HP une tension infinie pendant un temps infiniment court qui produira en conséquence une force infinie pendant un temps infiniment court.

La faculté à reproduire une impulsion par le système sera alors possible !

Bien évidemment, cela n'arrivera jamais en pratique, puisque l'on fixe la bande passante du système. Ainsi, pour un système de fréquence maximale 22khz, l'amplitude d'accélération maximale sera limitée par cette fréquence.

Mon idée première serait donc d'interpoler le signal (au moins par un facteur 10), de dériver alors 2 fois le signal pour trouver la vitesse moyenne puis l'accélération moyenne dans un intervalle de temps relativement court autour du sample qui correspond a la position du micro à cet instant.

En effet, prenez ce signal :

x[0]=0
x[1]=0
x[2]=1
x[3]=0
x[4]=0

On peut dériver ce signal de deux facons :

Façon 1 :

x[0,5]=(x[1]-x[0])/2

On trouve la variation (donc vitesse moyenne) entre le sample 0 et le sample 1. Mais cette variation ne correspond a aucune position si le signal n'est pas interpolé, car on ne connait pas la position de la membrane entre le sample 0 et le sample 1 !

Façon 2 :

x[1]=(x[2]-x[0])/2

Cette fois, on calcule la vitesse moyenne de la membrane entre le sample 0 et le sample 2, ce qui nous donne la vitesse moyenne au sample 1, qui correspond alors a la position de la membrane a ce meme instant, donc a x[1]. Le problème est que cette fois, la vitesse est calculée sur un intervalle de temps de 2 samples, donc la précision de cette même vitesse est d'autant réduire que l'intervalle de calcul de cette variation est grande ! (2x moins précise que la méthode 1).

Mon idée est d'interpoler le signal pour pouvoir utiliser la méthode 1, et disposer d'un signal vitesse/accélération aussi précis que possible.

Evidemment, la reproduction de ce signal risque de poser de grâves problèmes d'équilibre spectrale. En effet, soit f(t)=cos(wt+phi)

Ou w est la pulsation (w=2*pi*f), phi le déphasage, la dérivée g de f(t) vaut g(t)=w*cos(wt+phi).

Il va de soit que lorsque w augmente (donc la fréquence augmente) la dérivée est proportionnellement plus grande (lorsque la fréquence double, w double, donc l'amplitude du signal double).

Il va donc être probablement nécessaire de corriger la réponse spectrale du système lorsque ce signal est utilisé pour la reproduction, au lieu du signal "normal" correspondant à l'enregistrement.

A présent que le système reproduit un signal cohérent avec le signal enregistré, nous devons contrôler le déplacement du HP pour qu'il corresponde exactement au signal enregistré par le micro, dans le but de reproduire les mêmes variations de pression d'air, et donc les mêmes ondes sonores que celles présentes à l'enregistrement.

En effet, le "nouveau" signal (correspond a l'accélération de la membrane du micro, on le notera signal A) entraînerait un déplacement parfait du HP dans l'approximation de la résolution d'échantillonage (et donc des erreurs de calculs de ces dérivées, donnant le signal A...).

Quelles possibilités pour contrôler ce déplacement ? On sait qu'il existe de nombreuses forces, certaines qui ne dépendent que de la position (par exemple la force de rappel du spider) d'autres qui dépendent de la vitesse de la membrane (par exemple les forces de frottement avec l'air), et d'autres qui dépendent de l'accélération de la membrane (je ne sais pas dire lesquelles mais je sais qu'il y en a :d).

Mon idée serait de conserver le signal d'origine (noté signal O), le signal d'origine dérivé (qui correspond a la vitesse, noté signal V) et le signal A. En faisant une combinaison linéaire de ces trois signaux, on aurait une fonction imbriquée f(o(t),v(t),a(t)) dépendante du temps, de la position a cet instant t, de la vitesse a cet instant t, et de l'accélération a cet instant

On pourrait déterminer la fonction o(t) en faisant varier o(t) avec v(t) et a(t) constant et en mesurant le signal obtenu o(t). Pour que v(t)=a(t)=constante, on pourrait prendre v(t)=constante.

Comme on déplace la membrane, on doit déterminer la fonction o(t) donnée par le système pour toutes les positions possibles de la membrane, autrement dit de son recul maxi. a son avancement maxi.

Comme le facteur d'amplification du signal peut varier avec le changement de générateur de tension (plutôt de courant d'ailleur...), il faudra étalonner le réglage final par rapport aux mesures expérimentales.

Ensuite, pour mesurer v(t), il n'est pas possible de conserver o(t) et a(t) constant, puisque si o(t)=constant, v(t)=0, et l'on ne pourra pas déterminer la fonction pour toutes les valeurs possibles de v.

Mais on peut, en prenant a=constant, prévoir la position du système, et donc la vitesse v(t) que l'on devrait mesurer. Il suffit alors de mesurer l'écart entre la position mesurée et la position prévue par o(t) pour trouver la fonction v(t) réelle.

Par la même principe, connaissant o(t) et v(t), on peut alors déterminer a(t) par l'écart entre la vitesse mesurée et la vitesse prévue.

PS: le signal de mesure n'est plus cette fois le signal capté par le micro mais le signal de mesure de position de la MEMBRANE DU HP.

Derni?re modification le 27-04-2011 ? 21:28:46
Vous ne disposez pas des permissions nécessaires pour répondre à un sujet de la catégorie Discussion acoustique.

Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 20 autres membres