DynamicSystems - Maple Programming Help

Home : Support : Online Help : Science and Engineering : Dynamic Systems : Simulation Tools : DynamicSystems/FrequencyResponse

DynamicSystems

 FrequencyResponse
 compute the frequency response of a system

 Calling Sequence FrequencyResponse(sys, opts)

Parameters

 sys - System opts - (optional) equation(s) of the form option = value; specify options for the FrequencyResponse command

Options

 • In addition to the following options, the FrequencyResponse command takes many of the standard plot options; see plot,options.
 Specifies whether the frequencies are determined adaptively. The adaptive algorithm takes the value of the linearfreq option into account when determining the frequency distribution. The default value is false.
 • frequencies = list or Vector of nonnegative values
 Specifies frequencies to be used to generate a frequency response. The list or Vector must be sorted, from smallest to largest. The units are determined by the hertz option.
 • hertz = truefalse
 Specifies the unit of frequency. If this value is set to true, the unit of frequency is Hertz; otherwise, it is radians per second. The default value is assigned by DynamicSystems[SystemOptions].
 • linearfreq = truefalse
 Specifies the frequency scale. If this value is set to $\mathrm{true}$, the scale is linear; otherwise, by default, the scale is logarithmic.
 • method = function or matrix
 Selects the method used to compute the frequency response. The function method generates the transfer functions of sys and evaluates them at the selected frequencies. The matrix method generates the state-space matrices of sys and evaluates the expression $C\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}.\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\left(Iz-A\right)}^{\left(-1\right)}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}.\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}B+\mathrm{D}$ at specific values of $z$. The default is to use the function method for frequency-domain systems (TF, Coeff, and ZPK), and to use the matrix method for time-domain systems (DE and SS).
 • numpoints = nonnegative integer
 Specifies the number of points. The default is 100.
 • output = response, frequencies, range or list of same
 Specifies the output of FrequencyResponse. The name response returns the frequency response, that is, a Matrix of Vectors of complex values. The name frequencies returns the input frequencies, a Vector of real values. The name range returns the range of input frequencies. A list of these names returns an expression sequence with each element corresponding to that returned by the name alone. The default is response.
 • parameters = set(name = complexcons) or list(name = complexcons)
 Specifies numeric values for parameters in sys. These values override those specified by the parameters field of the system object, which in turn override the settings in in SystemOptions(parameters). The numeric value on the right-hand side of each equation is substituted for the name on the left-hand side in the expressions that define the model. No checking is done during the substitution to determine whether the substituted value is valid. For example, a complex value can be substituted for the coefficient of a polynomial. If the complex value had been originally assigned to the model at creation, a warning would be generated.
 • range = range( realcons )
 Specifies the frequency range to plot. The default setting is to compute an appropriate range based on the locations of the zeros and poles of the transfer functions of the selected subsystems. Similarly, if the right-hand side of range is infinity, a maximum is computed based on the zeros and poles. The units are specified by the hertz option.
 • subsystem = [ posint, posint ] or list of same
 Selects subsystems of a multi-input/multi-output system. Each selected subsystem is specified as a list of two indices: the first specifies the output and the second specifies the input. For example, $\left[1,2\right]$ specifies the subsystem from the second input to the first output. A list of lists selects multiple subsystems. The default setting is to select all subsystems, using Fortran ordering. That is, for an m x n system, the default list of subsystems is [ [1,1], ..., [m,1], ..., [1,n], ..., [m,n] ].

Description

 • The FrequencyResponse command computes the frequency response of subsystems of sys, a system object.
 • If sys is a continuous system, its s-domain transfer function is computed and then converted to the real frequency domain using the transformation s -> I*omega, where omega is the angular frequency.
 • If sys is a discrete system, its z-domain transfer function is computed and then converted to the real frequency domain using the transformation z -> exp(I*omega*Ts), where omega is the angular frequency and Ts is the sample time.

Examples

 > $\mathrm{with}\left(\mathrm{DynamicSystems}\right):$
 > $\mathrm{sys}≔\mathrm{ZeroPoleGain}\left(\left[0,1\right],\left[2,4,6\right],1\right):$
 > $\mathrm{FrequencyResponse}\left(\mathrm{sys}\right)$
 $\left[\begin{array}{c}\left[\begin{array}{c}{\mathrm{1 .. 100}}{{\mathrm{Vector}}}_{{\mathrm{column}}}\\ {\mathrm{Data Type:}}{\mathrm{anything}}\\ {\mathrm{Storage:}}{\mathrm{rectangular}}\\ {\mathrm{Order:}}{\mathrm{Fortran_order}}\end{array}\right]\end{array}\right]$ (1)

Return the frequency range used to generate the response.

 > $\mathrm{FrequencyResponse}\left(\mathrm{sys},\mathrm{output}=\mathrm{range}\right)$
 ${0.01000000000}{..}{1000.}$ (2)