Convert Model Rate

Преобразуйте модели между непрерывным временем и дискретным временем и повторно отобразите модели в Live Editor

Описание

Преобразуйте Скорость Модели позволяет вам в интерактивном режиме преобразовать модель LTI между непрерывным временем и дискретным временем. Можно также использовать его для повторной выборки модели дискретного времени. Задача автоматически генерирует MATLAB® код для вашего live скрипта.

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

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

Преобразуйте Скорость модели генерирует код с помощью следующих функций.

Convert Model Rate task in Live Editor

Откройте задачу

Чтобы добавить задачу Convert Model Rate в live скрипт в редакторе MATLAB:

  • На вкладке Live Editor выберите Task > Convert Model Rate.

  • В код блоке вашего скрипта введите соответствующее ключевое слово, например convert, rate, или c2d. Выберите Convert Model Rate от предлагаемых команд заканчиваний.

Примеры

расширить все

Используйте задачу Convert Model Rate в Live Editor, чтобы в интерактивном режиме преобразовать модель из непрерывного времени в дискретное время. Экспериментируйте с различными методами, опциями и графиками отклика. Задача автоматически генерирует код, отражающий выбранные вами параметры. Откройте этот пример, чтобы увидеть предварительно сконфигурированный скрипт, содержащий задачу Convert Model Rate.

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

G = tf([1 -50 300],[1 3 200 350]);

Чтобы дискретизировать эту модель, откройте задачу Convert Model Rate в Live Editor. На вкладке Live Editor выберите Task > Convert Model Rate. В задаче выберите G в качестве модели для преобразования.

Задача автоматически дискретизирует модель с помощью шага расчета по умолчанию, 0,2 с, и метода преобразования по умолчанию, Zero-order hold. Также создаётся диаграмма Боде, позволяющий сравнить отклики исходных и преобразованных моделей.

Вертикальная линия на графике показывает частоту Найквиста, связанную со шагом расчета по умолчанию. Предположим, что вы хотите использовать шаг расчета 0,15 секунд. Измените шаг расчета путем ввода нового значения в поле Шага расчета. График отклика автоматически обновляется, чтобы отразить новый шаг расчета.

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

Метод Тустина может привести к лучшему соответствию в частотный диапазон, чем метод удержания нулевого порядка по умолчанию. (См. «Непрерывно-дискретные методы преобразования».) В разделе Select Conversion Method выберите Bilinear (Tustin) approximation. Первоначально полученное совпадение частотного диапазона является более плохим, чем с методом удержания нулевого порядка.

Улучшить соответствие можно с помощью предварительной частоты. Эта опция заставляет дискретное время ответ совпадать с заданной частотой. Резонанс G peaks около 14 рад/с. Введите это значение для предварительной частоты. Матч действительно улучшается вокруг резонанса. Однако резонанс очень близок к частоте Найквиста для шага расчета 0,15 с, что ограничивает то, насколько близко может быть совпадение.

Задача Convert Model Rate может сгенерировать другие типы графиков отклика. Например, чтобы сравнить отклики во временной области исходной и преобразованной модели, в Output Plot выберите step или impulse.

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

По умолчанию сгенерированный код использует sysConverted как имя переменного выхода. Преобразованная модель в рабочей области MATLAB ® с использованием этого имени. Чтобы задать другое имя переменного выхода, введите новое имя в линию сводки в верхней части задачи. Например, измените имя на sys_d.

Задача обновляет сгенерированный код, чтобы отразить новое имя переменной и новую преобразованную модель sys_d появляется в рабочем пространстве MATLAB. Можно использовать модель для последующего анализа или системы управления, так же как и любой другой объект модели. Например, симулируйте ответ преобразованной системы на вход квадратной волны. Используйте шаг расчета, указанный в задаче.

[u,t] = gensig('square',4,10,0.15);
lsim(sys_d,u,t)

Параметры

Выберите модель LTI. Список содержит все подходящие модели непрерывного времени или дискретного времени динамической системы в рабочем пространстве MATLAB, включая:

  • Числовые модели LTI, такие как tf, ss, или zpk модели.

  • Идентифицированные модели LTI, такие как idss и idtf. (Для использования идентифицированных моделей требуется лицензия System Identification Toolbox™.)

Можно преобразовать модели SISO или модели MIMO с задержками или без, хотя некоторые методы преобразования доступны только для моделей SISO (см. Method описание параметра). Вы не можете использовать Convert Model Rate для преобразования обобщенных моделей LTI, таких как genss или uss, модели данных частотной характеристики, такие как frd, или модели процесса (idproc).

Задайте шаг расчета преобразованной модели в модули 1/ TimeUnit, где TimeUnit является TimeUnit свойство модели входа.

  • Чтобы дискретизировать модель в непрерывном времени или повторно отобразить модель в дискретном времени, введите целевой шаг расчета.

  • Чтобы преобразовать модель в дискретном времени в непрерывное время, введите 0.

Выберите метод преобразования скорости. Доступными методами являются:

  • Zero-order hold

  • First-order hold

  • Impulse-invariant discretization (непрерывное-дискретное преобразование только моделей SISO)

  • Bilinear (Tustin) approximation

  • Zero-pole matching method

  • Least-squares method (непрерывное-дискретное преобразование только моделей SISO)

Для получения информации о выборе метода преобразования смотрите Непрерывно-Дискретные Методы Преобразования.

Когда вы преобразовываете скорость модели, которая имеет временную задержку, Bilinear (Tustin) approximation или Zero-pole matching method методы округляют задержку до ближайшее целого числа, кратного шага расчета. Это округление может ухудшить точность динамики, особенно вблизи частоты Найквиста.

Установите Delay Order ненулевое целое число, чтобы Convert Model Rate аппроксимировал дробный фрагмент задержки с помощью фильтра Thiran, вместо округления. Используйте наименьшее значение, которое приводит к достаточно точной динамике преобразования скорости для вашего приложения. Для получения дополнительной информации о фильтрах Thiran, см. thiran.

Когда вы дискретизируете модель в непрерывном времени, если ваша система имеет важную динамику на определенной частоте, которую вы хотите сохранить преобразование скорости, можно использовать Bilinear (Tustin) approximation способ с подготовкой частоты. Этот метод обеспечивает соответствие между исходной и преобразованной характеристиками на заданной предварительной частоте. См. Непрерывно-дискретные методы преобразования.

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

  • Bode

  • Step

  • Impulse

  • Pole-Zero

Код, сгенерированный задачей, включает код, чтобы создать выбранный график отклика. Чтобы опустить график отклика, выберите None.

Введенный в R2019b