このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
加速度計データのログ記録
この例では、スマートフォンまたはタブレットの加速度計からのデータを操作および可視化する方法を説明します。
加速度計は、速度の変化率、つまり加速度を測定するセンサーです。3 次元直交座標系を使用し、以下の図に示す軸ごとの加速度値を返します。
加速度計データは、MATLAB Mobile で [センサー] メニューを使用して簡単に取得できます。
加速度計データをログ記録するには、以下の手順を使用します。
[ストリーム先: ログ] を選択します。
サンプル レートを調整します (既定は 10 Hz)。
[加速度] スイッチをオンにします。
[開始] をタップします。
データの取得後、次を行います。
[停止] をタップします。
保存するファイル名を入力します (既定の名前が提供されます)。
[自動アップロード] オプションがオンになっている場合、ファイルは、MATLAB Drive の設定済みの [アップロード フォルダー] (既定は
MATLAB Drive/MobileSensorData
) に、.mat
ファイルとしてアップロードされます。
この例では、次の活動を含む記録済みのセッションを使用します。
直立
歩行
ジョギング
全力疾走
データの収集は、スマートフォンを縦にし、画面を前方に向けてアスリートの胸部に取り付けて行いました。
データを可視化するために、まず取得したセンサー データの .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)')
4 つの異なる活動をグラフで簡単に識別できます。直立姿勢 (加速度は 9.8 m/s^2 (重力) でほぼ一定) からスタートし、活動が歩行、ジョギング、全力疾走と進むにつれて、振幅と周波数の両方が増加します。
各軸の個々の結果を表示する場合は、下のライブ コントロールを使用します。
軸を選択すると、その方向の加速度値が表示されます。
plot (t,x) title('Acceleration during 4 activities') xlabel('Time (s)') ylabel('Acceleration (m/s^2)')