Сокращение быстрой динамики

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

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

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

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

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

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

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

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

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

Линеаризация модели

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

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

    %% Open the model
    open_system('ssc_hydraulic_actuator_digital_control')

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

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

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

    • 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 -Matrix Собственных значений

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

  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 -Matrix Собственных значений

    Блок Transport Delay отвечает за отсутствующую пару колебательных полюсов со скоростью -2000 ± 1,1547 i рад/с

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

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

    Результаты выглядят аналогично.

  6. Изменение масштаба для более подробной оценки точности.

     Скрипт для масштабирования

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

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

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

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

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

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

    two_fast_poles =
    
       1.0e+03 *
    
       -2.6767
       -1.0000
    

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

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

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

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

  10. Изменение масштаба для более подробной оценки точности.

     Скрипт для масштабирования

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

См. также

Блоки

Функции

Похожие примеры

Подробнее о