Table of Contents

Функции передачи представляют собой одну из самых фундаментальных концепций в проектировании систем управления и обработки сигналов. Они обеспечивают математическое представление взаимосвязи между входом и выходом линейной системы инвариантного времени (LTI) в частотной области. Блок Transfer Fcn моделирует линейную систему посредством функции передачи переменных Laplace-domain s, что делает его важным инструментом для анализа динамики системы, проектирования контроллеров и прогнозирования поведения системы. Simulink, графическая среда программирования MATLAB, предлагает мощные возможности для работы с функциями передачи как посредством прямой реализации, так и методами аналитического извлечения.

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

Понимание функций передачи в системах управления

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

Математический фонд

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

Общая форма передаточной функции может быть записана как G(s) = N(s)/D(s), где N(s) представляет собой числитель-полиномиал, а D(s) представляет собой знаменатель-полиномиал.Коэффициенты этих многочленов непосредственно соответствуют физическим параметрам системы и определяют критические характеристики, такие как полюса, нули, коэффициент усиления и частотная реакция.

Типы представлений функций переноса

Simulink поддерживает несколько подходов для представления функций передачи. Блок Transfer Fcn может моделировать одновременные одновременные системы (SISO) и одновременные многовременные системы (SIMO). Для более сложных сценариев, включающих изменяющиеся во времени параметры, Simulink предоставляет специализированные блоки, которые учитывают изменения динамического коэффициента во время моделирования.

Вы можете вносить объекты передаточной функции, определенные в рабочем пространстве MATLAB, в Simulink, используя блок LTI System и указывая имя переменной, а передаточная функция также может быть представлена в виде простых блоков, таких как интеграторы и усиления.Эта гибкость позволяет инженерам выбирать наиболее подходящий метод представления на основе их конкретных требований к приложениям и предпочтений моделирования.

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

Начните с открытия MATLAB и ввода «симулинка» в командном окне или нажатия значка Simulink на панели инструментов MATLAB. Это открывает страницу запуска Simulink, где вы можете создать новую пустую модель. Заготовленная модель предоставляет холст, где вы будете строить свою систему, используя различные блоки из браузера библиотеки Simulink.

Браузер библиотеки содержит организованные категории блоков, с блоками, связанными с функциями передачи, в первую очередь расположенными в непрерывной библиотеке. Непрерывная библиотека содержит элементы системы непрерывного времени, включая функции передачи, модели пространства состояний и PID-контроллеры. Знакомство с этой структурой библиотеки упростит процесс моделирования.

Основные блоки для анализа функций переноса

Типичная настройка анализа передаточной функции требует нескольких ключевых компонентов.Простая модель состоит из трёх блоков: Step, Transfer Function и Scope, где Step — блок Source, из которого исходит входной сигнал шага, этот сигнал передаётся по линии в блок Continuous Transfer Function, блок Transfer Function модифицирует свой входной сигнал и выводит новый сигнал в Scope.

Помимо этих основных блоков, вам могут понадобиться дополнительные компоненты в зависимости от ваших целей анализа:

  • Источники сигналов: Шаг, Рэмп, Сайн-Вейв, Сигнал Чирпа и Случайное Число блоков для различных сценариев ввода
  • Математические операции: Сумма, Прибыль, Блоки Продуктов для манипулирования сигналом и межсоединения системы
  • Инструменты визуализации: Сфера применения, Рабочее пространство, Блоки отображения для наблюдения и записи результатов моделирования
  • Аналитические блоки: Точки линейности, блоки измерения для извлечения характеристик системы

Реализация функций передачи с использованием блока Transfer Fcn

Блок Transfer Fcn служит основным методом непосредственной реализации известных функций передачи в Simulink. Такой подход идеален, когда вы уже вывели математическую модель своей системы и хотите смоделировать ее поведение.

Конфигурация блок-параметров

В Simulink, найдите блок «Transfer Fcn» и перетащите блок в рабочее пространство модели. После размещения вам нужно настроить его параметры, чтобы соответствовать желаемой функции передачи.

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

Ввод коэффициентных векторов

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

Например, рассмотрим реализацию функции передачи G(s) = (s + 3)/(s2 + 2s). Введите числительные коэффициенты [1 3] (представляющие s + 3) и введите знаменательные коэффициенты [1 2 0] (представляющие s2 + 2s). Обратите внимание, что для поддержания правильного выравнивания коэффициентов необходимо включать нули для любых отсутствующих терминов в полиноме.

Block Display Options (Блокировка опций)

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

Вы можете указать коэффициенты тремя способами: в виде явных численных векторов (например, [1 3]), в качестве переменных рабочего пространства MATLAB (например, число и den) или в качестве выражений, которые оценивают векторы. Каждый метод имеет преимущества в зависимости от того, отдаете ли вы приоритет четкости модели, гибкости параметров или вычислительной эффективности.

Обработка первоначальных условий

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

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

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

Понимание модели линейности

Более прямой способ найти функцию передачи от модели Simulink — это линеаризовать её до модели пространства-состояния, затем преобразовать её в функцию передачи с помощью sys = линейная ( «модель»,io points); sys tf = tf(sys). Этот двухэтапный процесс сначала извлекает линейное представление пространства-состояния, а затем преобразует его в форму функции передачи.

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

Определение точек анализа

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

Для указания точки анализа сигнала нажмите на сигнал в модели, затем на вкладке Linearization, в галерее Insert Analysis Points, выберите тип точки анализа. Simulink поддерживает несколько типов точек анализа:

  • Вводная пертурбация: Добавляет небольшой сигнал в указанное место для измерения реакции системы
  • Вычисление: Записывает значение сигнала, не влияя на динамику системы
  • Loop Break: Открывает цикл обратной связи для анализа с открытым контуром
  • Выход в режиме открытого цикла: Объединяет измерение выхода с открытием петли

Для уточнения части модели для линеаризации создайте массив объектов линеаризации ввода/вывода с помощью команды linio, например, создав точку анализа возмущений ввода на выходе блока PID Controller.Этот программный подход предлагает большую гибкость, чем интерактивное размещение точек, особенно для пакетной обработки или автоматизированных рабочих процессов.

Использование приложения Model Linearizer

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

Вы можете открыть приложение Model Linearizer, перейдя на вкладку Simulink Toolstrip: На вкладке Apps, в разделе Системы управления, нажмите «Модель Linearizer». После открытия приложение отображает точки анализа вашей модели и позволяет настроить параметры линеаризации.

Интерфейс Model Linearizer включает в себя несколько ключевых разделов:

  • Анализ I/Os: Дисплеи и управление конфигурациями точек ввода/вывода
  • Точка операции: Указывает состояние и входные значения, вокруг которых происходит линеаризация
  • Результаты линеаризации: Показывает извлеченные модели и их характеристики
  • Варианты игровых автоматов: Генерирует частотные и временные участки ответа домена

Выполнение линейности

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

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

Вы также можете экспортировать линеаризованную модель в рабочее пространство MATLAB, щелкнув правой кнопкой мыши linsys1 в браузере данных и выбрав Export to MATLAB Workspace.Это позволяет проводить дополнительный анализ с использованием функций Control System Toolbox, таких как bode, step, margin и других.

Работа с изменяющимися во времени функциями переноса

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

Блок переменной функции передачи

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

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

Конфигурация переменных коэффициентов

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

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

Избегать алгебраических петлей

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

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

Передовые технологии линейной обработки

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

Линейная система

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

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

Спецификация Operating Point

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

Simulink предоставляет несколько способов определения рабочих точек:

  • Модель начальных условий: Использует начальное состояние и входные значения, определенные в модели
  • Точка работы в стационарном состоянии: Вычисляет условия равновесия, при которых производные равны нулю
  • Снимок симуляции: Захват состояния системы в определенное время моделирования
  • Точка работы: Вручную определяет состояние и значения входных данных

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

Оценка частотного ответа

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

Этот подход отличается от линеаризации использованием фактических данных моделирования, а не аналитических производных.

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

Связь между входом x и выходом y моделируется линейной, инвариантной по времени передаточной функцией Txy, а передаточной функцией является отношение поперечной мощности спектральной плотности x и y, Pyx, к мощности спектральной плотности x, Pxx. Этот подход частотной области обеспечивает надежные оценки даже при наличии шума и помех.

Моделирование и анализ рабочего процесса

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

Конфигурация параметров моделирования

В окне модели выберите Параметры конфигурации модели из меню «Симуляция», и есть много параметров симуляции, включая время начала и остановки, которые сообщают Simulink в течение какого периода времени выполнить симуляцию.

Ключевые параметры моделирования, которые следует учитывать, включают:

  • Тип солвера: Решители переменных шагов автоматически корректируют временные этапы для точности, в то время как фиксированные решатели поддерживают постоянные интервалы, подходящие для приложений реального времени
  • Относительная толерантность: Контролирует допустимую ошибку в вычислениях состояний, при этом меньшие значения увеличивают точность, но замедляют моделирование
  • Абсолютная толерантность: Устанавливает порог, ниже которого значения состояния считаются ничтожными
  • Максимальный размер шага: Ограничивает, насколько большие временные шаги могут расти, предотвращая отсутствие быстрой динамики.

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

Визуализация результатов с помощью областей

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

Современные версии Simulink предлагают расширенные возможности, включая:

  • Несколько входных каналов с независимым масштабированием
  • Измерения курсора для точного чтения значений
  • Статистика сигналов (среднее значение, RMS, пиковые значения)
  • Регистрация данных в рабочем пространстве или файле
  • Условия триггера для захвата конкретных событий
  • FFT-анализ для проверки частотного контента

Экспорт данных в MATLAB

Для детального анализа помимо того, что предоставляют встроенные инструменты Simulink, экспортируйте данные моделирования в рабочее пространство MATLAB. Используйте блоки Workspace для захвата сигналов, представляющих интерес, или настройте области для автоматического входа в систему данных. После того, как в MATLAB, вы можете применить полный спектр функций Control System Toolbox для анализа.

Общие задачи постобработки включают:

  • Вычисление показателей производительности (время роста, время сеттинга, перевыпуск, ошибка устойчивого состояния)
  • Создание сюжетов качества публикации с пользовательским форматированием
  • Сравнение нескольких симуляционных заданий или вариаций параметров
  • Проведение статистического анализа результатов моделирования Монте-Карло
  • Фиттинг моделей функций передачи данных для моделирования

Практические применения и примеры

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

Контроллерный дизайн и анализ

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

Типичный рабочий процесс проектирования контроллера включает в себя:

  1. Моделирование установки (системы, подлежащей управлению) в качестве передаточной функции
  2. Определение требований к производительности (пропускная способность, запас фаз, отклонение от возмущения)
  3. Разработка функции передачи контроллера для удовлетворения этих требований
  4. Внедрение системы замкнутого цикла в Simulink
  5. Моделирование с различными входами и возмущениями
  6. Итерация дизайна на основе результатов моделирования

Инструментарий Simulink Control Design предлагает функциональность извлечения модели из Simulink в рабочее пространство MATLAB, что особенно полезно для сложных или нелинейных имитационных моделей, а также полезно для создания дискретных (отобранных) моделей.

Идентификация системы

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

  • Сбор данных ввода-вывода из системы
  • Выбор подходящей модели структуры (заказ, задержки)
  • Оценка параметров, минимизирующих ошибку прогнозирования
  • Проверка модели на основе независимых наборов данных

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

Многодоменное моделирование системы

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

Например, электромеханическая система привода может включать в себя:

  • Функция передачи электроэнергии, относящая напряжение к току
  • Электромеханическая функция передачи, относящая ток к крутящему моменту
  • Функция механического переноса, относящаяся к крутящему моменту в положение
  • Функция переноса датчика, относящаяся к положению сигнала измерения

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

Устранение общих проблем

Working with transfer functions in Simulink occasionally presents challenges. Understanding common issues and their solutions w