wdecai 发表于 2010-3-5 15:42

请教HHT工具箱中toimage函数中关于频率的问题

在toimage函数中
function = 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(,A(:),);
indt = indt(1,:);
tt = t(indt);
ff = (0:sply-1)*0.5/sply+1/(4*sply);%真实的各点对应的中心频率为什么是这样一个表达式?
烦请了解的给予指教,谢谢!

sockhui 发表于 2010-3-21 17:01

顶一个,希望高人解释

Minnie 发表于 2010-3-21 20:08

回复 沙发 sockhui 的帖子

我也站一个位。。。:lol :handshake 我认识你。

sockhui 发表于 2010-3-23 10:19

我最近也一直在学习toimage这个函数
通过hhspectrum()函数获得时间间隔,幅值,然后通过toimage将其频率计算出来。
为什么要限制DEFSPL = 400;这个是什么意思呢?

chunhuajia 发表于 2010-3-23 14:57

我也遇到了与楼上相同的问题,并且当我的参数取=toimage(A,f,tt,length(tt))时会出错,说我的程序超出内存。如果取默认值DEFSPL = 400时,程序运行正常,我想问一下,这样取值对原始数据的分析有影响吗?
请高手帮忙了!

wdecai 发表于 2010-3-23 17:48

DEFSPL = 400是频率分辨率,如果分辨率设置过大而采样点数又很多的话,可能会造成matlab内存不足,因为函数中有个变量im是个 时间分辨率x频率分辨率 的二维矩阵

chunhuajia 发表于 2010-3-24 10:13

如果去默认值DEFSPL = 400,对最终出来的结果的正确与否有影响吗?我觉得没有,但不敢确定,讨论一下。

chunhuajia 发表于 2010-3-24 10:13

对不起,是取DEFSPL = 400

wdecai 发表于 2010-3-25 14:23

正确性肯定没有影响,只是分辨率高低的问题

chunhuajia 发表于 2010-3-25 19:29

谢谢你的指点!

a240612525 发表于 2010-8-28 16:54

回复 wdecai 的帖子
楼主能不能给我发个HHT变换工具箱啊,急用啊,谢谢:15211074650@163.com{:{01}:}

   

shinhwaforever 发表于 2010-10-9 10:42

新手,受益了,3Q.

熊星星星 发表于 2010-10-14 10:51

没人研究这个了?

starshine1985 发表于 2010-10-14 11:01

wdecai 发表于 2010-3-5 15:42 static/image/common/back.gif
在toimage函数中
function= toimage(A,f,varargin)
DEFSPL = 400;


瞬时频率0~0.5即将频率归一化!除以采样频率得到的。

taosky 发表于 2010-11-2 23:04

楼主能不能给我发一份HHT工具箱啊,我是新手,谢谢啊。
taosky01@msn.com
页: [1] 2
查看完整版本: 请教HHT工具箱中toimage函数中关于频率的问题