functionfromZerosAndPoles
Generate a discrete transfer function from a set of zeros and poles
Information
This function constructs a transfer function from numerator zeros. Example:
The transfer function
zp = (s+(2+3*j))*(s+(2-3*j))
can be expressed as
import Complex;
import Modelica_LinearSystems2.ZerosAndPoles;
j = Complex.j();
zp = ZerosAndPoles({2+3*j}, {2-3*j});
Since only transfer functions with real coefficients are supported, complex zeros must be defined as conjugate complex pairs. It is required that complex conjugate pairs must directly follow each other as above. An error occurs if this is not the case.
Inputs
| Type | Name | Default | Description |
|---|---|---|---|
| Complex[:] | z | fill(Complex(0), 0) | Zeros (Complex vector of numerator zeros) |
| Complex[:] | p | fill(Complex(0), 0) | Poles (Complex vector of denominator zeros) |
| Real | k | 1.0 | Constant multiplied with transfer function |
| Modelica.Units.SI.Time | Ts | Sample time | |
| Modelica_LinearSystems2.Utilities.Types.Method | method | Modelica_LinearSystems2.Utilities.Types.Method.Trapezoidal | Discretization method |
| String | uName | "" | input name |
| String | yName | "" | output name |
Outputs
| Type | Name | Default | Description |
|---|---|---|---|
| DiscreteTransferFunction | dtf | TransferFunction built by ZerosAndPoles object |