exponenta event banner

Подгонка линии с интерактивной рекурсивной оценкой наименьших квадратов

В этом примере показано, как выполнить оперативную оценку параметров для подгонки линии с использованием алгоритмов рекурсивной оценки в командной строке MATLAB. Вы регистрируете изменяющееся во времени поведение гидравлического клапана бесступенчатой трансмиссии.

Физическая система

Система представляет собой бесступенчатую трансмиссию (CVT), приводимую в действие гидравлическим клапаном, вдохновленным ссылкой [1]. Давление клапана соединено с вариатором, что позволяет ему изменять соотношение оборотов и передавать крутящий момент от двигателя к колесам. Поведение ввода-вывода клапана может быть аппроксимировано:

y (t) = k (t) u (t) + b (t) для - b (t) k (t) <u≤1

Здесь t - текущее время, y (t) - давление клапана в бар, u (t) - безблочный вход в диапазоне [0, 1]. Условие -bk < u представляет собой мертвую полосу клапана.

Наклон, k (t) и смещение, b (t), зависят от температуры системы. Они изменяются по мере прогрева системы от холодного пуска до обычной рабочей температуры. Вы хотите оценить k (t) и b (t) на основе шумных измерений u (t) и y (t).

Данные

Истинные параметры наклона и смещения равны k (0) = 70 и b (0) = -15 в момент времени t = 0s. При t = 50s запускается двигатель. Параметры изменяются с течением времени до достижения k (950) = 50 и b (950) = -13 при t = 950s. Время выборки Ts = 0,1 с.

Содержание входного сигнала u является критическим для оценки параметров. Рассмотрим случай, когда u и, следовательно, y является постоянным. Тогда существует бесконечно много k и b значений, которые удовлетворяют y = k u + b. u (t) должно постоянно возбуждать систему для успешной оценки k (t) и b (t). В этом примере вход u:

  • равно нулю от t = 0s до t = 50s.

  • шаг изменяется на 0,40, 0,45, 0,50, 0,55, 0,60, 0,55, 0,50, 0,45, 0,40 каждые 100 с, от t = 50 до t = 950.

  • гауссова случайная величина с нулевым средним значением, 0,02 стандартное отклонение добавлялось на каждом временном шаге от t = 50s до t = 950s для обеспечения дополнительного возбуждения динамики системы для целей идентификации.

Выходной сигнал генерируется с вышеупомянутыми истинными значениями k (t), b (t) вместе с входным сигналом u (t), используя y (t) = k (t) u (t) + b (t) + e (t). e (t), шум измерения, является случайной величиной Гаусса с нулевым средним и стандартным отклонением 0,05.

load LineFittingRLSExample u y k b t;
figure();
subplot(2,1,1);
plot(t,u);
ylabel('Input signal, u, [unitless]');
subplot(2,1,2);
plot(t,y);
ylabel('Valve pressure, y, [bar]');
xlabel('Time [s]');

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

Интерактивная оценка параметров с использованием рекурсивных наименьших квадратов

Запишите модель ввода-вывода клапана с помощью векторной записи:

y (t) = k (t) u (t) + b (t) + e (t) = [u (t) 1] [k (t) b (t)] T + e (t) = H (t) x (t) + e (t)

где H (t) = [u (t) 1] - регрессоры, а x = [k (t) b (t)] T - параметры, подлежащие оценке. e (t) - неизвестный шум. Для создания объекта System для оценки параметров в режиме онлайн используется команда recurforemedLS estimation. Затем команда step используется для обновления оценок параметров x (t) на каждом временном шаге на основе H (t) и y (t).

Указываются следующие свойства рекуррентного системного объекта LS:

  • Количество параметров: 2.

  • Метод определения: 'ForgedFactor' (по умолчанию). Этот метод имеет только один скалярный параметр, ForgingFactor, который требует ограниченной предшествующей информации относительно значений параметров.

  • Коэффициент забывчивости: 0,95. Ожидается, что параметры будут изменяться с течением времени, следовательно, менее 1. 11-λ = 20 - количество прошлых выборок данных, которые больше всего влияют на оценки.

  • InitiveParameters: [70; -15], начальное предположение для значений параметра. Необязательно, но рекомендуется для уменьшения начальных переходных процессов.

  • InitiveParameterCovariance: ваша оценка неопределенности в начальной догадке параметра. Установите для него малое значение, 1% от абсолютного значения начальных параметров, если есть уверенность в исходных предположениях параметров. Необязательно, но рекомендуется, особенно при указании InitityParameters. Это используется только с методами оценки ForgedFactor и KalmanFilter.

X = recursiveLS(2,... % 2=number of estimated parameters
    'EstimationMethod','ForgettingFactor',...
    'ForgettingFactor',0.95,...
    'InitialParameters',[70; -15],...
    'InitialParameterCovariance',[0.7 0.15]);

Этот пример моделирует работу оценщика в режиме реального времени путем предоставления одной пары (y (t), H (t)) оценщику одновременно. Вызовите команду step для обновления параметров каждой новой пары. Адаптация параметров активируется только тогда, когда вход u находится вне мертвой полосы (u > 0,3).

theta = zeros(numel(u),2);
yHat = zeros(numel(u),1);
PHat = zeros(numel(u),2,2);
for kk=1:numel(u)
    % enable parameter estimation only when u is outside the dead-band
    if u(kk)>=0.3 
        X.EnableAdaptation = true();
    else
        X.EnableAdaptation = false();
    end
    [theta(kk,:),yHat(kk)] = step(X,y(kk),[u(kk) 1]); % get estimated parameters and output
    PHat(kk,:,:) = X.ParameterCovariance; % get estimated uncertainty in parameters
    % perform any desired tasks with the parameters
end

Расчетные параметры

Истинные и оценочные значения параметров:

figure();
subplot(2,1,1);
plot(t,theta(:,1),t,k); % Estimated and real slope, respectively
ylabel('Slope');
xlabel('Time');
ylim([49 71]);
legend('Estimated','Real','Location','Best');
subplot(2,1,2);
plot(t,theta(:,2),t,b); % Estimated and real offset, respectively
ylabel('Offset');
xlabel('Time');
ylim([-15.25 -12.75]);

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent Estimated, Real. Axes 2 contains 2 objects of type line.

Проверка расчетной модели

Оценщик предоставляет следующие два инструмента для оценки качества оценок параметров:

  1. Выходная оценка (t): второй выходной аргумент метода step - (t) = H (t) xˆ (t). Относительная и абсолютная погрешность между y и yˆ являются показателями благости посадки.

  2. Оценка ковариации параметра (t): Это доступно с алгоритмами ForgedFactor и KalmanFilter. Он хранится в свойстве ParameterCovarityMatrix оценщика. Диагонали являются оценочными дисперсиями параметров. Чем ниже, тем лучше.

Измерение выходного сигнала и его оценка, а также соответствующие абсолютные и относительные ошибки при включении двигателя:

engineOn = t>50 & t<950;
figure();
subplot(2,1,1);
absoluteError = y-yHat;
plot(t(engineOn),absoluteError(engineOn));
ylim([-0.15 0.15]);
ylabel('Abs. Error [bar]');
subplot(2,1,2);
relativeError = (y-yHat)./y;
plot(t(engineOn),relativeError(engineOn));
ylim([-0.025 0.025]);
ylabel('Rel. Error [unitless]');
xlabel('Time [s]');

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

Абсолютные погрешности составляют около 0,1 бар. Относительные ошибки ниже 2%. Оба количества небольшие.

Диагонали ковариационной матрицы параметров, масштабированные дисперсией остатков y (t) - (t), захватывают дисперсии оценок параметров. Квадратным корнем отклонений являются стандартные отклонения оценок параметров.

noiseVariance = var(y(engineOn)-yHat(engineOn));
figure();
subplot(2,1,1);
hold on;
plot(t,sqrt(PHat(:,1,1)*noiseVariance));
ylim([0 1]);
ylabel('Std. dev. of slope k');
subplot(2,1,2);
plot(t,sqrt(PHat(:,2,2)*noiseVariance));
ylim([0 1]);
ylabel('Std. dev. of offset b');
xlabel('Time [s]');
hold on;

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

Стандартное отклонение наклона k колеблется около 0,7. Это мало относительно диапазона значений k [50, 70]. Это дает уверенность в оценках параметров. Ситуация аналогична смещению b, которое находится в диапазоне [-15 -13].

Следует отметить, что стандартные отклонения параметров также являются оценочными. Они основаны на предположении, что остатки y (t) - (t) являются белыми. Это зависит от способа оценки, связанных с ним параметров, структуры оцененной модели и входного сигнала u. Различия между предполагаемой и фактической структурой модели, отсутствие постоянного входного возбуждения или нереалистичные настройки метода оценки могут привести к чрезмерно оптимистичным или пессимистичным оценкам неопределенности.

Резюме

Аппроксимация линии выполняется с использованием рекурсивных наименьших квадратов для фиксации изменяющегося во времени поведения ввода-вывода гидравлического клапана. Вы оценили качество посадки, посмотрев на два сигнала: погрешность между расчетным и измеренным выходом системы и оценку ковариации параметра.

Ссылки

[1] Готье, Жан-Филипп и Филипп Мико. «Регуляризованные РЛС и ДХОБЕ: адаптивная обратная связь для электромагнитного клапана». Технология систем управления, транзакции IEEE 20.5 (2012): 1311-1318

См. также

| | | | | | | | | | |

Связанные темы