⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inedft.m

📁 程序之所以称之为扩展功能的DFT
💻 M
字号:
function Y=inedft(F,fn,tn)

%INEDFT Inverse Nonuniform Extended Discrete Fourier Transform.
%
%	Y=inedft(F,fn,tn) is the inverse discrete Fourier transform of vector 
%	F estimated by NEDFT function at arbitrary frequency set fn:
%		F(fn) -> Y(tn),
%	where time moments tn for reconstructed sequence Y can be uniformly or
%	nonuniformly spaced in time. In the special case of uniform vectors fn and
%	tn, the INEDFT function can be replaced by well known MATLAB function IFFT.   
%
%	If input arguments are matrixes, the INEDFT operation is applied to each column.
%
% 	See also IFFT, EDFT, NEDFT.
%
%	Vilnis Liepins 1/24/2007

% Checking number of mandatory input arguments.
if nargin<3,error('Not enough input arguments.'),end

% Checking input arguments F,fn,tn for NaN and Inf.
if sum(~all(finite(F)))|sum(~all(finite(fn)))|sum(~all(finite(tn))),
    error('Input arguments F,fn,tn contain Inf or NaN.')
end

% Checking size of input arguments.
if size(F,1)==1,
    trf=1;
    F=F.';
    tn=tn.';
    else
    trf=0;
    fn=fn.';
end 
[N L]=size(F);
if size(fn,2)~=N,
    error('Sizes of input arguments F and fn must be equal.')
end
if size(tn,2)~=L,
    error('Incorrect size of input argument tn.')
end

% Performing frequency -> time transform F(fn) -> Y(tn).

for l=1:L
    E=exp(i*2*pi*tn(:,l)*fn(l,:));
    Y(:,l)=E*F(:,l)/N;
end

% Adjust size of INEDFT output.
if trf==1,Y=Y.';end

⌨️ 快捷键说明

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