<< hilbert Signal Processing mrfit >>

Scilabヘルプ >> Signal Processing > ifftshift

ifftshift

fftshiftを反転する

呼び出し手順

y=ifftshift(x)

引数

x, y

実数または複素数のベクトルまたは行列.

説明

ifftshift(x) は,ベクトルxの 左半分と右半分を交換します.

行列の場合, ifftshift(x) は 最初の4分の1を3番目の4分の1,2番目の4分の1を4番目の4分の1と交換します.

x が多次元配列の場合, ifftshift(x) は各次元でxの "半分の空間"を交換します.

例 #1:

// 信号を生成
t = 0:0.1:1000;
x = 3*sin(t)+8*sin(3*t)+0.5*sin(5*t)+3*rand(t);
// fftを計算
y = fft(x, -1);
// 結果を反転
shift = fftshift(y);
// 反転結果を反転
invShift = ifftshift(shift);
// 元の結果を再成したどうかを確認
and(y == invShift)

例 #2:

// 2次元画像を生成
t = 0:0.1:30;
x = 3*sin(t')*cos(2*t)+8*sin(3*t')*sin(5*t)+..
  0.5*sin(5*t')*sin(5*t)+3*rand(t')*rand(t);
// fftを計算
y = fft(x,-1);
// 結果を反転
shift = fftshift(y);
// 反転結果を反転
invShift = ifftshift(shift);
// 元の結果を再成したどうかを確認
and(y == invShift)

参照


Report an issue
<< hilbert Signal Processing mrfit >>