Main Content

accelparams

가속도계 센서 파라미터

설명

accelparams 클래스는 가속도계 센서 파라미터 객체를 만듭니다. imuSensor로 IMU를 시뮬레이션할 때 이 객체를 사용하여 가속도계를 모델링할 수 있습니다. accelparams 모델링에 대한 자세한 내용은 imuSensorAlgorithms 섹션을 참조하십시오.

생성

설명

params = accelparams는 디폴트 값으로 이루어진 이상적인 가속도계 센서 파라미터 객체를 반환합니다.

예제

params = accelparams(Name,Value)는 하나 이상의 Name-Value 쌍 인수를 사용하여 가속도계 센서 파라미터 객체의 속성을 구성합니다. 여기서 Name은 속성 이름이고 Value는 대응하는 값입니다. Name은 작은따옴표('')로 묶어야 합니다. (Name1,Value1,...,NameN,ValueN)과 같이 여러 개의 이름-값 쌍 인수를 임의의 순서로 지정할 수 있습니다. 지정되지 않은 속성은 디폴트 값을 가집니다.

속성

모두 확장

최대 센서 측정값(단위: m/s2)으로, 양의 실수형 스칼라로 지정됩니다.

데이터형: single | double

센서 측정값의 분해능(단위: (m/s2)/LSB)으로, 음이 아닌 실수형 스칼라로 지정됩니다. 여기서 LSB는 Least Significant Bit(최하위 비트)의 머리글자어입니다. 가속도계에서는 분해능을 종종 스케일링 인자라고도 부릅니다.

데이터형: single | double

상수 센서 오프셋 편향(단위: m/s2)으로, 실수형 스칼라 또는 요소를 3개 가진 행 벡터로 지정됩니다. 스칼라 입력값은 요소를 3개 가진 실수형 행 벡터(각 요소가 입력된 스칼라 값을 가짐)로 변환됩니다.

데이터형: single | double

센서 축 왜도(단위: 백분율)로, 스칼라, 요소를 3개 가진 행 벡터 또는 3×3 행렬로 지정됩니다. 행렬의 대각선 요소는 각 축의 오정렬 영향을 설명합니다. 비대각선 요소는 교차 축의 오정렬 영향을 설명합니다. 측정된 상태 vmeasure는 다음과 같이 오정렬 행렬을 통해 true 상태 vtrue에서 구합니다.

vmeasure=1100Mvtrue=1100[m11m12m13m21m22m23m31m32m33]vtrue

  • 속성을 스칼라로 지정하면, 행렬의 모든 비대각선 요소는 지정된 스칼라의 값을 취하며 모든 대각선 요소는 100이 됩니다.

  • 속성을 벡터 [a b c]로 지정하면 m21 = m31 = a, m12 = m32 = b, 그리고 m13 = m23 = c입니다. 모든 대각선 요소는 100이 됩니다.

데이터형: single | double

센서 잡음의 파워 스펙트럼 밀도(단위: m/s2/√Hz)로, 실수형 스칼라 또는 요소를 3개 가진 행 벡터로 지정됩니다. 이 속성은 VRW(속도 무작위 행보)에 해당합니다. 스칼라 입력값은 요소를 3개 가진 실수형 행 벡터(각 요소가 입력된 스칼라 값을 가짐)로 변환됩니다.

데이터형: single | double

편향 불안정성 잡음 생성을 위한 필터 계수로, 구조체로 지정됩니다. 구조체에는 다음 필드가 있습니다.

  • Numerator - 분자 계수로, 실수 값 벡터로 지정됩니다.

  • Denominator - 분모 계수로, 실수 값 벡터로 지정됩니다.

프랙털 잡음의 계수를 지정하려면 fractalcoef (Sensor Fusion and Tracking Toolbox) 함수를 사용합니다.

예: 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.6m/s2의 최대 센서 측정값과 0.598(mm/s2)/LSB의 분해능으로 가속도계 파라미터 객체를 생성합니다. 상수 오프셋 편향은 0.49m/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);

1000개 샘플에 100Hz의 샘플 레이트를 사용합니다. 가속도계 파라미터 객체를 사용하여 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에 개발됨

참고 항목

| |