Рассмотрим варианты алгоритмической реализации операции дифференцирования в микропроцессорной системе. Операция дифференцирования реализуется в виде разностной схемы, причем вариантов разностных схем может быть несколько.
Согласно определению z–преобразования, . Тогда оператор дифференцирования может быть выражен через комплексную переменную следующим образом:
(1)
Разложим логарифм в формуле (1) в ряд. Это можно сделать тремя способами:
(2)
(3)
(4)
Воспользуемся приближенными формулами, ограничившись лишь первым членом каждого ряда:
(5)
(6)
(7)
Разностная схема, соответствующая формуле (6) является неустойчивой, поэтому не используется для реализации операции дифференцирования.
Найдем разностные уравнения, соответствующие формулам (5) и (7). Воспользуемся методом непосредственного программирования.
Таким образом, мы можем определить значение производной в момент времени , зная значения дифференцируемой функции в моменты времени и . То есть, мы должны знать будущее значение. В ряде случаев это возможно (например, когда траектория движения объекта заранее известна). Но чаше всего будущее значение дифференцируемой функции нам неизвестно.
Итак, формулу (5) можно использовать для реализации дифференцирования только если нам известны будущие значения дифференцируемой функции. Однако, нетрудно видеть, что при использовании этой вычислительной схемы отсутствуют такты накопления, что несомненно является плюсом
Вариант 2 — формула (7).
Получили обычную схему с накоплением. Для вычисления производной используются текущее и предыдущее значения дифференцируемой функции.
Примечание 1 При использовании большего количества членов ряда в формулах (2)-(4), можно получить более сложные и точные схемы.
Интегрирование в микропроцессорной системе
Рассмотрим варианты алгоритмической реализации операции интегрирования в микропроцессорной системе. Операция интегрирования реализуется в виде разностной схемы, причем вариантов разностных схем может быть несколько.
Согласно определению z–преобразования, . Тогда оператор дифференцирования может быть выражен через комплексную переменную следующим образом:
(1)
Разложим логарифм в формуле (1) в ряд. Это можно сделать тремя способами:
(2)
(3)
(4)
Воспользуемся приближенными формулами, ограничившись лишь первым членом каждого ряда:
(5)
(6)
(7)
Операция интегрирования является обратной операции дифференцирования. Поэтому, для получения расчетных уравнений, реализующих интегрирование, можно воспользоваться формулами (2)-(4), перевернув их:
(8)
(9)
(10)
Получим разностные уравнения для всех трех вариантов.
Рис. 1.
Вариант 1.
Полученная расчетная формула соответствует численному интегрированию по схеме прямоугольников.
Вариант 2.
Полученная расчетная формула соответствует численному интегрированию по схеме трапеций.
Вариант 3.
Полученная расчетная формула также соответствует численному интегрированию по схеме прямоугольников.