Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.0.0 - 日本語

Change language to:
English - Français - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilabヘルプ >> Signal Processing > Transforms > fftshift

fftshift

fft出力を再配置し,スペクトルの中心に周波数0を移動する

呼び出し手順

y=fftshift(x [,job])

引数

x

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

y

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

job

整数, 選択する次元, または文字列 'all'

説明

xがFFT計算の結果の場合, y= fftshift(x) または y= fftshift(x,"all") は,扱いが容易な形式である,周波数0要素をよりスペクトルの中心に移動します.

x が大きさnのベクトルの場合,y はiベクトル x([n/2+1:n,1:n/2])となります

xmn 列行列の場合, y は行列 x([m/2+1:n,1:m/2],[n/2+1:n,1:n/2])となります.

[x11 x12]                  [x22 x21]
x=[       ]        gives   y=[       ]
[x21 x22]                  [x12 x11]

y= fftshift(x,n)n番目の次元 のみについて配置換えを行ないます.

//信号を作成
t=0:0.1:1000;
x=3*sin(t)+8*sin(3*t)+0.5*sin(5*t)+3*rand(t);
//compute the fft
y=fft(x,-1);

//表示
clf();
subplot(2,1,1);plot2d(abs(y))
subplot(2,1,2);plot2d(fftshift(abs(y)))
//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);

//表示
clf();
gcf().color_map = hotcolormap(256);
subplot(2,1,1);
Matplot(abs(y))
subplot(2,1,2);
Matplot(fftshift(abs(y)))

参照

  • fft — 高速フーリエ変換
  • ifftshift — fftshiftを反転する
Report an issue
<< fft2 Transforms hilb >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:10:30 CET 2017