Уменьшайте быструю динамику

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

Почему уменьшают быструю динамику

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

Анализ частотной характеристики

Частотная характеристика описывает установившийся ответ системы к синусоидальным входным параметрам. Для линейной системы синусоидальный вход приводит к выходу, который является синусоидой с той же частотой, ω, но с различной амплитудой и фазой, θ.

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

Анализ полюса

Быстрые полюса также показательны из быстрой динамики. Быстрые полюса являются полюсами, которые отвечают или колеблются быстро. Полюса, которые имеют действительные компоненты, которые далеки слева от мнимой оси на комплексной плоскости, имеют быструю скорость ответа. Комплексные пары полюса, которые имеют мнимые компоненты, которые далеки от вещественной оси, колеблются быстро. Например, действительный полюс в-1500 имеет более быструю скорость ответа, чем действительный полюс в-1000 и комплексная пара полюса в-500 ± 1500i имеют более быструю скорость колебания, чем комплексная пара полюса в-500 ± 500i.

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

Линеаризуйте модель

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

  1. Откройте и исследуйте модель. В MATLAB® командная строка, введите:

    %% Open the model
    open_system('ssc_hydraulic_actuator_digital_control')

    В дополнение к генерации сигнала, операции, маршрутизации и блокам визуализации, модель содержит эти блоки:

    • Блок Controller — A Transfer Fcn, который задает непрерывное представление времени системы управления. Функция обратного вызова для модели сохраняет числитель, num, и знаменатель, den, передаточной функции как переменные в рабочей области.

    • — Блок Transport Delay, чтобы представлять задержки, сопоставленные вычислительной задержкой и функцией производить-и-содержать при развертывании реализации дискретного времени непрерывной системы управления времени.

    • Linearization I/O points — Подсистема, которая позволяет вам конфигурировать систему как замкнутый цикл, для обрезки, или как разомкнутый контур, для линеаризации. Функция обратного вызова для модели конфигурирует систему как замкнутый цикл установкой ClosedLoop к 1 в рабочей области.

    • Hydraulic Actuator — Подсистема, которая содержит физическую модель объекта.

  2. Найдите подходящую рабочую точку для линеаризации системы. Симулируйте модель, извлеките данные из узлов логгирования Simscape™, затем постройте и исследуйте результаты.

     Скрипт для симуляции модели и графического вывода результатов

    Пользовательский двухсторонний клапан открыт, когда время симуляции, t, составляет 2–3 секунды.

  3. Обрежьте модель. Выполните симуляцию с обратной связью, с помощью t = 2,5 секунды, когда клапан будет открыт для рабочей точки.

     Скрипт для обрезки модели

  4. Линеаризуйте настройку разомкнутого контура непрерывной модели времени и сохраните переменные состояния, a, b, c и d в рабочей области с помощью linmod функция.

     Скрипт для линеаризации модели

Выполните исследования частотной характеристики и скорости полюса

  1. Сгенерируйте Диаграмму Боде.

     Скрипт для генерации диаграммы Боде

    Когда частота, ω, между 102 и 103 Гц, фаза понижается приблизительно на 600 градусов. Быстрое изменение в сдвиге фазы, θ, указывает, что система имеет быструю динамику.

  2. Вычислите собственные значения матрицы a использование eig функционируйте и постройте полюса в комплексной плоскости.

     Скрипт для вычисления и графического вывода A - матричные собственные значения

    Существует шесть быстрых полюсов, включая две потенциальных колеблющихся пары полюса.

  3. Подтвердите, что существуют пары полюса. Распечатайте значения шести быстрых полюсов к командному окну с помощью eigs функция.

     Скрипт для печати значений полюса

    ans =
    
       1.0e+03 *
    
      -2.0000 + 1.1547i
      -2.0000 - 1.1547i
      -0.4614 + 1.4208i
      -0.4614 - 1.4208i
      -1.0314 + 0.0000i
      -1.0000 + 0.0000i
    

    Существует два набора пар полюса.

Идентифицируйте и устраните источники быстрой динамики

Исследуйте модель на потенциальные источники быстрой динамики.

  1. Чтобы линеаризовать модель, этот пример использует linmod функция. Документация для linmod отговаривает от использования функции, чтобы линеаризовать модель, которая содержит блок Transport Delay. Документация для блока Transport Delay указывает, что аппроксимация Паде для стандартной программы линеаризации может добавить динамические состояния в модель. Определите, является ли блок источником быстрых полюсов, которые приводят к линеаризовавшей модели.

  2. Чтобы симулировать модель без эффектов блока Transport Delay, прокомментируйте через блок.

     Скрипт для того, чтобы закомментировать блок Transport Delay

    Значок для Transport Delay исчезает, чтобы указать, что это прокомментировано через.

  3. Чтобы исследовать частотную характеристику модели без эффектов блока Transport Delay, обрежьте, линеаризуйте, и симулируйте модель, и затем, обновите Диаграмму Боде.

     Скрипт для обрезки и линеаризации модели и обновления диаграммы Боде

    Когда частота, ω, между 102 и 103 Гц, фаза заходит только ~250 градусами.

  4. Вычислите и постройте быстрые полюса.

     Скрипт для вычисления и графического вывода A - матричные собственные значения

    Блок Transport Delay ответственен за недостающую колебательную пару полюса в-2000 ± 1.1547i рад/секунда

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

     Скрипт для симуляции модели и графического вывода результатов

    Результаты кажутся подобными.

  6. Масштабируйте, чтобы оценить точность более подробно.

     Скрипт для того, чтобы увеличить масштаб

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

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

     Скрипт для устранения сжимаемости и выполнения частотной характеристики и анализа полюса

    Дальнейшее уменьшение в отбрасывании фазы отражает сокращение высокочастотной динамики. Существует теперь два быстрых полюса. Даже при том, что один из быстрых полюсов переместился еще дальше от мнимой оси, существует меньше быстрых движущих сил, потому что колеблющаяся пара полюса в 458,8 ± 1.4273i рад/секунда устраняется.

  8. Распечатайте значения остающихся двух быстрых полюсов к командному окну.

     Скрипт для печати значений полюса

    two_fast_poles =
    
       1.0e+03 *
    
       -2.6767
       -1.0000
    

    Быстрый полюс на уровне-2677 рад/с соответствует массе загрузки и гидравлическому затуханию, введенному двумя компонентами отверстия в гидравлической подсистеме. Эти движущие силы являются центральными к результатам симуляции. Быстрый полюс на уровне-1000 рад/с соответствует знаменателю контроллера, 0,001 s+1. Передаточная функция является неотъемлемой частью проектирования контроллера. Никакие более динамические режимы не могут быть удалены, не изменяя важное поведение уровня системы.

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

     Скрипт для графического вывода результатов симуляции

    Точность обновленной модели кажется приемлемой.

  10. Масштабируйте, чтобы оценить точность более подробно.

     Скрипт для того, чтобы увеличить масштаб

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

Смотрите также

Блоки

Функции

Связанные примеры

Больше о