Voglio creare alcuni effetti DSP, ad esempio sul processore STM32F4, con frequenza di 96 o 192 KHz. I convertitori a 16 bit (ADC e DAC) sono sufficienti per questo tipo di operazione? Posso sentire una differenza quando scelgo 16 bit o 24 bit?
Voglio creare alcuni effetti DSP, ad esempio sul processore STM32F4, con frequenza di 96 o 192 KHz. I convertitori a 16 bit (ADC e DAC) sono sufficienti per questo tipo di operazione? Posso sentire una differenza quando scelgo 16 bit o 24 bit?
Ci sono molte cattive informazioni e frodi audio disponibili su questo argomento, ma se stai facendo un canale di audio digitale, le frequenze di campionamento a 96kHz e 192kHz sono stupide. L'udito umano si estende fino a 20 kHz. Per soddisfare Nyquist a 20kHz, abbiamo bisogno di una frequenza di campionamento maggiore di 40kHz. I CD sono 44,1 kHz e 48 kHz è un'altra frequenza di campionamento comune.
Ora, ricordiamo che l'audio digitale è un segnale discreto, non continuo. Ciò significa che ha un valore in ogni momento di campionamento e non è definito in tutti gli altri momenti. Per un segnale a banda limitata, campionato ao superiore a Nyquist, c'è solo un segnale che passa attraverso ciascuno di questi campioni discreti. Qualsiasi altro segnale che passa attraverso tutti i punti di campionamento non può soddisfare Nyquist. L'unico motivo per campionare a 96kHz o 192kHz per un singolo canale è se stai sovracampionando con un ADC a bassa profondità di bit. Anche questo è sciocco, e andremo lì dopo.
Abbiamo appena discusso di come una serie di campioni discreti corrisponda esattamente a un segnale. Questo è indipendente dalla profondità di bit. Ciò non significa che la profondità di bit non sia importante. La conversione in digitale introduce il rumore di quantizzazione. La quantizzazione è il rumore introdotto nel segnale digitale "arrotondandolo" al valore digitale più vicino, come mostrato in questa immagine spudoratamente rubata da Wikipedia.
Il rumore di quantizzazione è direttamente correlato alla profondità di bit. Dovrebbe essere abbastanza ovvio maggiore è la risoluzione (valori a cui arrotondare), minore è il rumore di quantizzazione. Una maggiore profondità di bit consente di ottenere una risoluzione a fondo scala più elevata. Una risoluzione più alta riduce il rumore di quantizzazione avendo più valori disponibili per abbinare strettamente il valore del segnale a un campione. La riduzione del rumore di quantizzazione abbassa il rumore di fondo e aumenta il rapporto segnale / rumore (SNR).
Riesci a sentire la differenza tra la quantizzazione a 16 e 24 bit? Scommetto tutto quello che non puoi. È per una chitarra e le chitarre non sono famose per la loro gamma dinamica. Una sinfonia professionale? Forse, senza esitazione. Il rumore di fondo a 16 bit è abbastanza basso che è improbabile che sia distinguibile, ma la differenza sarà misurabile.
In sintesi, il mio voto va per la frequenza di campionamento di 48 kHz e la risoluzione a 16 bit. Incoraggio vivamente chiunque sia interessato a questo argomento a guardare questo video.
Dipende da chi chiedi. La maggior parte degli esseri umani non può sentire oltre i 20 kHz e 16 bit, quindi 96 o 192 kHz dovrebbero essere sufficienti.
Per quanto riguarda l'ascolto di una differenza tra i convertitori a 16 e 24 bit, dipende dal tuo DSP. Il vantaggio principale dei convertitori a 24 bit è che ti offre tonnellate di headroom aggiuntivo (gamma dinamica) in modo da poter eseguire molte operazioni matematiche e non aggiungere rumore di quantizzazione evidente.
Nella mia esperienza, non posso dire la differenza tra i convertitori a 16 e 24 bit. Alcune persone pensano di poterlo fare. Se fossi in te sceglierei i convertitori a 24 bit, quindi è una cosa in meno di cui preoccuparsi e puoi concentrarti sul tuo codice DSP.
Bisogna considerare che le prestazioni dell'ADC e del DAC dipenderanno molto dai circuiti di supporto e dal layout del PCB. Non sono un esperto di ADC, ma la mia comprensione è che da un punto di vista elettrico, 16 bit è di fascia alta e 24 bit è estremo. Se utilizzi un riferimento a 5 V, 1 bit meno significativo è 76 uV su un convertitore a 16 bit. Questo è il miglior rumore di fondo di -96 dB. Sei sicuro di poter controllare il rumore fino a quel punto? Tieni presente che anche l'ambiente di registrazione produce rumore. A meno che tu non sia in uno studio di registrazione e tu abbia un circuito davvero carino, non credo che un ADC a 24 bit ti aiuterà. Sospetto anche che 96 kHz sia eccessivo e che 48 kHz funzionerebbe altrettanto bene.
Solo per divertimento, potresti sperimentare con l'ADC a 12 bit sull'STM32F4 per vedere se riesci a sentire una differenza rispetto a 16 bit.
Una stranezza facilmente trascurata dei sistemi di quantizzazione come gli ADC è che un ADC che restituisce sempre la lettura più vicina al valore di input aggiungerà una quantità significativa - fino a ± ½ LSB - di distorsione armonica, che può essere molto più discutibile di quanto sarebbe ± ½ LSB di rumore ad ampio spettro. Un ADC che aggiungesse ± ½ LSB di rumore ad ampio spettro con le giuste caratteristiche potrebbe eliminare la distorsione armonica, ma se le caratteristiche del rumore non fossero del tutto corrette rimarrebbe una certa distorsione. Sebbene non sia impossibile progettare un ADC a 16 bit di alta qualità che abbia una sorgente di rumore di ± ½ LSB molto ben modellata, è spesso molto più facile estendere semplicemente le misurazioni per riportare 24 bit, riducendo così il rumore di quantizzazione (e l'armonica risultante distorsione) di un fattore di almeno 256. Mentre andare fino in fondo a 24 bit potrebbe non avere molti vantaggi oltre ad es andando a 20, probabilmente non aggiunge molto al costo dal punto di vista dell'hardware o del software.
Come analogia, supponiamo che uno abbia bisogno di un dispositivo che riporti una tensione precisa entro 0,06 volt. Sarebbe più facile progettare un dispositivo del genere con una lettura in decimi di volt o in centesimi? Se la lettura è in decimi, il dispositivo deve essere in grado di risolvere la differenza tra 1,139 e 1,161 volt (il primo deve essere riportato come 1,1 e il secondo come 1,2), una differenza di poco superiore a 0,02 volt. Se la lettura fosse in centesimi, potrebbe riportare un valore di 1,10 volt per qualsiasi cosa fino a 1,159 volt e una lettura di 1,11 volt per qualsiasi cosa fino a 1,061 volt, uno spread di circa 0,1 volt. Pertanto, fornire cifre più significative nella lettura riduce effettivamente la precisione dei circuiti necessari per ottenere una data precisione del risultato.
Nel tuo caso, per campionare una chitarra elettrica con una frequenza di picco massima di circa 2,5kHz e una pendenza di caduta di almeno 12dB / ottava a frequenze più alte, sarei d'accordo con il consenso generale di 48kHz e risoluzione di 16 bit, sebbene se si apportano modifiche pesanti (come flussi di ritardo multipli), 24 bit sarebbero più utili come ha sottolineato @crgrace.
Nessuno ha ancora menzionato la psicoacustica che gioca un ruolo importante nella percezione dell'audio digitale , e poiché la tua domanda riguardava se puoi sentire una differenza, penso che rimanga da spiegare. La nostra percezione del suono è dominata più dall'informazione di fasatura che dalla frequenza e dalla distorsione. Hai menzionato il ritardo e il coro come i tuoi prossimi interessi dopo la modulazione dell'inviluppo. Entrambi questi effetti aggiungono informazioni sulla fase alla sorgente originale.
Tuttavia, se si decide di aumentare l'ambito del progetto per includere la chitarra acustica o la voce, si otterrebbe un effetto evidente utilizzando una frequenza di campionamento di 48 kHz e 16 bit di profondità. La sibilanza, il suono della "s" nel discorso, si verifica spesso con la voce. Una chitarra acustica con pickup piezo ha anche una forma di sibilante (sebbene non dello stesso tipo) ed è meglio filtrare i segnali su 3-5kHz per evitare questo problema. Ma con la voce non puoi fare molto se non applicare un filtro de-essing.
La sibilanza è un suono complesso che ha un'interazione di informazioni di fase a frequenze moderatamente alte. Il caso più ovvio è un piatto sfrigolante. Microfono e registralo a varie frequenze di campionamento e confronta il suono registrato con quello dal vivo. Man mano che si riduce progressivamente la frequenza di campionamento, il segnale registrato suonerà più come un rumore aspro fino a quando non diventa insopportabile. Con una buona registrazione sarai in grado di sentire i rivetti viaggiare intorno al piatto. Questo è uno dei motivi per cui alcune persone preferiscono le registrazioni analogiche ai CD.
Come regola pratica, è necessario che la frequenza di campionamento sia 10 volte la frequenza del segnale più alta per ridurre al minimo le distorsioni di fase. Una chitarra elettrica produce pochi armonici superiori a 5 kHz e quindi una frequenza di campionamento di 48 kHz funzionerà abbastanza bene. Ma se desideri utilizzare i tuoi effetti in modo più generale, come la correzione dell'intonazione o il chorus per le voci, ti consiglio di utilizzare frequenze di campionamento più elevate.
La profondità di bit , di cui parla l'OP, non ha nulla a che fare con la capacità di sentire una certa gamma di frequenze. In altre parole, la profondità di bit rappresenta la risoluzione dell'intensità del suono. Scommetto, se ottieni una musica di alta qualità e la produci attraverso convertitori a 16 e 24 bit, sentirai la differenza alla grande! L'immagine sotto mostra una "scala" di quantizzazione esagerata sul campionamento a 16 bit:
Ora, frequenza di campionamento , che OP confonde con ADC, è diverso. Penso che significhi 96ks / se 192ks / s, il che significherebbe sovracampionamento. Questi numeri di solito rappresentano i multipli di 24 kHz, una frequenza di ascolto massima con qualche overhead di riserva (a causa di filtri passa-basso non ideali). Pertanto, il campionamento a 48 kHz sarebbe leggermente superiore alla frequenza di Nyquist, 96 Khz significa semplicemente che è stereo (due canali) e 192 è quadro.
Pertanto, è necessario campionare ciascun canale a circa 48 kHz, e se può ottenere un campionatore ADC a 24 bit - fallo - la maggior parte dei campioni sonori commerciali ha una profondità di 24 bit. Tuttavia, se la tua sorgente sonora (quitar) è abbastanza rumorosa da uccidere la risoluzione, allora spendere soldi extra per il convertitore a 24 bit non migliorerà il tuo suono.
E come ha detto @crgrace, una maggiore profondità di bit diminuire la perdita di informazioni durante l'elaborazione del suono digitale a causa di errori di troncamento.