ucover

Подгонка неопределенной модели к набору откликов LTI

Описание

пример

usys = ucover(Parray,Pnom,ord) возвращает неопределенную модель usys с номинальным значением Pnom и область значений поведения включает все отклики в массиве LTI Parray. Неопределенная структура модели имеет вид usys=Pnom(I+W(s)Δ(s)), где:

  • И это a ultidyn объект, который представляет неопределенную динамику с единичным пиковым усилением.

  • W является стабильным, минимально-фазовым формирующим фильтром порядка ord который корректирует величину неопределенности на каждой частоте. Для Pnom MIMO, W является диагональным, с порядками диагональных элементов, заданными ord.

usys = ucover(Parray,Pnom,ord1,ord2,utype) возвращает неопределенную модель со структурой, заданной utype.

  • utype = 'InputMult' - Входной мультипликативный вид, в котором usys = Pnom*(I + W1*Delta*W2)

  • utype = 'OutputMult' - Выводит мультипликативную форму, в которой usys = (I + W1*Delta*W2)*Pnom

  • utype = 'Additive' - Аддитивная форма, в которой usys = Pnom + W1*Delta*W2

Delta представляет неопределенную динамику с единичным пиковым усилением, и W1 и W2 являются диагональными, стабильными, минимально-фазовыми формирующими фильтрами с порядками, заданными ord1 и ord2, соответственно.

[usys,info] = ucover(Parray,___) возвращает структуру info который содержит информацию о подгонке. Можно использовать этот синтаксис с любой из предыдущих комбинаций входных аргументов.

[usys,info] = ucover(Pnom,info_in,ord1,ord2) улучшает подгонку, используя начальные значения фильтра в info результат. Поставка новых порядков ord1 и ord1 для W1 и W2. Когда вы пробуете другие порядки фильтра, чтобы улучшить результат, этот синтаксис ускоряет итерацию, позволяя вам повторно использовать ранее вычисленную информацию.

Примеры

свернуть все

Подгонка неопределенной модели к массиву откликов LTI. Откликами могут быть, например, результаты нескольких запусков, чтобы получить данные частотной характеристики от физической системы.

В данном примере сгенерируйте данные частотной характеристики путем создания массива моделей LTI и дискретизации частотной характеристики этих моделей.

Pnom = tf(2,[1 -2]);
p1 = Pnom*tf(1,[.06 1]); 
p2 = Pnom*tf([-.02 1],[.02 1]); 
p3 = Pnom*tf(50^2,[1 2*.1*50 50^2]); 
array = stack(1,p1,p2,p3);
Parray = frd(array,logspace(-1,3,60));

Данные частотной характеристики в Parray представляет три отдельных эксперимента по сбору данных в системе.

Постройте график относительных погрешностей между номинальной характеристикой объекта управления и тремя моделями в массиве LTI.

relerr = (Pnom-Parray)/Pnom;
bodemag(relerr)

Figure contains an axes. The axes contains 3 objects of type line. This object represents relerr.

Если вы используете мультипликативную структуру модели неопределенности, необходимо, чтобы величина формирующего фильтра соответствовала максимальной относительной погрешности на каждой частоте. Используйте это требование, чтобы помочь выбрать порядок формирования фильтра. Сначала попробуйте фильтр формирования первого порядка.

[P,Info] = ucover(Parray,Pnom,1);

P является неопределенным пространством состояний (uss) модель, которая захватывает неопределенность как ultidyn блок неопределенной динамики.

P.Uncertainty
ans = struct with fields:
    Parray_InputMultDelta: [1x1 ultidyn]

The Info структура содержит другую информацию о подгонке, включая полученный фильтр формирования, Info.W1. Постройте график отклика, чтобы увидеть, насколько хорошо формирующий фильтр соответствует относительным погрешностям.

W = Info.W1;
bodemag(relerr,'b--',W,'r',{0.1,1000});

Figure contains an axes. The axes contains 4 objects of type line. These objects represent relerr, W.

График показывает, что фильтр W является слишком консервативным и превышает максимальную относительную погрешность на большинстве частот. Чтобы получить более плотную подгонку, перезапустите функцию с помощью фильтра четвертого порядка.

[P,Info] = ucover(Parray,Pnom,4);

Рассчитать подгонку можно путем построения графика величины Боде.

W = Info.W1;
bodemag(relerr,'b--',W,'r',{0.1,1000});

Figure contains an axes. The axes contains 4 objects of type line. These objects represent relerr, W.

Этот график показывает, что для фильтра четвертого порядка, величина W тесно соответствует самой большой ошибке, получая минимальную неопределенность, которая захватывает все изменения.

Входные параметры

свернуть все

Массив моделей для покрытия динамически неопределенной моделью, заданный как массив моделей LTI, таких как tf, ss, zpk, или frd модели.

Номинальная модель неопределенной модели, заданная как модель LTI, такая как tf, ss, zpk, или frd модель.

Порядок фильтра, заданный в виде целого числа, вектора или []. Значения в ord задайте количество состояний каждого диагонального элемента формирующего фильтра W. Задайте ord как:

  • Одно целое число для SISO Pnom, или использовать скалярный фильтр W для Pnom MIMO.

  • Вектор длины, равный количеству выходов в Pnom, чтобы задать различные порядки для каждого диагонального элемента W.

  • [], для установки W = 1.

Фильтруйте порядки, заданные в виде целых чисел, векторов или []. Значения в ord1 и ord2 задайте количество состояний каждого диагонального элемента формирующих фильтров W1, и W2, соответственно. Задайте ord1 и ord2 как:

  • Одно целое число, для использования скалярных фильтров для W1 и W2.

  • Вектор, для задания различных порядков для каждого диагонального элемента W1 и W2. Длины этих векторов зависят от модели неопределенности, в которой вы задаете utype. В следующей таблице приведены длины, где Pnom имеет Nu входы и Ny выходы.

    utypelength(ord1)length(ord2)
    'InputMult'NuNu
    'OutputMult'NyNy
    'Additive'NyNu
  • [], для установки W1 = 1 или W2 = 1.

Модель неопределенности, заданная как одно из следующего.

  • 'InputMult' - Входной мультипликативный вид, в котором usys = Pnom*(I + W1*Delta*W2)

  • 'OutputMult' - Выводит мультипликативную форму, в которой usys = (I + W1*Delta*W2)*Pnom

  • 'Additive' - Аддитивная форма, в которой usys = Pnom + W1*Delta*W2

Delta представляет неопределенную динамику с единичным пиковым усилением, и W1 и W2 являются диагональными, стабильными, минимально-фазовыми формирующими фильтрами с порядками, заданными ord1 и ord2, соответственно.

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

Для моделей SISO входная и выходная мультипликативная неопределенность эквивалентны. Для систем MIMO с большими выходами, чем входы, входная мультипликативная структура может быть слишком ограничительной и может не охватывать надлежащим образом область значений моделей.

Подробности из предыдущего ucover run, заданный как структура, сгенерированная как info выход предыдущего запуска. Используйте этот вход при вызове ucover итеративно улучшать результаты подгонки, пробуя различные порядки фильтра.

Выходные аргументы

свернуть все

Неопределенная модель, возвращенная как uss или ufrd модель. Возвращенная модель является uss модель, если только Parray или Pnom являются данными частотной характеристики (frd) модели, в каком случае usys является ufrd модель.

usys имеет один неопределенный элемент, ultidyn блок с именем, заданным в DeltaName поле info выходной аргумент.

Информация о подгонке, возвращенная как структура, содержащая следующие поля.

ОбластьЗначение
W1

Установленный фильтр формирования W или W1, возвращается как пространство состояний (ss) модель.

W2

Установленный фильтр формирования W2, возвращается как пространство состояний (ss) модель.

W1opt

W или W1 оценивается на частотной сетке, возвращается как frd модель.

W2opt

W2 оценивается на частотной сетке, возвращается как frd модель.

Ord1

Порядки диагональных элементов W или W1, возвращенный как скаляр или вектор. Эти значения являются значениями, которые вы поставляете с ord или ord1 входной параметр.

Ord2

Порядки диагональных элементов W2, возвращенный как скаляр или вектор. Эти значения являются значениями, которые вы поставляете с ord2 входной параметр.

Type

Модель неопределенности, используемая для подгонки, возвращенная как 'InputMult', 'OutputMult', или 'Additive'.

DeltaName

Имя ultidyn блок usys который представляет модель неопределенности Delta, возвращенный как вектор символов.

Residual

Невязки подгонка, возвращенные как массив frd модели с теми же измерениями массива, что и Parray.

Алгоритмы

ucover подходит для характеристик моделей LTI в Parray путем моделирования погрешностей между Parray и номинальный ответ Pnom как неопределенность в динамике системы. Чтобы смоделировать частотное распределение этой немоделированной динамики, ucover измеряет разрыв между Pnom и Parray на каждой частоте в сетке и выбирает формирующие фильтры, величина которых аппроксимирует максимальную погрешность.

Чтобы спроектировать минимально-фазовые формирующие фильтры W1 и W2, ucover команда выполняет два шага:

  1. Вычислите оптимальные значения W1 и W2 на частотной сетке.

  2. Подгонка W1 и W2 значений с динамическими фильтрами заданных порядков с помощью fitmagfrd.

Структура модели usys=Pnom(I+W(s)Δ(s)) который вы получаете используя usys = ucover(Parray,Pnom,ord) соответствует W1 = W и W2 = 1.

Например, следующий рисунок показывает относительный промежуток между номинальным откликом и шестью откликами LTI, окаймленными с помощью формирующего фильтра второго порядка и фильтра четвертого порядка.

Если вы используете синтаксис одного фильтра usys = ucover(Parray,Pnom,ord), программное обеспечение устанавливает неопределенность на W*Delta, где Delta является ultidyn объект, который представляет неопределенную динамику с единичным усилением. Поэтому величина неопределенности на каждой частоте задается величиной W и тесно отслеживает зазор между Pnom и Parray. На приведенном выше рисунке фильтр четвертого порядка отслеживает максимальную погрешность более тесно и, следовательно, приводит к менее консервативной оценке неопределенности.

Введенный в R2009b