49 lines
1.8 KiB
Matlab
49 lines
1.8 KiB
Matlab
function [ResultStruct] = CalculateStrideParametersFunc(dataAccCut_filt,FS,ApplyRemoveSteps,dataAcc,dataAcc_filt,StrideTimeRange)
|
|
|
|
%% Calculate stride parameters
|
|
ResultStruct = struct; % create empty struct
|
|
|
|
% Run function AutoCorrStrides, Outcomeparameters: StrideRegularity,RelativeStrideVariability,StrideTimeSamples,StrideTime
|
|
[ResultStruct] = AutocorrStrides(dataAccCut_filt,FS, StrideTimeRange,ResultStruct);
|
|
StrideTimeSamples = ResultStruct.StrideTimeSamples; % needed as input for other functions
|
|
|
|
% Calculate Step symmetry --> method 1
|
|
ij = 1;
|
|
dirSymm = [1,3]; % Gait Synmmetry is only informative in AP/V direction: See Tura A, Raggi M, Rocchi L, Cutti AG, Chiari L: Gait symmetry and regularity in transfemoral amputees assessed by trunk accelerations. J Neuroeng Rehabil 2010, 7:4.
|
|
|
|
for jk=1:length(dirSymm)
|
|
[C, lags] = AutocorrRegSymmSteps(dataAccCut_filt(:,dirSymm(jk)));
|
|
[Ad,p] = findpeaks(C,'MinPeakProminence',0.2, 'MinPeakHeight', 0.2);
|
|
|
|
if size(Ad,1) > 1
|
|
Ad1 = Ad(1);
|
|
Ad2 = Ad(2);
|
|
GaitSymm(:,ij) = abs((Ad1-Ad2)/mean([Ad1+Ad2]))*100;
|
|
else
|
|
GaitSymm(:,ij) = NaN;
|
|
end
|
|
ij = ij +1;
|
|
end
|
|
% Save outcome in struct;
|
|
ResultStruct.GaitSymm_V = GaitSymm(1);
|
|
ResultStruct.GaitSymm_AP = GaitSymm(2);
|
|
|
|
% Calculate Step symmetry --> method 2
|
|
[PksAndLocsCorrected] = StepcountFunc(dataAccCut_filt,StrideTimeSamples,FS);
|
|
LocsSteps = PksAndLocsCorrected(2:2:end,2);
|
|
|
|
if rem(size(LocsSteps,1),2) == 0; % is number of steps is even
|
|
LocsSteps2 = LocsSteps(1:2:end);
|
|
else
|
|
LocsSteps2 = LocsSteps(3:2:end);
|
|
end
|
|
|
|
LocsSteps1 = LocsSteps(2:2:end);
|
|
DiffLocs2 = diff(LocsSteps2);
|
|
DiffLocs1 = diff(LocsSteps1);
|
|
StepTime2 = DiffLocs2(1:end-1)/FS; % leave last one out because it is higher
|
|
StepTime1 = DiffLocs1(1:end-1)/FS;
|
|
SI = abs((2*(StepTime2-StepTime1))./(StepTime2+StepTime1))*100;
|
|
ResultStruct.GaitSymmIndex = nanmean(SI);
|
|
end
|