Nel contesto della DFT, dove appartiene il campione di frequenza di Nyquist in uno spettro di frequenza a doppia faccia (lato positivo / negativo)?
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
È 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 :
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.