Lo standard AES3 - Parte prima
A quel tempo AES parlò e disse: “sia fatto uno standard per il trasporto del segnale che permetta agli studi la conversione da analogico a digitale senza dover rifare i cablaggi”.
A quel tempo AES parlò e disse: “sia fatto uno standard per il trasporto del segnale che permetta agli studi la conversione da analogico a digitale senza dover rifare i cablaggi”.
E così fu.
I connettori rimasero XLR. Il sesso fu rispettato (noblesse oblige).
Stereo era la parola magica per cui, nel buon vecchio cavo microfonico, si decise di inviare un segnale stereo. In un colpo solo ecco che gli stessi cavi avrebbero trasportato il doppio dei canali rispetto all’ analogico.
Nacque così lo standard AES3, con cui l’Audio Engineering Society codifica l’interfaccia di audio digitale lineare bicanale.
In pratica, si impiega un solo cavo cannon‑cannon per collegare l’ uscita LR del mixer digitale all’ingresso LR del registratore stereo. I dati digitali, anche quelli non audio, vengono trasmessi in modo seriale, uno dietro l’altro, e nel nostro caso viene trasmessa prima la stringa di dati del canale sinistro e poi quella del canale destro. Come sappiamo, i dati digitali si trasmettono in codice binario, sequenze di uno e zero, identificati in segnali quadri.
I pulsi quadri potrebbero anche rappresentare dati non audio. Quando per sbaglio infiliamo il cd con le foto del cane nello stereo, fortunatamente l’impianto non si mette ad abbaiare o ad emettere rumori inconsulti. Non succede un bel niente. Ovviamente, ci deve essere un modo per trasmettere ordinatamente l’audio e le stringhe di dati e riconoscerle all’arrivo.
Vediamo come si fa nel nostro caso.
La stringa
I due standard AES‑EBU e S/PDIF hanno in comune il formato “base” della stringa: un pacchetto di 32 bit.
Fig 1: Pacchetto AES3 con 32 time slots (24 bit di dati audio).
All’interno di questi 32 bit, in posizione riconoscibile, sono allocati i 16 bit relativi all’audio in “qualità CD”. Il formato pro ne usa 24 e la gamma dinamica è di conseguenza assai maggiore. Gli altri bit della stringa sono assegnati al preambolo, che è posto all’inizio ed occupa quattro bit; gli ultimi quattro bit, detti “bit amministrativi”, sono rispettivamente chiamati |V|U|C|P| e occupano le posizioni, o time slots, |29|30|31|32| e sono alla fine della stringa.
L’audio è in mezzo, ben protetto. La parte assegnata ai bit audio occupa 24 time slots. Il segnale consumer, che di bit ne ha solo 16, lascerà perciò libere le prime 8 “time slots” assegnate ai dati audio. Altre applicazioni, ad esempio l’audio MPEG o il Dolby AC3, impiegano per l’audio ancora meno bit.
I termini LSB e MFB stanno per Least Significant Bit e Most Significant Bit. Il primo è il bit meno significativo della stringa, l’ultimo è il più significativo.
Ma Cossa l’è sto “bit”?
È appunto un pulso quadro. Composto da due pulsi unitari. Ebbene sì: esiste una cosa detta “Pulso Unitario”. Il più breve intervallo di tempo presente nello schema di codifica. La durata nel tempo di un pulso unitario, e quindi del bit, è data dalla frequenza di campionamento. Più alta la frequenza di clock, più sarà stretto – cioè di minore durata – il pulso unitario.
Un bit occupa un time slot, all’interno del quale vi sono due pulsi unitari.
A cosa serve dividere il bit in due parti? Si chiama “Codice BI‑FASE”.
Semplice: vista la genesi dell’AES3, nato per consentire agli studi di passare dall’analogico al digitale senza cambiare i cavi, serviva un sistema in grado di continuare a passare correttamente il segnale anche con il cavo invertito di polarità.
Se si fosse usato un protocollo con zeri ed uno rappresentati rispettivamente da bit alti o bassi, in caso di inversione di polarità il segnale sarebbe risultato stravolto, senza significato, illeggibile e non interpretabile.
Per cui, per rendere immune il codice rispetto all’inversione di fase, si fece ricorso alla “manchesterizzazione”, ovvero si usò il codice bi-fase altrimenti detto “Manchester”. Ricapitolando, così ci entra in testa: un bit occupa un intero time slot ed è diviso in due parti uguali, i cosiddetti Pulsi Unitari.
Andiamo perciò a vedere cosa succede all’interno di un bit: se c’è una transizione del pulso unitario da basso ad alto o viceversa, ecco che il bit vale 1; se all’interno del bit non c’è transizione, cioè se i pulsi unitari sono tutti e due alti o tutti e due bassi, allora il bit rappresenta il valore zero. In questo modo anche se il cavo fosse invertito di polarità, le condizioni “transizione all’interno del time slot” oppure “nessuna transizione all’interno del time slot” rimarrebbero perfettamente riconoscibili.
Fig 2: I time slots da 4 a 9, ovvero i primi 6 bit del segnale audio, in un pacchetto AES3.
Alla frequenza di campionamento di 48 kHz un secondo è diviso in 48.000 parti identiche. Quindi a 48 kHz il pulso unitario dura 164 ns. Un bit dura perciò il doppio.
La tentazione è forte: estraete la calcolatrice e dividete un secondo per 48.000 … e vedrete che non trovate i 164 ns di cui sopra. Non ci sono 48.000 pulsi unitari in un secondo. Calma. Fino ad ora abbiamo solo esaminato una singola stringa base da 32 bit, che si chiama “subframe”. Non abbiamo nemmeno raggiunto la dignità del frame.
Per il momento ci fermiamo qui. Sul prossimo numero analizzeremo con maggiore dettaglio le varie parti del pacchetto di bit effettivamente trasmesso e le possibilità di interpretazione offerte dal protocollo.
A presto.