主要内容

このページ最新ではありませ。をクリックし,英语のの最新版版を参照参照し。

离散フーリエ変换

(dft)は​​はデジタル信号の基本となるなるツール。制品制品のの基础基础基础基础をををなしなしててているいるののののはは(fft)で変换(fft)ででで((z领域周波,解析とケプストラム解析解析のフィルター设计关数关数やフィルターフィルター実装実装关数をを含む含む含む含む含む含む含む含むににに

matlab®环境に,关数关数FFTifftがあり离散変换と逆离散変换计算使用できでき。入力入力XとこのシーケンスからしたX(単位円等间隔周波ででフーリエ変変换换换)2つの,,つのによって

X (( k + 1 = n = 0 n - 1 X (( n + 1 w n k n

X (( n + 1 = 1 n k = 0 n - 1 X (( k + 1 w n - k n

Matlabののののベクトル方式ためため,级数添字ははははははははははははははははははははははからからからからから。。またまたまた

w n = e - j 2 π / n

メモ:matlabでは,惯例,关数FFTに负のjが使用ますこれは工学のであり,物理やや纯粋数学ではは一般一般号号号jが使用さます。

关数FFTでは,単一入力引数Xを使用,入力ベクトルまたは入力行列のののがが计算され。。Xがベクトルの,关数FFTではではのdftががされ。。。Xが方形の场合は关数关数FFTでは配列各列ののががされます。。

例としてのよう时间ベクトルとをししうう。

t = 0:1/100:10-1/100;百分比矢量x = sin(2*pi*15*t) + sin(2*pi*40*t);% 信号

dftおよびおよび后のの振幅振幅を计算ます小さい振幅振幅のの変换変换のの値ををに设定ししてて位相をを计算

y = fft(x);%计算X的DFTm = abs(y);% 震级y(m <1e-6)= 0;p = unwrap(Angle(y));% 阶段

この振幅を角度プロットするに,のコマンドを入力します。

f =(0:长度(y)-1)*100/长度(y);%频率矢量子图(2,1,1)图(F,m)标题(F,M)标题('震级')ax = gca;ax.xtick = [15 40 60 85];子图(2,1,2)图(f,p*180/pi)标题('阶段')ax = gca;ax.xtick = [15 40 60 85];

关数FFT2番目番目は,する点点数数nを指定,,ののさを表しい。。。

n = 512;y = fft(x,n);m = abs(y);p = unwrap(Angle(y));f =(0:长度(y)-1)*100/长度(y);子图(2,1,1)图(F,m)标题(F,M)标题('震级')ax = gca;ax.xtick = [15 40 60 85];子图(2,1,2)图(f,p*180/pi)标题('阶段')ax = gca;ax.xtick = [15 40 60 85];

この场合,关数FFTによって入力の长さがnより短いにゼロが付加さ,,nより长いにシーケンスが切り取られ。。nが指定てない场合,シーケンスのさが既定値としてとして使用使用されれFFTの実行は,するするするするのののさnに左右れ。このの详细は,FFTのリファレンスを参照し。。

メモ:结果として返されるれる振幅振幅はA*N/2で,一个は元の,nfft fftデータ数。はは,,データデータ点数がサンプルののの数数以上以上以上であるであるのみのみのみ真真に。fftなりfftデータfftデータfftデータ。。。データデータデータデータデータデータ点点の数少ない场合场合场合场合だけ小さくなり。

逆离散変换关数ifftも入力受け入れる,で変换点数指定できできます。次の例をを见见てください。。Xと,さたシーケンスは误差の内一致しててます。

t = 0:1/255:1;x = sin(2*pi*120*t);y = real(ifft(fft(x)));图图(t,x-y)

また,ツールには,,,,,次元次元とと逆换に使用するするののFFT2およびifft2含まれます。これらの关数はは,,,次元次元次元の信号イメージ处理处理ににに便利ですですですですですですですですですですですですですですですですですですですですです关数关数关数关数关数关数关数关数关数关数关数关数关数关数关数ははははははははははははははを部分に対するdftののに有效。。。

场合によっては关数FFTまたは关数FFT2の出力し,ゼロ周波数がの中央にようようにすると便利便利なな。。。fftshiftにより,数をベクトルまたは行列に移动することができ。。

参考

|||||