ADPCM
# ADPCM

ADPCM (acronimo di Adaptive Differential Pulse Code Modulation) è tipo di compressione audio digitale nonché estensione della codifica digitale PCM di base, usata largamente nel campionamento, quantizzazione e codifica di segnali audio, soprattutto in campo di telefonia fissa.

## Descrizione

A differenza del PCM di base, che campiona il segnale audio, lo quantizza secondo un codificatore non lineare (ad esempio logaritmico) e trasmette direttamente i valori quantizzati in formato numerico, l'ADPCM si basa sulla predicibilità di un campione a partire da un numero di campioni precedenti ad esso. Quindi, è sufficiente predire il campione n-esimo, valutare l'errore rispetto a quello reale e trasmettere soltanto l'errore di predizione. Dal canto suo, il decoder farà la stessa predizione e sommerà ad essa l'errore di predizione ricevuto. In questo modo il tutto funziona se la varianza dell'errore è minore della varianza dei campioni, nel senso che si avrà un reale risparmio di bit da trasmettere.

La codifica ADPCM utilizza le differenze fra i campioni PCM originari. Quando le differenze presentano una regolarità in termini di valore massimo e di frequenza dei valori ripetuti, per cui diventa possibile memorizzare un numero finito di quelli più frequenti all'interno di tabelle, dette di look-up.

Se si aggiunge una fase di predizione, nella quale il valore del campione precedente è un predittore del valore attuale, a parità di rapporto segnale/rumore, sarà inferiore il numero di bit necessario a rappresentare il segnale: N bit assegnati per $2^{N}$ possibili valori di differenza. Una possibile tecnica di predizione è quella di tipo lineare e su un numero finito di campioni. In questo caso si usa il criterio del minimo errore quadratico medio MEMQ:

| $PCM_1$ | ... 100 | 101 | 102 | 103 | 103 | 103 | 102 | 101 | 100 | 100 | 101 | 101 | 100 | 97 ... |
| - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| $PCM_2$ | ... 100 | 101 | 102 | 103 | 104 | 103 | 102 | 101 | 100 | 101 | 100 | 101 | 100 | 99 ... |
| $PCM_1$ - $PCM_2$ | ... 0 | 0 | 0 | 0 | -1 | 0 | 0 | 0 | 0 | -1 | +1 | 0 | 0 | 2 ... |

Ciò non è possibile nello spettro delle alte frequenze, dove la differenze sono maggiori e quindi la loro varianza temporale non consente di stabilizzare la successione dei valori campionati con una certa regolarità. La soluzione a tale fenomeno di slope overload è l'ADCPM, specificato dallo standard ITU-T G-726, che prevede di adattare dinamicamente il numero dei campionamenti alla frequenza del segnale in ingresso: intervalli (passi) di quantizzazione più ampi per le frequenze più alte ovvero più ristretti "per variazioni più lente del segnale". Con la predizione in tecnica di modulazione ADPCM, 0 diventa il valore più frequente che si ottiene dalla differenza fra i segnali PCM in ingresso., riuscendosi a garantire un bitrate di 32kbps in campo telefonico, contro i 64kbps del PCM tradizionale.

