AnalogLocalizationControlSystem

Control System Using the Localization Method from A. S. Vostrikov. C Code and Octave Script.

1. Abbreviation

LM_formula1_6

2. Introduction

Here I want to consider the localization method used in control systems developed by A.S. Vostrikov and his group at Novosibirsk State Technical University (NSTU). The localization method is used to control nonlinear and linear objects. In my article I will give a simple example for a linear system. For a detailed description of the application for nonlinear objects, see [1], [2].
Figure 2-1 shows the structure of the localization method for controlling a linear object. The method localizes (suppresses) the characteristics of the object and forms a control effect/signal on the control object, using the derivatives of the output values in the feedback (12a).
AnalogLocalizationControlSystem

Figure 2-1: Analog Localization Control System

LM_formula7_12a

LM_formula13_19

LM_formula20_20a

If K is a large quantity (or K => +∞) then:

LM_formula21_21a

LM_formula22

Thus we obtain the desired characteristic of the transient process at large values of K, while the external disturbance m(t) is completely suppressed. It is recommended to choose a loop gain:

LM_formula23

In this case the adjustment error of (20) for a static signal without disturbances m(t)=0 in steady-state mode s=0:

LM_formula24

Thus the adjustment error is 5%…1%
A large loop gain can lead to instability of the system and in this case additional correction is needed to avoid the generation.

3. Analog Example

Let there be a second-order control object described by a transfer function:

LM_formula25_28

The reaction of the control object to the step signal has the form:
AnalogObjectStepResponse

Figure 3-1: Step Response on the Control Object without Regulator

The control object has a strong overshoot, which does not meet the requirements of the transition process.
Now let’s choose the transfer characteristic of the desired transition process:
LM_formula29_30
The choice of quality factor is described in the article “Digital Derivative Filter Using Integrators. C Code and Octave Script”
Step response on the required transform function is showed on the Figure 3-2
AnalogRequiredStepResponse

Figure 3-2: Required Step Response

Now let’s choose a filter that suppresses high-frequency interference in the feedback, using (15), (16):

LM_formula32_33

Then:

LM_formula34

Using (23) we select the loop gain:

LM_formula33_1

Then from (26):

LM_formula35

To estimate the stability reserves, we calculate the transfer characteristic of the system with open feedback:

LM_formula36

Then magnitude and phase response of the open loop is showed on the Figure 3-3:

AnalogOpenLoopMagnitudePhaseResponse

Figure 3-3: Open Loop Magnitude and Phase Response

LM_formula37_38

Close Loop Step Response is showed on the Figure 3-4. The system has the desired transient response:

AnalogCloseLoopStepResponse

Figure 3-4: Close Loop Step Response

Note
At a loop gain value of 20, the control system has an adjustment error of 5%. See (24). This can be seen in Figure 3-4. The signal does not reach 1 (only 0.95). Increasing the loop gain will reduce the adjustment error, but may lead to instability, which will require additional correction.

4. Digital Regulator

Now we implement the regulator from our example in digital form. Let’s choose the sampling frequency based on 5˚ degrees = 0.0873 radians of uncertainty caused by sampling, at a cross frequency of 125 Rad/s (see (37)). In this case the stability reserves (38) will worsen for the digital control system by 5 degrees and will amount to 50˚ – 5˚ = 45˚ degrees, which is also sufficient for stable operation. The uncertainty of the phase is calculated by the formula:

LM_formula39

Then:

LM_formula40

The structure of the digital regulator is shown in Figure 4-1

DigitalLocalizationControlSystem

Figure 4-1: Localization Control System with Digital Regulator

The digital controller itself is described using z-transform, and the object is controlled via DAC (Digital to Analog Converter), which is described using ZOH (Zero Order Hold). See a description of the ZOH in [3]. The output analog signal is read using an ADC (Analog to Digital Converter), which then goes to the digital regulator.
The digital controller is calculated on the basis of analog variant using bilinear conversion (6):
Analog:
LM_formula41
To analyze and simulate the control system from our example, the whole control system was converted using a bilinear transformation (6) into digital form, including ZOH and Object.

LM_formula42

LM_formula43

The step response of the digital control system is shown in Figure 4-2.

DigitalCloseLoopStepResponse

Figure 4-2: Step Response of the Localization Control System with Digital Regulator

Thus the control system with a digital controller fully meets the specified requirements of the transition process.

5. Conclusions of the Localization Method

  1. The method localizes (suppresses) the characteristics of the object, forms a control effect/signal on the object, using the derivatives of the output values in the feedback. The method works for controlling nonlinear and linear objects.
  2. There is a control error that depends on the loop gain:
    Gain 20 corresponds to error 5%
    Gain 100 corresponds to error 1%
  3. The transition process is completely determined by the developer, who chooses the desired transfer function himself.
  4. In the case of a nonlinear object to ensure the stability of the control system, an analysis method is used based on the separation of the system’s own movements into slow and fast (see [1], [2]) that occur during transient processes when working out initial conditions. These different-tempo movements arise as a result of the choice (15). Thus two simpler subsystems are considered, and the subsystem of fast motions is described by linear differential equations.

 

6. Octave GNU file LocalizationControlSystem.m

The m script generates magnitude, phase and step responses, test signals and checks the analog/digital localization control systems. To do this, the following functions are defined in this file:

% Plotting the Step Response of the Analog Filter: (…+b1*s^2+b2*s+b3)/(…+a1*s^2+a2*s+a3)
% Input parameters:
% SB — numerator
% SA — denominator
% TimeVector – Time space
function plot_StepResponseAnalogFilter(sys, TimeVector, Text)

% Plotting the Step Response for the Digital Filter: (b1+b2*z^-1+b3*z^-2+…)/(a1+a2*z^-1+a3*z^-2+…)
% Input parameters:
% ZB — numerator
% ZA — denominator
% SampleNumber – Sample number of the step function
function plot_StepResponseDigitalFilter(ZB, ZA, SampleNumber, Text)

% Digital Close Loop: Localization Regulator
% Input parameters:
% K — gain
% ZB_object — numerator
% ZA_object — denominator
% ZB_feedback — numerator
% ZA_feedback — denominator
% x_input – input signal
function [y_output] = DigitalCloseLoopLocalizationRegulator(K, ZB_object, ZA_object, ZB_feedback, ZA_feedback, x_input)

% Float Table to File
% Support C-Code
% Input parameters:
% ParameterVector – data array
% FileNameString – output file name
function FloatParamVector2file(ParameterVector, FileNameString)

7. C Language LocalizationControlSystem.c/h

The demo SW is realized the digital regulator of the Localization Control System. See the files LocalizationControlSystem.c/h
Functions:

/*
Control System Initialization
Clear the working arrays
Input: void
Return: void
*/
void ControlSystemInit(void)

/*
IIR Filter with Transposed Form II
Input
float input – filter input
Return
float – filter output
*/
float iir_filter(float input, float const* all_coef_ptr, float* all_history_ptr, uint8 sos_nmb)

/*
Regulator
Input
float require – require value
float object – object value
Return
float – control value
*/
float Regulator(float require, float object)

/*
Object Simulation
Input
float control – control value
Return
float – object output value
*/
float ObjectSimulation(float control)

8. Download the LocalizationControlSystem.c/h/m

You can download the files:
LocalizationControlSystem.m
LocalizationControlSystem.c
LocalizationControlSystem.h
with the button:

9. Literature / References

[1] A. S. Vostrikov “Synthesis of control systems by the localization method“, Monograph, Publishing House: Novosibirsk State Technical University, ISBN 978-5-7782-0765-3, Novosibirsk, 2007
[2] A. S. Vostrikov, G. A. Francuzova “Theory of automatic regulation”, Publishing House: Novosibirsk State Technical University, ISBN: 5-7782-0389-6, Novosibirsk, 2003
[3] R. Dorf, R. Bishop “Modern Control System”, Eddison-Wesley, ISBN: 0-201-30864-9, 1998