clc; clear all; close all; dados = load('nata7-sala6-12.mat'); dados = dados.data; Fa = size(dados,1)/dados(1,4) for i = 2:size(dados,1) if (dados(i,1)==0) dados(i,1) = dados(i-1,1); end if (dados(i,2)==0) dados(i,2) = dados(i-1,2); end if (dados(i,3)==0) dados(i,3) = dados(i-1,3); end end figure(1); subplot(3,1,1); plot(dados(:,1) , 'b'); subplot(3,1,2); plot(dados(:,2) , 'r'); subplot(3,1,3); plot(dados(:,3) , 'g'); dadosFilt=tsmovavg(dados,'s',15,1); figure(2); subplot(3,1,1); plot(dadosFilt(:,1) , 'b'); subplot(3,1,2); plot(dadosFilt(:,2) , 'r'); subplot(3,1,3); plot(dadosFilt(:,3) , 'g'); limiar1=30; limiar2=45; limiar3=140; [data_pos1 data_picos1]=peakfinder(dadosFilt(:,1),limiar1,1); [data_pos2 data_picos2]=peakfinder(dadosFilt(:,2),limiar2,-1); [data_pos3 data_picos3]=peakfinder(dadosFilt(:,3),limiar3); if(size(data_pos3)>0 ) t=1; for i=1:size(data_pos3), for j=1:size(data_pos2,1), if(data_pos3(i)-40 < data_pos2(j) && data_pos2(j) < data_pos3(i)+40) ind(1,t) = j; t = t+1; end end end data_pos2(ind) = []; data_picos2(ind) = []; end figure(3); subplot(3,1,1); hold plot(dadosFilt(:,1) , 'b'); plot(data_pos1,data_picos1 , 'v','markerfacecolor',[0 1 0]); subplot(3,1,2); hold plot(dadosFilt(:,2) , 'r'); plot(data_pos2,data_picos2 , 'v','markerfacecolor',[0 1 0]); subplot(3,1,3); hold plot(dadosFilt(:,3) , 'g'); plot(data_pos3,data_picos3 , 'v','markerfacecolor',[0 1 0]); deriv=diff(data_pos2); tempos=deriv/Fa; rpm=60./tempos figure, plot(rpm) hold rpm(:,1)=tsmovavg(rpm(:,1),'s',3,1) plot(rpm,'r') size(data_pos2,1)