Perché dovrei lasciare un segnale sovracampionato?


21

Non riesco a pensare a un modo migliore per porre questa domanda, quindi inizierò con un esempio. Supponiamo che io abbia un segnale di ingresso con una frequenza massima di 50Hz (campionata a 100Hz). Ora i segnali di interesse si trovano nell'intervallo 0-5Hz, quindi posso aggiungere un filtro passa-basso con un cut-off di 5Hz e utilizzare il segnale risultante per un'ulteriore elaborazione. La mia comprensione è che ora posso sottocampionare il segnale filtrato di un fattore 10 e quindi ridurre il carico di elaborazione. Ho ragione? Se sì, perché il downsampling non viene SEMPRE eseguito dopo il filtraggio perché mi sembra la strada ovvia da percorrere? E se sbaglio nel mio assunto, dove sbaglio?


4
il sovracampionamento e quindi la decimazione di un segnale sono spesso un modo per gestire il lento rolloff del rumore del filtro analogico che aliaserebbe il segnale. Quindi la decimazione (con il passa basso richiesto che lo precede) può dare una qualità del segnale più elevata. I filtri per muri di mattoni sono realizzati più facilmente nel dominio digitale.
Kortuk,

Risposte:


17

Hai ragione nel dire che se il tuo segnale è limitato a una banda <5 Hz, allora puoi rappresentarlo perfettamente con una frequenza di campionamento di 10Hz. Questo è il noto teorema del campionamento

Ma ... ci possono essere considerazioni pratiche sul perché non si sarebbe in grado e / o inclini a usare dati campionati in modo critico.

Uno dei motivi è la difficoltà di inviare un segnale campionato in modo critico. Qualsiasi operazione eseguita per modificare la velocità del segnale avrà un filtro con una larghezza di banda di transizione diversa da zero. Nel tuo esempio, ciò limita il contenuto di frequenza non polarizzato a 5 ftrans. Questa larghezza di banda di transizione può essere ridotta con filtri di risposta a impulsi lunghi, ma ciò ha costi sia in termini di elaborazione che di transitori (squillo) all'inizio e alla fine del segnale.

Un altro motivo è l'efficacia degli algoritmi che funzionano sul segnale risultante. Se hai bisogno di lavorare con un componente blackbox che può solo scegliere il campione più vicino, allora sarà meglio fornire dati sovracampionati.

La maggior parte (tutte?) Le operazioni non lineari si comporteranno in modo diverso con i dati campionati in modo critico rispetto a quelli campionati in eccesso. Un esempio è la quadratura di un segnale, un metodo ben noto di recupero del vettore BPSK. Senza una condizione di sovracampionamento 2x, la moltiplicazione del segnale del dominio del tempo con se stesso provoca un aliasing spazzatura avvolgente quando il dominio della frequenza si confonde con se stesso.


1
Non capisco la parte in cui parli del segnale sottoposto a campionamento critico. Se i miei segnali sono compresi nell'intervallo 0-5Hz e invece del downsampling di 10, eseguo il downsampling di un fattore 8 (ad esempio), avrei ancora questo problema?
anasimtiaz,

1
Ciò consentirebbe di avere una larghezza di banda Nyquist aggiuntiva (ovvero codificabile tramite la frequenza di campionamento) che non viene utilizzata dal segnale di interesse. Questa banda ti consente di avere filtri realizzabili che non invadono il tuo segnale di interesse.
Mark Borgerding,

8

Altri due motivi per sovracampionare:

  1. Bassa latenza: ad esempio i circuiti di controllo richiedono una latenza molto bassa. Il sovracampionamento fa entrare e uscire i dati più velocemente, riducendo così la latenza. Inoltre, qualsiasi filtro passa-basso introduce un ritardo di gruppo. Più nitido è il filtro passa-basso, maggiore è il ritardo del gruppo. Se esegui un sovracampionamento, hai bisogno di filtri anti-aliasing meno ripidi e finisci con un minor ritardo di gruppo e quindi latenza.

  2. Praticità: se l'input e l'output funzionano alla stessa velocità (alta), è possibile eseguire il downsampling, ma prima di poter produrre il risultato è necessario ripetere il campionamento. Esempio: in un sistema home theater è possibile sottocampionare il percorso di elaborazione dei bassi, ma è necessario ripetere il campionamento poiché le uscite funzionano ad alta velocità. In molti casi il risparmio in MIPS non vale la pena


2

Ci sono una serie di fattori da considerare quando si determina una frequenza di campionamento. Permettetemi di elencarne alcuni, per darvi un'idea di quali altre conseguenze potrebbero verificarsi se abbassi la frequenza di campionamento. Naturalmente, gran parte di questo dipende esattamente da come si abbassa la frequenza di campionamento, ma ...

  1. Frequenza di Nyquist: non è possibile rilevare frequenze più della Nyquist, che è almeno la metà della frequenza di rilevamento utilizzando i metodi di elaborazione tipici. Esistono metodi che comportano il filtraggio dei segnali prima della conversione A / D in quelli all'interno di una banda di Nyquist.
  2. Il rilevamento di frequenze vicino al Nyquist può essere potenzialmente difficile e soggetto a errori. Nota, questo è in genere solo per coloro che chiudono davvero la band. In questo esempio, limitare l'intervallo a 12Hz (6 Hz Nyquist) risponderebbe più che adeguatamente a qualsiasi preoccupazione correlata a questo.
  3. I componenti ad alta frequenza tendono ad essere ridotti in forza rispetto alla frequenza più bassa. Ciò si verifica fondamentalmente perché la teoria del campionamento assume una funzione a pettine, cioè rilevamenti in un istante di tempo equamente distribuiti. La verità è che tutti i segnali sono misurati in una piccola finestra del tempo. L'effetto di ciò è quello di convolgere un rettangolo nel dominio del tempo, o moltiplicarlo per un segnale sinc nel dominio della frequenza. Naturalmente, se prendi semplicemente ogni decimo segnale (invece di usare un tempo di campionamento più lungo), questo effetto sarà mitigato.

Per illustrare alcuni di questi principi, ho scritto un semplice programma matlab, al quale mostrerò anche l'output.

pis=linspace(0,2*pi,2048);
for f=1:512
sig=cos(f*pis+pi/2);
sig_average=filter(ones(16,1),1/16,sig);
sam_sig=sig_average(1:16:end);
freq=abs(fft(sam_sig));
freqs(f)=max(freq);
end
figure;plot((1:512)/64,freqs)

inserisci qui la descrizione dell'immagine


3
Penso che il tuo elenco di punti sia un po 'fuorviante: 1. Vorrei menzionare il potenziale utilizzo del "campionamento passa-banda" qui; è un metodo relativamente "tipico". 2. Non credo che tu possa fare quella dichiarazione generale in generale. 3. I componenti ad alta frequenza non sono sempre attenuati nel modo descritto. Il fenomeno che citi è legato al tempo di conversione di un convertitore A / D; questo è solo un fattore limitante se il tempo di conversione è significativo rispetto all'intervallo di campionamento, che spesso non è il caso.
Jason R,

2
4. L'amplificazione non migliora la capacità di risolvere le frequenze ravvicinate. Solo un tempo di osservazione maggiore fornirà una migliore risoluzione della frequenza; è necessario un prodotto con larghezza di banda sufficiente.
Jason R,

@JasonR: punti positivi. Ho corretto le dichiarazioni e altrimenti aggiunto cose che hai suggerito. La maggior parte del mio background DSP è con segnali misurati per un periodo di tempo, quindi forse mostrando i miei pregiudizi ...
PearsonArtPhoto

2

Il criterio di Nyquist (sovracampionare due volte per descrivere perfettamente il segnale) si applica ai dati senza rumore. Se si desidera ricostruire dati disturbati, è necessario campionare con una frequenza superiore alla minima. Ciò è particolarmente vero nel caso delle immagini, in cui di solito non si hanno segnali periodici e dove quindi non è possibile semplicemente una media temporale per ridurre il rumore.

Inoltre, se si desidera adattare un modello ai propri dati, si beneficia nuovamente di un campionamento più elevato, poiché l'inserimento di un modello in tre punti dati non sarà particolarmente stabile, soprattutto in presenza di rumore.


Non ci sono affermazioni generali che puoi fare sulla quantità di sovracampionamento richiesta con dati rumorosi. La larghezza di banda complessiva del segnale (segnale di interesse più rumore) è la cosa più importante; questa è una funzione della risposta di qualsiasi filtro anti-aliasing che hai davanti al tuo campionatore. Fintanto che la frequenza di campionamento è abbastanza grande da contenere la quantità di larghezza di banda che contiene energia significativa all'apertura di campionamento, stai bene. Non esiste una regola rigida per un rapporto minimo di sovracampionamento; tutto dipende dalla velocità con cui il segnale più lo spettro di rumore rotolano via.
Jason R,

@Jason R: il triplice sovracampionamento è la regola generale nell'imaging fluorescente; ma hai ragione che tutto dipende da quanto rumore hai. Ho riparato il mio post.
Jonas,

2

Un motivo per mantenere il segnale sovracampionato è l'intervallo dinamico / compromesso di sovracampionamento. Approssimativamente, ogni volta che si raddoppia "inutilmente" la larghezza di banda per il segnale di interesse si ottiene un ulteriore bit di risoluzione di campionamento, una volta applicato il filtro (che può avvenire nel dominio digitale) è possibile memorizzare i risultati a una profondità di bit più elevata e quelli i bit contengono un contenuto di segnale valido, non un rumore extra (per la larghezza di banda di interesse). Se il tuo sistema funziona in condizioni in cui un intervallo dinamico aggiuntivo potrebbe essere utile, allora c'è una buona ragione per mantenere il segnale a una frequenza di campionamento elevata quando entra nell'ADC.

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.