Nel contesto della DFT, dove appartiene il campione di frequenza di Nyquist in uno spettro di frequenza a doppia faccia (lato positivo / negativo)?

Jan 10 2021

Se abbiamo un numero pari di punti dati $N$, dopo DFT in MATLAB, l'output ha l'ordine:

$$(\text{DC}, f_1, f_2, \ldots, f_{N/2-1}, f_\text{Nyq}, -f_{N/2-1}, -f_{N/2-2}, \ldots, -f_1)$$

Per segnali reali, la prima uscita corrispondente a $k$= 0, è reale e così è la frequenza di Nyquist. Dopo di che i numeri sono coniugati complessi.

Se siamo interessati a uno spettro unilaterale, la frequenza di Nyquist viene mostrata sul lato positivo.

Tuttavia, quando viene tracciato uno spettro di frequenza a doppia faccia, molti autori mettono la frequenza di Nyquist sul lato negativo.

Alcuni software come OriginPro, seguono il contrario. Esiste un modo fondamentalmente corretto o è solo una convenzione, ovvero

$$ \text { If } N \text { is even, } \quad k\quad\text { takes: }-\frac{N}{2}, \ldots,-1,0,1, \ldots, \frac{N}{2}-1 $$

In alternativa, $$ \text { If } N \text { is even, } \quad k \text { takes: } -\frac{N}{2}-1, \ldots,-1,0,1, \ldots, \frac{N}{2}$$

dove $k$ è il vettore indice DFT, utilizzato per costruire l'asse della frequenza come

$$\text {Frequency axis}=k/ N\Delta t$$

dove $\Delta t$ è l'intervallo di campionamento.

Molte persone dicono che è solo una convenzione ed entrambe hanno ragione. Grazie.

Risposte

3 OverLordGoldDragon Jan 10 2021 at 16:26

È una convenzione, sono equivalenti:

$$ \exp{\left(j2 \pi \frac{N}{2}n/N \right)} = \exp{\left(j2\pi \frac{-N}{2}n/N\right)} \\ \Rightarrow e^{j\pi n} = e^{-j \pi n} \Rightarrow \cos(\pi n) = \cos(-\pi n)=(-1)^n,\ j\sin(\pi n) = j\sin(-\pi n) = 0 $$

MATLAB e Numpy vanno $[-N/2, ..., N/2-1]$, il che è sfortunato per le rappresentazioni analitiche (solo + freqs). Nota anche che il suo valore è raddoppiato rispetto ad altri bin (ma non manualmente; si correlano in questo modo), quindi in un certo senso è sia una frequenza negativa che positiva, quindi l'energia viene preservata:

Puoi indicare la preferenza di una libreria in base ai fftshift documenti :

robertbristow-johnson Jan 10 2021 at 12:04

Supponendo $x[n]$ è reale, risultante $X[k]$essere "Hermitiano simmetrico" ;

$$ X[N-k] = (X[k])^* $$

e se $N$ è pari, quindi il valore nel raccoglitore DFT $X[\tfrac{N}{2}]$(che è una quantità reale con zero parti immaginarie) dovrebbe essere diviso in due metà uguali. Una metà dovrebbe essere posizionata su$k=-\tfrac{N}{2}$ e l'altra metà posta a $k=+\tfrac{N}{2}$.

Questa risposta precedente si occupa di questo.