Линеаризуйте многоскоростные модели

Можно линеаризовать модель Simulink®, которая содержит блоки с различными шагами расчета с помощью программного обеспечения Simulink Control Design™. По умолчанию, инструменты линеаризации:

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

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

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

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

Измените шаг расчета линейной модели

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

Задавать шаг расчета линейной модели в Linear Analysis Tool:

  1. На вкладке Linear Analysis нажмите More Options.

  2. В Опциях для точного диалогового окна линеаризации, на вкладке Linearization, в поле Enter sample time (sec), задают шаг расчета. Можно задать любое из следующих значений:

    • -1 — Используйте самый большой шаг расчета из модели.

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

    • Положительная скалярная величина — Использование заданное значение для шага расчета.

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

opt = linearizeOptions;
opt.SampleTime = 0.01; 

Можно затем использовать этот набор опции с linearize или slLinearizer.

Измените метод преобразования уровня линеаризации

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

Задавать метод преобразования уровня в Linear Analysis Tool:

  1. На вкладке Linear Analysis нажмите More Options.

  2. В Опциях для точного диалогового окна линеаризации, на вкладке Linearization, в Choose rate conversion method выпадающий список, избранный один из следующих методов преобразования уровня.

    Метод преобразования уровняКогда использовать
    Zero-Order HoldВам нужна точная дискретизация непрерывной динамики во временном интервале для входных параметров лестницы.
    TustinВам нужен хороший частотный диапазон, соответствующий между системой непрерывного времени и соответствующей дискретизированной системой, или между исходной системой и передискретизируемой системой.
    Tustin with PrewarpingВам нужен хороший частотный диапазон, соответствующий на особой частоте между системой непрерывного времени и соответствующей дискретизированной системой, или между исходной системой и передискретизируемой системой.
    Upsampling when possible, Zero-Order Hold otherwise
    Upsampling when possible, Tustin otherwise
    Upsampling when possible, Tustin with Prewarping otherwise
    Сверхдискретизируйте дискретные состояния, если это возможно, чтобы гарантировать усиление и соответствие фазы сверхдискретизированной динамики. Можно только сверхдискретизировать, когда новый шаг расчета является целочисленным кратным шаг расчета исходной системы. В противном случае программное обеспечение использует альтернативный метод преобразования уровня.
  3. Если вы выбираете любой из следующих методов преобразования уровня:

    • Tustin with Prewarping

    • Upsampling when possible, Tustin with Prewarping otherwise

    затем, в поле Enter prewarp frequency, задайте частоту перед деформацией.

Чтобы задать метод преобразования уровня в командной строке, создайте linearizeOptions набор опции и набор RateConversionMethod и PreWarpFreq опции. Например:

opt = linearizeOptions;
opt.RateConversionMethod = 'prewarp';
opt.PreWarpFreq = 100;

Можно затем использовать этот набор опции с linearize или slLinearizer.

Примечание

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

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

Приложения

Функции