Derivative

Выводит производную по времени от входа

  • Библиотека:
  • Simulink/Непрерывный

  • Derivative block

Описание

Блок Derivative аппроксимирует производную входного сигнала u относительно временной t симуляции. Вы получаете приближение

dudt,

путем вычисления численного различия Δu/Δt,где Δu - изменение в входе значении и Δt - изменение времени с момента предыдущего временного шага симуляции (основной).

Этот блок принимает один вход и генерирует один выход. Начальный выход для блока равен нулю.

Точная связь между входом и выходом этого блока:

y(t)=ΔuΔt=u(t)u(Tprevious)tTprevious|t>Tprevious,

где t - текущее время симуляции и Tprevious - время последнего выходного времени симуляции. Последнее совпадает со временем последнего крупного временного шага.

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

Из-за этих чувствительности структурируйте свои модели, чтобы использовать интеграторов (таких как блоки Integrator) вместо блоков Derivative. Блоки интегратора имеют состояния, которые позволяют решателям регулировать размер шага и улучшить точность симуляции. Смотрите Модель цепи для примера выбора математической модели наилучшей формы, чтобы избежать использования блоков Derivative в ваших моделях.

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

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

y(k)=1Δt(u(k)u(k1))

.

Принятие z-преобразования этого уравнения приводит к:

Y(z)u(z)=1z1Δt=z1Δtz.

Блок Discrete Derivative моделирует это поведение. Используйте этот блок вместо блока Derivative, чтобы аппроксимировать производную дискретного сигнала в дискретном времени.

Порты

Вход

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

Сигнал, который будет дифференцирован, задан как действительный скаляр или вектор.

Типы данных: double

Выход

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

Производная по времени от входного сигнала, заданная как действительный скаляр или вектор. Входной сигнал дифференцирован по времени как:

y(t)=ΔuΔt=u(t)u(Tprevious)tTprevious|t>Tprevious,

где t - текущее время симуляции и Tprevious - время последнего выходного времени симуляции. Последнее совпадает со временем последнего крупного временного шага.

Типы данных: double

Параметры

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

Точная линеаризация блока Derivative является трудной, потому что динамическое уравнение для блока является y=u˙, который вы не можете представлять как систему в пространстве состояний. Однако можно аппроксимировать линеаризацию, добавив полюс к блоку Derivative, чтобы создать передаточную функцию s/(cs+1). Сложение шеста фильтрует сигнал перед его дифференцировкой, что удаляет эффект шума.

Значение по умолчанию inf соответствует линеаризации 0.

Совет

  • Как лучшая практика, измените значение c на 1fb, где fb - частота пропуска фильтра.

  • Параметр должен быть конечным положительным значением.

Программное использование

Параметры блоков: CoefficientInTFapproximation
Тип: Вектор символов, строка
Значения: 'inf'
По умолчанию: 'inf'

Характеристики блоков

Типы данных

double

Прямое сквозное соединение

no

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

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

Расширенные возможности

.
Представлено до R2006a