Se connecter
Se connecter

ou
Créer un compte

ou

La dynamique du CD et ses mystères révélés !

  • 180 réponses
  • 26 participants
  • 6 049 vues
  • 2 followers
Sujet de la discussion La dynamique du CD et ses mystères révélés !
Salut ami lecteur,

c'est ICI qu'un point décisif de l'histoire humaine des sciences et techniques doit se jouer :

La dynamique des CD est-elle de 90 ou de 96dB ?

Mon avis : 2 approches sont possibles

-Soit on considère la dynamique est le rapport entre la valeur la plus basse (1) et la valeur la plus haute d'amplitude (32767 puisque on code sur 16 bits des valeurs entre -32768 et +32767) ce qui nous donne 90dB de dynamique. 20*log(32767/1)=90.3dB

- Soit on considère que la dynamique l'expression en dB du nombre total de valeurs codables sur 16 bits soit 2^16 ce qui nous donne 20*log(65534/1)=96.3dB

Pour ma part, je pense que la prise en compte du 16 bits signés impose la première réponse comme la bonne.

Toutefois la seconde est la démonstration classique qu'on trouve partout.

Alors ?

Affiliation : Dirigeant Fondateur d'Orosys - Two notes Audio Engineering

Afficher le sujet de la discussion
11
Bara > Prouves moi que j'ai tort alors.

je n'en demande pas plus si tu as vraiment raison .
mais vos arguments ne m'ont vraiment pas convaicu, et j'arrive a écarter le tien par l'absurde.

c'est peut - être bien 90 dB au final. :noidea:
mais c'est juste que ton argument est mal choisi, ou mal exprimé.

j'ai voté 96 comme ca.
mais au bout du compte, personne n'a encore apporté la démonstration irréfutable de l'un ou de l'autre.
...
12
Je viens reposer ma démonstration. C'est 96 dB. Bonne lecture.
1) Je ne cherche pas à avoir raison, je ne fais qu'appliquer les maths et une formule de l'échantillonage/traitement du signal qui dit que la dynamique d'un signal échantillonné est D(dB)=20log(2^nbbits)
2) On mesure en amplitude crête à crête. Les valeurs négatives et positives sont encodées. Il n'est pas question de calculer algébriquement l'amplitude puisque on recherche un nombre absolu de valeurs permettant d'encoder notre signal, soit 65536. (0 à 65535)

Citation : Bien en fait, l'erreur consiste à penser en négatif alors que l'algèbre de Boole ne permet d'exprimer les valeurs négatives que par une complémentation. (à 2, en l'occurence), ce qui reste une représentation artificielle, via un bit de signe mais qui ne restreint pas le nombre de valeurs. C'est l'avantage du CC2 (complément à 2).

Et, si on reprend votre logique (que je comprends dans l'esprit mais je vais y revenir), cela voudrait donc dire qu'on a (pour un sinus simple)... 15 bit pour la partie positive de la période T, et, à T/2, 15 bit pour la partie négative, soit 30 bit pour coder notre signal.

C'est oublié que c'est le 16ième bit qui double les valeurs (2^16)...

Partant de là, on sait que j'ai 32767 valeurs pour coder les chiffres positifs, et 32768 pour les nombres négatifs.

C'est une règle de la complementation a deux. Je n'y peux rien moi ! Si n=16 bits, on peut coder les nombres X de -32768<=X<=+32767

Et je le prouve.
32768 = (1000 0000 0000 0000)2
Complement à 2 de 32768 : (1000 0000 0000 0001)cc2

Le CC2 nous dit que c'est un nombre negatif (MSB=1) donc:
(1*-2^15) = -32768

C'est une décomposition polynamiale, le 15 correspondant au 15bit de codage. Règle du calcul avec le CC2, c'est tout.

Au final, ce qu'il faut retenir, c'est qu'en numérique, on code le signal analogique de sa valeur la plus basse à sa valeur la plus haute, sur 65536 valeurs, soit 16 bit, soit 96 dB de dynamique.

La seule chose qui altère cette dynamique théorique, c'est le bruit de quantification (lié au fait qu'on "devine" des valeurs afin d'interpoler nos échantillons). Meilleurs sont les convertisseurs, meilleure est la dynamique et meilleure est la répresentation numérique des signaux les plus faibles. Et c'est bien là tout l'intérêt de monter en résolution.


edit: comment passer de la représentation en base 2 au CC2?
on a (32768)base10 = (1000 0000 0000 0000)base2
j'ajoute un 0
0 1000 0000 0000 0000
j'inverse et j'ajoute 1
1 0111 1111 1111 1111
+ 1
= 1 1000 0000 0000 0000
Je dégage le bit d'overflow (le plus à gauche, car il ne tient pas dans mes 16 bit!)
Et j'ai donc bien - 32 768.

Voilà


Citation :
[quote]Citation :
ma citation -> Si n=16 bits, on peut coder les nombres X de -32768<=X<=+32767


Citation :

Pour le reste, ce que vous dites serait vrai si on utilisait une complémentation à 1 avec un bit de signe, ce qui n'est pas le cas. On utilise le CC2 pour coder ces valeurs, et on fait un développement polynomial dont le résultat base 10 dépend fortement du MSB. (particularités du CC2)

Pour faire simple, je rejoins la notion de valeur absolue sur l'encodage parce que ce qui compte, c'est le nombre de valeurs disponibles pour coder notre signal.
Quelle différence entre [0;65536] et [-32768;32767] ? L'amplitude se code de la même façon dans les deux cas: on encode bien 65536 valeurs différentes possibles, donc autant de mots de 16bit différents. C'est un nombre fini de valeurs.

La formule donnant la dynamique d'un signal numérisé (rapport d'amplitude) est 20log(2^16)=96dB.

Je me suis arrêté sur les données théoriques.

En revanche, un des paramètres qui fait que la dynamique est plus faible est dû au SNR, et donc à la qualité du convertisseur (dont au type d'encodage/décodage, suréchantillonage, etc...). Et c'est donc sûrement pour cela qu'on hésite pas à booster les signaux pour ne pas subir les problèmes d'un mauvais décodage sur les "petits" signaux (noyés alors dans le bruit de quantification), sur les équipements les plus médiocres.

[/quote]
13
Complément à 2 ou bit de signe à proprement parler, on code effectivement entre + et - 32000. Donc en valeur absolue, ca correspond à coder sur 15 bits. Apres, ca résout pas le problème de dynamique, mais la différence entre complément à 2 et bit de signe elle est bidon: ca laisse (à 1 près, peut-être) toujours 32000 valuer + l'info de signe :noidea:
14
Je le fais pas exprès , hein.....
je cherche juste des définitions sur le net.
je suis tombé sur ceci :

Citation : Quantification : Valeur des échantillons en code binaire dans la technique numérique. Exemple : quantification à 4, 8, 16, 20, 24, 32 bits. Une quantification à 16 bits permet de représenter 216 = 65 536 valeurs différentes par échantillon. En théorie, plus la quantification est élevée, meilleure est la dynamique et la fidélité du son enregistré ou reproduit (1 bit = 6 dB) : une quantification à 16 bits = 16 (bits) × 6 (dB) = 96 dB de dynamique (exemple du Compact-disc), une quantification à 24 bits = 24 × 6 = 144 dB, et cetera. Les fortes valeurs de quantification sont surtout utilisées pour certaines manipulations du son : filtrage, optimisation, codage, et cetera

...
15

Citation : la quantification, valeur instantanée du signal,
qui doit être codée en binaire sur une échelle de
valeurs choisie (sur 16 bits soit 216 = 65 536
valeurs pour les CD) qui déterminera la dynamique
du signal (l’écart entre le signal le plus fort
et le signal le plus faible). Pour les CD, on
obtient donc une dynamique de 20 × log(216) = 96
dB, bien supérieure au 70 dB courant d’un système
analogique.




bon .....j'en cherche d'autres
j'en voudrais juste une qui dise que la dynamique est de 90 siouplait......
...
16
BARA

Faux, en informatique et pour stocker l'information, on représente les nombres négatifs sous la forme du complément à 2.

Dans ce cas, le signe et la valeur sont liés, et la valeur du signe intervient dans le codage. (1x-2^n), ce qui est différent de la représentation avec le MSB comme bit de signe.

On encode l'amplitude crête à crête. Je ne vois vraiment pourquoi tu te butes.

J'ai l'impression de me répeter sans cesse, en sortant des formules et des définitions de base.
Bientôt, on va me dire que 2+2, ça fait pas 4.
17

Hors sujet :

Citation : 2 + 2 = 5


on est hs la,
Histoire de faire chier .......
mais en statistiques, on peut obtenir ce type de résultats farfelus, si l'on arrondit toujours les chiffres a l'unité inférieure.
exemple : 2.64 + 2.84 arrondis a 2 + 2
mais quand tu fais le calcul , le logiciel prend en compte le résultat 5.44 , et affiches 5 :langue:

...
18
Complément à 2 ou à 1 ou bit de signe = kifkif sur le nombre de valeur encodées. C'est une connerie, ça ?
19
J'ai dit le contraire? :???:

Si tu fais de l'info, tu devrais savoir que les nombres négatifs sont représentés en CC2 (qui utilise aussi un bit de signe, sauf que le signe est partie intégrante de la valeur !!)
+132 est différent de -132
Tu ne représentes pas la valeur absolue 132 de la même facon.

Raisonne en terme de "cellules". On a 65536 cellules pour coder les valeurs comprises entre -32768 et +32767.

Pour schématiser, chaque valeur à sa cellule, que ce soit pour +1 ou -14574.

Pour avoir ces 65536 valeurs, il te faut 16bit. Et j'en reviens -ENCORE- à ma formule d dynamique qui est empirique.
20
Désolé:
1. je suis fatigué
2. je fais de l'info, ça c'est pas le souci. Mais tu connais beaucoup d'informaticiens qui savent coder en QBasic sans le bouquin à côté ? :| J'avoue que l'informatique que je pratique est plutôt de l'algorythmique appliquée à la composition musicale, et que ca fait un moment que je suis déconnecté du complément à deux... Par contre, parle moi de la norme MIDI ou de concevoir, optimiser et coder un algo d'une analyse harmonique automatique d'un midifile tout con, et là je suis ton homme :clin:
3. Cela ne change pas qu'on a 32000 valeurs pour coder les valeurs positives, et autant en négatif. Ce n'est pas ta rectification, certes juste et nécessaire, qui change ma vision de la chose: ce qu'on entend, c'est la crete, pas le crete à crete. C'est pour ca que ton contre exemple par l'absurde n'est pas bon: on ne mesure toujours pas la meme chose, toi et moi. Si ton sinus bat entre 0 et 30000, moi je lui vois 15000 d'amplitude crete, donc un bit de moins que toi. Et si tu enlèves l'offset, on se ramène entre -15000 et +15000, et mon calcul tiens toujours. Quelque soit l'offset. Ton calcul tiens aussi, si tu mesures crete à crete.

Mais je pense que, tout en étant tous les deux instruits (toi plus que moi, du moins en ce qui concerne le complément à deux, et certainement un tas d'autres trucs, et c'est tant mieux) et intelligents, on peut tourner en rond 1000 ans. MA définition de la dynamique du signal est que sur 16 bits on percoit 15 bits réels en valeur absolue donc audible. Après, les deux façons de calculer existent: j'ai fait un petit coup de google, et on trouve les deux théories un peu partout.