.Modelica_LinearSystems2.DiscreteZerosAndPoles

Information

This record defines a discrete transfer function by its zeros, poles and a gain:

         product(q - z[i])
  y = k*------------------- * u
         product(q - n[i])

where z[:] is a Complex vector of zeros, n[:] is a Complex vector of poles and k is an additional multiplicative factor. The elements of the two Complex vectors must either be real numbers or conjugate complex pairs (in order that their product results in a polynomial with Real coefficients).

In the record, the zeros and poles are transformed into a product of first and second order polynomials.

A DiscreteZeroAndPole transfer function is internally stored by the coefficients of first and second order polynomials, and by an additional multiplicative factor k:

         product(q + n1[i]) * product(q^2 + n2[i,1]*q + n2[i,2])
  y = k*---------------------------------------------------------
         product(q + d1[i]) * product(q^2 + d2[i,1]*q + d2[i,2])

Note, the degrees of the numerator and denominator polynomials are given as:

   degree of numerator   = size(n1,1) + 2*size(n2,1);
   degree of denominator = size(d1,1) + 2*size(d2,1);

Example:

                          (q+0.5)
  dzp = 4* -------------------------------------
           (p - 0.5)*(p - (0.6+j*0.3))*(p - (0.6-j*0.3))

with j = Complex.j(); is defined as

   import Modelica_LinearSystems2.Math.Complex;
   import Modelica_LinearSystems2.DiscreteZerosAndPoles;
   j = Complex.j();

   dzp = ZerosAndPoles(z = {Complex(-0.5)},
                       p = {Complex(0.5),
                            0.6+j*0.3,
                            0.6-j*0.3},
                            k=4);

Contents

NameDescription
'constructor'Collection of operators to construct a DiscreteZerosAndPoles data record
'-'Contains operators for subtraction of discrete zeros and poles descriptions
'*'Contains operators for multiplication of discrete zeros and poles records
'+'Addition of to discrete transfer functions dzp1 + dzp2, i.e. parallel connection of two transfer functions (= inputs are the same, outputs of the two systems are added)
'/'Divide two discrete transfer functions in zeros and poles representation (dzp1 / dzp2)
'^'Integer power of DiscreteZerosAndPoles (dzp^k)
'=='Check whether two discreteZerosAndPoles transfer functions are identical
'String'Transform DiscreteZerosAndPoles transfer function into a String representation
qGenerate the DiscreteZerosAndPoles transfer function q
AnalysisPackage of functions to analyse discrete zeros-and-poles description represented by a DiscreteZerosAndPoles record
DesignPackage of functions to design discrete zeros-and-poles controllers and observers
PlotPackage of functions to plot discrete zeros and poles description responses
ConversionPackage of functions for conversion of DiscreteZerosAndPoles data record
ImportPackage of functions to generate a DiscreteZerosAndPoles data record from imported data
InternalPackage of internal material of record DiscreteZerosAndPoles (for advanced users only)

Generated at 2024-04-15T18:15:56Z by OpenModelicaOpenModelica 1.22.3 using GenerateDoc.mos