4

fftshiftとの両方の説明を参照してくださいifftshift。Matlabfftとの関係で上記の 2 つの関数を呼び出す方法を理解したいと思います。fftn

私の信号には特定の周波数成分があるとしましょう。現在、頻度配列は通常、次のように保存できます。

f = (-N/2:N/2-1)*df;

f = (1:N)*(df/2);

f = [(0:N/2-1) (-N/2:-1)];

前述の 3 つのスタディ ケースについて、とfftを組み合わせてを呼び出す最良の方法は何ですか?fftshiftifftshift

一連のコマンドまたは間違ったコマンドを呼び出すと、信号の標準偏差にどのような影響がありますか?

4

2 に答える 2

7

の結果fftは(あなたの表記では)indexes(0:N-1)です。 fftshiftに変換するだけ[(N/2:N-1) (0:(N/2-1))]です。* ifftshift元のインデックスを復元するだけです。

これは単純にサンプルを並べ替えているだけなので、標準偏差には影響しません。


* 周期性のため、 sampleは sample 、 orなどkと同等であることに注意してください。k+Nk-N

于 2013-02-26T22:05:52.867 に答える
0

Matlabのドキュメントはそれについて殺しています。しかし、実験はそれを示しています

ifftshift([1 2 3 4 5])

ans =

 3     4     5     1     2

fftshift([1 2 3 4 5])

ans =

 4     5     1     2     3

魔法の DFT 位置 [N/2] を交換しているだけです。matlab に実装されている FFT は、通常のインデックス (0:N-1) を使用します。私が理解しているように、これは、セットアップが (0:N-1) にない離散関数である場合に、DFT への入力を準備するための追加関数です...

于 2015-11-16T21:57:28.300 に答える