メインコンテンツ

accelparams

加速度計センサー パラメーター

説明

accelparams クラスは、加速度計センサー パラメーター オブジェクトを作成します。imuSensor で IMU をシミュレートするときに、このオブジェクトを使用して加速度計をモデル化できます。accelparams モデル化の詳細については、imuSensorAlgorithmsのセクションを参照してください。

作成

説明

params = accelparams は、理想的な加速度計センサー パラメーター オブジェクトを既定値で返します。

params = accelparams(Name,Value) は、1 つ以上の Name-Value のペアの引数を使用して加速度計センサー パラメーター オブジェクトのプロパティを構成します。Name はプロパティ名で、Value は対応する値です。Name は一重引用符 ('') で囲む必要があります。いくつかの名前と値のペアの引数を、(Name1,Value1,...,NameN,ValueN) のように任意の順序で指定できます。指定されていないプロパティはすべて既定値を取ります。

プロパティ

すべて展開する

センサーの最大読み取り値 (m/s2 単位)。実数の正のスカラーとして指定します。

データ型: single | double

センサー測定の分解能 ((m/s2)/LSB 単位)。実数の非負のスカラーとして指定します。ここで、LSB は最下位ビットの頭字語です。分解能は多くの場合、加速度計の "スケール係数" と称されます。

データ型: single | double

定数のセンサー オフセット バイアス (m/s2 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

センサーの座標軸のせん断変形 (パーセント単位)。スカラー、3 要素行ベクトル、または 3 行 3 列の行列として指定します。行列の対角要素では、各座標軸のずれの影響が考慮されます。非対角要素では、座標軸間のずれの影響が考慮されます。測定された状態 vmeasure は、真の状態 vtrue から、ずれ行列を介して次のように取得されます。

vmeasure=1100Mvtrue=1100[m11m12m13m21m22m23m31m32m33]vtrue

  • このプロパティをスカラーとして指定すると、行列の非対角要素はすべて指定したスカラーの値を取り、対角要素はすべて 100 となる。

  • このプロパティをベクトル [a b c] として指定すると、m21 = m31 = am12 = m32 = bm13 = m23 = c となる。対角要素はすべて 100。

データ型: single | double

センサー ノイズのパワー スペクトル密度 (m/s2/√Hz 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。このプロパティは速度のランダム ウォーク (VRW) に対応します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

バイアス不安定性ノイズ生成用のフィルター係数。構造体として指定します。この構造体には次のフィールドが含まれます。

  • Numerator — 分子係数。実数値ベクトルとして指定します。

  • Denominator — 分母係数。実数値ベクトルとして指定します。

フラクタル ノイズの係数を指定するには、関数 fractalcoef を使用します。

例: struct(Numerator=1,Denominator=[1 -0.5])

データ型: struct

バイアス オフセットの不安定性 (m/s2 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

センサーの積分されたホワイト ノイズ ((m/s2)*(√Hz) 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

ランダム ノイズのタイプ。以下として指定します。

  • "double-sided" — ランダム ノイズ係数のスケール係数は 2 です。

  • "single-sided" — ランダム ノイズ係数のスケール係数は 1 です。

データ型: char | string

温度によるセンサー バイアス ((m/s2)/℃ 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

温度によるスケール係数誤差 (%/℃ 単位)。0 ~ 100 の範囲の値をもつ実数のスカラーまたは実数の 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

すべて折りたたむ

imuSensor オブジェクトの加速度計データを、定常入力から生成します。

センサーの最大読み取り値が 19.6 m/s2 で分解能が 0.598 (mm/s2)/LSB の加速度計パラメーター オブジェクトを生成します。定数オフセット バイアスは 0.49 m/s2 です。センサーのパワー スペクトル密度は 3920 (μm/s2)/Hz です。温度によるバイアスは 0.294 (m/s2)/0C です。温度によるスケール係数誤差は 0.02 %/0C です。センサーの座標軸は 2 % せん断変形します。

params = accelparams('MeasurementRange',19.6,'Resolution',0.598e-3,'ConstantBias',0.49,'NoiseDensity',3920e-6,'TemperatureBias',0.294,'TemperatureScaleFactor',0.02,'AxesMisalignment',2);

100 Hz のサンプル レートを 1000 個のサンプルにわたり使用します。加速度計パラメーター オブジェクトを使用して、imuSensor オブジェクトを作成します。

Fs = 100;
numSamples = 1000;
t = 0:1/Fs:(numSamples-1)/Fs;

imu = imuSensor('SampleRate', Fs, 'Accelerometer', params);

imuSensor オブジェクトから加速度計データを生成します。

orient = quaternion.ones(numSamples, 1);
acc = zeros(numSamples, 3);
angvel = zeros(numSamples, 3);
 
accelData = imu(acc, angvel, orient);

結果の加速度計データをプロットします。

plot(t, accelData)
title('Accelerometer')
xlabel('s')
ylabel('m/s^2')

Figure contains an axes object. The axes object with title Accelerometer, xlabel s, ylabel m/s Squared baseline contains 3 objects of type line.

拡張機能

すべて展開する

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2018b で導入

すべて展開する