Perché campionare ad una certa frequenza solo per sottocampionarlo immediatamente?


19

Mi scuso se questa domanda non è ben formulata. Sto leggendo un documento che afferma quanto segue:

I vettori del magnetometro sono campionati a 100 Hz. Il rilevatore filtra e abbassa i vettori fino a 10 Hz per rimuovere il rumore del segnale e ridurre il calcolo richiesto per l'elaborazione in tempo reale sullo smartwatch.

La mia domanda è: se volevano che la frequenza di campionamento fosse 10Hz, perché inizialmente non si limitavano a campionare a 10Hz?


12
Anti aliasing. Molto comune.
Winny

Risposte:


41

se volevano che la frequenza di campionamento fosse 10Hz, perché inizialmente non si limitavano a campionare a 10Hz?

Al fine di evitare l' aliasing , il segnale deve essere filtrato passa-basso prima del campionamento. Nessuna frequenza superiore a Fs / 2 dovrebbe essere presente nel segnale analogico (o, realisticamente, dovrebbe essere sufficientemente attenuata da essere sepolta nel rumore, o ad un livello abbastanza basso da soddisfare le specifiche desiderate).

Se campionate a Fs = 10Hz e volete acquisire segnali dire, 4Hz, il vostro filtro dovrà lasciarli passare, fornendo tuttavia una forte attenuazione sopra i 5Hz, quindi avrà bisogno di una funzione di trasferimento piatta nella banda passante, quindi una ripida caduta dopo la frequenza di taglio.

Questi filtri di ordine elevato sono difficili e costosi da implementare nel dominio analogico, ma molto semplici da eseguire nel dominio digitale. I filtri digitali sono anche molto precisi, ad esempio la frequenza di taglio non dipende dalla tolleranza dei condensatori.

Pertanto, è molto più economico utilizzare un passa-basso analogico di basso ordine, sovracampionare per un grande fattore, quindi utilizzare un filtro digitale nitido per sottocampionare alla frequenza di campionamento finale desiderata.

Lo stesso hardware digitale può essere utilizzato anche per diversi canali. A questa bassa frequenza di campionamento, i requisiti di potenza di elaborazione sono molto bassi e un moderno microcontrollore implementerà facilmente molti canali di filtro digitale a un prezzo molto economico.


10

Hai citato la parola magnetometri. Questo espande leggermente l'ambito.

I magnetometri per i non familiari misurano il flusso magnetico e creano un segnale / tensione di uscita proporzionale in base al flusso.

È probabile che rilevi anche un'elevata quantità di "energia elettrica" ​​indesiderata, dovuta all'energia magnetica irradiata da qualsiasi cavo elettrico circostante.

In effetti, il campionamento diretto a 10 Hz in presenza di 50 Hz potrebbe farti impazzire, poiché potresti non essere esattamente 10 Hz e vedrai quello che sembra un lento spostamento DC su e giù per un periodo di diversi secondi.

I 100 Hz diventano significativi nel contribuire a annullare questo segnale indesiderato da ciò che si desidera effettivamente vedere. Questo è tipico per i luoghi in cui si trovano 50Hz, negli Stati Uniti 60Hz ovviamente.

Se si utilizzano magnetometri in alcuni paesi, i 100Hz / 10Hz non funzionano così bene; potresti trovare un modello diverso per questi mercati.

Le risposte su antialias / filtro ecc sono ancora corrette; questo è solo più specifico per il tuo caso d'uso.


7

Non effettuano immediatamente il downsampling. "Filtrano e scendono il campione". Presumibilmente il filtro è un passa basso che elimina gli alias che potrebbero verificarsi nel segnale sottocampionato. Il filtraggio potrebbe anche ridurre il rumore utilizzando le informazioni di alcuni dei 100 campioni Sps per contribuire a determinare ciascuno dei valori del campione nel segnale decimato (10 Sps).


5
Questa risposta è corretta, ma solo per completezza, per sottocampionare correttamente, è necessario un filtro passa-basso (alla frequenza di Nyquist) prima di effettuare il downsampling. Il filtro non è opzionale.
Mark Lakata,

@MarkLakata Non sono d'accordo. Il filtro stesso non è richiesto, ciò che è richiesto è che non ci siano segnali sopra Fs / 2. Se ti aspetti, devi aggiungere il cosiddetto filtro anti-aliasing. Se, per progettazione o per natura di ciò che misuri, non ti aspetti nulla (segnale o rumore) sopra Fs / 2, il filtro è inutile.
Blup1980,

@ Blup1980 Tecnicamente vero - ma solo se stai campionando un segnale matematicamente puro, con risoluzione infinita e con jitter zero sulla generazione della forma d'onda e sui punti di campionamento. Anche per la post-elaborazione di una forma d'onda generata dal computer "pura", ciò significa che è necessario in tutto il campionamento digitale a causa del rumore nell'LSB (anche se per risoluzioni elevate si può scegliere di ignorarlo perché è piccolo). Nel caso del PO, è assolutamente necessario e non è mai facoltativo.
Graham,

@ Blup1980 abbastanza equamente, è possibile che i segnali siano stati stupidamente campionati a 100 Hz con un filtro LP a 20 Hz in posizione. Ma supponendo il caso generale in cui le forme d'onda di input che non sono limitate in frequenza, è necessario passare in basso i dati prima di ricampionare a una frequenza inferiore. it.wikipedia.org/wiki/Sample-rate_conversion Nel caso di un magnetometro (ovvero una bussola su uno smartphone) si può presumere che ci sia molto rumore a tutte le frequenze sopra i 20 Hz.
Mark Lakata,

5

Ci sono molti casi in cui varie fonti di rumore veloci (rispetto al segnale) possono influenzare le letture. Un altro esempio è un fotodiodo che prende misurazioni lente. Potrebbe facilmente captare lo sfarfallio 50/60/100 / 120Hz delle fonti di luce comuni vaghe a seconda di dove ti trovi, e probabilmente anche raccogliere lo sfarfallio della luce fluorescente / LED ad alta frequenza.

In alcuni casi potresti essere in grado di utilizzare un filtro passa-basso sull'input, ma spesso è più semplice ottimizzare il filtro nel software (ad es. Semplicemente sovracampionare e calcolare in media un numero n di campioni, dove n è configurabile dall'utente).

Ridurre la frequenza di campionamento non aumenta (necessariamente) (linearmente) il tempo di assestamento, quindi essenzialmente si esegue lo snapshot del segnale di ingresso. Infatti nell'MCP3002, ad esempio, il tempo di assestamento si basa sulla velocità di clock SPI, che può essere impostata per altri motivi e non sulla frequenza di campionamento (il che ha senso: il dispositivo non è a conoscenza della frequenza di campionamento, solo il fatto che viene chiesto di campionare, ma le figure della scheda tecnica utilizzano la velocità di clock impostata dalla frequenza di campionamento). Se le prestazioni del dispositivo sono impostate dalla velocità di clock e la velocità di clock minima è superiore a quella desiderata per le prestazioni, è possibile leggere più velocemente e la media è economica.


Ottimo punto, la scelta della frequenza di campionamento può essere un artefatto di una scelta progettuale non correlata.
KalleMP,

3

Il campionamento eccessivo semplifica il filtro aliasing e la risposta ai transitori, con un ADC SAR, mentre la media per decimazione riduce il rumore di root n campioni nel software. Se fosse disponibile un IDC AD integrato, potrebbe essere fatto in un solo passaggio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.