MATLAB: I have got a duration of speech signal of 3.2 sec how can i split this into 3 equal parts?

MATLAB

I have got a duration of speech signal of 3.2 sec how can i split this into 3 equal parts?? can any1 help me with matlab code plss!!!

Best Answer

firstthird = floor(length(YourSignal)/3);
secondthird = firstthird + floor((length(YourSignal) - firstthird)/2);
part1 = YourSignal(1:firstthird,:);
part2 = YourSignal(firstthird+1:secondthird,:);
part3 = YourSignal(secondthird+1:end, :);
Note that it is possible that the signal is not exactly divisible into 3 pieces. For example, if it were 17 samples then you cannot get 5 2/3 samples per part, and instead need to break it up into 5/5/7 or 5/6/6 or any permutation of those possibilities. The above code would choose 5/6/6 in that case.