Segnale audio

Il segnale audio è una rappresentazione del suono, e contiene tutte le informazioni che ci servono per riprodurre il suono.

Ma abbiamo un problema, ovvero che il suono si presenta come un'onda meccanica ed analogica, e noi vogliamo processarlo con le nostre tecnologie che sono digitali, quindi vogliamo convertirlo in digitale.

Segnale analogico

Il nostro segnale analogico, contiene sull'asse delle x il tempo e sull'asse delle y l'amplitudine. L'intuizione è che abbiamo a che fare con con valori continui su entrambi gli assi, ovvero che rappresentano numeri reali, e non potremmo salvarli in contenuto digitale. Abbiamo valori continui e infinite risoluzioni perché la curva è continua. Ci servirebbe una memoria infinita.

Screenshot 2024-05-13 at 14.36.41.png

Segnale digitale

Il segnale digitale è una sequenza di valori discreti, è come se stessimo facendo snapshots in diversi momenti dei segnali continui. E questi data-points possono prendere solo da un numero finito di valori.

Analog to digital conversion (ADC)

Il processo di conversione si divide in due step fondamentali:

  1. Sampling
  2. Quantization

Sampling

In questa operazione si decide un periodo sul quale fare il sampling, e dopo si fa il sample a intervalli equidistanti nel tempo. Si tratta di un processo molto semplice e intuitivo. Il processo di sampling vuole trasformai i valori dell'amplitudine in un intervallo continuo dei valori discreti. Il Teorema di Nyquist-Shannon afferma che per poter ricostruire un segnale continuo senza ambiguità, la frequenza di campionamento deve essere almeno il doppio della massima frequenza presente nel segnale.

Esempio Pratico

Se stai registrando musica con una gamma di frequenze fino a 20 kHz, dovresti usare una frequenza di campionamento di almeno 40 kHz. Tuttavia, nella pratica, si utilizza spesso una frequenza leggermente superiore (come 44.1 kHz o 48 kHz) per fornire un margine di sicurezza e migliorare la qualità complessiva della registrazione.

Screenshot 2024-05-13 at 14.45.54.png

Quantization

Il processo di quantizzazione, vuole semplicemente assegnare dei valori sull'asse delle y all'amplitudine. E poi vogliamo quantizzare ogni sample tramite il valore dell'amplitudine più vicino sull'asse delle y a quel punto. Esempi tipici di quantizzazione sono l'arrotondamento e il troncamento. I valori come si può vedere dall'esempio sono valori binari di 4 bit. La risoluzione della quantizzazione è calcolata in bits.

Screenshot 2024-05-13 at 15.04.09.png