Клиначёв Николай Васильевич
Клиначёва Наталья Васильевна

Свойства дискретных квазианалогов интеграторов

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

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

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

Первая модель простая. Даже начинающий специалист в теории систем автоматического регулирования увидит замкнутый контур с ООС, в котором фазовый сдвиг во всей полосе частот равен -180°. На одном из интеграторов установлено ненулевое начальное условие, поэтому координаты контура должны прийти в движение по синусоиде на частоте единичного усиления (1 рад/с). Попробуйте активировать следующие методы:

...; ERK11 | DIRK12 | DIRK11; ...

Результаты симуляции должны подвести вас к мысли, что интеграторы можно поделить на две группы. Одна имеет отрицательную фазовую погрешность, другая — положительную. Центральную позицию между группами занимает уникальный трапециидальный метод (DIRK12).

Следующая модель знакомит пользователя с понятием порядка метода интегрирования. Известно, что если проинтегрировать постоянный по величине сигнал, то получим сигнал меняющийся с постоянной скоростью. Если проинтегрировать сигнал меняющийся с постоянной скоростью, то получим сигнал меняющийся с постоянным ускорением и т.д. Очевидно, что речь идет о составляющих ряда Тейлора, которые можно получить и традиционным способом — возводя сигнал меняющийся с постоянной скоростью в соответствующую степень. И почему бы ни сравнить эти сигналы? Приведенная ниже блок-схемы осциллограмма демонстрирует величину ошибки.

Выбрав определенный метод интегрирования, можно менять порядок составляющей ряда Тейлора и контролировать ошибку (запуская симуляцию). Так, например, трапециидальный метод (DIRK12) имеет ошибку стремящуюся к нулю (< 10-10) при обработке составляющих первого и второго порядка в сигнале. Если сигнал будет иметь составляющие третьего и более высших порядков, то интегратор не будет способен корректно обработать такое воздействие. Появятся ошибки нарастающие с постоянной скоростью, ускорением и т.д.

Сразу отметим, что рост порядка метода интегрирования связан с требуемой вычислительной производительностью компьютера линейно. Если в модели пользователя сигналы не могут нарастать бесконечно, то следует выбирать методы первого или второго порядка. Например, в электронике сигналы ограничены питанием +/-15 В. Поэтому все семейство моделирующих программ основанных на модификациях SPICE-движка (5SPICE, HSPICE, PSPICE, ASPICE, WinSPICE, AimSPICE, NGSPICE, ...) имеет единственный метод интегрирования (DIRK12). Если же вы моделируете полет космического корабля, который годами разгоняется постоянной тягой ионных двигателей, и который на длительное время попадает в гравитационные поля планет, звезд, то в данном случае можно использовать лишь методы высоких порядков.

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

Однако далеко не все методы интегрирования поддерживают подобную модель. Сразу можно исключить всю группу явных методов (ERKXX). Большинство диагонально неявных методов (DIRKXX) с задачей справляется. А уже упомянутый благодаря своим уникальным свойствам трапециидальный метод (DIRK12), без точной предустановки начального условия на траекторию решения, симметрично колеблется относительно неё создавая ложный эффект неустойчивости модели. Именно по этой причине многие программы моделирования электрических схем перед исполнением симуляции осуществляют поиск особых контуров, например, с источниками ЕДС и конденсаторами и рекомендуют пользователю внести изменения в схему.

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

21.04.2006; 02.07.2014