Conversione AD, quatizzazione, dithering, sovracampionamento

Seminari di Acustica, Elettroacustica, Psicoacustica, Elettronica, ecc.
Messaggio
Autore
Avatar utente
MarioBon
Amministratore del forum
Messaggi: 9153
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: molto variabile: Amplificatore Audio Analog, Diffusori autocostruiti, lettore CD autocostruito.
Località: Venezia
Contatta:

Conversione AD, quatizzazione, dithering, sovracampionamento

#1 Messaggio da MarioBon »

Prima di cominciare è necessario marcare la differenza tra rumore e disturbo:

- il rumore è un segnale la cui ampiezza varia a caso nel tempo (rumore casuale)
- - il suo valore medio è nullo
- - il suo valore efficace è diverso da zero
- - l'estensione nel tempo della autocorrelazione dipende solo dalla estensione della banda passante.

- il disturbo è una cosa che dà fastidio

il rumore possiede caratteristiche oggettive misurabili, il disturbo è soggettivo: quello che disturba me non disturba mia moglie e viceversa. Nulla vieta che anche un rumore dia fastidio ma è meglio continuare a chiamarlo rumore per non fare confusione. Il rumore ed i disturbi vengono trattati in modo diverso.

Quando si dice che una grandezza varia "a caso" si intende che il valore assunto in un certo istante non dipende dal valore assunto nell'istante precedente. Si dice che i valori assunti in istanti diversi non sono correlati.
Il rumore è un fenomeno casuale o aleatorio o anche stocastico
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)
Avatar utente
MarioBon
Amministratore del forum
Messaggi: 9153
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: molto variabile: Amplificatore Audio Analog, Diffusori autocostruiti, lettore CD autocostruito.
Località: Venezia
Contatta:

Re: Conversione AD, quatizzazione, dithering, sovracampionamento

#2 Messaggio da MarioBon »

Conversione AD, quatizzazione, dithering, sovracampionamento

La tecnologia attuale consente di trattare i segnali (e la musica) in forma digitale.
Il vantaggio di questa tecnica è che con un singolo dispostivo (piccolo computer dedicato detto DSP) si possono realizzare una infinità di funzioni che richiederebbero altrettanti dispositivi analogigici diversi.
In sostanza invece di decine di circuiti analogici basta un singolo DSP.
Invece di trattare un segnale continuo si opera su numeri.
I segnali reali sono analogici (continui) i segnali digitali sono discreti (vanno a salti)

Immagine

nella figura si vede il segnale continuo (traccia continua) e lo stesso segnale trasformato in livelli discreti. Tali livelli corrispondono a numeri. Il segnale diventa una successione di numeri (segnale digitale).

La prima cosa da notare è che esiste una differenza tra i valori di ampiezza istantanea del segnale analogico ed i valori "quantizzati" che escono dal convertitore A/D (Analogico/Digitale). Tale differenza genera un errore di arrotondamento. Tale errore di arrotondamento, per comodità ma impropriamente, viene detto "rumore di quantizzazione" ma non è un rumore.
Quando il segnale da convertire è molto complicato, come un brano musicale, l'errore di arrotondamento assume delle caratteristiche simili al rumore casuale (e per questo viene detto rumore di quantizzazione).
Deve essere chiaro che l'errore di arrotondamento non è un rumore (anche se ci può assomigliare).
Un segnale periodico sinusoidale puro, quando viene convertito, genera un errore di arrotondamento periodico. Alla meglio il periodo dell'errore di arrotondamento è pari all'inverso del prodotto del periodo del segnale per la frequenza di campionamento. Nel caso peggiore gli errori di arrotondamento hanno lo stesso periodo del segnale sinusoidale.
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)
Avatar utente
MarioBon
Amministratore del forum
Messaggi: 9153
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: molto variabile: Amplificatore Audio Analog, Diffusori autocostruiti, lettore CD autocostruito.
Località: Venezia
Contatta:

Re: Conversione AD, quatizzazione, dithering, sovracampionamento

#3 Messaggio da MarioBon »

Il teorema di Shanon dice come deve avvenire la conversione da analogico a digitale:

- la massima frequenza presente nel segnale analogico deve essere rigorosamente limitata a Fn
- i campioni vengono prelevati con frequenza almeno doppia di Fn
- si misura l'ampiezza del campione prelevato e si ottiene un numero.

Questo numero viene arrotondato ad un valore intero dal convertitore Analogico-Digitale (AD o A/D).
Per esempio se il convertitore ha 8 bit può convertire ampiezze da -256 a 255 ovvero -256,-255,....,-1,0,1,2,3,4,5,6,....255. Se l'ampiezza del campione vale 3.34 sarà approssimata a 3, se vale 3.7 sarà approssimata a 4. La differenza tra il valore che esce dal convertitore ed il "valore vero" dell'ampiezza del campione è l'errore di arrotondamento (impropriamente detto rumore di quantizzazione).

Il rumore di quantizzazione dà fastidio?

Dipende:
- se il numero di bit del convertitore è alto (16, 24, 32 bit)
- se l'ampiezza del segnale è abbastanza grande

il rumore di quantizzazione è irrilevante. Se invece il segnale da convertire è "piccolo" ed il numero di bit "basso", il rumore di quantizzazione diventa fastidioso e, in più, potrebbe contenere delle componenti periodiche che il nostro orecchio percepisce come distorsione armonica.

Per eliminare questa distorsione armonica è necessario rendere casuale l'errore di arrotondamento (il rumore di quantizzazione). Questo si fa aggiungendo al segnale una piccola dose di rumore casuale. Questa operazione si chiama dithering ed ha senso se:
- i bit di conversione sono "pochi"
- il segnale da convertire è "piccolo"
- il segnale da convertire non contiene già del rumore casuale (per esempio rumore ambientale).

Ne segue che le situazioni in cui il dithering è necessario, nella pratica, sono poche. Tuttavia, dato che la quantità di rumore aggiunto è piccola e difficilmente udibile si tende ad aggiungere il dithering anche quando non serve (così non si deve star lì a capire quando serve e quando non serve).

Del Dithering si parla anche qui:
viewtopic.php?f=39&t=2250&start=20
a partire da pagina 3
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)
Avatar utente
MarioBon
Amministratore del forum
Messaggi: 9153
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: molto variabile: Amplificatore Audio Analog, Diffusori autocostruiti, lettore CD autocostruito.
Località: Venezia
Contatta:

Re: Conversione AD, quatizzazione, dithering, sovracampionamento

#4 Messaggio da MarioBon »

Il passaggio da 16 a 24 bit (a parità di campionamento)

Questa operazione non produce alcuna perdita di informazioni ma nemmeno alcun miglioramento nel segnale. Molto semplicemente tutti i livelli del segnale a 16 bit vengono moltiplicati per 256.
Questo dà un vantaggio: è ora possibile dividere l'ampiezza del segnale per 2 per 8 volte senza perdere informazioni (e senza necessità di aggiungere dithering).
Diventa così possibile ridurre l'ampiezza del segnale (volume digitale) senza degradarlo.
Il processo è questo:
- si prende un segnale a 16 bit
- lo si converte a 24 bit
- si può ridurre l'ampiezza di un fattore 2 per 8 volte = 256 (controlo del volume)

Immagine

Se il segnale di partenza è a 24 bit lo si convertirà a 32 bit per poi attenuarlo.
Nulla vieta di prendere un segnale a 16 bit e portarlo a 32 bit ottenendo una possibilità di attenuazione molto più ampia (256x256=65536)

Se si prende un segnale a 16 bit e lo si converte a 15 bit (si riduce l'ampiezza a metà) si introduce un ulteriore errore di arrotondamento e si perdono i valori nell'intorno dello zero. Non è questo il modo di fare un controllo di volume digitale. un controllo di volume digitale richiede che il segnale sia convertito aumentando il numero di bit e poi attenuato senza distorsione e senza perdita di informazioni.

Il segnale musicale è caratterizzato dal valore efficace e dal fattore di cresta.
Al momento, tranne case banali, non esiste un modo preciso per prevedere il fattore di cresta di un segnale sottoposto ad un certo processo lineare. Al massimo si possono dare delle indicazioni generali.
Quando si usa un equalizzatore (grafico o parametrico) o un filtro, è probabile che sia il valore efficace che il fattore di cresta del segnale vengano modificati. Questo significa che cambia anche il valore di picco del segnale.
Supponiamo di avere un segnale a 16 bit. La massima ampiezza possibile è 32767 (-32768 minimo negativo).
Supponiamo di applicare una esaltazione in una certa gamma di frequenze. Dopo questo processo supponiamo che il valore di picco del segnale sia 40000. Ma 40000 è maggiore di 32767 e il sistema satura.
Allora si fa così:
- si prende il segnale a 16 bit,
- lo si converte a 24,
- si divide per 256
- si applica il filtro.
A questo punto 40000 è un valore permesso che non satura il sistema. Ne segue che il segnale entra nell'equalizzatore a 16 bit e ne esce a 24.
Alcuni dispositivi accettano in ingresso 16, 24, 32 bit, operano, al loro interno, a 64 bit e quindi restituiscono il segnale, per esempio a 32 bit (o altro).
La ragionevole certezza di buon funzionamento, è data da questa regola:
il segnale in uscita deve avere più bit del segnale in ingresso. Per esempio entra 16 ed esce 24, entra 24 ed esce 32.
Se entra 24 ed esce 24 potrebbe uscire saturato (dipendendo dal processo che gli viene applicato).
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)
Avatar utente
MarioBon
Amministratore del forum
Messaggi: 9153
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: molto variabile: Amplificatore Audio Analog, Diffusori autocostruiti, lettore CD autocostruito.
Località: Venezia
Contatta:

Re: Conversione AD, quatizzazione, dithering, sovracampionamento

#5 Messaggio da MarioBon »

Il passaggio da 44.1 a 88.2 kHz (a parità di quantizzazione): il sovracampionamento

Acquisire un segnale a 24 bit riduce l'errore di arrotondamento di 256 volte rispetto alla acquisizione a 16 bit e corrisponde ad un oggettivo miglioramento di accuratezza della conversione. Vediamo il sovracampionamento.
Dato un segnale acquisito a 44.1 kHz e portarlo a 88.2 kHz non produce alcun miglioramento nel segnale nel senso che non modifica in alcun modo le informazioni in esso contenute.

Immagine

Allora perché si sovracampiona?

Prendiamo un convertitore che campiona a 44.1 kHz. Per il teorema di Shannono la banda passante del segnale in ingresso deve essere limitata a 22050 Hz. Questo significa che tra 20kHz e 22.05kHz la risposta in frequenza deve calare di almeno 96 dB (se non di più) serve quindi un filtro anti alias con pendenza molto ripida alla quale corrisponde un ritardo di gruppo importante. Lo stesso vale per il filtro di ricostruzione.
Sovracampioniamo il segnale a 88.2kHz mantenendo la banda passante utile a 20 kHz. Ora la stessa attenuazione deve essere ottenuta tra 20kHz e 44.1 kHz e il filtro necessario ha una pendenza inferiore cui corrisponde un ritardo di gruppo inferiore (a anche una realizzazione meno complicata).
Quando la frequenza di campionamento viene moltiplicata per un numero intero non comporta alcuna perdita di informazioni e consente un filtraggio anti Alias e di ricostruzione più "comodo". Più si sovracampiona, più i filtri sono "comodi" da realizzare.

Il passaggio da 44.1 a 48 kHz (a parità di quantizzazione): il sovracampionamento

48kHz non è un multiplo esatto di 44.1 kHz ne segue che il segnale dovrebbe essere riconvertito in analogoco e poi ricampionato. Dato che questo processo è troppo lungo, sono stati pensati degli algoritmi che eseguono questa operazione più velocemente. Questo processo può degradare il segnale. I dispositivi moderni però lo fanno in modo non udibile.
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)
Avatar utente
MarioBon
Amministratore del forum
Messaggi: 9153
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: molto variabile: Amplificatore Audio Analog, Diffusori autocostruiti, lettore CD autocostruito.
Località: Venezia
Contatta:

Re: Conversione AD, quatizzazione, dithering, sovracampionamento

#6 Messaggio da MarioBon »

Passaggio da 24 a 16 bit

Abbiamo visto che per eseguire determinate operazioni quali equalizzazione, filtro e controllo del volume, è necessario aumentare il numero di bit. Più il numero di bit viene aumentato e meglio è.
Ridurre il numero di bit aumenta l'errore di arrotondamento (nel caso specifico passando da 24 a 16 di 256 volte).
E' del tutto evidente che aggiungere il dithering dopo aver moltiplicato l'errore di arrotondamento di 256 volte non può rovinare il segnale più di tando. Probabilmente ne migliora la intelligibilità ma ormai la qualità è compromessa.
Passare da 24 a 16 bit è una operazione da non fare.
Se si dispone di un segnale a 24 bit l'unico buon motivo per ridurlo a 16 bit potrebbe essere la volontà di scriverlo su un CD Audio.

Controllo del volume digitale

Gli altoparlanti sono dispositivi analogici. L'amplificatore di potenza è un dispositivo con uscita analogica (e quasi sempre anche con ingresso analogico). Indipendentemente da cosa c'è davanti all'amplificatore con ingresso analogico, la cosa più ragionevole da fare è mettere un controllo di volume analogico (un potenziometro) all'ingresso dell'amplificatore stesso.
Se si preferisce utilizzare un controllo di volume digitale bisogna necessariamente osservare la regola già detta: il segnale che entra nel controllo di volume digitale deve avere meno bit di quello che ne esce (entra 16 => esce 24, entra 24 => esce 32).
Se si fa così il risultato è assicurato con una buona probabilità.

Processo del segnale digitale

Se si entra e si esce da un dispositivo con pari numero di bit, le cose potrebbero andare bene oppure no. Dipende dal valore di picco che assume il segnale digitale alla fine del processo.
E' probabile che funzioni
- con un equalizzatore che funziona solo in attenuazione
- con filtri passa basso

E' un po' meno probabile con un filtro passa alto.
E' poco probabile se si passa attraverso un equalizzatore che opera in esaltazione.

La certezza comunque non è assicurata.
Se invece si entra a 16 (24) bit e si esce a 24 (32) bit è molto probabile che la cosa funzioni e che l'uscita del sistema non saturi.

Il DCX2494 opera a 24 bit. Se si entra in analogico basta regolare l'ampiezza del segnale in modo opportuno in modo che l'uscita del DCX non saturi. Se si entra con un segnale digitale a 24 bit il risultato dipende dal valore di picco del segnale e dal tipo di processo applicato.
Se si parte con un file audio a 24 bit e si vuole entrare nel DCX dall'ingresso digitale (sempre a 24 bit) si accetta la possibilità che il segnale in uscita sia peggiore di quello in ingresso.
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)
Avatar utente
MarioBon
Amministratore del forum
Messaggi: 9153
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: molto variabile: Amplificatore Audio Analog, Diffusori autocostruiti, lettore CD autocostruito.
Località: Venezia
Contatta:

Re: Conversione AD, quatizzazione, dithering, sovracampionamento

#7 Messaggio da MarioBon »

Passaggio da 24 a 16 bit

Abbiamo visto che per eseguire determinate operazioni quali equalizzazione, filtro e controllo del volume, è necessario aumentare il numero di bit. Più il numero di bit viene aumentato e meglio è.
Ridurre il numero di bit aumenta l'errore di arrotondamento (nel caso specifico passando da 24 a 16 di 256 volte).
E' del tutto evidente che aggiungere il dithering dopo aver moltiplicato l'errore di arrotondamento di 256 volte non può rovinare il segnale più di tando. Probabilmente ne migliora un po' la intelligibilità ma ormai la qualità è compromessa.
Passare da 24 a 16 bit è una operazione da non fare.
Se si dispone di un segnale a 24 bit l'unico buon motivo per ridurlo a 16 bit potrebbe essere la volontà di scriverlo su un CD Audio.

Controllo del volume digitale

Gli altoparlanti sono dispositivi analogoci. L'amplificatore di potenza è un dispositivo con uscita analogoca (e quasi sempre anche con ingresso analogoco). Indipendenemente da cosa c'è davanti all'amplificatore con ingresso analogoco, la cosa più ragionevole da fare è mettere un controllo di volume analogico (un potenziometro) all'ingresso dell'amplificatore stesso.
Se si preferisce utilizzare un controlo di volume digitale bisogna necessariamente osservare la regola già detta: il segnale che entra nel controllo di volume digitale deve avere meno bit di quello che ne esce (entra 16 => esce 24, entra 24 => esce 32).
Se si fa così il risultato è assicurto con un buon margine di probabilità.

Processo del segnale digitale

Se si entra e si esce con pari numero di bit, le cose potrebbero andare bene oppure no. Dipende dal valore di picco che assume il segnale digitale dopo il processo.
E' probabile che funzioni
- con un equalizzatore che funziona solo in attenuazione
- con filtri passa basso
E' un po' meno probabile con un filtro passa alto.
E' poco probabile se si passa attraverso un equalizzatore che opera in esaltazione.

La certezza comunque non è assicurata specie se il segnale ha un fattore di cresta basso e raggiunge la massima ampiezza consentita.
Se invece si entra a 16 (24) bit e si esce a 24 (32) bit è molto probabile che la cosa funzioni ed il sistema non saturi.

Conclusione

Se quanto esposta ha senso, quando si riproduce musica liquida da file audio a 24 bit bisognerebbe accertarsi che i processi (equalizzazione, filtraggio, regolazione del volume, ecc.) avvenissero almeno a 32 bit.
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)
Avatar utente
MarioBon
Amministratore del forum
Messaggi: 9153
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: molto variabile: Amplificatore Audio Analog, Diffusori autocostruiti, lettore CD autocostruito.
Località: Venezia
Contatta:

Re: Conversione AD, quatizzazione, dithering, sovracampionamento

#8 Messaggio da MarioBon »

Immagine
La catena A rappresenta la "produzione". Il volume analogico viene regolato in modo che la massima ampiezza del segnale contenuto nel file audio sia inferiore alla massima modulaione consentita.
per 16 bit, mssima modulazione = 32687
per 24 bit, massima modulazione = 16777215 (256 volte maggiore)

se la tensione di riferimento è di 10 Volt ogni "scalino" del convertitore a 16 bit vale circa 0.15 milli Volt
se la tensione di riferimento è di 10 Volt ogni "scalino" del convertitore a 24 bit vale circa 0.0012 milliVolt

Spesso le registrazioni contengono delle saturazioni ma facciamo finta che non sia così.

La catema B rappresenta la riproduzione del file audio (tramite PC). L'interfaccia consente di inviare al processore un segnale in formato digitale (per evitare una doppia conversione). Se il processore non modifica l'ampiezza del segnale tutto funziona ed il volume viene regolato (con un potenziometro) all'ingresso dell'amplificatore. Questa catena funziona.
Me se il processore è, per esempio, un equalizzatore che aumenta la massima ampiezza del segnale questo supera il limite imposto dai 24 bit ed il sistema satura (e funziona meno bene).
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)
Avatar utente
MarioBon
Amministratore del forum
Messaggi: 9153
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: molto variabile: Amplificatore Audio Analog, Diffusori autocostruiti, lettore CD autocostruito.
Località: Venezia
Contatta:

Re: Conversione AD, quatizzazione, dithering, sovracampionamento

#9 Messaggio da MarioBon »

Se il sistema B non funziona correttamente o se non si dispone di un controllo di volume analogico, lo si può semplificare sfruttando gli ingressi analogogici del processore in questo modo

Immagine

in questo caso la qualità dipende dallo stadio di uscita analogico del PC e c'è una doppia conversione in più però si può verisicare se il processore satura regolando il volume dell'uscita linea (o cuffia) del PC.
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)
Avatar utente
MarioBon
Amministratore del forum
Messaggi: 9153
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: molto variabile: Amplificatore Audio Analog, Diffusori autocostruiti, lettore CD autocostruito.
Località: Venezia
Contatta:

Re: Conversione AD, quatizzazione, dithering, sovracampionamento

#10 Messaggio da MarioBon »

Ora consideriamo un sistema un po' più complicato. Il sistema è costituito da un sub woofer tagliato a 125 Hz (purtroppo non posso fare il <taglio a 132 Hz) e da un satellite largabanda. Lo spettro del segnale in ingresso è questo:
Immagine
che è ottenuto prendendo i valori massimo degli spettri elaborati da Noselli per la musica pop, rock e disco.
Lo spettro del segnale che arriva al sub è questo:
Immagine
lo spettro <che arriva al satellite è questo:
Immagine
I tagli sono a 12 dB ma anche se fossero più pendenti cambierebbe veramente poco.
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)
Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 19 ospiti