Perché aumentare la frequenza di campionamento semplifica l'implementazione di un filtro anti-aliasing?


11

Da una risposta a una domanda relativa alla frequenza di campionamento e al filtro anti-aliasing ho letto quanto segue:

Più ti avvicini alla frequenza di campionamento minima teorica, più difficile diventa praticamente il filtro analogico da realizzare.

Se non sbaglio, dice che se la nostra frequenza di campionamento è vicina alla frequenza di campionamento minima teorica richiesta, sarà più difficile progettare il filtro antialiasing analogico.

Sono sicuro che abbia senso per molti, ma non sono riuscito a capire cosa significhi qui e perché sia ​​così. Questo potrebbe essere spiegato con un esempio in un modo più semplice?

Risposte:


24

Quando si riduce la frequenza di campionamento, si riduce la separazione tra le immagini nel dominio della frequenza.

aliasing

fonte

Ricorda che la ripetizione dello spettro si verifica alla frequenza di campionamento. Quando le immagini sono più vicine, è necessario ottenere una maggiore attenuazione nel filtro antialiasing. Il filtro deve passare dalla banda passante per arrestare la banda prima che si verifichi l'immagine successiva.

filtro

fonte da questa presentazione


Interessante. Ma i filtri LP in verde stanno diventando zero non a 1fs ma 1fs-w. Diciamo che il mio segnale BW desiderato è 100Hz, e se la mia frequenza di campionamento è 500Hz, ciò significa che la banda di arresto del filtro LP deve verificarsi al massimo a 400Hz?
user1245

@atmnt pensa cosa accadrà. Il segnale occupa l'intervallo [-100, 100]. Hai anche qualche segnale al di fuori di questa gamma di frequenza che non ti interessa. La tua prima immagine apparirà a 500Hz. Per evitare l'aliasing è necessario limitare l'ingresso analogico nell'intervallo [-400, 400]. Quindi il -400Hz apparirà a 100Hz quando campionato.
user110971

Quindi è corretto impostare la banda di arresto su qualcosa tra 100Hz e 400Hz? (Supponendo che a 100Hz non abbiamo attenuazione) Per l'ingresso del segnale BW a 100Hz.
user1245

1
Oppure potrei aumentare la frequenza di campionamento invece. Ma il problema è che ho bisogno di sapere quella regione di transizione dell'intervallo del filtro per impostare la frequenza di campionamento minima richiesta corretta. So solo che è 3dB a 1kHz e al 6 ° ordine.
user1245

1
@atmnt puoi risolverlo. Se si utilizza un filtro Butterworth, ad esempio, è di 20 dB per decennio per ordine di filtro. Imposta l'attenuazione della banda di arresto a 60 dB o qualcosa del genere. Ma penso che questo esuli dall'ambito di questa domanda. Se non sei sicuro del tuo filtro, dovresti fare un'altra domanda.
user110971

8

Per ricostruire un segnale nel regno digitale dal regno analogico sono necessari almeno due campioni in ciascun ciclo della frequenza più alta presente nel segnale analogico. Ad esempio, sui CD, usano 44,1 kHz per campionare una frequenza massima nella banda audio di 20 kHz. Avrebbero potuto usare 40 kHz ma questo è giusto al limite e il filtro anti alias sarebbe impossibile.

Con una frequenza di campionamento di 44,1 kHz, il segnale audio di frequenza teoricamente più elevato che potrebbe essere catturato digitalmente senza aliasing sarebbe di 22 kHz. Quindi cosa accadrebbe se 24 kHz si alimentassero al sistema di campionamento digitale a 44,1 kHz che potresti chiedere.

Ciò aliaserebbe in un segnale di 20 kHz nel regno digitale e potrebbe peggiorare. E se il segnale fosse di 30 kHz? Questo diventerebbe 16 kHz nel regno digitale.

Questo perché il sottocampionamento crea un output con alias: -

inserisci qui la descrizione dell'immagine

Foto da qui .

Per evitare ciò, si utilizza un filtro che fornisce un'attenuazione adeguata tra 20 kHz e 24 kHz. Dico 24 kHz perché un segnale di 24 kHz ha ragione sul limite di diventare un segnale audio reale da 20 kHz con alias. Quindi, per quelle persone con un udito eccellente fino a 20 kHz (non più me), il filtro anti-alias deve fornire un'attenuazione praticamente zero a 20 kHz e forse un'attenuazione fino a 80 dB (o più) a 24 kHz.

Si tratta di un filtro di ordine piuttosto elevato e la maggior parte degli ingegneri che si occupano di sistemi come questo preferirebbe un rapporto più simile a 3: 1 per la frequenza di campionamento alla massima frequenza analogica.


4

Il filtro antialias ha tre bande

1) Passband, da DC fino a Fwanted
2) Stopband, da Fsample-Fwanted fino a infinito
3) Band di transizione, da Fwanted a Fsample-Fwanted

Il costo di un filtro (numero di stadi, componente Q, numero di moltiplicatori) è approssimativamente proporzionale al reciproco della banda di transizione e aumenta con la profondità in dB della banda di arresto.

Più alto è il campione, più ampia è la banda di transizione e più economico è il filtro


Ma la banda di arresto ha una definizione quantitativa in dB?
user1245

1
@atmnt La banda di arresto è qualunque cosa tu voglia che sia. Alcune persone sono contente di -40 dB (non vedrai l'aliasing su un oscilloscopio), altre persone hanno bisogno di -100 dB (per strumenti di misurazione ad alte prestazioni). Una banda più profonda costa anche, aggiornerò la mia risposta per includerla.
Neil_UK

Le tue risposte sono molto istruttive. Solo un'altra domanda usando un esempio. Quando dici Fwanted, intendi 3dB cut off freq.? Se, ad esempio, la larghezza di banda desiderata di una vibrazione da un trasduttore di forza fosse 200Hz, il nostro Fwanted sarebbe scelto 200Hz o un po 'di più? Sto chiedendo perché quando diciamo Fwanted intendiamo piatto e nessuna attenuazione o freq 3dB.
user1245

3

Supponiamo che la frequenza di campionamento siafs

Quindi, secondo Nyquist, posso campionare segnali con un contenuto di frequenza fino a e usare i dati campionati per ricostruire accuratamente il mio segnale.fs/2

Cosa succede se il mio segnale non "si ferma" su , quindi questi segnali sopra disturberanno il campionamento e il mio segnale ricostruito non sarà più lo stesso. Questo effetto è chiamato aliasing .fs/2fs/2

Quindi questi segnali sopra devono essere filtrati usando un filtro anti-aliasing.fs/2

Tuttavia non vogliamo che quel filtro influisca sui segnali !fs/2

Quindi il filtro deve idealmente:

Non fare nulla quandof<fs/2

ma

blocca tutto quandof>fs/2

È impossibile da fare! Quindi deve esserci un compromesso.

Quando la frequenza più alta nel tuo segnale è vicina a allora avresti bisogno di un filtro impossibile per non influire sulle frequenze del tuo segnale vicine afs/2fs/2

Le cose diventano molto più facili se:

Limitare le frequenze del segnale a frequenze molto più piccole difs/2

o

abbiamo aumentare la frequenza di campionamento in modo che estremità fino ad una frequenza molto più elevata.fs/2

Quindi "separiamo" la frequenza del segnale più alta e la frequenza .fs/2

Ciò "crea spazio" per il filtro anti-aliasing in quanto la frequenza alla quale il filtro non dovrebbe fare nulla (frequenza del segnale più alta) e la frequenza alla quale tutto dovrebbe essere bloccato ( ) sarà ulteriormente separata.fs/2


In pratica la banda di arresto ha una definizione quantitativa in dB? Bisogna decidere che immagino durante la progettazione, ma qual è il dB quantitativo target? Qualche idea?
user1245

Come altro esempio, ho alcuni trasduttori di forza che vengono campionati a 500Hz e l'interesse di BW è di 200Hz. Quindi ho bisogno di un filtro anti-aliasing LP in cui la sua banda di arresto sia a 300Hz? Attualmente viene utilizzato il filtro antialiasing al 6 ° ordine da 1 kHz.
user1245

Non c'è una risposta chiara. Se il filtro si attenua di più (ordine superiore), ovviamente l'aliasing diventa meno un problema. Ma può influire maggiormente sul segnale. È un compromesso che deve essere trovato per ogni applicazione individualmente. Dipende anche dal tuo segnale, se non ci sono contenuti che possono creare alias non è necessario alcun filtro. 500 Hz è estremamente basso e relativamente vicino al tuo 200 Hz in bianco e nero. Poiché anche gli ADC da 1 Msps sono economici in questi giorni, un'alternativa potrebbe essere un filtro RC molto semplice (1 ° ordine) ma campionare a 1 MHz. Se sono troppi dati, fai una media.
Bimpelrekkie,

2

Supponiamo che la tua banda di interesse sia da DC a 100Hz e che il tuo segnale abbia un rumore bianco limitato a 10kHz. Ora, supponiamo che tu decida di campionare a 2kHz. Puoi costruire un bel filtro per il conteggio dei poli bassi con un'attenuazione di 20 dB / decennio e attenuare il rumore per minimizzare l'aliasing

Ora, supponiamo che tu voglia campionare a 210Hz. È necessario creare un filtro di ordine elevato per ottenere un'attenuazione sufficiente. Tali filtri sono più difficili e più costosi da progettare e costruire. Se riesci a farlo bene, ricevi un segnale con sostanziale distorsione di fase nella banda passante.


0

Per il filtro analogico, è necessario considerare le prestazioni del filtro nell'intervallo della più alta frequenza di interesse. Spesso questo significa che è necessario impostare "fc" per il filtro analogico un po 'più in alto della più alta frequenza di interesse (e / o usare un filtro più nitido).

Per evitare l'aliasing, è necessario campionare con una frequenza almeno doppia rispetto a quella del componente più elevato che passerà attraverso il filtro a un livello massimo a cui è possibile tollerare l'inquinamento dal segnale aliasato. Ciò significa che la frequenza di campionamento è almeno due volte fc e spesso deve essere un po 'più alta.

Quindi, ora, lavorando all'indietro, una frequenza di campionamento più alta, significa che puoi avere un fc più alto, e ciò significa che puoi avere più facilmente una risposta piatta fino ad una frequenza di interesse inferiore a fc.

Ma . come probabilmente saprai, il rumore aumenta con la larghezza di banda. Pertanto, per un'applicazione a basso rumore, potrebbe essere necessario impostare la larghezza di banda del filtro in modo conservativo.

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.