此示例演示如何使用。来模拟惯性测量单元(IMU)的测量imuSensor
系统对象。一个IMU可包括单个传感器,包括陀螺仪,加速度计,和磁力的组合。您可以使用指定单个传感器的性能gyroparams
,accelparams
,magparams
, 分别。
在下面的曲线图中,除非另有说明,仅在x轴测量显示。
对于陀螺仪模型的默认参数模拟的理想信号。给定一个正弦输入,陀螺仪输出应该完全匹配。
PARAMS = gyroparams%生成N个样本在F与具有正弦频率的采样速率%FC的。N = 1000;Fs = 100;Fc = 0.25;t = (0: (1 / Fs): ((n - 1) / Fs)。”;acc = 0 (N, 3);angvel = 0 (N, 3);angvel(: 1) =罪(2 *π* Fc * t);IMU = imuSensor('采样率',FS,“陀螺仪”、参数);[〜,gyroData] = IMU(ACC,angvel);图图(吨,angvel(:,1),' - ',T,gyroData(:,1))xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“理想的陀螺仪数据”)图例(“×(地面实况)”,“×(陀螺仪)”)
分辨率Inf文件弧度/秒:PARAMS = gyroparams与属性:MeasurementRange 0(弧度/秒)/ LSB ConstantBias:[0 0 0]弧度/秒AxesMisalignment:[0 0 0]%NoiseDensity:[0 0 0](弧度/或多个)/√Hz的BiasInstability:[0 0 0]弧度/秒RandomWalk:[0 0 0](弧度/秒)*√Hz的TemperatureBias:[0 0 0](弧度/秒)/℃TemperatureScaleFactor:[0 00]%/℃AccelerationBias:[0 0 0](弧度/秒)/(米/秒²)
以下参数模拟硬件限制或缺陷。有些可以通过校准进行校正。
测量范围
确定陀螺仪报告的最大绝对值。较大的绝对值是饱和的。通过将测量范围设置为小于正弦地面真角速度振幅的值,可以显示出这种效果。
IMU = imuSensor('采样率',FS,“陀螺仪”、参数);imu.Gyroscope。MeasurementRange = 0.5;% rad /秒[〜,gyroData] = IMU(ACC,angvel);图图(吨,angvel(:,1),' - ',T,gyroData(:,1))xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“饱和陀螺仪数据”)图例(“×(地面实况)”,“×(陀螺仪)”)
决议
影响数字测量值的步长。使用此参数模型与模拟数字转换器(ADC)的量化效应。效果由参数提高到比典型大得多的值示出。
IMU = imuSensor('采样率',FS,“陀螺仪”、参数);imu.Gyroscope。决议= 0.5;%(弧度/秒)/ LSB[〜,gyroData] = IMU(ACC,angvel);图图(吨,angvel(:,1),' - ',T,gyroData(:,1))xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“量化陀螺仪数据”)图例(“×(地面实况)”,“×(陀螺仪)”)
AxesMisalignment
是传感器轴上的歪斜量。这种歪斜通常发生在传感器安装到PCB上,可以通过校准来纠正。这种效果是通过略微倾斜x轴并同时绘制x轴和y轴来显示的。
IMU = imuSensor('采样率',FS,“陀螺仪”、参数);imu.Gyroscope。轴向偏差= [2 0 0];% 百分[〜,gyroData] = IMU(ACC,angvel);图图(吨,angvel(:,1:2),' - ', t, gyroData(:,1:2)) xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“未对齐陀螺仪数据”)图例(“×(地面实况)”,'Y(地面实况)',...“×(陀螺仪)”,'Y(陀螺仪)')
ConstantBias
发生在传感器测量由于硬件缺陷。由于这种偏差不是由温度等环境因素造成的,因此可以通过校准来纠正。
IMU = imuSensor('采样率',FS,“陀螺仪”、参数);imu.Gyroscope.ConstantBias = [0.4 0 0];% rad /秒[〜,gyroData] = IMU(ACC,angvel);图图(吨,angvel(:,1),' - ',T,gyroData(:,1))xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“偏陀螺仪数据”)图例(“×(地面实况)”,“×(陀螺仪)”)
以下参数中的传感器测量值的随机噪声建模。这些参数的更多信息,可以在找到惯性传感器的噪声分析使用Allan方差的例子。
NoiseDensity
是传感器测量中白噪声的量。它有时被称为陀螺仪的角度随机行走或加速计的速度随机行走。
rng (“默认”) imu = imuSensor('采样率',FS,“陀螺仪”、参数);imu.Gyroscope。NoiseDensity= 1.25e-2;% (rad / s) /√(赫兹)[〜,gyroData] = IMU(ACC,angvel);图图(吨,angvel(:,1),' - ',T,gyroData(:,1))xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“白噪音陀螺仪数据”)图例(“×(地面实况)”,“×(陀螺仪)”)
BiasInstability
是在传感器测量粉红色或闪烁噪声的量。
IMU = imuSensor('采样率',FS,“陀螺仪”、参数);imu.Gyroscope。BiasInstability = 2.0依照;% rad /秒[〜,gyroData] = IMU(ACC,angvel);图图(吨,angvel(:,1),' - ',T,gyroData(:,1))xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“偏压不稳定陀螺仪数据”)图例(“×(地面实况)”,“×(陀螺仪)”)
RandomWalk
为传感器测量中布朗噪声的量。它有时被称为速率随机漫步的陀螺仪或加速度随机漫步的加速度计。
IMU = imuSensor('采样率',FS,“陀螺仪”、参数);imu.Gyroscope.RandomWalk = 9.1e-2;% (rad / s) * sqrt(赫兹)[〜,gyroData] = IMU(ACC,angvel);图图(吨,angvel(:,1),' - ',T,gyroData(:,1))xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“随机游走陀螺仪数据”)图例(“×(地面实况)”,“×(陀螺仪)”)
以下参数模拟传感器环境变化引起的噪声。
TemperatureBias
是由于温度与默认工作温度的差异而添加到传感器测量中的偏差。大多数传感器数据表列出的默认操作温度为25摄氏度。通过将参数设置为非零值并将操作温度设置为大于25摄氏度的值来显示这种偏差。
IMU = imuSensor('采样率',FS,“陀螺仪”、参数);imu.Gyroscope.TemperatureBias = 0.06;%(弧度/秒)/(℃)imu.Temperature = 35;[〜,gyroData] = IMU(ACC,angvel);图图(吨,angvel(:,1),' - ',T,gyroData(:,1))xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“温度偏压式陀螺仪数据”)图例(“×(地面实况)”,“×(陀螺仪)”)
TemperatureScaleFactor
是在传感器标度因子误差由于在操作温度变化。这会导致在测量的定标误差;换句话说较小理想值具有比较大的值误差更小。此错误是由线性增加的温度示出。
IMU = imuSensor('采样率',FS,“陀螺仪”、参数);imu.Gyroscope.TemperatureScaleFactor = 3.2;%%/(℃)standardTemperature = 25;%摄氏度temperatureSlope = 2;%(℃)/秒温度=温度ureslope *t +标准温度;gyroData = 0 (N, 3);对于I = 1:N = imu.Temperature温度(ⅰ);[〜,gyroData(I,:)] = IMU(ACC(I,:),angvel(I,:));结束图图(吨,angvel(:,1),' - ',T,gyroData(:,1))xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“Temperature-Scaled陀螺仪数据”)图例(“×(地面实况)”,“×(陀螺仪)”)
AccelerationBias
是添加到陀螺仪测量由于线性加速度偏差。此参数是特定的陀螺仪。这种偏压通过将参数设置为非零值,并使用一个非零输入加速度所示。
IMU = imuSensor('采样率',FS,“陀螺仪”、参数);imu.Gyroscope。AccelerationBias = 0.3;%(弧度/秒)/(米/秒^ 2)ACC(:,1)= 1;[〜,gyroData] = IMU(ACC,angvel);图图(吨,angvel(:,1),' - ',T,gyroData(:,1))xlabel(“时间(s)”)ylabel (“角速度(rad / s)”)标题(“Acceleration-Biased陀螺仪数据”)图例(“×(地面实况)”,“×(陀螺仪)”)