如何通过加速度计算速度和位移

加速度计算速度和位移主要是积分和滤波的过程
1、加速度acc
2、对加速度进行滤波 acc_filt = lvbo(acc) ;
3、速度等于加速度的积分 sudu = jifen (acc_filt );
4、对速度进行滤波 sudu_filt = lvbo(sudu);
5、位移等于速度的积分 weiyi = jifen (sudu_filt);
6、对位移进行滤波 weiyi_filt = lvbo(weiyi);

输入acc
输出acc_filt 、sudu_filt 、weiyi_filt

滤波

输入 x 滤波前数组
输出 y 滤波后数组
过程:对x数组中的数据求和,然后除以x数组的长度,获得x数组平均值,输出y为x的每一位减去刚获得的均值

function y=lvbo(x)
	sum=0
	for ii=1:length(x)
	    sum=sum+x(ii);
	end
	
	y=x-(sum/length(x));
end

积分

输入 x 为积分前数组
输出 y 为积分后数组
过程 y为对x的求和 , 例如:
y1 = x1
y2 = x1 + x2
y3 = x1 + x2 + x3
y4 = x1 + x2 + x3 + x4
以此类推

function y=jifen(x)
	y(1) = x(1);
	for i=2:length(x)
	    y(i) = y(i-1)+x(i);
	end
end

猜你喜欢

转载自blog.csdn.net/shenchen2010/article/details/124151843