accelparams

Параметры датчика акселерометра

Описание

accelparams класс создает объект параметров датчика акселерометра. Можно использовать этот объект смоделировать акселерометр при симуляции IMU с imuSensor. Смотрите раздел Algorithms imuSensor для деталей accelparams моделирование.

Создание

Описание

params = accelparams возвращает идеальный объект параметров датчика акселерометра со значениями по умолчанию.

пример

params = accelparams(Name,Value) конфигурирует датчик акселерометра свойства объектов параметров с помощью одного или нескольких Name-Value парные аргументы. Name имя свойства и Value соответствующее значение. Name должен появиться в одинарных кавычках (''). Можно задать несколько аргументов пары "имя-значение" в любом порядке как (Name1,Value1,...,NameN,ValueN). Любые незаданные свойства берут значения по умолчанию.

Свойства

развернуть все

Максимальный датчик, читающий в m/s2В виде действительной положительной скалярной величины.

Типы данных: single | double

Разрешение измерений датчика в (m/s2) / LSB в виде действительного неотрицательного скаляра. Здесь, LSB является акронимом для младшего значащего бита. Разрешение часто относится как Scale Factor для акселерометра.

Типы данных: single | double

Постоянное смещение датчика смещает в m/s2В виде действительного скалярного или вектора-строки с 3 элементами. Любой скалярный вход преобразован в действительный вектор-строку с 3 элементами, где каждый элемент имеет входное скалярное значение.

Типы данных: single | double

Оси датчика скашиваются в проценте в виде скаляра, вектора-строки с 3 элементами или 3х3 матрицы со значениями в пределах от 0 к 100. Диагональные элементы матрицы составляют эффекты неточного совмещения для каждого, исключает. Недиагональные элементы составляют эффекты неточного совмещения перекрестных осей. Измеренный v состояния measure получен из истинного v состояния measure через матрицу неточного совмещения как:

vmeasure=1100Mvtrue=1100[m11m12m13m21m22m23m31m32m33]vtrue

  • Если вы задаете свойство как скаляр, то все недиагональные элементы матрицы принимают, значение заданного скаляра и всех диагональных элементов равняется 100.

  • Если вы задаете свойство как вектор [a b c], то m 21 = m 31 = a, m 12 = m 32 = b и m 13 = m 23 = c. Все диагональные элементы равняются 100.

Типы данных: single | double

Спектральная плотность мощности шума датчика в (m/s2/ √Hz) в виде действительного скалярного или вектора-строки с 3 элементами. Это свойство соответствует скорости случайному обходу (VRW). Любой скалярный вход преобразован в действительный вектор-строку с 3 элементами, где каждый элемент имеет входное скалярное значение.

Типы данных: single | double

Нестабильность смещения возмещена в m/s2В виде действительного скалярного или вектора-строки с 3 элементами. Любой скалярный вход преобразован в действительный вектор-строку с 3 элементами, где каждый элемент имеет входное скалярное значение.

Типы данных: single | double

Интегрированный белый шум датчика в (m/s2) (√Hz) в виде действительного скалярного или вектора-строки с 3 элементами. Любой скалярный вход преобразован в действительный вектор-строку с 3 элементами, где каждый элемент имеет входное скалярное значение.

Типы данных: single | double

Смещение датчика от температуры в (m/s2) / ℃ в виде действительного скалярного или вектора-строки с 3 элементами. Любой скалярный вход преобразован в действительный вектор-строку с 3 элементами, где каждый элемент имеет входное скалярное значение.

Типы данных: single | double

Ошибка масштабного коэффициента от температуры в % / ℃ в виде действительного скаляра или действительного вектора-строки с 3 элементами со значениями в пределах от от 0 до 100. Любой скалярный вход преобразован в действительный вектор-строку с 3 элементами, где каждый элемент имеет входное скалярное значение.

Типы данных: single | double

Примеры

свернуть все

Сгенерируйте данные об акселерометре для объекта imuSensor от стационарных входных параметров.

Сгенерируйте объект параметра акселерометра чтение датчика имеющее 19,6 m/s2 и разрешение 0,598 (mm/s2)/LSB. Постоянное смещение смещения 0.49 m/s2. Датчик имеет спектральную плотность мощности 3 920 (μ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 Гц, растянутых более чем 1 000 выборок. Создайте объект 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 contains 3 objects of type line.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| |

Введенный в R2018b