Quando è necessario o è consentito campionare al di sotto del tasso di Nyquist


15

Ho cercato domande e risposte passate su questa piattaforma ma nessuna risponde a questa domanda. Un prof ha detto che è possibile campionare al di sotto del tasso di Nyquist in determinate condizioni. Mi piacerebbe sapere, in primo luogo, se è possibile farlo, in tal caso, quando?


13
quando non ti interessa ricostruire la forma d'onda.
JonRB,

2
Le risposte che seguono offrono una risposta alla tua domanda; quando ho letto la tua domanda, il primo pensiero che mi è venuto in mente è stato che il tuo istruttore si stava riferendo al campionamento di segnali sparsi da parte di Nyquist . Ci sono molti articoli su questo argomento; vedi, ad esempio, Mishali, Moshe e Yonina C. Eldar. "Dalla teoria alla pratica: campionamento sub-Nyquist di segnali analogici a banda larga sparsi." (Potresti anche prendere in considerazione l'idea di porre una domanda separata e più mirata su DSP.SE, se l'angolazione sparsa è ciò che stai cercando.)
Mad Jack

2
@JonRB, supponendo di avere un segnale radio mono FM su un vettore da 100 MHz, pensi davvero di dover campionarlo a 200 MHz +?
Vladimir Cravero,

3
Consentito da chi? Sono abbastanza sicuro di poter assaggiare ad ogni modo la mia scelta, nella privacy della mia casa.
David Richerby,

1
@DrunkenCodeMonkey No. La larghezza di banda di un segnale FM commerciale è di 300 kHz, quindi una frequenza di campionamento di 600 kHz sarebbe sufficiente.
user207421

Risposte:


33

Prima di tutto, eliminiamo il malinteso sui tassi di Nyquist.

Alle persone viene generalmente insegnato che la frequenza minima di campionamento deve essere doppia rispetto alla frequenza più alta nel segnale. Questo è completamente falso!

Ciò che è vero è che se hai uno spettro "pieno", e per intero, intendo che utilizza completamente tutte le frequenze tra il bordo inferiore della sua larghezza di banda e il bordo superiore della sua larghezza di banda, allora devi avere la frequenza di campionamento questa è almeno il doppio della larghezza di banda del segnale.

Spettro

Quindi, nell'immagine qui, la frequenza di campionamento deve essere almeno 2 * (Fh-Fl) per ottenere lo spettro.

È inoltre necessario tenere presente che, dopo aver eseguito il campionamento, tutte le informazioni sulla frequenza effettiva vengono perse nel segnale campionato. Qui entra in gioco l'intera storia della frequenza di Nyquist. Se la frequenza di campionamento è il doppio della frequenza più alta del segnale, allora possiamo tranquillamente supporre (come spesso siamo addestrati a fare inconsciamente) che tutte le frequenze nel segnale campionato sono comprese tra zero e metà della frequenza di campionamento.
In realtà, lo spettro del segnale campionato è periodico attorno a Fs / 2 e possiamo usare quella periodicità per ottenere frequenze di campionamento più basse.
Dai un'occhiata alla seguente immagine: Zone di Nyquist
L'area compresa tra 0 e Fs / 2 è la cosiddetta prima zona di Nyquist. Questa è l'area in cui stiamo eseguendo il campionamento "tradizionale". Quindi dai un'occhiata all'area tra Fs / 2 e Fs. Questa è la seconda zona di Nyquist. Se abbiamo segnali in quest'area, il loro spettro verrà campionato e il suo spettro verrà capovolto, vale a dire le frequenze alte e basse saranno invertite. Successivamente, abbiamo la terza zona di Nyquist, tra Fs e 3Fs / 2. I segnali qui, quando campionati, sembreranno provenire dalla prima zona e il loro spettro sarà normale. Lo stesso vale per tutte le altre zone, con la regola che lo spettro delle zone dispari è normale e lo spettro delle zone pari è invertito.

Ora questo va contro le regole "tradizionali" sull'aliasing, dal momento che l'aliasing viene di solito insegnato come un mostro malvagio che viene a divorare i tuoi segnali e che devi usare i filtri anti-aliasing passa basso per sbarazzartene. Nella vita reale, non è così che funzionano davvero le cose. I filtri anti-aliasing non possono in realtà impedire l'aliasing, lo portano semplicemente al livello in cui non ha più importanza.
Quello che vogliamo davvero fare invece è eliminare qualsiasi segnale forte dalle zone di Nyquist che non sono di interesse e far passare i segnali dalla zona di Nyquist che ci interessano. Se siamo nella prima zona, allora un filtro passa-basso va bene, ma per tutte le altre zone, abbiamo bisogno di un filtro passa-banda che ci permetterà di ottenere i segnali utili da quella zona e rimuovere la spazzatura che indossiamo non è necessario che provenga dalle altre zone.

Quindi diamo un'occhiata a questo esempio:
Zone di Nyquist con segnale passa-banda
qui abbiamo un segnale nella terza zona di Nyquist che viene fatto passare da un filtro passa-banda. Il nostro ADC dovrà solo avere una frequenza di campionamento pari al doppio della larghezza di banda del segnale per ricostruirlo, ma dobbiamo sempre tenere presente che questo è in realtà un segnale dalla terza zona, quando dobbiamo calcolare le frequenze all'interno del nostro segnale. Questa procedura è spesso chiamata campionamento passa-banda o sottocampionamento.

Ora, dopo tutta questa esposizione, per rispondere alla tua domanda quando:
Bene, diamo un'occhiata alla radio, forse qualcosa nello spettro delle microonde, forse WiFi. Un tipico canale WiFi vecchio stile potrebbe avere 20 MHz di larghezza di banda, ma la frequenza portante sarebbe di circa 2,4 GHz. Quindi, se adottiamo il nostro approccio ingenuo per campionare direttamente il segnale, avremmo bisogno di un ADC a 5 GHz per vedere il nostro segnale, anche se siamo interessati solo a particolari 20 MHz di spettro. Un convertitore analogico-digitale a 5 GHz è qualcosa di molto complicato e costoso e richiede anche un design molto complicato e costoso. D'altra parte, un ADC a 40 MHz è qualcosa che non è "magico" come un ADC a 5 GHz.
Una cosa da tenere a mente è che, sebbene in teoria potremmo catturare il segnale con un ADC a 40 MHz, avremmo bisogno di filtri anti-aliasing molto nitidi, quindi, in pratica, non vogliamo davvero eseguire la frequenza di campionamento troppo vicino alla larghezza di banda. Un'altra cosa che viene trascurata è che i circuiti di un ADC nella vita reale si comportano da soli come filtro. Gli effetti di filtro di un ADC devono essere presi in considerazione quando si esegue il campionamento passa-banda. Abbastanza spesso, ci sono ADC speciali con larghezze di banda molto più ampie della frequenza di campionamento che sono specificamente progettati tenendo presente il campionamento passa-banda.

Infine, c'è l'altro lato della storia, chiamato anche rilevamento compresso. Non sono un esperto in questo, ed è qualcosa che è ancora un po 'nuovo, ma l'idea di base è che se alcuni presupposti vengono soddisfatti (come lo spettro è scarso), possiamo campionare a frequenze anche inferiori al doppio della larghezza di banda del segnale.


2
Heh, scrivo un sacco di diagrammi tutto il giorno quando spiegano cose alle persone. Credo davvero che il disegno approssimativo sia il linguaggio principale dell'ingegnere :)
Marcus Müller,

2
Questo mi ha dato flashback sull'analisi dei dati del vento del radar Doppler.
Casey,

2
nel tuo scenario di esempio, un campione "20 MHz ADC" a 20 MHz o un campione a 40 MHz? Ma in precedenza si afferma che è necessario un "ADC a 5 GHz" per convertire un vettore da 2,4 GHz. Quindi sto deducendo un "20 MHz ADC" significa 20 Meg di campionamento al secondo. Qualcosa non va: fs = 2 * BW.
glen_geek,

1
Nei giorni precedenti gli ambiti digitali, alcune aziende creavano "ambiti di campionamento" che utilizzavano un campione analogico e li trattenevano con un breve tempo di acquisizione, in modo che se si sapesse che l'ingresso aveva ad esempio solo contenuto compreso tra 10,02 MHz e 10,03 MHz, si poteva campionare a 10.000 MHz e vedere un segnale nell'intervallo da 20 KHz a 30 KHz. Se la frequenza di campionamento fosse ben calibrata, si potrebbe misurare la frequenza fuori dallo schermo dell'oscilloscopio più accuratamente di quanto si possa misurare direttamente tale frequenza dallo schermo.
supercat

1
+1; ottima risposta. Aggiungerei solo una cosa alla tua discussione alla fine sul campionamento del WiFi usando un ADC a 40 MHz. Sebbene ciò sia possibile in linea di principio, in pratica non vorrai provare a campionare un segnale nella ~ 120a zona di Nyquist. Il sottocampionamento è una tecnica comune, ma nei sistemi pratici è in genere limitato al secondo o al terzo campionamento della zona di Nyquist (e forse al quarto). All'aumentare della frequenza del segnale, l'effetto deleterio del jitter dell'orologio ADC peggiora proporzionalmente. Non saresti in grado di trovare un ADC 40 MSPS con larghezza di banda analogica a 2,4 GHz, comunque.
Jason R,

13

Quindi, molte persone, compresi i professori, sono confusi su quale sia il tasso di Nyquist:

La frequenza di Nyquist è la frequenza di campionamento necessaria per campionare un segnale per evitare di danneggiarlo mediante aliasing

Ciò significa che per segnali con valori reali e campionamenti con valori reali, la frequenza di campionamento deve essere più di due volte la larghezza di banda del segnale analogico.

Ciò significa che con una frequenza di campionamento di 6 kHz, è possibile ottenere una rappresentazione al 100% di qualsiasi banda larga 3 kHz.

Ciò non significa che la frequenza di campionamento debba essere il doppio della frequenza più alta nel segnale. Se i tuoi 3 kHz, ad esempio, sono la banda compresa tra 9 kHz e 12 kHz, non è necessario eseguire il campionamento a 2 · 12 kHz = 24 kHz; 6 kHz è totalmente sufficiente per rappresentare in modo inequivocabile il segnale in modo digitale. Avresti comunque bisogno di sapere che i tuoi 3 kHz erano centrati intorno a 10,5 kHz, se volessi poi collegarli ad altri segnali, ma di solito non importa.

Chiamiamo questa tecnica il sottocampionamento , e funziona magnificamente, ed è una tecnica standard al 100% con molte applicazioni tecniche. Tutto quello che devi essere sicuro è che tutto ciò che vede il tuo ADC (convertitore da analogico a digitale) è bandlimited alla metà della sua frequenza di campionamento - ciò significa, nell'esempio sopra menzionato, che devi essere sicuro che non ci sia segnale sotto 9 kHz e no segnale sopra i 12 kHz.


commenti avanzati

banda base complessa

Si noti che ciò è vero solo per il campionamento con valori reali. Se hai usato cose come i demodulatori IQ (noti anche come mixer a conversione diretta , demodulatori in quadratura ) per darti banda base complessa ed equivalente , otterrai due flussi di campioni sincroni. In tal caso, il fattore 2 scompare. Questo è un aspetto molto importante per la radio definita da software .

strutture polifase

Se sei nelle parti successive di un corso DSP, il tuo professore potrebbe aver accennato al fatto che puoi implementare cose come i ricampionatori razionali, dove normalmente dovresti campionare di un fattore M, quindi filtrare per cancellare tutte le immagini (il filtro funziona alla velocità di input · M), quindi filtra per evitare tutti gli alias (il filtro funziona alla velocità di input · M) prima di effettuare il downsampling di N, con un singolo filtro che funziona effettivamente a 1 / N della velocità di input - che in realtà è secondario -Prenotazione campionaria. Ma questo sarebbe fondamentalmente uno dei punti salienti di una lezione sui sistemi polifase / multirate, e dubito che l'avrebbe messo lì fuori in un corso per principianti - è semplicemente troppo confuso.


8

Mai. Ma devi assicurarti di capire esattamente qual è il "tasso di Nyquist".

Nyquist ha dichiarato che è possibile ricostruire il segnale purché sia ​​campionato a una frequenza superiore al doppio della larghezza di banda del segnale. Tale larghezza di banda può iniziare o meno a DC, ma molte fonti su questo argomento presuppongono che lo faccia sempre e che la componente di frequenza più alta del segnale determini la velocità di Nyquist.

Ad esempio, se si dispone di un segnale di trasmissione AM a 1 MHz che è limitato a ± 10 kHz, la frequenza di Nyquist è 2 × 20 kHz = 40 kHz, non 2 × 1,01 MHz = 2,02 MHz.


@ user287001: è vero solo se si presume che le bande laterali siano identiche (AM puro). Con i vari sistemi stereo AM e / o segnali ibridi analogici / digitali ( IBOC ), ecc., Ciò non è un presupposto valido. E no, il corriere non aggiunge informazioni, quindi non so perché pensi che "includerlo" aumenti improvvisamente la larghezza di banda in modo così drammatico.
Dave Tweed

Campioni BTW a Fs> 2,02 MHz salvano il fatto che il segnale era di circa 1 MHz - deve solo sapere inoltre che non si verifica alcun aliasing.
user287001,

+1 per "mai". Tuttavia, la contraddizione (grande confusione) è che il campionamento di Nyquist valuta (stima) il segnale direttamente da DC fino a f / 2. Da DC . Pertanto, se il segnale non inizia in DC, può essere convertito in down, e solo allora la frequenza di campionamento può essere ridotta. Quindi la risposta è ancora "Mai".
Ale..chenski,

6

Un prof ha detto che è possibile campionare al di sotto del tasso di Nyquist in determinate condizioni.

Se tutto ciò che ti interessa è calcolare il valore RMS di una forma d'onda, puoi campionare sotto nyquist: -

enter image description here

La forma d'onda blu è anche un'onda sinusoidale con lo stesso valore RMS dell'originale. Quello che dovresti evitare è questo: -

enter image description here

Vengono eseguiti esattamente due campionamenti per ogni ciclo ed è impossibile sapere se il segnale con alias fosse in realtà la forma d'onda rossa o verde.


Esatto: stai campionando subnyquist la forma d'onda, ma se lo desideri, campionerai super nyquist sull'RMS. Comunque, hai trovato un'applicazione in cui l'aliasing (il più delle volte) non fa male. Ma cosa succede sefcampionefsegnale?
Marcus Müller,

@marcus Penso di aver coperto quell'anomalia!
Andy aka

Il tuo valore RMS non dipenderebbe semplicemente dalla fase in cui si verifica il campionamento? cioè se hai sfortuna, potresti finire per "guardare" solo a zero incroci o picchi.
Marcus Müller,

1
@ MarcusMüller: Più precisamente, la parte di un segnale ad una determinata frequenza sarà indistinguibile da quella di qualsiasi altra frequenza che viene spostata verso l'alto o verso il basso di un multiplo intero della frequenza di campionamento. Se uno sta campionando a 100Hz, un segnale a 60Hz apparirà come un segnale a 40Hz. Se un segnale a 40Hz andasse bene, fantastico. Ma un segnale a 99, 101, 199, 201, ecc. Hz apparirebbe come un segnale 1Hz e un segnale a 99,99Hz apparirebbe come un segnale 0,01Hz.
supercat

Il campionamento e la frequenza di base devono essere diversi e non in una divisione intera. Non sto dicendo che è necessariamente semplice o addirittura desiderabile, sto solo sottolineando che è possibile. La seconda foto nella mia risposta allude al potenziale svantaggio.
Andy alias il

2

Il criterio nyquist indica la frequenza con cui è necessario campionare per ricostruire un segnale a banda limitata. Tuttavia, nessun segnale fisico è limitato dalla banda, questa è solo un'idealizzazione. Altri schemi funzioneranno per il campionamento di altri segnali idealizzati. Fornendoti informazioni a priori su un segnale (che è un limite di banda), Nyquist ti spiega come ricostruire l'intero segnale da alcuni campioni. Se ti do diverse informazioni a priori, puoi fare meglio di nyquist. Ecco un esempio: i miei segnali idealizzati sono lineari saggiamente. Basta campionare questi segnali nei loro punti di flesso: molti meno campioni di quelli necessari per segnali a banda limitata. Per ricostruire l'intero segnale, tracciare linee rette tra i punti di campionamento. Puoi chiamarlo criterio "Linequist". :)


1

Un segnale periodico può essere campionato usando la frequenza di campionamento sub-Nyquist. Questo è ben sfruttato negli oscilloscopi. Lì viene salvato un campione per ogni ripetizione del segnale, ma in una posizione diversa del periodo. Hai bisogno di 512 campioni? quindi sono necessari 512 perioni complete del segnale.

L'accuratezza:

È facile vedere che un'onda sinusoidale fissa può essere catturata in questo modo. Ma quei 512 campioni devono coprire il segnale. Questo è vero se le armoniche 256th e upper possono essere considerate come zero.


0

A volte questo viene fatto intenzionalmente, ad esempio in un oscilloscopio di campionamento (non uguale a un DSO, anche se alcuni DSO sono anche di campionamento - ma un oscilloscopio di campionamento può essere un dispositivo completamente analogico e sono stati costruiti dagli anni '50), per gestire periodicamente segnali che hanno una frequenza troppo alta per essere economici per amplificare o altrimenti trattare con circuiti lineari - non esistono molti CRT dell'oscilloscopio (ndr) che possono gestire un segnale grezzo da 1 GHz (alcuni esistono!), tuttavia 1 GHz era facile da gestire con sottocampionamento anche con la tecnologia degli anni '60. Alla fine, l'intero sistema si comporta in modo simile (non identico) a un ricevitore eterodinamico. Sebbene non sia presente un LO ad alta frequenza ad onda continua, nel clock di campionamento è ancora nascosto (e utilizzato) un componente di frequenza molto elevato:

Ovviamente, un segnale non periodico non può essere esaminato in questo modo e un segnale con componenti di frequenza molto più basse aggiunte può essere completamente travisato e / o mal interpretato.


0

Penso che ciò che [rackandboneman] ha detto sia coerente con l'intenzione del professore. La "condizione certa" sarebbe che il segnale originale dovrebbe essere periodico.

Ecco un codice per mostrare come ricostruire il segnale originale da un segnale sottocampionato. Il segnale originale richiede un periodo di campionamento di 1/100 per ricostruire il suo modello unico (sebbene la sua frequenza fondamentale sia 8/100). Campionando con un periodo di campionamento di 1,5 / 100 sec, il modello del segnale originale viene ricostruito quasi perfettamente con un periodo di campionamento di ricostruzione di 0,5 / 100. (In breve, il periodo di campionamento 0,5 / 100 viene effettuato dal periodo di campionamento 1,5 / 100.)

dt = 1/1000;
t = 0:1/1000:1.28-1/1000;
x1 = 10000*t(1:20).^2;
x2 = -10000*(t(21:40)-0.04).^2+8;
x3 = 8*ones(1,20);
x4 = -800*t(61:70)+56;
x5 = zeros(1,10);

x = [x1 x2 x3 x4 x5] ; 
x = [x x x x];
x = [x x x x];  % make x to be periodic

dtz = 1.5/100;
tz = 0:dtz:1.28-1/1000;
z = x(1: round(dtz/dt) : end);
figure('Name', 'undersampled signal');
plot(tz,z,'o',t,x,'-')
legend('Under sampled signal', 'The original signal')

enter image description here

figure('Name', 'Reconstructed signal');
plot(t(1:5:160),z(mod((0:31)*11,16)+1), 'o-',t(1:160),x(1:160), '-');
legend('Reconstructed signal', 'The original signal')

enter image description here


Questo potrebbe essere reso molto più chiaro. Quale tecnica stai usando per ricostruire? Da dove vengono i numeri magici in "z (mod ((0:31) * 11,16) +1)"? Inoltre, il PERIODO fondamentale è 8/100, non la frequenza, ma ciò che conta per Nyquist è la MASSIMA frequenza presente.
Selvek,

0

Se un segnale viene campionato alla frequenza S, qualsiasi contenuto con frequenza f sarà indistinguibile da qualsiasi altro contenuto con frequenza NS + f o NS-f per un numero intero N.

Se una determinata frequenza di campionamento è adeguata dipenderà dall'esistenza di due frequenze il cui contenuto dovrebbe essere distinto, ma non è possibile.

Se uno è preoccupato, ad esempio, solo di segnali nell'intervallo 700-800Hz, l'ingresso sarà privo di contenuto inferiore a 300Hz o superiore a 1200 e la presenza di altri segnali non causerà il clipping, una frequenza di campionamento di 1000Hz sarebbe adeguata senza alcun pre filtro, nonostante la presenza di contenuti la cui larghezza di banda totale è 900Hz. Il contenuto nell'intervallo 300Hz-700Hz sarebbe indistinguibile dal contenuto nell'intervallo 800Hz-1200Hz, ma se uno non si interessa di tali contenuti che non avrebbero importanza.

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.