Engee documentation

frd

Page in progress.

Frequency transfer function.

Library

EngeeControlSystems

Description

The function creates a model of a dynamic system in the form of a frequency transfer function (frequency response), which is defined using sets of frequencies and complex numbers expressing the system’s response to these frequencies. Models can describe both one-dimensional (SISO) and multidimensional (MIMO) dynamic systems. Models can be either continuous or discrete.

Frequency transfer function for each frequency It is a complex number. , the modulus of which is equal to the ratio of the amplitude of the output value to the amplitude of the input value, and the argument is the phase shift of the output value with respect to the input value.

Syntax

Function call

  • sys = frd() creates a frequency transfer function set at a single frequency ω = 0. Its value is also zero. You can change the values of the input arguments using the function setproperty!.

Arguments

Input arguments

# response — frequency response

+ 0.0 + 0.0im (by default) | scalar | vector | N-dimensional array

Details

A complex number or an array of complex numbers that characterize the system’s response to harmonic frequency signals frequency.

For SISO systems, the frequency response is given as a scalar or vector of complex numbers. The number of vector elements must be equal to the number of frequencies.

For MIMO systems, the frequency response is given as an array of complex numbers of the size , where — number of system outputs, — number of system inputs, — the number of frequencies.

For an array of systems with ny number of outputs and nu number of inputs of size The frequency response is given as an array of complex numbers of size , where — the number of frequencies. For example, an array of complex numbers of size sets the frequency response of an array of systems of size . Each system in the array has outputs and entrances.

Data types

Complex

Support for complex numbers

Yes

# frequency — frequency of the input signal

+ 0.0 (default) | scalar | vector

Details

The frequency or set of frequencies of the harmonic signal applied to the input of the system. The frequency values can be either positive or negative.

Data types

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

Support for complex numbers

None

# ts is the sampling period

+ nothing (by default) | scalar

Details

The period of the frequency transfer function.

Data types

Nothing, Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

Support for complex numbers

None

# timeunit — time measurement unit

+ seconds (by default) | nanoseconds | microseconds | milliseconds | minutes | hours | days | weeks | months | years

Details

The unit of measurement of time.

The argument takes the following values:

  • "nanoseconds" — nanoseconds;

  • "microseconds" — microseconds;

  • "milliseconds" — milliseconds;

  • "minutes" — minutes;

  • "hours" — watch;

  • "days" — days;

  • "weeks" — weeks;

  • "months" — months;

  • "years" —years.

Data types

String

# frequencyunit — frequency measurement unit

+ rad/timeunit (by default) | cycles/timeunit | rad/s | Hz | kHz | MHz | GHz | rpm

Details

The unit of frequency measurement.

The argument takes the following values:

  • rad/timeunit — rad/<time measurement unit>;

  • "cycles/timeunit" — about/<time measurement unit>;

  • "rad/s" — glad/c;

  • "Hz" — Hz;

  • "kHz" — kHz;

  • "MHz" — MHz;

  • "GHz" — GHz;

  • "rpm" — rpm;

Data types

String

Output arguments

# sys — frequency transfer function

+ frd

Details

Frequency transfer function.

Data types

frd