Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

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

Scilab help >> Signal Processing > transforms > fft

fft

高速フーリエ変換

ifft

高速フーリエ逆変換

呼び出し手順

x=fft(a ,-1) or x=fft(a)
x=fft(a,1) or x=ifft(a)
x=fft(a,-1,dim,incr)
x=fft(a,1,dim,incr)

パラメータ

x

実数または複素数ベクトル. 実数または複素数行列 (2次元 fft)

a

実数または複素数ベクトル, 行列または多次元配列.

dim

整数

incr

整数

説明

短縮構文
直接

x=fft(a,-1) または x=fft(a) は離散変換を 出力します.

単一変量

If a が単一変量のベクトルの場合, 次のように直接FFTが計算されます:

x(k)=sum over m from 1 to n of a(m)*exp(-2i*pi*(m-1)*(k-1)/n)

kが1からnまで変わる場合 (n=ベクトルaの大きさ).

(-1 引数は指数の符号を示しており, "逆"ではありません),

多変量

aが行列または多次元配列の場合, 多変量直接FFTが実行されます.

a=fft(x,1) または a=ifft(x)1/nで正規化された逆変換を実行します.

単一変量

a がベクトルの場合,単一変量逆FFTが実行されます.

多変量

aが行列または多次元配列の場合, 多変量逆FFTが実行されます.

多次元FFTの長い構文

x=fft(a,-1,dim,incr) により多次元FFTを実行できます.

a がj1,j2,..,jpにより陰に添え字付けされた 実数または複素数ベクトルa(j1,j2,..,jp)の場合, 以下のようにp回fftをコールすることによりp変量FFT が得られます. ここで,a(j1,j2,..,jp)において, j11:dim(1),次, j21:dim(2),...次と定義しています.

incrk=1; x=a;
for k=1:p 
  x=fft(x ,-1,dim(k),incrk)
  incrk=incrk*dim(k) 
end

ただし, dimk はカレントの被積分変数の次元, incrk は連続するajk要素の増分です.

特に, a がm行n列行列の場合, x=fft(a,-1) は以下の2つの式と等価です:

a1=fft(a,-1,m,1) および x=fft(a1,-1,n,m).

//Comparison with explicit formula
//----------------------------------
a=[1;2;3];n=size(a,'*');
norm(1/n*exp(2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,1))
norm(exp(-2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,-1)) 
 
//Frequency components of a signal
//----------------------------------
// build a noides signal sampled at 1000hz  containing to pure frequencies 
// at 50 and 70 Hz
sample_rate=1000;
t = 0:1/sample_rate:0.6;
N=size(t,'*'); //number of samples
s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1);
  
y=fft(s);
//the fft response is symmetric we retain only the first N/2 points
f=sample_rate*(0:(N/2))/N; //associated frequency vector
n=size(f,'*')
clf()
plot2d(f,abs(y(1:n)))

参照

  • corr — 相関 , 共分散

Comments


See comments in other languages: English: 1 comment(s)

Add a comment:
Please login to comment this page.

Report an issue
<< dst transforms hank >>

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:40:29 CEST 2012