 DynamicSystems - Maple Programming Help

Home : Support : Online Help : Science and Engineering : Dynamic Systems : System Object : DynamicSystems/FrequencyResponseSystem

DynamicSystems

 FrequencyResponseSystem
 create a frequency-response system object

 Calling Sequence FrequencyResponseSystem(sys,opts) FrequencyResponseSystem(f,response,opts) FrequencyResponseSystem(f,mag,phase,opts)

Parameters

 sys - System; DynamicSystems object f - list or Vector; frequency data response - Matrix, Vector, or list; complex response data mag - Matrix, Vector, list; real magnitude data phase - (optional) Matrix, Vector, or list; real phase data opts - (optional) equation(s) of the form option = value; specify options for the FrequencyResponseSystem command

Options

System Input Options

These options apply when creating a frequency response from a system; they are passed to FrequencyResponse.

 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.
 • 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·{\left(Iz-A\right)}^{\left(-1\right)}·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.
 • 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.

Numerical Input Options

These options apply when creating a system from numerical data.

 • degrees = truefalse
 True means the phase data is in degrees. False means it is in radians. The default is false.
 • discrete = truefalse
 True means the created system is discrete. The default is false. See sampletime.
 • hertz = truefalse
 True means that the frequency data, f, is in hertz. False means it is in radians per second. The default is false.
 • inputvariable = list of name or function(name)
 The names of the inputs to the system. A name, say u, is converted to a function u(t), where t is the independent variable of the system, See DynamicSystems/SystemObject. The default value is assigned by DynamicSystems[SystemOptions].
 • outputvariable = list of name or function(name)
 The names of the outputs of the system. A name, say y, is converted to a function y(t), where t is the independent variable of the system, see DynamicSystems[SystemObject]. The default value is assigned by DynamicSystems[SystemOptions].
 • sampletime = realcons
 The sampling time of the system. The default is 1.
 • statevariable = list of name or function(name)
 The names of the states of the system. A name, say x, is converted to a function x(t), where t is the independent variable of the system, see DynamicSystems[SystemObject]. The default value is assigned by DynamicSystems[SystemOptions].
 • systemname = string
 The name of the system. The default is the empty string.

Description

 • The FrequencyResponseSystem command creates a frequency-response DynamicSystems object that stores frequency response numerical data. This object can be passed to the DynamicSystem plot commands to plot the data.
 • A frequency-response object can be created either from numerical data or from a regular DynamicSystems object,
 • The sys parameter is a DynamicSystems object. Its frequency response is computed with the FrequencyResponse command and stored in the created object. Most of the options to FrequencyResponse can be passed to this command.
 • The f parameter is a list or vector of frequencies that is used with the response or mag and phase parameters to specify the frequency response. The frequency values must be nonnegative, distinct, and sorted from smallest to largest.
 • The response parameter specifies the complex response of the system at each frequency in f. It can be a list, a Vector, or a Matrix of lists or Vectors. If a list or Vector, then the system is a single-input single-output system. If a Matrix, then each row corresponds to an output and each column to an input. The elements of a Matrix are lists or Vectors of complex responses. The number of elements in a list or Vector must match the number of frequencies in the f parameter.
 • The mag and phase parameters specify the magnitude and phase of the system at each frequency in f. They can each be a list, a Vector, or a Matrix of lists or Vectors. If a list or Vector, then the system is a single-input single-output system. If a Matrix, then each row corresponds to an output and each column to an input. The elements of a Matrix are lists or Vectors of the magnitude and phase. The number of elements in a list or Vector must match the number of frequencies in the f parameter.

Examples

 > with(DynamicSystems):

Create a transfer-function system and convert it to a frequency-response system, then plot the magnitude response.

 > tf := TransferFunction(s/(s^2+s+1)):
 > fr1 := FrequencyResponseSystem(tf);
 ${\mathrm{fr1}}{≔}\left[\begin{array}{c}{\mathbf{Frequency Response}}\\ {\mathrm{continuous}}\\ {\mathrm{1 output\left(s\right); 1 input\left(s\right)}}\\ {\mathrm{inputvariable}}{=}\left[{\mathrm{u1}}{}\left({s}\right)\right]\\ {\mathrm{outputvariable}}{=}\left[{\mathrm{y1}}{}\left({s}\right)\right]\end{array}\right$ (1)
 > MagnitudePlot(fr1); Create a unity-gain frequency-response system from numerical data and plot the response.

 > fr2 := FrequencyResponseSystem(<0.1,0.2,0.5,1,2,5,10>, # frequency data                                <1,1,1,1,1,1,1>,        # magnitude data                                <0,0,0,0,0,0,0>);       # phase data
 ${\mathrm{fr2}}{≔}\left[\begin{array}{c}{\mathbf{Frequency Response}}\\ {\mathrm{continuous}}\\ {\mathrm{1 output\left(s\right); 1 input\left(s\right)}}\\ {\mathrm{inputvariable}}{=}\left[\right]\\ {\mathrm{outputvariable}}{=}\left[\right]\end{array}\right$ (2)
 > MagnitudePlot(fr2); Compatibility

 • The DynamicSystems[FrequencyResponseSystem] command was introduced in Maple 2016.