DFTのコンテキストでは、ナイキスト周波数サンプルは両面周波数スペクトル(正/負)のどこに属しますか?
データポイントが偶数の場合 $N$、MATLABでのDFTの後、出力の順序は次のとおりです。
$$(\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)$$
実際の信号の場合、に対応する最初の出力 $k$= 0は実数であり、ナイキスト周波数も実数です。その後の数は複素共役です。
片面スペクトルに関心がある場合は、ナイキスト周波数が正の側に表示されます。
ただし、両面周波数スペクトルをプロットすると、多くの著者がナイキスト周波数を負の側に置きます。
OriginProのようないくつかのソフトウェアは、その逆に従います。基本的に正しい方法はありますか、それとも単なる慣例ですか、つまり、
$$ \text { If } N \text { is even, } \quad k\quad\text { takes: }-\frac{N}{2}, \ldots,-1,0,1, \ldots, \frac{N}{2}-1 $$
または、 $$ \text { If } N \text { is even, } \quad k \text { takes: } -\frac{N}{2}-1, \ldots,-1,0,1, \ldots, \frac{N}{2}$$
どこ $k$ はDFTインデックスベクトルであり、周波数軸を次のように構築するために使用されます。
$$\text {Frequency axis}=k/ N\Delta t$$
どこ $\Delta t$ はサンプリング間隔です。
多くの人がそれは単なる慣習であり、どちらも正しいと言います。ありがとう。
回答
これは慣例であり、同等です。
$$ \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とNumpyが行く $[-N/2, ..., N/2-1]$、これは分析表現には不幸です(+周波数のみ)。また、その値は他のビンに比べて2倍になっていることに注意してください(手動ではありません。このように相関します)。したがって、ある意味では負と正の両方の周波数であるため、エネルギーが節約されます。
あなたはfftshift
ドキュメントによってライブラリの好みを知ることができます:
仮定 $x[n]$ 本物であり、結果として $X[k]$「エルミート対称」。
$$ X[N-k] = (X[k])^* $$
で、もし $N$ が偶数の場合、DFTビンの値 $X[\tfrac{N}{2}]$(これは虚数部がゼロの実数です)を2つの等しい半分に分割する必要があります。半分はに配置する必要があります$k=-\tfrac{N}{2}$ 残りの半分は $k=+\tfrac{N}{2}$。
この前の答えはこれを扱っています。