Моделирование сигнала гироскопа в Matlab R2018b.

Обсуждение вопросов, связанных с другими тулбоксами

Модератор: Admin

XimXim
Пользователь
Сообщения: 4
Зарегистрирован: Чт ноя 22, 2018 10:24 am

Моделирование сигнала гироскопа в Matlab R2018b.

Сообщение XimXim » Чт ноя 22, 2018 10:30 am

Добрый день!

В релизе 2018b появилась очень классная штука - Sensor Fusion and Tracking Toolbox. В его составе есть imuSensor и gyroparams, при помощи которых можно смоделировать сигнал гироскопа с заданными характеристиками.
Пытаюсь смоделировать сигнал реально существующего датчика по параметрам в его спецификации и у меня возникают вопросы.

Датчик VG103LN фирмы Физоптика. В спецификации указан параметр bias instability = 1 deg/hour.

Вот что я пытаюсь сделать:

Код: Выделить всё

% Frequency = 100Hz
F = 100;
dT = 1/F;
% 1 hour of data
N = 3600*F;

% VG103LN
bias_instability = 1.0;  % deg/h
bias = 0.0;              % deg/s

B = degtorad(bias);                     % rad/s
BI = degtorad(bias_instability/3600.0); % convert to rad/s

VG103LN_params = gyroparams;

acc = zeros(N, 3);
angvel = zeros(N, 3);

VG103LN_params.ConstantBias(1) = B;
VG103LN_params.ConstantBias(2) = B;
VG103LN_params.ConstantBias(3) = B;

VG103LN_params.BiasInstability(1) = BI;
VG103LN_params.BiasInstability(2) = BI;
VG103LN_params.BiasInstability(3) = BI;

imu = imuSensor('SampleRate', F, 'Gyroscope', VG103LN_params);
[~, gyroData] = imu(acc, angvel);

Wx = radtodeg(gyroData(:, 1));
Wy = radtodeg(gyroData(:, 2));
Wz = radtodeg(gyroData(:, 3));


Получаю сигнал. Затем пытаюсь оценить параметр Bias Instability. Использую методику, предложенную производителем датчика.

Код: Выделить всё

% Bias InStability Estimation
% Fizoptika Method

% 20 minutes of data
Wx_20min = Wx(1:120000);
Wy_20min = Wy(1:120000);
Wz_20min = Wz(1:120000);

N = 1000;

% Calc mean of every 10 sec interval
WxSamples = accumarray(ceil((1:numel(Wx_20min))/N)',Wx_20min(:),[],@mean);
WySamples = accumarray(ceil((1:numel(Wy_20min))/N)',Wy_20min(:),[],@mean);
WzSamples = accumarray(ceil((1:numel(Wz_20min))/N)',Wz_20min(:),[],@mean);

WxBIEstimated = std(WxSamples)*3600.0;
WyBIEstimated = std(WySamples)*3600.0;
WzBIEstimated = std(WzSamples)*3600.0;


Я полагаю, что должен получить что-то похожее на 1 градус в час. Однако я получаю что-то около 0.06 град/час. Понимаю, что модель есть модель, но как-то слишком далеко от ожидаемого.

Я что-то не так делаю? Вроде бы с единицами измерения всё нормально. Градусы в час для Bias instability перевожу в радианы в секунду как того требует документация на gyroparams. Далее получаю угловую скорость в радианах/сек и перевожу её в градусы/сек.

Вопросы следующие:
1. Я корректно задаю параметр bias instability для моего сенсора?
2. Можно ли задавать только один параметр или нужно задать что-то ещё?
3. Подходит ли используемый мной метод для оценки bias instability?

barkot
Пользователь
Сообщения: 61
Зарегистрирован: Вс янв 14, 2018 2:28 pm

Re: Моделирование сигнала гироскопа в Matlab R2018b.

Сообщение barkot » Сб ноя 24, 2018 3:00 pm

XimXim писал(а): пытаюсь оценить параметр Bias Instability. Использую методику, предложенную производителем датчика.
...
Можно ли задавать только один параметр или нужно задать что-то ещё?

Вероятно следует задать параметр
VG103LN_params.NoiseDensity(1:3) = 6e-6; % rad/s/√Hz % 0,02 град/√час
Где можно посмотреть методику Физоптики ?

XimXim
Пользователь
Сообщения: 4
Зарегистрирован: Чт ноя 22, 2018 10:24 am

Re: Моделирование сигнала гироскопа в Matlab R2018b.

Сообщение XimXim » Сб ноя 24, 2018 11:34 pm

Где можно посмотреть методику Физоптики ?

Методику Физоптики можно посмотреть в ТУ на их датчики. Например вот здесь - https://www.fizoptika.ru/docs/fizoptika_doc95.pdf
В пункте 3.5 у них написано следующее:
Стабильность сдвига нуля при постоянной температуре определяется как СКО, вычисленное по 120 значениям
выходного сигнала неподвижного датчика с 10 секундным временем усреднения каждого отсчета при
фиксированной температуре.

Что я и пытаюсь делать. Выделяю 20 минут данных, формирую 120 отсчётов с 10 секундным временем усреднения и нахожу СКО.
Вероятно следует задать параметр
VG103LN_params.NoiseDensity(1:3) = 6e-6; % rad/s/√Hz % 0,02 град/√час


Попробовал задать NoiseDensity как вы и советовали. Стало ближе к заданному мной значению, но всё равно до 1 град/час ещё далеко. Получилось что-то около 0.3 град/час.
Результат изменился. Т.е. я неправильно моделировал сигнал получается?

NoiseDensity это у них ARW насколько я понял из описания gyroparams и примеров.
А ещё есть такой параметр как Rate Random Walk. Если его изменять, то оценочное значение bias instability также меняется.
А последний параметр производители редко указывают в спецификациях. По крайней мере для датчиков Физоптики я такого не видел.

И что же получается, я не могу задать какой-то один параметр (скажем тот же bias instability) и затем оценить величину этого параметра в выходном сигнале? И также я не смогу оценить влияние конкретной ошибки на результат (рассчитанный угол)?

barkot
Пользователь
Сообщения: 61
Зарегистрирован: Вс янв 14, 2018 2:28 pm

Re: Моделирование сигнала гироскопа в Matlab R2018b.

Сообщение barkot » Пн ноя 26, 2018 10:01 am

XimXim писал(а):И что же получается, я не могу задать какой-то один параметр (скажем тот же bias instability) и затем оценить величину этого параметра в выходном сигнале? И также я не смогу оценить влияние конкретной ошибки на результат (рассчитанный угол)?

В ПРАКТИЧЕСКОм РУКОВОДСТВе "Миниатюрный датчик вращения ВГ103ПТ"
https://www.fizoptika.ru/docs/fizoptika_doc51.pdf
имеется информация о слагаемых "сдвига" выходного сигнала. Наибольший стабильный сдвиг выходного сигнала обусловлен температурным смещением сигнала электроники. В нормальных условиях типичное значение смещения 0,1 мВ, что в пересчете дает (bias) 0.02 град/c (или 72 град/час !!!). Температурный коэффициент сдвига нуля (макс) 4 мкВ/оС при перепаде 50оС дает еще 0,2 мВ (0.04 град/с). Также имеет значение влияние температуры на масштабный коэффициент датчика: температурный коэффициент МК (макс) = 0,1%/оС. Очевидно эти факторы в наибольшей степени повлияют на результат вычисления угла по данным скорости датчика ВГ103ПТ .

XimXim
Пользователь
Сообщения: 4
Зарегистрирован: Чт ноя 22, 2018 10:24 am

Re: Моделирование сигнала гироскопа в Matlab R2018b.

Сообщение XimXim » Вт ноя 27, 2018 12:58 pm

Наверное я не совсем понятно описал ситуацию.

Когда вы говорите про сдвиг нуля (именно статический сдвиг / константа), масштабник и температурную зависимость, то говорите про систематические ошибки. Эти ошибки устраняются в ходе калибровки датчиков. Плюс-минус. Я же использую модель для оценки случайных ошибок. Bias Instability, ARW и Rate random walk таковыми и являются.
Насколько я понимаю, полностью устранить их невозможно.

Так вот влияние именно этих трёх параметров я и пытался посмотреть и оценить вклад каждого в величину финальной ошибки.
Начать решил с Bias Instability, так как это чуть ли не главный параметр при выборе гироскопа.

barkot
Пользователь
Сообщения: 61
Зарегистрирован: Вс янв 14, 2018 2:28 pm

Re: Моделирование сигнала гироскопа в Matlab R2018b.

Сообщение barkot » Ср ноя 28, 2018 9:09 am

Модель погрешности ВОГ на базе экспериментальных данных
http://www.novsu.ru/vestnik/vestnik/i.7 ... le=1025054

XimXim
Пользователь
Сообщения: 4
Зарегистрирован: Чт ноя 22, 2018 10:24 am

Re: Моделирование сигнала гироскопа в Matlab R2018b.

Сообщение XimXim » Ср ноя 28, 2018 10:37 am

Большое спасибо!
В принципе я уже получил ответ на вопросы, которые задал в первом посте.
Материал по ссылке изучу.