从PLOMB(隆隆疤痕周期图)功能获取正确的输出单位

时间:2018-09-10 18:21:46

标签: matlab

我正在尝试分析以10分钟为间隔每1分钟采样一次的车轮转弯的时间序列。 t 是一个1 x 14000数组,范围从.1666小时到240小时。 analysis.timeseries。(grp)。(chs)是我感兴趣的每个小组及其特定渠道的1 x 14000数组,用于指定每分钟采样的活动。我有兴趣收集最大功率及其出现的频率。我的问题是我不确定f的输出单位。我希望它以每小时的周期返回,并且最长为30小时。我尝试使用文档中的Galileo示例作为指南,但似乎没有用。 下面是我的代码:

groups = {'GFF' 'GMF' 'SFF' 'SMF'};
chgroups = {chnamesGF chnamesGM chnamesSF chnamesSM};
t1 = (t * 3600); %matlab treats this as seconds so convert it  to an hour form
onehour = seconds(hours(1));
for i = 1:4
grp = groups{1,i};
chn = chgroups{1,i};
    for channel = 1:length(chn)
        chs = chn{channel,1};
        [pxx,f]= plomb(analysis.timeseries.(grp).(chs),t, 30/onehour,'normalized');
        analysis.pxx.(grp).(chs) = pxx;
        analysis.f.(grp).(chs) = f; 
        analysis.lsp.power.(grp).(chs) =   max(pxx);
        [row,col,v] = find(analysis.pxx.(grp).(chs) ==    analysis.lsp.power.(grp).(chs));  
        analysis.lsp.tau.(grp).(chs) = analysis.f.(grp).(chs)(row);
    end
end

1 个答案:

答案 0 :(得分:0)

这不是一个真正的答案,但是很难在评论中添加图片。

以此(plomb manual matlab)作为判断, enter image description here 我认为pxx没有维度,因为f是频率,所以是1 /(t的维度)维度。如果您的t是几个小时,我会说h ^ -1。

所以我宁愿尝试

[pxx,f]= plomb(analysis.timeseries.(grp).(chs),t*30.0/onehour,'normalized');