记录加速度计数据
此示例说明如何操作和可视化来自智能手机或平板电脑加速度计的数据。
加速度计是一种测量速度变化率(加速度)的传感器。它使用三维笛卡尔坐标系,并返回以下图窗中所示的每个轴的加速度值。
您可以使用“传感器”菜单在 MATLAB Mobile 中轻松捕获加速度计数据。
要记录加速度计数据,请执行以下步骤:
选择“流式传输至日志”。
调整采样率(默认为 10 Hz)。
打开“加速度”开关。
点击“开始”。
在采集数据后,请执行以下操作:
点击“停止”。
输入要保存的文件名(提供默认名称)。
如果启用了“自动上传”选项,文件将作为
.mat
文件上传到 MATLAB Drive 上您配置的“上传文件夹”(默认为MATLAB Drive/MobileSensorData
)。
此示例使用一个预先录制的包含以下活动的会话:
站立
步行
慢跑
全速跑
这些数据是通过智能手机采集的,智能手机以纵向连接在运动员的胸部,屏幕朝向前方。
要可视化数据,请首先加载捕获的传感器数据的 .mat
文件。
load fieldActivities.mat
将数据读入变量 x
、y
、z
中,并将时间戳读入 timestamp
中。
x = Acceleration.X; y = Acceleration.Y; z = Acceleration.Z; timestamp = Acceleration.Timestamp;
使用加载的变量中的加速度值,计算组合了 3 个轴的向量的模。
combinedAccel = sqrt(x.^2+y.^2+z.^2);
用零初始化向量 t
(推荐用于性能)。
t = zeros(size(timestamp));
将绝对时间转换为相对值,将起点设置为参考。
for n = 1 : length(timestamp) t(n) = seconds(timestamp(n) - timestamp(1)); end
最后,使用 plot
命令显示结果。
plot(t, combinedAccel) xlabel('Time (s)') ylabel('Acceleration (m/s^2)')
您可以轻松识别图中的四种不同活动。它从站立位姿开始,加速度几乎恒定在 9.8 m/s^2(重力),然后随着活动进行到步行、慢跑和全速跑,振幅和频率都会增加。
如果您要单独查看每个轴的结果,请使用以下实时控件。
选择轴以查看该方向的加速度值。
plot (t,x) title('Acceleration during 4 activities') xlabel('Time (s)') ylabel('Acceleration (m/s^2)')