Main Content

ifftshift

逆ゼロ周波数シフト

説明

X = ifftshift(Y) は、ゼロ周波数シフトされたフーリエ変換 Y を元の変換出力に再配列します。言い換えれば、ifftshiftfftshift の結果を元に戻します。

  • Y がベクトルの場合、ifftshiftY の左半分と右半分を入れ替えます。

  • Y が行列の場合、ifftshift は、Y の第 1 象限と第 3 象限を、第 2 象限と第 4 象限を入れ替えす。

  • Y が多次元配列の場合、ifftshift は、各次元に沿って Y の半空間を入れ替えます。

X = ifftshift(Y,dim) は、Y の次元 dim に沿って処理します。たとえば、行列 Y の行が複数の 1 次元変換を表す場合、ifftshift(Y,2)Y の各行の半分を入れ替えます。

すべて折りたたむ

関数 fftshiftifftshift を使用して、ベクトルの左半分と右半分を入れ替えることができます。

奇数の要素数を含むベクトルを作成し、関数 fftshift を使用してベクトルの左側と右側を入れ替えます。

V = [1 2 3 4 5 6 7];
X = fftshift(V)
X = 1×7

     5     6     7     1     2     3     4

関数 ifftshift を使用して X の左側と右側を入れ替えます。結果は元のベクトル V と同じになります。

Y = ifftshift(X)
Y = 1×7

     1     2     3     4     5     6     7

関数 fftshift を 2 回呼び出しても、元の入力が再構成されるとは限りません。

fftshift(fftshift(V))
ans = 1×7

     2     3     4     5     6     7     1

非負要素を左にシフトするように、行列の行を再配列します。

Y = [-2 -1 0 1 2; 
    -10 -5 0 5 10];
X = ifftshift(Y,2)
X = 2×5

     0     1     2    -2    -1
     0     5    10   -10    -5

入力引数

すべて折りたたむ

入力配列。ベクトル、行列、または多次元配列として指定します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
複素数のサポート: あり

演算の対象の次元。正の整数のスカラーとして指定します。値を指定しない場合、ifftshift はすべての次元に沿って入れ替えます。

  • 入力行列 Yc を考えます。演算 ifftshift(Yc,1)Yc の各列の半分を入れ替えます。

    ifft(Yc,1) column-wise operation

  • 入力行列 Yr を考えます。演算 ifftshift(Yr,2)Yr の各行の半分を入れ替えます。

    ifft(Yr,2) row-wise operation

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2006a より前に導入

参考

| | | |