FIWR – Frequence Identification With Reconstructor

Block SymbolLicensing group: ADVANCED
Qt SVG Document Exported by REXYGEN Studio pv TUNE HLD BRK mv TBSY w xre xim phase epv IDE iIDE cp pmpRef FIWR

Function Description
The FIWR block performs the identification experiment of the process frequency characteristics. The system is excited by a harmonic signal with a static component ubias, amplitude uampb and frequency ω passing through the interval wb, wf. If the adaptive amplitude change is enabled (adaptive_amp = on), then the excitation signal takes such values that the output amplitude is close to dy_max/2. The frequency sweep rate is determined by the cp state (unless it’s not adaptively adjusted, in which case cpb exclusively determines it), outlining:

  • For logarithmic mode (mode = 1), it signifies the proportional reduction of the initial period Tb = 2π wb of the excitation sine wave over time Tb. Hence, the equation is as follows:
    cp = wb ω(Tb) = wb wbeγTb = eγTb .

  • For linear mode (mode = 2), it represents the frequency increase per unit of time.

The value of the cp state is usually in the interval 0.7;1) in logarithmic mode. For the linear mode, the parameter must be chosen with respect to the specified frequency range and the desired frequency change. If the adaptive change of the sweeping rate is enabled (adaptive_cp = on), then the cp state is recalculated depending on the "wrong" position of the frequency characteristic point before its convergence at each scheduled stop of the sweeping (given by the vector PHI). The current value of the cp parameter is copied to the output cp, its initial value cpb can be selected. The minimum and maximum values of cp cp_min and cp_max are taken into account only in adaptive_cp = on mode, otherwise the value cpb is copied to the output cp. In the combined mode (mode = 3), cpb is the sweeping rate in logarithmic segments and the linear segments including the sweeping rates are defined by the matrix WL. This matrix can be defined:

  • 1: Explicitly: [wb1 wf1 cp1, wb2 wf2 cp2, ..., wbN wfN cpN], where the matrix size is [1x3N].
  • 2: Alternatively: [wb1 wb2 ... wbN; wf1 wf2 ... wfN; cp1 cp2 ... cpN], where wbi is the start of the i-th linear interval, wfi is the end of the i-th linear interval. The matrix size is [3xN].

The system identification is triggered by setting the input TUNE = on. After rmi seconds (estimated transient duration), the calculation of the current point of the frequency characteristic starts. Its real and imaginary parts are repeatedly copied to the outputs xre and xim, the phase delay at a given frequency is copied to the output phase. During the identification process, the sweeping stops whenever the phase delay points PHI are reached. The stopping time is related to the values of the parameters q_crit 0.001;0.1 and np. The smaller the parameter q_crit is, the more accurately the frequency characteristic point will be determined, and the sweeping stop time will be longer. For a shorter evaluation window given by the number of seconds np (usually chosen identically to rmi) the stopping time will be shorter. It is possible to select the maximum number of evaluation windows cmi, the common value is cmi = 10. By input HLD = on it is possible to manually stop the frequency sweeping, setting HLD = off again causes the sweeping to continue. If necessary, the identification process can be stopped by input BRK = on.

During the identification, the output TBSY = 1. It is set to 0 when finished. During an error-free experiment, the output IDE = off. If the identification ends in an error, then IDE = on and the output iIDE specifies the associated error.

The vector PHI can be inserted:

  • 1: Explicitly: [ϕ1,ϕ2,...,ϕM], where ϕi > ϕi+1 and the vector size is [1xM].
  • 2: Alternatively: [0,0,ϕstart,ϕstep,ϕend], where ϕstart > ϕend, ϕstart is the initial phase, ϕstep is the step between phases, and ϕend is the final phase. The vector size is [1x5].

The nmax parameter specifies the maximum number of elements of the vector PHI that can be inserted. At the same time, this is the maximum width of the pmpRef matrix, thus the maximum number of accurately measured points that can be stored.

This block propagates the signal quality. More information can be found in the 1.4 section.

Input

pv

Process variable

Double (F64)

TUNE

Start the tuning experiment

Bool

HLD

Hold

Bool

BRK

Stop the tuning experiment

Bool

Parameter

wb

Start frequency [rad/s]   0.0 1.0

Double (F64)

wf

End frequency [rad/s]   0.0 10.0

Double (F64)

cpb

Initial sweeping rate   0.0  1.0 0.92

Double (F64)

alpha

Relative position of recostructor’s poles   0.0 2.0

Double (F64)

ksi

Recostructor damping   0.0 0.707

Double (F64)

mode

Frequency sweeping mode  1

Long (I32)

1 ....

Logarithmic

2 ....

Linear

3 ....

Combined

adaptive_cp

Adaptive sweep rate flag  on

Bool

adaptive_amp

Adaptive amplitude flag  on

Bool

np

Time for convergence detection [s]   0.0 3.0

Double (F64)

q_crit

Convergence threshold   0.0001  0.2 0.05

Double (F64)

cp_min

Minimal Sweeping Rate   0.0  1.0 0.8

Double (F64)

cp_max

Maximal Sweeping Rate   0.0  1.0 0.99

Double (F64)

cp_ratio

Frequency and amplitude sweeping ratio   0.0  1.0 0.8

Double (F64)

uampb

Initial amplitude of the exciting signal   0.0 1.0

Double (F64)

dy_max

Maximal change of amplitude of the process variable   0.0 1.0

Double (F64)

uamp_max

Maximal amplitude of the exciting signal   0.0 5.0

Double (F64)

ubias

Static component of the exciting signal

Double (F64)

hilim

Upper limit of the exciting signal  10.0

Double (F64)

lolim

Lower limit of the exciting signal  -10.0

Double (F64)

cmi

Maximum convergence detections per frequency   1 10

Long (I32)

rmi

Stabilization time at start [s]   0.0 10.0

Double (F64)

nmax

Allocated size of array   10  10000000 40

Long (I32)

PHI

Phase measurement points [degrees]  [-30 -90 -150]

Double (F64)

WL

Linear intervals matrix (combined mode only)  [2.2

Double (F64)

Output

mv

Manipulated variable (controller output)

Double (F64)

TBSY

Tuner busy flag

Bool

off ..

Identification not running

on ...

Identification in progress

w

Actual frequency [rad/s]

Double (F64)

xre

Real part of frequency response

Double (F64)

xim

Imaginary part of frequency response

Double (F64)

phase

Phase shift of frequency response [degrees]

Double (F64)

epv

Estimated process value

Double (F64)

IDE

Error indicator

Bool

iIDE

Error code

Long (I32)

cp

Actual Sweeping Rate

Double (F64)

pmpRef

Precisely measured frequency response points (w im re)  [2.2

Double (F64)

2024 © REX Controls s.r.o., www.rexygen.com