Modérateurs: Modération Forum Haute-Fidélité, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: autrichon gris, Bookfan, cecmateleo, cholley, fabby2, fernous, hob, Ispahan31, jean GROS, JO95, JordanB, Kartesian, Lyouki, manolo57420, mcbill, oso, pm57, stlm, Symphone, ZEPHYR92 et 220 invités

Discussions sur le matériel Haute-Fidélité

FAQ sur le suréchantillonnage

Message » 09 Jan 2007 13:13

Salut tous le monde,

Pour l'ABX avec et sans NOSification, des clous ! J'entend rien :(

Pio -> 8)

ABX avec foobar et un Koss PortaPro (égalisation obligée) sur la prise casque d'une M-Audio audiophile USB.

A+
kobtar_bale
 
Messages: 327
Inscription Forum: 09 Fév 2006 17:29
  • offline

Message » 09 Jan 2007 13:28

kobtar_bale a écrit:Pio -> 8) [...]

Il est fort le bougre!

Sinon dès que j'ai un peu tps dans la semaine, je continue mon petit exposé avec:
- principe du noise shaping sigma-delta (vu que ça a été demandé)
- upsampling en x N/M rationnel
- principe de l'upsampling d'un taux quelconque et asynchrone

cdlt,
GBo
GBo
 
Messages: 3377
Inscription Forum: 03 Avr 2002 2:00
Localisation: RP 78
  • offline

Message » 09 Jan 2007 14:17

La troisième partie va être salée :p ! Miam !
Pio2001
Contributeur HCFR 2019
 
Messages: 8937
Inscription Forum: 07 Oct 2003 12:50
Localisation: Neuville-sur-Saône
  • offline

Message » 10 Jan 2007 10:02

GBo a écrit:
kobtar_bale a écrit:Pio -> 8) [...]

Il est fort le bougre!

Sinon dès que j'ai un peu tps dans la semaine, je continue mon petit exposé avec:
- principe du noise shaping sigma-delta (vu que ça a été demandé)
- upsampling en x N/M rationnel
- principe de l'upsampling d'un taux quelconque et asynchrone

cdlt,
GBo


Oh oui alors! :P
oso
 
Messages: 1477
Inscription Forum: 17 Juin 2003 16:23
Localisation: Nice
  • online

Message » 10 Jan 2007 12:48

Merci GBo pour ce superbe thread que je découvre (très pédagogique).

Concernant l'absence de jitter tant qu'on reste ds le domaine numérique (cf. les interventions de nidsee page 3 sur les étapes de traitement numérique des signaux interne au DAC), on peut également lire une clarification sur cette page et la suivante :

http://www.homecinema-fr.com/forum/view ... &start=165

Néanmoins, ce document :

http://www.iet.ntnu.no/~ivarlo/files/Sc ... diodac.pdf

reporte d'autres formes possibles de jitter (notons que le développement de GBo sur l'oversampling y figure aussi :wink: ).

@+
Emmanuel
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10347
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 10 Jan 2007 14:09

Emmanuel Piat a écrit:Merci GBo pour ce superbe thread que je découvre (très pédagogique).

Concernant l'absence de jitter tant qu'on reste ds le domaine numérique (cf. les interventions de nidsee page 3 sur les étapes de traitement numérique des signaux interne au DAC), on peut également lire une clarification sur cette page et la suivante :

http://www.homecinema-fr.com/forum/view ... &start=165

Néanmoins, ce document :

http://www.iet.ntnu.no/~ivarlo/files/Sc ... diodac.pdf

reporte d'autres formes possibles de jitter (notons que le développement de GBo sur l'oversampling y figure aussi :wink: ).

@+
Emmanuel


Merci pour ce document.

Ce que je voulais signaler c'est que l'absence de "bufferisation" juste avant la conversion D/A rend la majorité des designs courants que je peux voir sur les datasheets de constructeurs fournis en exemple, sujets à des "pollutions" assimilables à du jitter. Jitter dont je posais la question de l'impact
Je suis 1000% d'accord que tant que l'on reste dans le numérique on ne peut pas parler de jitter.
Même chose pour le délai moyen introduit par tout traitement numérique n'a aucune influence.


J'espère avoir été plus clair ce coup ci (je ne suis décidemment doué pour me faire comprendre...) et ne pas mériter une nouvelle volée de bois vert.
nidsee
 
Messages: 2153
Inscription Forum: 24 Déc 2006 20:42
Localisation: Terre
  • offline

Message » 10 Jan 2007 23:22

Hello Emmanuel! :)
Emmanuel Piat a écrit:Merci GBo pour ce superbe thread que je découvre (très pédagogique).
Concernant l'absence de jitter tant qu'on reste ds le domaine numérique (cf. les interventions de nidsee page 3 sur les étapes de traitement numérique des signaux interne au DAC), on peut également lire une clarification sur cette page et la suivante :
http://www.homecinema-fr.com/forum/view ... &start=165

On est sur la même longueur d'onde :wink:

http://www.iet.ntnu.no/~ivarlo/files/Sc ... diodac.pdf
reporte d'autres formes possibles de jitter (notons que le développement de GBo sur l'oversampling y figure aussi :wink: ).
@+
Emmanuel

Il a l'air fort complet ce document, merci! Je m'y plonge dès que j'ai un peu temps (pas une minute à moi en ce moment :-? ).

cdlt,
GBo
GBo
 
Messages: 3377
Inscription Forum: 03 Avr 2002 2:00
Localisation: RP 78
  • offline

Message » 11 Jan 2007 20:39

Bonsoir,


Que tout cela est instructif! Bravo!!!

GBO, te serait il possible d'expliquer en quoi consiste un convertisseur bitstream et ses avantages et inconvénients par rapport à d'autres design ?


Cordialement,



Udayan
Udayan
 
Messages: 655
Inscription Forum: 25 Sep 2003 15:14
Localisation: Centre - Loir et Cher
  • offline

Message » 11 Jan 2007 21:05

Hello Udayan, oui c'est ce que j'avais prévu justement pour illustrer le concept de la modulation Delta-Sigma numérique => Je fais ça demain soir! :wink:
GBo
 
Messages: 3377
Inscription Forum: 03 Avr 2002 2:00
Localisation: RP 78
  • offline

Message » 11 Jan 2007 21:12

Merci GBO,


J'attendrai de te lire avec impatience!


Cordialement,


Udayan
Udayan
 
Messages: 655
Inscription Forum: 25 Sep 2003 15:14
Localisation: Centre - Loir et Cher
  • offline

Message » 13 Jan 2007 10:53

Modulation numérique Sigma-Delta, DAC 1 bit ...
1ere partie

Avant de voir le synoptique d'un DAC 1-bit type, ses avantages / inconvénients et le rapport avec l'oversampling, on va commencer par décrire ce qu'est la modulation sigma-delta (ou delta-sigma, c'est la même chose) 1 bit.

Prenons le sujet de façon empirique.
Supposons que l'on ait des valeurs numériques entières de -10 à +10 à notre disposition: il y a 21 valeurs différentes possibles; une suite de tels nombres représente notre "signal", par exemple +9, +7, 0, etc...
Supposons maintenant que pour certaines raisons (que l'on expliquera plus tard), il faille représenter ces nombres par 2 valeurs seulement, mais dans la quantité que l'on veut.
Les deux nombres seront: -10 ou +10, et c'est codable sur 1 seul bit comme suit:
+10 sera codé par un 1
-10 sera codé par un 0

Je veux représenter par exemple +9 sous forme d'une série de -10 ou +10:
=> l'idée est de faire en sorte de tirer autant de -10 ou +10 que nécessaire pour que la moyenne fasse +9!
Rien de plus simple, il suffit d'une vingtaine de -10 ou +10:
(10+10+10+10+10+10+10+10+10-10+10+10+10+10+10+10+10+10+10+10)/20 = +9
Sous forme graphique, voici ce que ça donne:
Image
=> En binaire "1 bit", on a donc réussi à représenter +9 avec 111111111011111111111...

Pour faire +7 maintenant:
(10+10+10-10+10+10+10+10+10+10-10+10+10+10+10+10-10+10+10+10)/20 = +7
Ca donne:
Image
=> En 1 bit, on a réussi à représenter +7 avec 111011111101111110111...

Pour un -7 en entrée, tout le monde aura bien vu que 000100000010001000... fait l'affaire.

Pour un zéro en entrée, on doit se faire succéder autant de +10 que de -10 (là même pas besoin d'avoir 20 valeurs...). C'est representable en 1 bit par 101010...
Tout ceci est faisable à la main facilement.

Une méthode systématique pour arriver au résultat, c'est la modulation sigma-delta.
Voici une animation java qui mieux qu'un long discours montre comment cela fonctionne en pratique:
http://www.analog.com/Analog_Root/stati ... orial.html
C'est une démonstration pas à pas d'un modulateur de convertisseur A->N sigma delta 1-bit du premier ordre.
Je n'ai pas trouvé de démonstration animée de modulateur d'un convertisseur N->A sigma delta 1-bit sur le web, mais le principe de fonctionnement est exactement le même, donc allons-y!

Pour un modulateur de convertisseur N->A sigma-delta, la modulation est entièrement numérique puisque l'on part de valeurs numériques.
Il suffit de considérer que le Vin du simulateur contient non pas une tension (analogique) en entrée, mais tout simplement un nombre, ici +7 par exemple, et que la "tension" injectée en retour dans la branche "-" (moins) est de +10 ou de -10, là encore en numérique au lieu d'une tension.
Mettez Vref = 10 SVP avant de démarrer la modulation, et Vin = +7.
Voici ce que vous obtiendrez au bout d'une vingtaine de pression sur la touche Next Step:
Image
Faite l'essai vous-même et observez bien les diverses étapes au sein du modulateur, ce n'est pas très compliqué mais indispensable pour comprendre.

Changez ensuite les valeurs en entrée (en appuyant sur Start), essayez Vin = +9, 0, -7 ... et observer à chaque fois comment évolue la moyenne en appuyant sur "Next Step".
Essayez aussi avec des chiffres après la virgule, par exemple -0.5, et regardez comment cela converge (appuyer sur "Next Step 512" si ça ne va pas assez vite...).

L'équivalent de cet intégrateur dans un convertisseur N->A, c'est juste une opération qui additionne l'entrée avec la valeur précédemment mémorisée par cet étage (d'où le terme "sigma", que l'on soit en modulation D/A ou A/D).
Le comparateur compare le résultat avec 0 et sort le bit à 1 (transformé ensuite en +10) si le résultat est strictement supérieur à 0, et il sort le bit à 0 (transformé ensuite en -10) si le résultat est inférieur ou égale à 0.
Le +10 ou le -10 est ensuite numériquement retranché de l'entrée (d'où le terme "delta").

Un tel modulateur sigma-delta numérique du premier ordre se représente donc sous la forme:
Image
Source: http://www.beis.de/Elektronik/DeltaSigm ... Sigma.html
NB: Ce qui est appelé DDC dans le schéma consiste en l'opération transformant le 1 en +10, le 0 à -10.


Voyons maintenant ce qu'il advient de la sortie en +10 / -10 si au lieu d'une valeur constante on fait varier l'entrée: par exemple à la place de +9, +7, etc..., je présente en entrée du modulateur numérique une série de nombres représentant une sinusoïde:
Image

Voici la sortie passée à la moulinette du modulateur numérique du premier ordre avec lequel on a fait joujou:
Image

Je vous laisse déjà méditer tout ça avant d'attaquer la suite :wink:
GBo
 
Messages: 3377
Inscription Forum: 03 Avr 2002 2:00
Localisation: RP 78
  • offline

Message » 13 Jan 2007 20:40

Modulation numérique Sigma-Delta, DAC 1 bit ...
2eme partie

Le sujet qui nous intéresse ici, ce sont les lecteurs CD, voire les DAC séparés.
Quel est donc l'intérêt de représenter le signal de 16 bits du CD sur deux valeurs seulement, et comment fait-on?

L'intérêt, c'est que cela dispense de faire un convertisseur classique multibit (je parle des "vrais" 16, 20 ou 24 bits comme ceux que j'ai cités jusqu'ici), ce qui revient cher et est difficile à fabriquer, du fait de la précision requise pour le réseau de résistances qu'ils contiennent.
On peut obtenir une bonne précision à moindre coût avec un convertisseur 1 bit.

On a vu le principe de la partie modulation sigma delta numérique (que j'ai pas mal vulgarisée en omettant volontairement d'évoquer l'injection de bruit de dithering, que les connaisseurs m'en excusent).
On a vu aussi, en jouant avec l'applet java, qu'il fallait un grand nombre de valeurs binaires successives pour représenter finement un signal => voilà le rapport avec l'oversampling!
=> On troque en quelque sorte la largeur des mots en sortie (ici 1 bit en sortie au lieu de 16 en entrée) contre une élevation très conséquente de cadence, autrement dit un oversampling d'un taux important.
Par exemple le signal sinusoidal que j'ai représenté plus haut en rouge n'est autre qu'un signal PCM 16/44.1 de 20 000 Hz oversamplé 64x. Tel quel, le signal à 20 Khz à 1x ne serait pas modulable en 1 bit, ça ne marche pas.
Les principes de l'oversampling ont été décrits au premier post: pour résumer c'est une élévation de cadence et un filtrage numérique permettant d'"aligner" les samples rajoutés sur une courbe d'interpolation idéale.
Sauf que dans le contexte du 1 bit, il ne s'agit pas d'un facteur de 2x, 4x ou 8x (pour relacher les contraintes de raideur sur le filtrage analogique de sortie après un convertisseur classique), il s'agit ici d'un facteur de 32x, 64x voire 128x pour rendre possible la modulation sigma-delta, qui elle même dispense d'un circuit DAC multibit difficile à fabriquer avec précision.

Car à ces forts taux de multiplication de fréquence par rapport à la fréquence de shannon (= 44100 Hz), cette modulation sigma-delta a une propriété très intéressante: elle intégre nativement un principe de noise shaping: le bruit de quantification que l'on rajoute à cause de la diminution de la largeur des mots (on finit à 1 bit!) est en fait très bas dans la bande qui nous intéresse (de 0 à 20000 Hz) et monte progressivement avec la fréquence. Tout se passe comme si le bruit rajouté par la diminution de longueur de mot était filtré en passe-haut (c'est même précisement ce qui se passe).
Et grace à l'oversampling d'un facteur important, on dispose d'une plage énorme (non utilisée par le signal audio donc) pour que ce bruit s'étale en montant aussi haut que l'on veut.
Pour mieux le visualiser, voici le spectre d'un sinus de 10000 Hz en 1 bit: le signal est le trait vertical tout à gauche, tout le reste est du bruit. Je suis parti du signal à 16/44.1, que j'ai oversamplé 32X, et passé dans un calcul sigma-delta d'ordre 1:

Image

=> Pour rendre inoffensif ce bruit, il suffit de le filtrer en passe-bas au-dessus de 22 KHz, en analogique et en aval du convertisseur, et le tour est joué.

Il est à noter qu'un filtre passe-bas est assimilable à un moyennage dans le temps... Ce qui nous ramène au début du post précédent: les transitions de +10 vers -10 dans la série 10+10+10-10+10+10+10+10+10+10-10+10+10+10+10+10-10+10+10+10 sont du bruit haute fréquence, mais le signal (ici: +7) est bien extrait une fois moyenné (= filtré). :idee:

--

Voici enfin le synoptique générique de la conversion D/A 1-bit (schéma du haut), rien ne devrait étonner puisque tout a été vu:
Image

Dans le cas d'un oversampling appliqué à l'audio, on a par exemple:
N = 16 bits (les samples viennent du CD)
fs = 44100 Hz pour les mêmes raisons
Le filtre d'interpolation (= oversampling) d'un facteur K, K = 64 par exemple
Ce n'est pas sur le dessin mais à noter qu'à l'issue de ce filtre numérique, les données sont souvent sur un format N' > N, par exemple N'= 32 bits, pour conserver un maximum de précision dans les calculs (voir le post où je parlais des FIR).
Le "DAC" proprement dit est réduit à sa plus simple expression électronique, il s'agit de convertir le flux numérique binaire à K*fs (les 1,0,1,1,...successifs très rapides) en une grandeur analogique binaire (par exemple les tensions +V, -V, +V, +V, ...).

NB: Le schéma du bas est la généralisation du 1-bit à du M-bit (par exemple M=3), c'est une techno intéressante car elle peut aller plus loin en perf pour un rapport K donné. Mais la difficulté de fabriquer un DAC multilevel précis revient!
Attention, même à M-bit, ce n'est pas du PCM, ne pas confondre car le modulateur sigma-delta change complètement le principe comme je l'ai montré.

Les inconvénients du 1 bit maintenant, liste non exhaustive:
- du bruit est ajouté, c'est indéniable même si c'est un inconvénient négligeable puisque le noise shaping le minimise en dessous du seuil audible dans la bande utile (de 0 à 20000 Hz pour les humains).
- du fait de la modulation binaire, le moindre jitter de conversion va impacter le signal tout le temps. Même le PCM restant à 0 en entrée est sujet ici au jitter puisqu'il est converti en +V -V +V -V +V -V+V -V comme on l'a vu: un décalage temporel sur les moments de conversion à K*fs va modifier l'amplitude: en sortie du filtre analogique, on aura une fluctuation du niveau autour du 0 V
- design des modulateurs d'ordre supérieur difficile

--

Le bitstream: c'est l'implémentation Philips du principe du delta-sigma dans les lecteurs CD (des années 90 si je ne m'abuse).
Vous avez du voir ce logo un jour ou l'autre:
Image
Toute ressemblance avec un bout du sinus du post précédent n'est pas fortuite...

Voici un schéma de la mise en oeuvre d'un TDA1547 pour illustrer:

Image
Source: http://www.datasheets.org.uk/search.php ... tDS=Starts

Commentaires:
- On a là un oversampling de 192x, dont une partie est faite par interpolation idéale vraisemblablement par brick-wall numérique (cf. DIGITAL FILTER), et une autre partie par du "zero-order hold", c'est à dire de la fausse interpolation: les samples rajoutés sont juste une répétition des samples en entrées, en ligne droite horizontale.
- Le 3rd order noise shaping, c'est le modulateur numérique sigma-delta proprement dit. Celui que l'on a vu dans la simu analog est du premier ordre. L'ordre indique le type de modulation, je n'ai pas prévu de le décrire en détail puisque ça se complique..
Il faut retenir que plus il est élévé, plus le noise shaping est intéressant pour la bande audio, car on "pousse" le bruit (ajouté par la réduction de la taille des mots) vers les hautes fréquences qui seront filtrées, et on abaisse du même coup le bruit ajouté dans la partie utile, comme illustré sur ce dessin:

Image

La partie jaune est celle du signal utile qui va de 0 à 20000 Hz, on voit que le noise shaping de 3ième ordre donne au bruit une forme plus intéressante.

Questions ou commentaires bienvenus.

cdlt,
GBo
GBo
 
Messages: 3377
Inscription Forum: 03 Avr 2002 2:00
Localisation: RP 78
  • offline

Message » 13 Jan 2007 22:02

Oui, un souhait : puisque tu parles d'une implémentation commerciale du delta-sigma en 1 bit sous la forme du Bitstream de Philips, pourrais-tu faire la même chose avec du delta-sigma multibit, le MASH de Matsushita/Technics (en tant que technique de conversion) et le DSD-Wide de Sony (en tant que format)?
Scytales
Contributeur HCFR
 
Messages: 11591
Inscription Forum: 31 Mar 2002 2:00
  • offline

Message » 14 Jan 2007 10:14

Je pense que le contenu de cette filière devrait être extrait, à terme, pour une publication dans des pages hors forum facilement accessibles et mises en pages de façon que ces remarquables contributions de GBO ne se perdent pas dans les sables.

Alain, staff son :wink:
haskil
 
Messages: 60007
Inscription Forum: 06 Déc 2001 2:00
Localisation: Haute Normandie et Brésil
  • offline

Message » 14 Jan 2007 13:13

Tout à fait d'accord avec haskil,
c'est une vrai mine d'or !
(même si je n'y entends pas grand chose, mais je promets de m'y mettre) :oops:
van.alstine
 
Messages: 7423
Inscription Forum: 01 Nov 2006 19:13
Localisation: france
  • offline


Retourner vers Discussions Générales

 
  • Articles en relation
    Dernier message