Perché le apparecchiature digitali hanno una latenza maggiore rispetto a quella analogica?


14

La spiegazione che l'apparecchiatura digitale impiega più tempo a propagarsi? Ad esempio, una sintesi software è molto lenta rispetto a una sintesi hardware.

Risposte:


30

Suppongo che non alludi a una discussione filosofica più approfondita sull'informazione, il potere e l'entropia, ma sei solo interessato agli aspetti pratici.

In parole povere, i circuiti digitali devono misurare l'ingresso, digitalizzarlo, eseguirlo attraverso una sorta di elaborazione e quindi trasformare nuovamente l'uscita in un segnale elettrico. I circuiti digitali non possono manipolare direttamente segnali elettrici analogici. Hai intrinsecamente latenza extra a causa della conversione del segnale.

Puoi smettere di leggere qui se questo ha risposto alla tua domanda.

Da un punto di vista più filosofico / fisico, in quasi tutti i circuiti non stai effettivamente cercando di manipolare l'energia elettrica (questo è ciò che fa l'elettronica di potenza), ma stai cercando di manipolare le informazioni. In questo caso, tecnicamente non è affatto vero che l'analogico sia più veloce del digitale. Perché? Bene, i percorsi dei segnali analogici sono processori di informazioni non ortogonali: non esiste un opamp perfetto o un buffer perfetto, tutto ha effetti parassiti che è necessario filtrare o altrimenti eliminare. Soprattutto a velocità molto elevate, diventa un vero problema persino costruire un filo che trasferisca in modo affidabile una tensione. L'elaborazione digitale separa l'aspetto elettrico dall'informazione: dopo aver digitalizzato i suoi ingressi, il segnale esiste come una forma di informazione molto pura.

Anche se sei penalizzato con due fasi di conversione, tra ADC e DAC puoi utilizzare molti trucchi di elaborazione per accelerare la velocità di elaborazione e di solito superare ampiamente le prestazioni di qualsiasi processore di segnale puramente analogico. Un grande esempio di ciò è la rivoluzione dei modem digitali nei telefoni cellulari, che ora operano molto vicino al limite teorico dell'elaborazione delle informazioni (decine di requisiti energetici pJ / bit), mentre non molto tempo fa i modem GSM puramente analogici richiedevano ordini di grandezza più area di silicio e penso che 5 o 6 ordini di grandezza più energia di elaborazione.


6

I processi digitali aggiungono intrinsecamente una certa latenza poiché un evento che si verifica tra due cicli di clock non può essere elaborato fino al successivo e, per evitare problemi con eventi che si verificano molto vicino ai limiti del ciclo di clock, le cose sono spesso progettate in modo tale che gli eventi non avranno effetto fino al secondo ciclo di clock successivo (tentare di decidere rapidamente se un evento si è verificato prima o dopo un limite del ciclo di clock è spesso sorprendentemente difficile, anche se le chiamate ravvicinate potrebbero essere tranquillamente decise in entrambi i modi; essere in grado di posticipare il la decisione per un ciclo di clock extra rende le cose molto più facili). Tuttavia, di solito è solo una piccola parte della latenza osservata in molti sistemi digitali.

Un fattore più importante nella latenza del sistema digitale ruota attorno al fatto che per una serie di ragioni molti sistemi sono in grado di elaborare grandi quantità di dati in modo più efficiente rispetto a quelli piccoli. Ad esempio, mentre sarebbe possibile registrare un flusso di dati audio stereo a 44 KHz interrompendo il processore 88.200 volte / secondo, ciò richiederebbe che il processore si fermasse qualunque cosa stesse facendo 88.200 volte / secondo, salvare tutti i suoi registri, passare all'interruzione contesto, prendere il campione, tornare indietro, ecc. Anche interrompere l'ingresso e l'uscita richiede solo un microsecondo ciascuno, il sistema impiegherebbe il 22% del suo tempo per entrare ed uscire dall'interruzione piuttosto che fare qualcosa di utile. Se il sistema dovesse invece utilizzare l'hardware per bufferizzare gruppi di 512 campioni (256 da ciascun canale) e avvisare il processore quando ciascun gruppo era pronto,

Si noti che il prelievo di gruppi di 256 campioni per canale potrebbe non sembrare un ritardo (circa 6 ms), se il segnale passa attraverso più dispositivi e ognuno induce un tale ritardo, i ritardi possono sommarsi. Inoltre, se uno qualsiasi degli stadi attraversati dal segnale utilizza una sorta di condivisione del tempo variabile, i ritardi possono essere variabili. Passare dati audio in tempo reale attraverso un canale che a volte ha avuto un ritardo più lungo rispetto ad altre volte causerebbe un evidente "warbling" o "confondimento" ogni volta che il ritardo cambia. Per evitarlo, alcuni sistemi taggano blocchi di dati audio con un timestamp che indica quando sono stati acquisiti e hanno il destinatario finale di dati digitali che li convertirà in forma analogica tenerlo premuto fino a quando non è trascorso un certo periodo di tempo da quando è stato acquisito . Se il destinatario finale lo ritarda fino a un secondo dopo la sua acquisizione, le variazioni del ritardo in diverse parti del viaggio non influiranno sull'output, a meno che non totalizzino più di un secondo. Se si ritiene che brevi ritardi casuali nella trasmissione saranno frequenti ma ritardi più lunghi saranno rari, aumentando il ritardo prima che il destinatario finale emetta l'audio ridurrà la frequenza delle interruzioni udibili, ma significa anche che il suono non verrà emesso non appena come altrimenti avrebbe potuto avere.


1

Inoltre, i sistemi digitali tendono ad essere sincronizzati - in effetti, quantizzando il tempo, il che significa che gli eventi digitali non si propagano fino al prossimo orario.


Tecnicamente, e sto davvero entrando nell'area filosofica, i sistemi digitali sono solo sistemi che rappresentano i dati in modo digitale e non necessitano necessariamente di un clock. Tutti i processori utilizzano il clock, ma ad esempio gli FPGA possono essere trasformati in ALU di instacarry che operano istantaneamente sui loro operandi. L'unico motivo per cui non è possibile trasferire dati a velocità infinite è il ritardo di propagazione, l'inclinazione e la velocità di commutazione del transistor.
user36129
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.