求disp_hht中函数imagesc(t,[0,0.5],im,[inf,0])的作用
function disp_hhs(varargin)error(nargchk(1,3,nargin));
fs = 0;
inf = -20;
im = varargin{1};
t = 1:size(im,2);
switch nargin
case 1
%raf
case 2
if isscalar(varargin{2})
inf = varargin{2};
else
t = varargin{2};
end
case 3
if isvector(varargin{2})
t = varargin{2};
inf = varargin{3};
else
inf = varargin{2};
fs = varargin{3};
end
case 4
t = varargin{2};
inf = varargin{3};
fs = varargin{4};
end
if isempty(inf)
inf = -20;
end
if inf > 0
inf = -inf;
elseif inf == 0
error('inf must be nonzero')
end
M=max(max(im));
warning off
im = 10*log10(im/M);
warning on
figure
if fs == 0
imagesc(t,,im,);
ylabel('normalized frequency')
else
imagesc(t,,im,);
ylabel('frequency')
end
set(gca,'YDir','normal')
xlabel('time')
title('Hilbert-Huang spectrum')
如题中,函数imagesc(t,,im,)的作用,实际意义是什么,各个参数代表什么,我想用此函数绘画出实际信号的真实频率,应该如何操作?求各位大侠解答啊。
imagesc是Matlab自带的函数,请查看Matlab的帮助文档。至于想利用这个函数显示出信号的真实频率而不是归一化平率的话,那么这样调用disp_hhs(im,tt/sf,,sf)
=hhspectrum(IMFs);
=toimage(A,f);
sf是采样频率。
另外,这个问题在本板块有过提问,请搜索过板块后再发帖!
yghit08 发表于 2013-3-9 16:46
imagesc是Matlab自带的函数,请查看Matlab的帮助文档。至于想利用这个函数显示出信号的真实频率而不是归一 ...
您说的hhspectrum和toimage函数的输出tt都是一样的是吧,都是时间序列号。
你的调用和下面的调用效果是一样吗?
=hhspectrum(imf);
=toimage(A,fa,tt,length(tt)); yghit08 发表于 2013-3-9 16:46
imagesc是Matlab自带的函数,请查看Matlab的帮助文档。至于想利用这个函数显示出信号的真实频率而不是归一 ...
哦。。我看了函数,当toimage的输入参数达到四个的时候输出的2维频谱图像的行数和列数就是由用户指定的了,所以=toimage(A,fa,tt,length(tt));中,length(tt)和tt其实是相等的,都是时间序列的长度而已。。。但是我还是不明白源程序中,默认的行数是是400(频率分辨率)。 yghit08 发表于 2013-3-9 16:46
imagesc是Matlab自带的函数,请查看Matlab的帮助文档。至于想利用这个函数显示出信号的真实频率而不是归一 ...
中的p是什么意思?
页:
[1]