FFT應用示例
例1:x = 0.5 * sin(2 * pi * 15 * t)+2 * sin(2 * pi * 40 * t)。采樣頻率為fs=100Hz,分別畫出N=128和1024點的幅頻圖。
clf
fs = 100;n = 128;
%采樣頻率和數據點
N = 0:N-1;t = n/fs;%時間序列
x = 0.5 * sin(2 * pi * 15 * t)+2 * sin(2 * pi * 40 * t);
%信號
y=fft(x,N);%快速傅立葉變換信號。
mag = ABS(y);
%求傅裏葉變換後的振幅
f = N * fs/N;%頻率系列
支線劇情(2,2,1),劇情(f,mag);
%將振幅繪制為頻率的函數。
Xlabel('頻率/赫茲');
Ylabel('振幅');標題(' N = 128 ');格子
開;
支線劇情(2,2,2),劇情(f(1:N/2),mag(1:N/2));
%繪制奈奎斯特頻率之前的振幅,作為頻率的函數。
Xlabel('頻率/赫茲');
Ylabel('振幅');標題(' N = 128 ');格子
開;
%處理1024點的信號采樣數據
fs = 100;n = 1024;N = 0:N-1;t = n/fs;
x = 0.5 * sin(2 * pi * 15 * t)+2 * sin(2 * pi * 40 * t);
%信號
y=fft(x,N);%快速傅立葉變換信號。
mag = ABS(y);
%求傅裏葉變換的振幅
f = N * fs/N;
支線劇情(2,2,3),劇情(f,mag);
%將振幅繪制為頻率的函數。
Xlabel('頻率/赫茲');
Ylabel('振幅');標題(' N = 1024 ');格子
開;
次要情節(2,2,4)
plot(f(1:N/2),mag(1:N/2));
%繪制奈奎斯特頻率之前的振幅,作為頻率的函數。
Xlabel('頻率/赫茲');
Ylabel('振幅');標題(' N = 1024 ');格子
開;
按照這個例子來應用就好了。