icftbyifft.m

来自「本代码是相应的快速傅立叶以及反傅立叶算法的相应实现」· M 代码 · 共 20 行

M
20
字号
function [BW,t2]=icftbyifft(wf,f,flag)
%本程序采用FFT计算连续时间Fourier变换。输出时间波形数据对(t,BW)。
if nargin==2;flag=1;end
L=length(f);					%采样点数,应为2的幂次,以求快速。
F=f(length(f))-f(1);			%窗口长度
df=F/L;						    %频率分辨率。
W0=ifft(wf);					%施行反FFT变换								<16>
W=df*W0;						%算得[0,T)上的N点ICFT值
dt2=1/F;						%时间分辨率
n=0:1:(L-1);
%把以上计算结果改写到[-fs/2,fs/2]范围
if flag==0
   n=-L/2:(L/2-1);
   W=ifftshift(W);			%产生满足式(4.13.3.1-6)的频谱
end
t2=n*dt2;					%时间分度向量
BW=abs(W);					%时间波形数据向量
if nargout==0
	plot(t2,BW);grid,xlabel('时间t');ylabel('|w(t)|')
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?