ContinuousTransferFunction
ptolemy.domains.ct.lib.ContinuousTransferFunction

A transfer function in the continuous time domain. This actor implements a transfer function where the single input (u) and single output (y) can be expressed in (Laplace) transfer function form as the following equation:
 y(s)    b(1)*s^(m-1) + b(2)*s^(m-2) + ... + b(m)
 ----- = -------------------------------------------
 u(s)    a(1)*s^(n-1) + a(2)*s^(n-2) + ... + a(n)
 
where m and n are the number of numerator and denominator coefficients, respectively. This actors has two parameters -- numerator and denominator -- containing the coefficients of the numerator and denominator in descending powers of s. These coefficients are double numbers. The order of the denominator (n) must be greater than or equal to the order of the numerator (m).

This actor extends TypedCompositeActor and works as a higher-order function. Whenever the parameters are changed, the actor will build a transparent subsystem inside it using integrators, adders, and scales. This is called a realization of the transfer function. Notice that there are infinite number of realizations of a transfer function, and they are equivalent if and only if the initial conditions are all zero. Here we choose the controllable canonical form and preset all initial states of the integrators to zero. If you need to set arbitrary initial conditions you have to use the state-space representation, for example, use the LinearStateSpace actor.

Author(s): Jie Liu
Version:$Id: ContinuousTransferFunction.java,v 1.40 2005/07/08 19:58:04 cxh Exp $
Pt.Proposed Rating:Red (liuj)
Pt.Accepted Rating:Red (cxh)


input
Single input port.

output
Single output port.



numerator
The coefficients of the numerator, containing an array of DoubleTokens. The default value is {1.0}.

denominator
The coefficients of the denominator, containing an array of DoubleTokens. The array must have a length greater than or equal to the length of the numerator. The default value is {1.0}.