exponenta event banner

Оценка модели состояния-пространства

Оценка модели состояния пространства с использованием временных или частотных данных в редакторе Live Editor

Описание

Задача Оценка модели состояния-пространства (Estimate State-Space Model) позволяет в интерактивном режиме оценивать и проверять модель состояния-пространства с использованием временных или частотных данных. Можно определить и изменить структуру модели, а также указать дополнительные параметры, такие как обработка исходных условий и метод поиска. Задача автоматически генерирует код MATLAB ® для сценария в реальном времени. Дополнительные сведения о задачах Live Editor в целом см. в разделе Добавление интерактивных задач в сценарий Live .

Модели пространства состояний - это модели, которые используют переменные состояния для описания системы набором дифференциальных или дифференциальных уравнений первого порядка, а не одним или несколькими дифференциальными или дифференциальными уравнениями n-го порядка. Переменные состояния могут быть восстановлены из измеренных данных ввода-вывода, но сами по себе не измеряются во время эксперимента.

Структура модели state-space является хорошим выбором для быстрой оценки, поскольку она требует указания только одного входного сигнала, порядка модели. Дополнительные сведения об оценке состояния пространства см. в разделе Что такое модели состояния пространства?

Задача Оценка модели состояния-пространства не зависит от более общего приложения Идентификация системы. Используйте приложение Идентификация системы, когда требуется вычислить и сравнить оценки для нескольких структур модели.

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

Связанные функции

Код, генерируемый моделью «Оценка состояния-пространства», использует следующие функции.

Задача оценивает idss модель состояния-пространства.

Estimate State-Space Model task in Live Editor

Открыть задачу

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

  • На вкладке «Интерактивный редактор» выберите «Задача» > «Оценить модель состояния-пространства».

  • В блоке кода в сценарии введите соответствующее ключевое слово, например state, space, или estimate. Выбрать Estimate State Space Model из предложенных завершений команды.

Примеры

развернуть все

Используйте задачу Оценить состояние-пространство (Estimate State-Space Model Live Editor), чтобы оценить модель состояния-пространства и сравнить выходные данные модели с данными измерений.

Откройте этот пример, чтобы просмотреть предварительно настроенный сценарий, содержащий задачу.

Настройка данных

Загрузить данные измерений iddata1 в рабочую область MATLAB.

load iddata1 z1
z1
z1 =

Time domain data set with 300 samples.
Sample time: 0.1 seconds               
                                       
Outputs      Unit (if specified)       
   y1                                  
                                       
Inputs       Unit (if specified)       
   u1                                  
                                       

Импорт данных в задачу

В разделе «Выбор данных» задайте для параметра «Тип данных» значение Data Object и задайте для объекта оценки значение z1.

Объект данных содержит имена входных и выходных переменных, а также время выборки, поэтому указывать их не требуется.

Оценка модели с использованием настроек по умолчанию

Проверьте структуру модели и дополнительные параметры.

В разделе Указать структуру модели для заказа завода установлено значение по умолчанию: 4 и модель находится в непрерывной временной области. Уравнения под параметрами в этом разделе отображают указанную структуру.

В разделе Указать дополнительные параметры отображаются параметры по умолчанию для оценки состояния пространства.

Выполните задачу на вкладке Live Editor с помощью команды Выполнить. График отображает оценочные данные, оценочные выходные данные модели и процент аппроксимации.

Эксперимент с настройками параметров

Поэкспериментируйте с настройками параметров и посмотрите, как они влияют на посадку.

Например, в пункте Указать структуру модели (Specify model structure) выбрано поле Оценить возмущение (Estimate ristance), поэтому матрица возмущений K присутствует в уравнениях. Если очистить рамку, термин K исчезнет. Запустите обновленную конфигурацию и посмотрите, как изменяется посадка.

Измените значение параметра «Заказ на завод» на «Выбор наилучшего значения в диапазоне». Значение по умолчанию: 1:10.

При запуске модели на графике «Выбор порядка модели» отображается вклад каждого состояния в динамическое поведение модели. При исходных настройках задания для других параметров на графике отображается рекомендация 2 для порядка модели.

Примите эту рекомендацию, нажав кнопку «Применить», и узнайте, как это изменение влияет на вписывание.

Создать код

Для отображения кода, создаваемого задачей, щелкните в нижней части раздела параметров. Отображаемый код отражает текущую конфигурацию параметров задачи.

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

Откройте этот пример, чтобы просмотреть предварительно настроенный сценарий, содержащий задачу.

Настройка данных

Данные измерения нагрузки iddata1 в рабочую область MATLAB и проверьте ее содержимое.

load iddata1 z1
z1
z1 =

Time domain data set with 300 samples.
Sample time: 0.1 seconds               
                                       
Outputs      Unit (if specified)       
   y1                                  
                                       
Inputs       Unit (if specified)       
   u1                                  
                                       

Извлеките входные и выходные измерения.

u = z1.u;
y = z1.y;

Разбейте данные на два набора: половина для оценки и половина для проверки. Исходный набор данных содержит 300 выборок, поэтому каждый новый набор данных содержит 150 выборок.

u_est = u(1:150);
u_val = u(151:300);
y_est = y(1:150);
y_val = y(151:300);

Импорт данных в задачу

В разделе «Выбор данных» задайте для параметра «Тип данных» значение Time. Задать время выборки равным 0.1 секунд, которое является временем выборки в оригинале iddata объект z1. Выберите соответствующие наборы данных для оценки и проверки.

Оценка и проверка модели

В примере Оценка модели состояния-пространства с помощью задачи «Интерактивный редактор» (Estimate State-Space Model with Live Editor) рекомендуется порядок модели 2. Используйте это значение для заказа завода. Оставьте другие параметры значениями по умолчанию. Следует отметить, что входной канал относится не к набору входных данных, а к индексу канала в наборе входных данных, который для системы с одним входом всегда u1.

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

Соответствие данным оценки несколько хуже, чем в модели состояния-пространства оценки с задачей Live Editor. Оценка в текущем примере имеет только половину данных, с помощью которых можно оценить модель. Соответствие проверочным данным, которое представляет благость модели в более общем плане, лучше, чем соответствие оценочным данным.

Параметры

Выбор данных

Задача принимает числовые значения измерений, которые равномерно дискретизируются во времени. Входные и выходные сигналы могут содержать множество каналов. Данные могут быть упакованы в числовые массивы (для Time или Frequency) или в объекте данных, таком как iddata или idfrd объект.

Выбранный тип данных определяет необходимость указания дополнительных параметров.

  • Time - Укажите время образца и время начала в выбранных единицах времени.

  • Frequency - укажите частоту, выбрав имя переменной частотного вектора в рабочей области MATLAB. Укажите единицы измерения для этого частотного вектора. Укажите время выборки в секундах.

  • Data Object - не указывать дополнительные параметры, поскольку объект данных уже содержит информацию о временной или частотной выборке.

Выберите имена входных и выходных переменных из вариантов рабочей области MATLAB. Используйте эти параметры, когда тип данных имеет значение Time или Frequency.

Выберите имя переменной объекта данных из вариантов рабочей области MATLAB. Используйте этот параметр, если тип данных имеет значение Data Object.

Выберите имена входных и выходных переменных из вариантов рабочей области. Используйте эти параметры, когда тип данных имеет значение Time или Frequency. Указание данных проверки необязательно, но рекомендуется.

Выберите имя переменной объекта данных из вариантов рабочей области MATLAB. Используйте этот параметр, если тип данных имеет значение Data Object. Указание данных проверки необязательно, но рекомендуется.

Задание структуры модели

Задача позволяет указать одно значение или диапазон значений для порядка оценки модели.

  • Specify value - явно указать порядок модели.

  • Pick best value in range - Укажите диапазон значений, например: 1:10. При выполнении задачи график сингулярного значения Ханкеля визуализирует относительный вклад энергии каждого состояния в расчетной модели и рекомендует наименьший порядок воспроизведения критического динамического поведения. Выполните эту рекомендацию или выберите другой заказ в поле Выбранный заказ. Нажмите кнопку Применить (Apply), чтобы принять заказ модели и продолжить.

Выберите модель непрерывного или дискретного времени.

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

Для каждого входного канала назначьте значения «Входная задержка» и «Транзитный канал».

  • Входной канал (Input Channel) - выберите входной канал. Входной канал всегда имеет вид ui, где i - i-й канал входа u.

  • Входная задержка (Input Delay) - введите входную задержку в количестве выборок (модель дискретного времени) или в количестве единиц времени (модель непрерывного времени) для канала. Например, задать 0,2-секундную задержку на входе для системы непрерывного времени, для которой единицей времени является milliseconds, введите 200.

  • Проход (Feedthrough) - выберите эту опцию для оценки прохода канала от входа к выходу. При выборе этой опции уравнения модели обновляются для отображения элемента Du.

Указать дополнительные параметры

Fit focus указывает, какую ошибку следует минимизировать в функции потерь во время оценки.

  • Prediction - Минимизация ошибки одношагового прогнозирования между измеренными и прогнозируемыми выходами. Этот подход оценки фокусируется на создании хорошей модели предсказателя для входных и выходных данных оценки. Фокус прогнозирования обычно дает наилучшие результаты оценки, поскольку он использует как входные, так и выходные измерения, тем самым учитывая возмущения.

  • Simulation - Минимизация погрешности между измеренными и моделируемыми выходами. Этот подход оценки фокусируется на получении смоделированной реакции модели, которая хорошо соответствует входным и выходным данным оценки. Фокус моделирования, как правило, лучше всего подходит для проверки, особенно с наборами данных, не используемыми для первоначальной оценки.

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

  • Zero - Начальное состояние устанавливается равным нулю.

  • Estimate - Исходное состояние рассматривается как независимый оценочный параметр.

  • Backcast - Начальное состояние оценивается с использованием наилучшего вписывания наименьших квадратов.

Входная интерсампляция является свойством входных данных. Задача использует это свойство при оценке непрерывных моделей. Укажите интерсамплинг ввода, когда тип данных Time или Frequency. При использовании iddata объект уже содержит информацию о промежуточной выборке. Варианты для этого свойства:

  • Zero-order hold - Кусочно-постоянный входной сигнал между образцами

  • Triangle approximation - Кусочно-линейный входной сигнал между выборками, также известный как удержание первого порядка

  • Band-limited - Входной сигнал имеет нулевую мощность выше частоты Найквиста

  • Auto - Для каждой итерации программное обеспечение циклически использует методы, пока не найдет первое направление спуска, что приводит к снижению стоимости оценки.

  • Gauss-Newton - Подпространство поиска наименьших квадратов Гаусса-Ньютона.

  • Levenberg-Marquardt - поиск наименьших квадратов Левенберга-Марквардта.

  • Adaptive Gauss-Newton - адаптивный подпространственный поиск Гаусса-Ньютона.

  • Gradient Search - Поиск самых крутых спускаемых наименьших квадратов.

Установка максимального количества итераций во время минимизации ошибок. Итерации прекращаются, когда Макс. Достигнуты итерации или удовлетворен другой критерий остановки, например Допуск (Tolerance).

Если процент ожидаемого улучшения меньше, чем Допуск (Tolerance), итерации прекращаются.

Установите эту опцию, если требуется применить весовой предварительный фильтр к функции потерь, которую задача сводит к минимуму при оценке модели. При выборе опции необходимо также выбрать связанную переменную в рабочей области, содержащую информацию о фильтре. Доступные параметры зависят от области данных.

Весовой предварительный фильтрData DomainСведения о фильтре
No FilterВремя и частота 
PassbandsВремя и частотаДиапазоны полосы пропускания, задаваемые как вектор строки 1 на 2 или матрица n на 2, где n - число полос пропускания.
LTI FilterВремя и частотаМодель LTI SISO.
Frequency Weights VectorЧастотаЧастотные веса, определяемые как вектор-столбец с той же длиной, что и частотный вектор.
Inverse of magnitude of the frequency responseЧастотная характеристикаВесовой фильтр is1/| G (λ) |, где G (λ) - комплексные частотно-характеристические данные. Только системы SISO и SIMO.
Inverse of square root of magnitude of the frequency responseЧастотная характеристикаВесовой фильтр равен 1/| G (λ) |. Только системы SISO и SIMO.

Например, предположим, что выполняется оценка с использованием данных частотной области SISO и что в рабочей области MATLAB имеется вектор столбца. W содержит весовые коэффициенты частоты для предварительного фильтра. В задании выберите Весовой предварительный фильтр > Вектор весов частоты и переменная W.

Визуализация результатов

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

См. также

| | | | | | (Панель инструментов системы управления)

Представлен в R2019b