srsLTE/matlab/sync/sfo_estimate.m

19 lines
325 B
Mathematica
Raw Normal View History

2014-01-30 06:45:59 -08:00
function [ sfo sfo_v ] = sfo_estimate( fs, T )
2014-01-28 03:41:17 -08:00
2014-01-30 06:45:59 -08:00
nanfs=fs(~isnan(fs));
idx=find(~isnan(fs));
sfo_v = zeros(length(nanfs)-1,1);
for i=2:length(nanfs)
if (abs(nanfs(i)-nanfs(i-1))<9000)
sfo_v(i-1)=(nanfs(i)-nanfs(i-1))/T/(idx(i)-idx(i-1));
else
sfo_v(i-1)=sfo_v(i-2);
end
2014-01-28 03:41:17 -08:00
end
2014-01-30 06:45:59 -08:00
sfo = mean(sfo_v);