时域线性插值法,是一种计算量小、准确度高和实时性好的计算信号周期的方法。
1 算法原理
其计算周期的步骤如下:
Ts为采样间隔,Ip可由插值法获得,如下图所示:
采用时域线性插值法求解信号的周期,如下图所示:
2 matlab程序
function [ T] = F( a4)
a3=a4;
va = mean(a3) ;
te = 1;
for itt = 2 : length(a3)
if a3(itt) >= va && a3(itt-1) <= va
tem(te) = itt;
temp1(te) = (va - a3(itt - 1)) / (a3(itt) - a3(itt - 1)) + itt - 1;
te = te + 1;
end
end
TT = zeros(1, length(temp1) - 1) ;
for itt = 2 : length(temp1)
TT(itt - 1) = temp1(itt) - temp1(itt - 1);
end
if length(TT)>=2
av = mean(TT) ;
stdv = std(TT) ;
m = 0 ;
for itt = 1 : length(TT)
if abs(TT(itt) - av) >= stdv
TT(itt) = 0 ;
m = m + 1;
end
end
end
I = find(TT ~= 0) ;
T = mean(TT(I)) ;
end