马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
在toimage函数中
function [im,tt,ff] = toimage(A,f,varargin)
DEFSPL = 400;
...
if isvector(A)%判断A是否为行向量或者列向量
A = A(:)';%按列转换成一行
f = f(:)';
end
...
f = min(f,0.5);
f = max(f,0);%保证瞬时频率在0~0.5,是否是由于在hilbert变换中没有采样间隔这个概念,按照采样点数直接变换的,所以频率在0~0.5?
indf = round(2*f*(sply-1)+1);%下标必须为整数
indt = repmat(round(linspace(1,length(t),splx)),size(A,1),1);%下标必须为整数,且与indf对应行数为imf个数,列数为点数
im = accumarray([indf(:),indt(:)],A(:),[sply,splx]);
indt = indt(1,:);
tt = t(indt);
ff = (0:sply-1)*0.5/sply+1/(4*sply);%真实的各点对应的中心频率为什么是这样一个表达式?
烦请了解的给予指教,谢谢! |