?? cftbyfft.m
字號:
function [AW,f]=cftbyfft(wt,t,flag)
%cftbyfft.m
%本程序采用FFT計(jì)算連續(xù)時(shí)間Fourier變換。輸出幅頻譜數(shù)據(jù)對(f,AW)。
% 輸入量(wt,t)為已經(jīng)窗口化了的時(shí)間函數(shù)wt(t),它們分別是長度為N的向量。
% 對于"非平凡"取值時(shí)段有限的情況,應(yīng)使該時(shí)段與窗口長度相比足夠小。以
% 提高頻率分辨率。
% 對于"非平凡"取值時(shí)段無限的情況,窗口長度的選取應(yīng)使窗口外的函數(shù)值小
% 到可忽略,以提高近似精度。
% 輸入宗量flag控制輸出CFT的頻率范圍。
% flag取非0時(shí)(缺省使用),頻率范圍在[0,fs);
% flag取0時(shí),頻率范圍在[-fs/2,fs/2)。
if nargin==2;flag=1;end
N=length(t);
T=t(length(t))-t(1);
dt=T/N;
W0=fft(wt); %<16>
W=dt*W0;
df=1/T;
n=0:1:(N-1);
%
if flag==0
n=-N/2:(N/2-1);
W=fftshift(W);
end
f=n*df;
AW=abs(W);
if nargout==0
plot(f,AW);grid,xlabel('頻率f');ylabel('|w(f)|')
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -