1 % estimate_linear_acceleration
3 % Copyright (c) 2014 Samsung Electronics Co., Ltd.
5 % Licensed under the Apache License, Version 2.0 (the "License");
6 % you may not use this file except in compliance with the License.
7 % You may obtain a copy of the License at
9 % http://www.apache.org/licenses/LICENSE-2.0
11 % Unless required by applicable law or agreed to in writing, software
12 % distributed under the License is distributed on an "AS IS" BASIS,
13 % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 % See the License for the specific language governing permissions and
15 % limitations under the License.
17 % Linear Acceleration Estimation function
19 % - Gravity estimation using the estimate_gravity function
20 % - compute linear acceleration based gravitational force computed for each axes
22 function [Linear_Acceleration] = estimate_linear_acceleration(Accel_data, Gyro_data, Mag_data)
26 BUFFER_SIZE = size(Accel_data,2);
28 Gravity = zeros(3,BUFFER_SIZE);
29 Linear_Acceleration = zeros(3,BUFFER_SIZE);
31 % estimate orientation
32 Gravity = estimate_gravity(Accel_data, Gyro_data, Mag_data);
34 Linear_Acceleration = Accel_data(1:3,:) - [Gravity(2,:); Gravity(1,:); Gravity(3,:);];