Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

bufferizzazione ADC

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[21] Re: bufferizzazione ADC

Messaggioda Foto Utentevenexian » 14 lug 2018, 10:30

D'accordo. Buon lavoro.
Immagine
Avatar utente
Foto Utentevenexian
6.369 3 4 7
Master
Master
 
Messaggi: 2188
Iscritto il: 13 mag 2017, 10:07
Località: Venezia (ma va?)

0
voti

[22] Re: bufferizzazione ADC

Messaggioda Foto Utentedadduni » 14 lug 2018, 15:29

salve Foto Utentevenexian, visto che l'argomento mi interessa posso sfruttarti per un paio di domande?

Deriva molto, molto, MOLTO di più

Come si può fare per avere una frequenza di campionamento "molto" stabile? e quanto può definirsi stabile?
Cioè, tutti i quarzi dei micro sono soggetti a variazioni termiche, come si fa a migliorare questa cosa?
Io fin ora (all'interno dei micro) ho sempre usato il free-running mode in cui prescalo il main clock, oppure con un timer che genera un'interrupt e all'interno dell'interrupt si lancia la conversione dell'ADC. Sono approcci validi?

In questo caso, come può essere che da 500 Hz in poi, il segnale abbia spurie non superiori a -80 dB?

Qui invece come andrebbe risolta la faccenda a livello analitico? abbonadare nel sampling?

Scusa per il disturbo e grazie se vorrai dedicarmi un po di tempo, sto ancora studiando e questi argomenti sono stati trattati solo di sfuggita

Davide
Avatar utente
Foto Utentedadduni
2.073 2 7 12
Expert EY
Expert EY
 
Messaggi: 1370
Iscritto il: 23 mag 2014, 16:26

1
voti

[23] Re: bufferizzazione ADC

Messaggioda Foto Utentevenexian » 14 lug 2018, 15:56

1) Clock.

'Molto stabile' non vuol dire nulla. La stabilità di un clock è un concetto molto ampio che dipende dall'intervallo temporale che consideri.

Su intervalli brevi si confonde con il rumore di fase, importante per campionamenti a frequenze molto elevate, per ricostruzione di clock in comunicazioni sempre a frequenza molto elevata, raramente un problema per applicazioni usuali.

Su tempi più lunghi si ha la stabilità a breve termine, tipica degli oscillatori di tipo ring, presenti ormai in tutti i micro e anche nel convertitore dell'OP. Questa stabilità è importante nei campionamenti, nell'uso delle UART, nelle misure di frequenza di segnali esterni, ecc. Alcuni oscillatori ring sono abbastanza precisi e hanno compensazioni di temperatura per assicurare il funzionamento di UART anche a 150 kbaud e oltre. Non costano nulla, ma necessitano di verifiche accurate sulle possibili variazioni della tensione di alimentazione, della temperatura, dell'invecchiamento del componente. Sui datasheet c'è tutto.

Su tempi ancora più lunghi la stabilità si calcola in p.p.m. e siamo nell'ambito degli RTC, dove anche 10 p.p.m. rompono le scatole su un orologio da quattro soldi. I risonatorini a 32 768 Hz hanno stabilità strabilianti per il costo che hanno, molto interessante è utilizzarli come riferimento nei PLL dei micro che hanno questa funzione per ottenere una frequenza di sistema molto precisa e stabile a lungo termine. Il rumore di fase che hanno è maggiore se comparato a quello di un quarzo a frequenza maggiore, ma questo è raramente un problema.

I 'quarzi standard' quelli da 8 MHz, per capirsi, vanno bene per tutto (eccetto gli orologi). Nel loro utilizzo come clock per un convertitore ADC sono 'overkilling' anche perché sono ben altri i problemi che affliggono la precisione di una conversione di questo tipo.

Giusto quattro parole, comunque. Il capitolo 'clock' del manuale di un micro è uno di quelli più pesanti e c'è il motivo...
Immagine
Avatar utente
Foto Utentevenexian
6.369 3 4 7
Master
Master
 
Messaggi: 2188
Iscritto il: 13 mag 2017, 10:07
Località: Venezia (ma va?)

0
voti

[24] Re: bufferizzazione ADC

Messaggioda Foto Utentedadduni » 14 lug 2018, 16:00

grazie per la risposta! Per quanto riguarda il filtro invece?
Avatar utente
Foto Utentedadduni
2.073 2 7 12
Expert EY
Expert EY
 
Messaggi: 1370
Iscritto il: 23 mag 2014, 16:26

1
voti

[25] Re: bufferizzazione ADC

Messaggioda Foto Utentevenexian » 14 lug 2018, 16:17

2) Sampling.

Qui la faccenda è ancora più complessa, ma si può riassumere in una sola parola 'confusione'.

Alcuni concetti mal compresi e divenuti di dominio pubblico nell'ambiente elettronico sono quotidianamente applicati a sistemi di misura che di preciso non hanno neppure il nome. Molte volte, troppe, è a causa della totale incomprensione del concetto di frequenza di Nyquist.

Se è vero che 'bisogna campionare almeno al doppio della massima frequenza di interesse' per avere tutte le informazioni necessarie sul segnale campionato, questa è una condizione necessaria, ma non certo sufficiente. L'altra condizione fondamentale è che 'dalla metà della frequenza di campionamento in poi, il contenuto spettrale deve essere nullo' (*). Se questa condizione non è rispettata, quello che si campiona è semplicemente privo di senso. Serve quindi il filtro anti-aliasing.

Come si sceglie il filtro? Meglio fare un esempio. Se ho un segnale con spettro dalla continua a 300 Hz, posso campionare a 600 Hz per avere tutta l'informazione del segnale? Certo, nel paese di Alice puoi farlo perhé il Cappellaio ti avrà fornito un filtro che ha attenuazione 'zero' dalla continua a 300 Hz e poi attenuazione infinita da 300 Hz in sù.

Fuori dalla tana del bianconiglio le cose sono diverse. I filtri 'scendono' con una certa pendenza e allora devi spostare in su la frequenza di campionamento per spostarla dove l'ampiezza dei segnali filtrati sarà scesa sotto un LSB. Più ripido scegli il filtro, più bassa puoi tenere la frequenza di sampling, ma più complesso sarà il filtro e più ripple avrai in banda, compromettendo la precisione dei segnali che ti interessano.

Come sempre, il tipo di filtro, il numero di poli, la frequenza di sampling il numero di bit di conversione sono varibili da aggiustare con il compromesso che comprende anche il costo, l'occupazione di spazio sulla scheda, l'affidabilità, ecc. ecc.

Lavoro difficile e entusiasmante. E meno male che lo è, così riusciamo ancora a farci pagare...

(*) Nullo dal punto di vista del convertitore, come dire sotto un LSB del convertitore.
Immagine
Avatar utente
Foto Utentevenexian
6.369 3 4 7
Master
Master
 
Messaggi: 2188
Iscritto il: 13 mag 2017, 10:07
Località: Venezia (ma va?)

0
voti

[26] Re: bufferizzazione ADC

Messaggioda Foto Utentedadduni » 14 lug 2018, 16:23

Ti dispiace se ti "sfrutto ancora un po" ?

Non pretendo di capire tutto e subito anche perché queste cose in magistrale dovrebbe spiegarcele "per bene".
Di solito impostare la soglia minima tollerabile a LSB/2 è sufficiente? L'idea è di fare un filtro sufficientemente piatto in banda in tutta la zona interessata dal segnale da campionare, poi il filtro cade con una certa pendenza e si vede a che frequenza si ha una attenuazione sufficiente a considerare nullo il segnale, si campiona a poco più del doppio di quella frequenza li: ti pare corretta come idea di fondo?

Davide
Avatar utente
Foto Utentedadduni
2.073 2 7 12
Expert EY
Expert EY
 
Messaggi: 1370
Iscritto il: 23 mag 2014, 16:26

0
voti

[27] Re: bufferizzazione ADC

Messaggioda Foto Utentevenexian » 14 lug 2018, 16:51

Sì !

Questo è il procedimento, non quello di 'campionare al doppio della frequenza del segnale' !
Immagine
Avatar utente
Foto Utentevenexian
6.369 3 4 7
Master
Master
 
Messaggi: 2188
Iscritto il: 13 mag 2017, 10:07
Località: Venezia (ma va?)

0
voti

[28] Re: bufferizzazione ADC

Messaggioda Foto Utentedadduni » 14 lug 2018, 16:53

Ti ringrazio, mi hai tolto un grande dubbio! immagino che abbia senso anche spostare "piu su" la frequenza di taglio del filtro così da evitare che il ripple di banda cada dentro il segnale da campionare, no? si paga come prezzo di dover campionare anche a freqeuenze piu elevata
Avatar utente
Foto Utentedadduni
2.073 2 7 12
Expert EY
Expert EY
 
Messaggi: 1370
Iscritto il: 23 mag 2014, 16:26

0
voti

[29] Re: bufferizzazione ADC

Messaggioda Foto Utentevenexian » 14 lug 2018, 17:22

Questo è uno dei compromessi di cui parlavo prima. Il discorso si può allargare parlando della 'sensitivity' dei vari componenti utilizzati nel filtro. Più spinto è il filtro e più devi considerare le tolleranze dei componenti per poter infilare il passabasso tra il segnale che ti interessa e la frequenza di Nyquist senza che ci siano sovrapposizioni.

Considera anche che un Butterworth ti da la massima 'piattezza' in banda, ma va giù più lentamente di un Chebyshev, mentre un Chebyshev inverso il ripple te lo da nella parte attenuata. La scelta dipende da un'immensità di fattori e non puoi tralasciarne neppure uno.
Immagine
Avatar utente
Foto Utentevenexian
6.369 3 4 7
Master
Master
 
Messaggi: 2188
Iscritto il: 13 mag 2017, 10:07
Località: Venezia (ma va?)

0
voti

[30] Re: bufferizzazione ADC

Messaggioda Foto Utentedadduni » 14 lug 2018, 18:08

Allora ti presento un attimo come ho affrontato un mio progetto amatoriale vediamo che ne pensi.
Campionando un segnale audio (20Hz-20kHz) la parte di segnale che mi interessava elaborare era sotto 1kHz.
Pensando che buona parte del segnale audio sta comunque sotto 3kHz e che a frequenze più alte c'è già una riduzione naturale di ampiezza del segnale ho fatto un filtro passa basso del secondo ordine Butterworth intorno ai 3kHz. Campionando a 25kSps mi trovo che la parte di alias che si sovrappone nel range 0-1kHz è attenuata di 45dB.
Supponendo il worst case di un segnale che satura appieno l'ADC (3.3V) una attenuazione di -45dB lo fa diventare di circa 33mV e sto aggiungendo 7 codici di rumore al segnale vero. La faccenda in realtà va meglio di così perché il segnale è mai così ampio in quel range di frequenze.
Per migliorare la faccenda potrei aumentare l'ordine del filtro oppure aumentare la frequenza di campionamento.
All'interno del DSP c'è un filtro che taglia in maniera ripida ad 1kHz per lavorare con la sola sezione di segnale di interesse.
Quante cavolate ho detto?
Avatar utente
Foto Utentedadduni
2.073 2 7 12
Expert EY
Expert EY
 
Messaggi: 1370
Iscritto il: 23 mag 2014, 16:26

PrecedenteProssimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti