# Discrete State-Feedback Control Design with D-Stability and Genetic Algorithm for LED Driver Using a Buck Converter

Authors: René Osorio Sanchez; Jesse Yoe Rumbo Morales; Gerardo Ortiz Torres; Alan Francisco Pérez Vidal; Jesús Elias Valdez Resendiz; Felipe de Jesús Sorcia Vázquez; Nimrod Vaquez Nava
Journal: International Transactions on Electrical Energy Systems
 (2022)

---

## Abstract

In this paper, a discrete state-feedback controller is applied to control the current in power LEDs by using a buck converter. Sufficient conditions for the existence of the controller are given in terms of linear matrix inequalities (LMIs) with D-stability theory. In order to consider the specific closed-loop dynamics of the closed-loop LED driver, the genetic algorithm (GA) technique is applied, as a complement of the D-stability theory. Therefore, the proposed GA technique is used to search offline the optimal closed-loop eigenvalues to have a desired response of the closed-loop system, subject to a proposed cost function equation. The main contribution of this work is the design and the experimental validation of both the state-feedback controller and the GA to achieve the desired closed-loop dynamics of the LED-driver system. Finally, simulations and experimental results are done in order to illustrate the effectiveness of the proposed methodology.


---

## Body

## 1. Introduction

Power LEDs are the most efficient light source in the market, and also it has a long useful life. Power LEDs are used in several lighting systems, such as residential, industrial, enterprise, and street lighting applications. The LED driver uses a dc-dc converter to maintain a constant LED current because it can be damaged if an overcurrent circulates over them. These days, power LED-driver systems work by using a power converter like dc-dc converter, which is used to obtain a constant LED current because power LEDs are very sensitive to variations of this variable. In an extreme case, these variations can destroy them. Therefore, a LED driver based on a dc-dc converter is required for the control of the LED current because the LEDs have a high sensitivity to voltage variations. This phenomenon causes the current to have a great increment in its value when the voltage has small variations [1–11].A LED driver based on a buck converter with a constant on-time control loop was presented in [2], and a good performance in the current control of the LEDs is achieved. A digital primary-side controller for a flyback light-emitting diode driver with a conventional constant on-time control was presented in [9], and good line regulation with good LED current regulation is achieved.One of the problems in control theory is the output feedback stabilization problem. Using this theory, it is necessary to find static output feedback, applied to a given system, so that the closed-loop system has some desirable characteristics [12]. Various approaches have been used to study the stability of the state-feedback control [13]. It has been shown that an extremely wide array of feedback controller designs may be reduced to the problem of finding a feasible point under a linear matrix inequality (LMI) constraint [14]. Recent works of the theory of LMIs have been used for discrete feedback controller design in [15–18]. Most of the above works present an iterative algorithm in which a set of equations or a set of LMI problems are repeated until certain convergence criteria are met.D-stability theory can be applied in the LMI design to select a specific region of the pole-placement closed-loop system [14, 17, 19, 20]. Nevertheless, this approach can be difficult to design. An alternative to designing an optimal discrete state-feedback controller could be the combination of machine learning techniques and the LMI design [21]. More specifically, evolutionary algorithms are an important category of machine learning techniques that are based on the evolutionary ideas of natural selection and genetics [21]. There are approaches reported in the literature that combines the use of LMI design and a genetic algorithm (GA) to design a robust controller, e.g., robust controller design procedure applied to a grid-connected converter by combining LMIs and genetic algorithm is proposed in [22]. Such a strategy allows to overcome the control design, ensuring a good tradeoff between performance and robustness against uncertain grid parameters. Experimental results are presented to demonstrate the viability of the proposed approach. In [23], two robust decentralized control design methods for load frequency control are proposed by using LMIs and GA techniques. GA optimization is used to tune the control parameters of a PI controller. The proposed controllers are tested in simulation to demonstrate their robust performance. An LMI condition of nonlinear systems by GA-based adaptive fuzzy sliding mode controller is discussed in [24]. Numerical simulations are presented to demonstrate that the control methodology can rapidly and efficiently control a nonlinear system. To our knowledge, there are few studies on designing discrete state-feedback controllers with genetic algorithms to have the desired characteristic of a closed-loop LED driver, so the study of such problems remains important and challenging and is of both practical and theoretical importance. The buck converter is used as a LED driver because it has been used with satisfactory results in LED lighting applications [6]. This converter is a minimum phase system, and due to this property, it is easy to control it [2].The simulation results are obtained by using the LED model presented in [10]. It consists of a constant voltage source in series with a resistor with a constant value. The performance of the power LEDs is well represented by this model, and good simulation results are presented in [10, 11].This document is organized as follows: In Section2, the power stage is presented. The system modeling is shown in Section 3 and the control stage is shown in Section 4. Section 5 presents the simulation results, and in Section 6 experimental results are shown. Finally, the conclusions are presented in Section 7.


## 2. Power Stage

Figure1 shows the schematic diagram of the power stage that is based on a dc-dc converter named buck converter that is used as a LED driver where the objective is to maintain a constant current in the power LEDs. For this purpose, closed-loop control by sensing the LED current is commonly designed. Buck converter is considered a minimum phase system that allows easy control of the LED-driver system. The buck converter uses a MOSFET transistor M, a diode D, an inductor L, and a capacitor C.Figure 1
Schematic diagram of the power stage [2].


## 3. System Modelling

The LED model presented in [25] is used to simulate the LED-driver system. It consists of a constant voltage source in series with a resistor with a constant value that is shown in Figure 2. This model is used because is simple, and due to this the model of the LED-driver system can be easily calculated.Figure 2
LED model [25].Figure3 shows the schematic diagram of the LED-driver system with the model proposed in [25]. The LED model presented in Figure 2 is used to represent the power LED performance. An average state-space model of the dc-dc converter is calculated because it facilitates the design of the control stage.Figure 3
LED driver model [2, 25].Thee LED panel LMT-P12Y-77-N LED from the SiLED manufacturer is used, and its model parameters areRy=22.54Ω and Ey=32.51v.


## 4. Analysis and Design of the Control Stage

The LED-driver system is nonlinear system. The state-space averaging modeling method is used instead of the state-space switching model because it facilitates the design of the control stage. Based on the aftermentioned words, and by using the schematic diagram of the LED-driver system (Figure3) the nonlinear state-space averaged system model can be written as follows:(1)x˙t=Axt+But+P,yt=Γxt,with(2)A=0−1L1C−1CRy,B=EL0,P=0VyCRy,Γ=10,where xt=x1t,x2tT=iLt,vCtT∈ℝn denotes the state vector, represented by the inductor current and the capacitor voltage, receptively, with n=2. The output vector is given by yt. For tracking control design, it is considered that the output is only iLt, but in the experimental circuit both states can be measured and they will be used in the stabilizing control stage, as illustrated in Figure 4. To control the LED driver, the dynamic system (1) is discretized by using the Euler method. Then the following system is obtained:(3)xk+1=Adxk+Bduk+Pd,yk=Γdxk,with(4)Ad=0−TsLTsC−TsCRy+1,Bd=ETsL0,Pd=0VyTsCRy,Γd=10,where Ts denotes the sample time.Figure 4
State variable feedback control scheme applied to the LED-driver system.The objective is to design a control law with a state variable feedback controller such that steady-state response tends to the desired inductor current reference. To reach the desired time-varying valuesrfk, an integrator comparator is considered. Then, the dynamics of the error ek=rfk−Γdxk=rfk−x1k are represented by(5)zk+1=zk+Tsek=zk+Tsrfk−Γdxk,where x1k=iLk, and zk is an auxiliary variable for integral control design. Then, systems (3) and (5) are rewritten in the augmented system form x¯k=xk,zkT, as follows:(6)x¯k+1=Aax¯k+Bauk+Pa+Rarf,y¯k=Γax¯k,with(7)Aa=Ad02×1−ΓdTs1,Ba=Bd0,Pa=Pd0,Ra=0Ts,Γa=Γd0.By assuming that the pairAa,Ba is controllable, the control law uk is obtained:(8)uk=Kdx¯k=K1K2xkzk−Ba+Pa,where K1 and K2 are the state feedback gains matrices to be calculated and Ba+ is the pseudoinverse of the matrix Ba. The term Ba+Pa is proposed to eliminate the effect of the matrix Pa in the controller design (see Figure 4). Now, the problem is reduced to determine optimal values of the controller gains. By synthesizing (8) in system (6), assuming that rf=0, gives the closed-loop system(9)x¯k+1=Aax¯k+BaKdx¯k−Ba+Pa+Pa=Aa+BaKax¯k.The following result gives sufficient LMIs conditions to guarantee the global asymptotic convergence of the tracking controller:Theorem 1.
Given system (6), and the comparator integrator control law (9), the closed-loop error system (5) is asymptotically stable if there exists a symmetric matrix X=XT>0 and a matrix W such that(10)XAaX+BaWAaX+BaWTX>0.
The controller gain matrices are computed byKa=WX−1.Proof.
Let us choose the following candidate quadratic Lyapunov function as(11)Vk=x¯kTPx¯k,with a positive define matrix P, and consider that (11) is monotonically decreasing, i.e.,(12)Vk+1−Vk=x¯kTAa+BaKaTPAa+BaKa−Px¯k<0,for all k. Since condition (12) is ensured if(13)P−Aa+BaKaTPAa+BaKa>0,holds, Ka is stabilizing gain if there exists a matrix P=PT>0, satisfying (13). Now, by multiplying P−1 on the left- and right-hand sides of the left-hand term of (13), the stability conditions (13) can be rewritten as(14)P−1−P−1Aa+BaKaTPAa+BaKaP−1>0.
Applying the Schur complement to (14), the matrix inequality is equivalent to(15)P−1P−1Aa+BaKaP−1Aa+BaKaTP−1>0.
Note that due to the quantityP−1BaKa, the inequality expression (15) is not an LMI. To express it with LMI conditions, the following change of variables can be performed: X=P−1, W=KaX and with the property of congruence with full rank matrix X, (15) is equivalent to the LMI in Theorem 1. Finally, this completes the proof.Lemma 1.
To avoid slow dynamics, pole assignment can be considered as(16)λiAa+BaKa∈Di=1,2,…,n,where D is the disk stability with all eigenvalues of Aa+BaKa located inside the unit circle, as defined in [14, 19]. The area associated with the decay rate consists of a circle centered at the origin, with its radius r being the parameter that is defined by the desired decay rate.Then, by considering the previous Lemma, the following Corollary of Theorem1 is obtained.Corollary 1.
Given system (6), and the comparator integrator control law (9), the close-loop error system (5) is asymptotically stable if there exists a positive scalar r, a symmetric matrix X=XT>0 and a matrix W such that(17)−rXAaX+BaWAaX+BaWT−rX<0.
The controller gain matrices are computed byKa=WX−1.The successfully obtained control vectorKa guarantees the closed-loop system stability. However, the positive scalar r in (17) is selected without considering any dynamics of the controlled system. Therefore, the proposed genetic algorithm (GA) technique is used to search offline the optimal scalar value of r, to have the desired response of the closed-loop system subjected to a proposed cost function equation.Evolutionary algorithms are an important category of machine learning techniques that are based on the evolutionary ideas of natural selection and genetics. A population of individuals, called a generation, compete at a given task with a defined cost function. GA is based on the propagation of generations of individuals by selection through fitness. Each individual represents a possible solution within a search space. After the initial generation is populated with individuals, each is evaluated and assigned a fitness based on their performance on the cost function metric [21]. In this paper, the Global Optimization Toolbox [26] was used to implement the GA optimization.The performance of the given control law is judged based on the value of the following cost function:(18)Jek=minek∑k=1∞ekTQek,where the matrix Q weighs the cost of deviations of the error and it is positive semidefinite. The goal is to develop a control strategy uk=Kax¯k, with an optimal selection of r in (17), to minimize the cost function Jek ensuring a good performance of the closed-loop system (9). The offline procedure for the selection of optimal r using the genetic algorithm technique is shown in Figure 5.Figure 5
Procedure for selection of optimalr using genetic algorithm.


## 5. Simulation and Experimental Results

### 5.1. Simulation Results

In this section, simulation implementations of the proposed algorithm are presented. Simulation of the control algorithm implemented in the STM32F4 discovery development board applied to the LED-driver system was carried out in the program MATLAB/Simulink. The computer used to find the optimal controller gain has the following characteristics: MSI Prestige 15 A10SC, Intel Core i7 10-th generation @ 1.10 GHz, and 16 GB of RAM. Table1 shows the constant parameters of the LED-driver system.Table 1
Parameters of the LED-driver system.
ParameterValueUnitCapacitor,C80vInductor,L5.17mHVoltage source,E0.48μFVoltage source of LED model,Ey32.51vResistor of LED model,Ry22.54ΩRange of duty cycle,dcmin,dcmax0,800bitsThe open-loop operation points areiLss=0.3145A and vCss=39.6v with a constant input uss=0.495, which represents a pulse width modulation (PWM) with a duty cycle dc of 50%. In the STM32F4 discovery development board, the PWM generation is configured with a counter period of 800. In other words, 50% of the duty cycle is equivalent to selecting a pulse bits value of 400. By considering previous remarks, the matrix Bd can be rewritten in (3) as(19)Bd=ETsdcmaxL0.The sample timeTs is calculated by considering (1) and the step response (Figure 6). The continuous transfer function of the open-loop LED-driver system is(20)Gs=0.31451.584×10−4s+1.Figure 6
Step response of the open-loop LED-driver system.Note that the overall system is a second-order system; however, the inductor current and the capacitor voltage present a first-order open-loop dynamics that we have used to find the sample time for practical implementation.From (19), the constant time of the system is τb=1.5847×10−4s with a system bandwidth of ωb=6.3103×103rad/s. According to the sampling theorem [27], a suitable sampling frequency ωs is chosen as(21)ωs=kωb,with35≤k≤80.The corresponding sampling time is selected asTs=2π/ωs=12.5μs, with k=79.6.Figure7 shows the GA applied to the closed-loop system (9) to select the optimal value of r in (14) by minimizing the cost function (18). The defined parameters for the GA are a maximum generation of 10 and each generation with a population size of 10 individuals.Figure 7
A genetic algorithm is applied to the closed-loop system. (a) Each closed-loop time response to find the optimal value ofr and (b) discrete pole placement of the closed-loop for each value of r.
(a)(b)The controller gains for (8) are obtained by solving the LMI of Corollary 1, using Yalmip Toolbox [28]. By using the procedure for selection of optimal r with a genetic algorithm, presented in Figures 5 and 6, the following is obtained(22)r=0.4734;Ka=6.22×103,−8.31,−1.85×103;λiAa+BaKa=0.37,−0.019±0.066,i=1,2and3,Q=10000;Jek=0.011.To test the effectiveness of the proposed method, four scenarios are considered, depicted in Table2. In each scenario, initial conditions of the LED-driver system (3) are established in x0=0,0T.Table 2
Description of the simulation scenarios.
ScenarioReference,rf1310mA250mA3Pulse test, from310mA to150mA, f=5KHz4Pulse test, from310mA to50mA, f=5KHzIn Figures8 and 9, the simulation of the LED-driver system performance for each scenario is presented. The top and middle figures show both the controlled inductor current and the capacitor voltage, respectively, while the bottom figures show the control input (duty cycle) applied to the system.Figure 8
Scenarios 1 and 2: inductor current, capacitor voltage, and tracking control signals, with a constant reference.
(a)(b)Figure 9
Scenarios 3 and 4: inductor current, capacitor voltage, and tracking control signals, with a pulse reference.
(a)(b)Scenarios 1 and 2 are displayed in Figure8 and scenarios 3 and 4 are presented in Figure 9. Also, these figures show the good performance of the tracking controller with a small error between the reference and the inductor current, also with a small overshoot, and a small settling time. Additionally, Figures 8 and 9 show how the proposed control system can track the inductor current, even with a pulse reference.


### 5.2. Experimental Results

The feedback controller was implemented in the STM32F4 discovery development board with an STM32F429 as the processor. ARM controller was chosen because it is lightweight, small in dimension, easy to be operated, and low cost. Also, this development board can handle signal processing, is easy to be programmed, and has a friendly user interface. The STM32F4 discovery development board has a 6.5 × 11.8 cm dimension, with 32 bit ARM Cortes-M4 RISC CPU and it has a high-speed embedded memory with 2 MB flash memory and 256 KB RAM.The schematic diagram implemented physically is presented in Figure10.Figure 10
Schematic diagram of the implanted LED driver.Experimental results are shown in Figures11–14. Figures 11 and 12 show experimental results under stationary state conditions. Figure 11 shows the experimental results when the LED current is 310 mA, and Figure 12 shows experimental results when the current is 50 mA.Figure 11
Experimental results under stationary state conditions when the LED current is 310 mA: (a) CH1 voltage from the voltage sensor, (b) CH2 voltage from de current sensor, (c) CH3 is the LED voltage, and (d) CH4 is the LED current.Figure 12
Experimental results under stationary state conditions when the LED current is 50 mA: (a) CH1 voltage from the voltage sensor, (b) CH2 voltage from de current sensor, (c) CH3 is the LED voltage, and (d) CH4 is the LED current.Figure 13
Experimental results, pulse current tests when the LED current changes from 150 mA to 310 mA and vice versa: (a) CH1 voltage from the voltage sensor, (b) CH2 voltage from de current sensor, (c) CH3 is the LED voltage, and (d) CH4 is the LED current.Figure 14
Experimental results, pulse current tests, when the LED current changes from 50 mA to 310 mA and vice versa: (a) CH1 voltage from the voltage sensor, (b) CH2 voltage from de current sensor, (c) CH3 is the LED voltage, and (d) CH4 is the LED current.Figures13 and 14 show experimental results under a current pulse test (dynamical conditions), and the step current test is made with a pulse control signal. Figure 13 shows the current pulse test when the LED current changes from 150 mA to 310 mA, and Figure 14 shows a current pulse test when the LED current changes from 50 mA to 310 mA. A good dynamic response is observed in these tests with good reference pursuit obtained, and also the current error is near zero because an integrator is used for this purpose.Figure15 shows a picture of the prototype and the equipment used in the experiments.Figure 15
Experimental prototype.


## 5.1. Simulation Results

In this section, simulation implementations of the proposed algorithm are presented. Simulation of the control algorithm implemented in the STM32F4 discovery development board applied to the LED-driver system was carried out in the program MATLAB/Simulink. The computer used to find the optimal controller gain has the following characteristics: MSI Prestige 15 A10SC, Intel Core i7 10-th generation @ 1.10 GHz, and 16 GB of RAM. Table1 shows the constant parameters of the LED-driver system.Table 1
Parameters of the LED-driver system.
ParameterValueUnitCapacitor,C80vInductor,L5.17mHVoltage source,E0.48μFVoltage source of LED model,Ey32.51vResistor of LED model,Ry22.54ΩRange of duty cycle,dcmin,dcmax0,800bitsThe open-loop operation points areiLss=0.3145A and vCss=39.6v with a constant input uss=0.495, which represents a pulse width modulation (PWM) with a duty cycle dc of 50%. In the STM32F4 discovery development board, the PWM generation is configured with a counter period of 800. In other words, 50% of the duty cycle is equivalent to selecting a pulse bits value of 400. By considering previous remarks, the matrix Bd can be rewritten in (3) as(19)Bd=ETsdcmaxL0.The sample timeTs is calculated by considering (1) and the step response (Figure 6). The continuous transfer function of the open-loop LED-driver system is(20)Gs=0.31451.584×10−4s+1.Figure 6
Step response of the open-loop LED-driver system.Note that the overall system is a second-order system; however, the inductor current and the capacitor voltage present a first-order open-loop dynamics that we have used to find the sample time for practical implementation.From (19), the constant time of the system is τb=1.5847×10−4s with a system bandwidth of ωb=6.3103×103rad/s. According to the sampling theorem [27], a suitable sampling frequency ωs is chosen as(21)ωs=kωb,with35≤k≤80.The corresponding sampling time is selected asTs=2π/ωs=12.5μs, with k=79.6.Figure7 shows the GA applied to the closed-loop system (9) to select the optimal value of r in (14) by minimizing the cost function (18). The defined parameters for the GA are a maximum generation of 10 and each generation with a population size of 10 individuals.Figure 7
A genetic algorithm is applied to the closed-loop system. (a) Each closed-loop time response to find the optimal value ofr and (b) discrete pole placement of the closed-loop for each value of r.
(a)(b)The controller gains for (8) are obtained by solving the LMI of Corollary 1, using Yalmip Toolbox [28]. By using the procedure for selection of optimal r with a genetic algorithm, presented in Figures 5 and 6, the following is obtained(22)r=0.4734;Ka=6.22×103,−8.31,−1.85×103;λiAa+BaKa=0.37,−0.019±0.066,i=1,2and3,Q=10000;Jek=0.011.To test the effectiveness of the proposed method, four scenarios are considered, depicted in Table2. In each scenario, initial conditions of the LED-driver system (3) are established in x0=0,0T.Table 2
Description of the simulation scenarios.
ScenarioReference,rf1310mA250mA3Pulse test, from310mA to150mA, f=5KHz4Pulse test, from310mA to50mA, f=5KHzIn Figures8 and 9, the simulation of the LED-driver system performance for each scenario is presented. The top and middle figures show both the controlled inductor current and the capacitor voltage, respectively, while the bottom figures show the control input (duty cycle) applied to the system.Figure 8
Scenarios 1 and 2: inductor current, capacitor voltage, and tracking control signals, with a constant reference.
(a)(b)Figure 9
Scenarios 3 and 4: inductor current, capacitor voltage, and tracking control signals, with a pulse reference.
(a)(b)Scenarios 1 and 2 are displayed in Figure8 and scenarios 3 and 4 are presented in Figure 9. Also, these figures show the good performance of the tracking controller with a small error between the reference and the inductor current, also with a small overshoot, and a small settling time. Additionally, Figures 8 and 9 show how the proposed control system can track the inductor current, even with a pulse reference.


## 5.2. Experimental Results

The feedback controller was implemented in the STM32F4 discovery development board with an STM32F429 as the processor. ARM controller was chosen because it is lightweight, small in dimension, easy to be operated, and low cost. Also, this development board can handle signal processing, is easy to be programmed, and has a friendly user interface. The STM32F4 discovery development board has a 6.5 × 11.8 cm dimension, with 32 bit ARM Cortes-M4 RISC CPU and it has a high-speed embedded memory with 2 MB flash memory and 256 KB RAM.The schematic diagram implemented physically is presented in Figure10.Figure 10
Schematic diagram of the implanted LED driver.Experimental results are shown in Figures11–14. Figures 11 and 12 show experimental results under stationary state conditions. Figure 11 shows the experimental results when the LED current is 310 mA, and Figure 12 shows experimental results when the current is 50 mA.Figure 11
Experimental results under stationary state conditions when the LED current is 310 mA: (a) CH1 voltage from the voltage sensor, (b) CH2 voltage from de current sensor, (c) CH3 is the LED voltage, and (d) CH4 is the LED current.Figure 12
Experimental results under stationary state conditions when the LED current is 50 mA: (a) CH1 voltage from the voltage sensor, (b) CH2 voltage from de current sensor, (c) CH3 is the LED voltage, and (d) CH4 is the LED current.Figure 13
Experimental results, pulse current tests when the LED current changes from 150 mA to 310 mA and vice versa: (a) CH1 voltage from the voltage sensor, (b) CH2 voltage from de current sensor, (c) CH3 is the LED voltage, and (d) CH4 is the LED current.Figure 14
Experimental results, pulse current tests, when the LED current changes from 50 mA to 310 mA and vice versa: (a) CH1 voltage from the voltage sensor, (b) CH2 voltage from de current sensor, (c) CH3 is the LED voltage, and (d) CH4 is the LED current.Figures13 and 14 show experimental results under a current pulse test (dynamical conditions), and the step current test is made with a pulse control signal. Figure 13 shows the current pulse test when the LED current changes from 150 mA to 310 mA, and Figure 14 shows a current pulse test when the LED current changes from 50 mA to 310 mA. A good dynamic response is observed in these tests with good reference pursuit obtained, and also the current error is near zero because an integrator is used for this purpose.Figure15 shows a picture of the prototype and the equipment used in the experiments.Figure 15
Experimental prototype.


## 6. Conclusions

A discrete state-feedback controller design by combining D-stability theory and GA technique was proposed and validated experimentally. The dynamic model of the LED driver is presented. Furthermore, tracking controllers were designed using a feedback integrator. Sufficient conditions for the existence of the controller are given in terms of linear matrix inequalities (LMIs) with D-stability theory. The proposed GA technique is used to search offline the optimal closed-loop eigenvalues to have a desired response of the closed-loop LED driver, subjected to a proposed cost function equation. Finally, simulations and experimental validation was carried out. The results of the proposed methodology demonstrate that the discrete controller designed with GA can ensure a good performance of the tracking controller with a small error between the reference and the inductor current, also with a small overshoot, and a small settling time.



---

*Source: 8165149-2022-07-21.xml*