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

📄 ftspdataanalyzer.m

📁 tinyos-2.x.rar
💻 M
字号:
%load file written out by FtspDataLogger.java class

%arg0 - filename, e.g. '1205543689171.report'

function FTSPDataAnalyzer(file, varargin)

[c1 c2 c3 c4 c5]= textread(file, '%u %u %u %u %u', 'commentstyle', 'shell');

data = [c2 c3 c4 c5]; %skipping the first column (java time)

data1 = sortrows(sortrows(data,1),2);

newdata = [];



row=1;

newrow=1;

unsynced=0;

while (row<=size(data1,1))



    seqnum=data1(row,2);



    data2=[];

    row2=1;

    tmprow1=row;

    while (row <= size(data1,1) && data1(row,2)==seqnum)

        if (data1(row,4)==0)

            data2(row2,1)=data1(row,3);

            row2= row2+ 1;

        else

            unsynced=unsynced+1;

        end

        row = row + 1;

    end

    

    if (row2>1)

        row2size=row2-1;

        rcvdsize=row-tmprow1;

        newdata(newrow,1) = seqnum;

        newdata(newrow,2) = mad(data2(1:row2size,1));

        newdata(newrow,3) = mean(data2(1:row2size,1));

        newdata(newrow,4) = row2size/rcvdsize;

        newrow = newrow + 1;

    end

end



if (length(newdata)==0)

    disp('no data found (at least one data point from a synchronized mote is required)!');

else

    newsize=newrow-1;

    subplot(3,1,1);

    plot(newdata(1:newsize,1),newdata(1:newsize,2));

    title(sprintf('TimeSync Errors'));

    subplot(3,1,2);

    plot(newdata(1:newsize,1),newdata(1:newsize,3));

    title(sprintf('Avg Glob Time'));

    subplot(3,1,3);

    plot(newdata(1:newsize,1),newdata(1:newsize,4),'b-');

    title(sprintf('%% Synced Motes'));



    disp(sprintf('total unsycned num %d (all %d)',unsynced,newsize));

    disp(sprintf('avg %0.3f',mean(newdata(1:newsize,2))));

    disp(sprintf('max %d',max(newdata(1:newsize,2))));

    savedata = newdata(1:newsize,:);

    save data.out savedata -ASCII;

end

    

⌨️ 快捷键说明

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