Pourquoi l'équipement numérique a-t-il plus de latence que l'analogue?

14

L'explication est-elle que l'équipement numérique met plus de temps à se propager? Par exemple, une synthèse logicielle est très lente par rapport à une synthèse matérielle.

Niklas
la source

Réponses:

30

Je suppose que vous ne faites pas allusion à une discussion philosophique plus approfondie sur l'information, le pouvoir et l'entropie, mais vous êtes simplement intéressé par les aspects pratiques.

En termes très simples, les circuits numériques doivent mesurer les entrées, les numériser, les exécuter par une sorte de traitement, puis transformer à nouveau la sortie en un signal électrique. Les circuits numériques ne peuvent pas manipuler directement les signaux électriques analogiques. Vous avez intrinsèquement une latence supplémentaire en raison de la conversion du signal.

Vous pouvez arrêter de lire ici si cela répond à votre question.

D'un point de vue plus philosophique / physique, dans presque tous les circuits, vous n'essayez pas de manipuler l'énergie électrique (c'est ce que fait l'électronique de puissance), mais vous essayez de manipuler des informations. Dans ce cas, techniquement, il n'est pas du tout vrai que l'analogique soit plus rapide que le numérique. Pourquoi? Eh bien, les trajets de signaux analogiques sont des processeurs d'information non orthogonaux: il n'y a pas un ampli op parfait ou un tampon parfait, tout a des effets parasites que vous devez filtrer ou éliminer. Surtout à des vitesses très élevées, il devient un vrai problème même de construire un fil qui transfère de manière fiable une tension. Le traitement numérique dissocie l'aspect électrique de l'information: après avoir numérisé ses entrées, le signal existe comme une forme très pure d'information.

Même si vous êtes pénalisé de deux étapes de conversion, entre votre ADC et votre DAC, vous pouvez utiliser de nombreuses astuces de traitement pour accélérer la vitesse de traitement et dépasser largement les performances de tout processeur de signal purement analogique. Un bon exemple en est la révolution des modems numériques dans les téléphones portables, qui fonctionnent désormais très près de la limite théorique du traitement de l'information (des dizaines d'énergie pJ / bit en énergie), alors qu'il n'y a pas très longtemps, les modems GSM purement analogiques exigeaient des ordres de grandeur plus de surface de silicium et je pense que 5 ou 6 ordres de grandeur plus d'énergie de traitement.

user36129
la source
6

Les processus numériques ajoutent intrinsèquement une certaine latence, car un événement qui se produit entre deux cycles d'horloge ne peut pas être traité avant le suivant et, pour éviter des problèmes avec des événements qui se produisent très près des limites du cycle d'horloge, les choses sont souvent conçues de telle sorte que les événements ne prendront effet qu'après le deuxième cycle d'horloge qui les suit (essayer de décider rapidement si un événement s'est produit avant ou après une limite de cycle d'horloge est souvent étonnamment difficile, même si des appels proches peuvent être décidés en toute sécurité dans un sens ou dans l'autre; être en mesure de reporter le la décision d'un cycle d'horloge supplémentaire rend les choses beaucoup plus faciles). Cependant, cela ne représente généralement qu'une petite partie de la latence observée dans de nombreux systèmes numériques.

Un facteur plus important dans la latence des systèmes numériques repose sur le fait que, pour diverses raisons, de nombreux systèmes sont capables de traiter de gros morceaux de données plus efficacement que de petits. Par exemple, bien qu'il soit possible d'enregistrer un flux de données audio stéréo à 44 kHz en interrompant le processeur 88 200 fois / seconde, cela nécessiterait que le processeur arrête tout ce qu'il faisait 88 200 fois / seconde, enregistre tous ses registres, passe à l'interruption contexte, saisir l'échantillon, revenir en arrière, etc. Même une entrée et une sortie d'interruption ne prennent qu'une microseconde chacune, le système passerait 22% de son temps à entrer et sortir de l'interruption plutôt que de faire quoi que ce soit d'utile. Si le système devait à la place utiliser du matériel pour mettre en mémoire tampon des groupes de 512 échantillons (256 de chaque canal) et informer le processeur lorsque chaque groupe était prêt,

Notez que la prise de groupes de 256 échantillons par canal peut ne pas ressembler à beaucoup de retard (c'est environ 6 ms), si le signal passe par plusieurs appareils et induit chacun un tel retard, les retards peuvent s'additionner. En outre, si l'une des étapes traversées par le signal utilise une sorte de partage de temps variable, les retards peuvent être variables. Le passage de données audio en temps réel à travers un canal qui avait parfois un délai plus long que les autres temps entraînerait un "tordement" ou un "brouillage" notable à chaque changement de délai. Pour éviter cela, certains systèmes étiquettent des blocs de données audio avec un horodatage indiquant quand ils ont été capturés, et ont le destinataire final des données numériques qui les reconvertira en forme analogique les conserver jusqu'à ce qu'un certain laps de temps se soit écoulé depuis leur capture . Si le destinataire final le retarde jusqu'à une seconde après sa capture, les variations du retard à différentes parties du voyage n'affecteront pas la sortie, sauf si elles totalisent plus d'une seconde. Si l'on suppose que de courts retards aléatoires dans la transmission seront fréquents mais que des retards plus longs seront rares, l'augmentation du délai avant que le destinataire final ne produise l'audio réduira la fréquence des perturbations audibles, mais signifiera également que le son ne sortira pas dès comme cela aurait pu autrement.

supercat
la source
1

De plus, les systèmes numériques ont tendance à être cadencés - en fait, à quantifier le temps, ce qui signifie que les événements numériques ne se propagent pas jusqu'à l'heure d'horloge suivante.

JRobert
la source
Techniquement, et j'entre vraiment dans le domaine philosophique, les systèmes numériques ne sont que des systèmes qui représentent des données de manière numérique et n'ont pas nécessairement besoin d'être cadencés. Tous les processeurs utilisent la synchronisation, mais par exemple, les FPGA peuvent être transformés en ALU instacarry qui fonctionnent instantanément sur leurs opérandes. La seule raison pour laquelle vous ne pouvez pas pomper des données à des vitesses infinies est le retard de propagation, l'inclinaison et la vitesse de commutation des transistors.
user36129