Literature DB >> 33267008

Adaptive Extended Kalman Filter with Correntropy Loss for Robust Power System State Estimation.

Zhiyu Zhang1, Jinzhe Qiu1, Wentao Ma1.   

Abstract

Monitoring the current operation status of the power system plays an essential role in the enhancement of the power grid for future requirements. Therefore, the real-time state estimation (SE) of the power system has been of widely-held concern. The Kalman filter is an outstanding method for the SE, and the noise in the system is generally assumed to be Gaussian noise. In the actual power system however, these measurements are usually disturbed by non-Gaussian noises in practice. Furthermore, it is hard to get the statistics of the state noise and measurement noise. As a result, a novel adaptive extended Kalman filter with correntropy loss is proposed and applied for power system SE in this paper. Firstly, correntropy is used to improve the robustness of the EKF algorithm in the presence of non-Gaussian noises and outliers. In addition, an adaptive update mechanism of the covariance matrixes of the measurement and process noises is introduced into the EKF with correntropy loss to enhance the accuracy of the algorithm. Extensive simulations are carried out on IEEE 14-bus and IEEE 30-bus test systems to verify the feasibility and robustness of the proposed algorithm.

Entities:  

Keywords:  adaptive update mechanism; correntropy loss; extended Kalman filter; non-Gaussian noises; power system robust state estimation

Year:  2019        PMID: 33267008      PMCID: PMC7514774          DOI: 10.3390/e21030293

Source DB:  PubMed          Journal:  Entropy (Basel)        ISSN: 1099-4300            Impact factor:   2.524


1. Introduction

The power system state estimation (SE) is the foundation and core of the energy management system, and it is indispensable for power system safety, reliability, quality and economic operation [1]. SE is usually divided into static state estimation (SSE) and forecasting-aided state estimation (FASE), FASE is also called dynamic state estimation in some studies [2]. SSE can grasp the real-time operating state of the power system, and FASE can predict the operating trend of the system. The power system is a quasi-steady state system and the state information of buses will change with the change of loads. The SSE cannot consider the impact of the change of system loads on system status information, while the FASE with the function of analyzing and predicting the operation trend of the system is required. Therefore, research on power system forecasting-aided state estimation (PSFASE) is of great significance [3,4,5]. At present, the achievements of FASE are mainly based on different Kalman filters and their modifications. The original Kalman filtering algorithm can only solve linear problems, and it loses its advantage when facing complex nonlinear systems like a power system. Subsequently, an extended Kalman filter (EKF) was proposed in [6], which can linearize the nonlinear measurement function by Taylor series and can be applied in the nonlinear system. In [7], EKF has been used to solve the PSFASE. Considering the adaptability of the algorithm is poor when the power system sudden load changes, an adaptive EKF was proposed in [8]. To enhance the robustness of the algorithm when bad data exists in the measurement data, the robust EKF was proposed in [9]. A new robust generalized maximum-likelihood-type EKF is developed in [10] which can bound the influence of the disturbances. To avoid first-order approximation errors of the EKF, which may be large under strong nonlinearities of the model, the iterated EKF (IEKF) [11] has been proposed as an alternative method. The IEKF iteratively linearizes the functions of nonlinear system to compensate for the higher order terms. To improve the stability of algorithm when the system model involves uncertainty, the H∞ EKF was proposed in [12] which quotes the robust control theory. To summarize, the EKF and its modifications make a great breakthrough in the optimization of the nonlinear system and widely applied for the PSFASE due to its simplicity, high computational efficiency and superior performance in highly nonlinear systems. Although EKF can solve the nonlinear problem, these methods ignore the influence of higher order terms in the process of linearization and increase the computational complexity because it needs to calculate Jacobian matrix. For resolving the above challenge, the unscented Kalman filter (UKF) was developed in [13] to approximate the nonlinear distribution by sampling method to solve the nonlinear problem. In [14], a UKF based power system dynamic state estimation was proposed. However, all these approaches mentioned above have suffered from several important defects, limiting them from being adopted for PSFASE. To be specific, they cannot handle: 1) the non-Gaussian process and observation noises of the system nonlinear dynamic models, and 2) the unknown noise covariance matrices. In the actual power grids, the non-Gaussian process and observation noises are ubiquitous and hence the inappropriate noise covariance matrices will lead to imprecise estimation results. The traditional EKF and UKF methods are derived based on mean square error (MSE) which is optimal under Gaussian assumption. Therefore, the SE methods based on the original EKF and UKF will show un-robustness when the system suffers from the non-Gaussian noises, that is, the state cannot be estimated correctly. To overcome the influence of non-Gaussian noise, a novel maximum correntropy criteria (MCC) [15,16,17,18,19] has been developed in an information theoretic learning (ITL) methodology for non-Gaussian signal processing. At present, a novel robust EKF based on the MCC (called MCC-EKF) was developed in which the MSE was substituted by the MCC to solve estimation issues in non-Gaussian noise environments [20,21,22]. In this paper, the MCC-EKF is firstly used to design a robust SE method to suppress the interference of non-Gaussian noise. In addition, a novel adaptive update mechanism of the predicted error covariance matrix and measurement noise covariance matrix is introduced into the MCC-EKF, and an adaptive MCC-EKF (called AMCC-EKF) method is proposed to enhance the tracking ability of the original MCC-EKF. The performance of the proposed AMCC-EKF, MCC-EKF, UKF and EKF for PSFASE are tested in this paper. Experimental results illustrate that the proposed algorithm performs better than other algorithms with respect to the estimation accuracy under the non-Gaussian circumstances. The remainder of this paper is organized as follows. In Section 2 we briefly review the correntropy and extended Kalman filter. In Section 3 we derived the proposed AMCC-EKF algorithm and in Section 4 the proposed algorithm is applied to PSFASE. Section 5 gives the simulation results. Finally, Section 6 concludes with a summary of the main findings of this paper.

2. Preliminaries

2.1. Maximum Correntropy Criteria

Given two random variables and , the correntropy is defined as where denotes the expectation operator, is the joint distribution function of and , and represents a shift-invariant Mercer kernel, with bandwidth . In this paper, we use the following Gaussian kernel Correntropy can be used as a cost function to develop novel robust adaptive filtering algorithms [23,24,25]. In practice, only finite samples of the variables and are given, and the joint probability density function is unknown in general. Hence the sample mean estimator of corrrentropy is used as where is the number of samples. And the performance surface of the maximum square mean (MSE) and correntropy are shown in Figure 1. It is can be seen that correntropy is local whereas MSE is global. By global, we mean that all the samples in the joint space will contribute appreciably to the value of the similarity measure while the locality of correntropy means that the value is primarily dictated by the kernel function along the line. Therefore, correntropy of the error can be used as a robust cost function for adaptive systems training, which will be called the MCC. MCC has the advantage that it is a local criterion of similarity and it should be very useful for cases when the measurement noise is nonzero mean, non-Gaussian, with large outliers [19].
Figure 1

Performance surface of MSE and Correntropy: (a) MSE (b) Correntropy.

2.2. Review of Extended Kalman Filter

The extended Kalman filter, a derivation of Kalman filter, is developed to resolve the problem of nonlinear system by Taylor series. Consider a nonlinear system by the nonlinear state and linear measurement functions: where denotes a n-dimensional state vector at time step k, denotes a m-dimensional measurement vector at time step k, represents the vector-valued function and stands for the observation matrix, and are process and measurement noises respectively, which are generally assumed to be uncorrelated with zero mean and covariance matrices. For EKF, the measurement noise is also assumed to be a zero mean Gaussian white noise sequence while the MCC-EKF avoids the Gaussian assumption of . In general, extended Kalman filter includes the following two steps: (1) predict: the prior mean and covariance matrix are given by: where denotes the predicted state vector at time (k−1). denotes a Jacobian matrix of , and is described as . (2) update: the gain matrix of extended Kalman filter can be obtained as the posterior state is equal to the prior state plus the innovation weighted by the gain matrix of extended Kalman filter Additionally, the iterative formula for the posterior covariance is as follows

3. Adaptive Extended Kalman Filter With Correntropy Loss

3.1. Extended Kalman Filter with Correntropy Loss

The traditional EKF based on MSE loss and it is not robust when the system noise is non-Gaussian. To overcome the influence of non-Gaussian noise, a novel maximum correntropy criteria (MCC) has been developed in ITL. In [15], the MCC-EKF was developed by using the MCC to replace the MSE, which may perform much better in non-Gaussian noise environments. The main reason is that the correntropy contains second and higher order moments of the error, that is, the correntropy in ITL involves all even moments of the error which can be obtained by Taylor expansion [15]. For the nonlinear model given by (4) (5) and expression (8) (9), we can obtain We assumed that the state vector and process noise and measurement noise are non-zero correlation respectively. Where is the identity matrix, and can express as With where can be computed by Cholesky decomposition of . Left multiplying both sides of (13) by , we have where , , . Since , the residual error is white. Then, we define the following cost function based on MCC where is the i-th element of , is the i-th row of , and is the dimension of . Under the MCC, the optimal estimate of is where is the i-th element of and Hence, the optimal solution can be obtained by solving It follows easily that Since , the formula (21) is a of and can be rewritten as A fixed-point iterative algorithm can be expressed as where denotes the state at the fixed-point iteration t The Equation (21) can also be expressed as where , with Based on formula (24), we can obtain a recursive formula [20] where With the above derivations, the optimal state variable of MCC-EKF algorithm can be obtained by the formula (25)–(30).

3.2. Adaptive Extended Kalman Filter with Correntropy Loss

The traditional EKF algorithm is usually used under the condition that the statistical characteristics of state noise and measurement noise of the system are known, but it is unknown in the actual situation. Therefore, the filtering divergence and inaccurate estimation results may be generated by the influence of the uncertain factors. Similarity to the EKF, The MCC-EKF algorithm will still suffer from this problem. In order to improve the accuracy of MCC-EKF algorithm, a covariance matrix adaptive mechanism is introduced into the MCC-EKF algorithm to continuously estimate and modify the filter noise statistical characteristics online, and we call the novel algorithm adaptive MCC-EKF algorithm which can improve the filtering accuracy while filtering by using the information of observation data. Thus, the optimal value of the estimated state is obtained [26,27]. Now, the covariance matrix adaptive update mechanism is given. We define the new information that is the error with the actual observation value and the predicted observation value at time k as where denotes one-step prediction error. Then, according to the windowing estimation method, the real-time estimation variance of the new information is where is the size of the moving window. Since and are uncorrelated, we have The residual at time k is defined as the error with the actual observed value and the estimated observed value The variance of the residual is defined as According to Kalman filtering principle [26,27,28,29], the filtering gain is Left multiplying both sides of Equation (36) by , and substitute into Equation (33), we can obtain Right multiplying both sides of Equation (37) by , we have Combining (35) and (38), we can get the as follows Similarly, the new information can be used to estimate the variance matrix of the state noise, Right multiplying both sides of Equation (36) by , we have Transposing both sides of formula (22) and applying Kalman filtering principle, we can obtain To keep semi-positive, the approximate estimate of can be expressed as

4. Adaptive Extended Kalman Filter With Correntropy Loss for PSDSE

4.1. Power System Dynamic Model

The power system is a nonlinear and complex system. For the FASE of power system, dynamic equation and measurement equation can be expressed in the following form where denotes the state vector consisting of magnitudes and angles of nodal voltage. The measurement vector comprises of voltage magnitude measurements, real power injection measurements, reactive power injection measurements, real power flow measurements, reactive power flow measurements. The noise and are usually assumed to be Gaussian noise and independent of each other. Specially, the noise is the error of system and the noise is the error of measurement. represents the function that relates to and stands for the measurement function that relates to . In order to determine the dynamic model of power system, it is necessary to identify the model parameters. The Holt’s two-parameter linear exponential smoothing technique [30], also known as linear extrapolation method, is most commonly used to calculate the state transition matrix , and in this paper we use this method as the dynamic model. It can also be used as a simple short-term load forecasting method. It has the advantages of less storage variables and a faster computation speed, and it is suitable for online calculation. Employing this method, the state transition function is defined as where where both and are parameters lying in the range from 0 to 1, and vectors and at time k are obtained as (43) and (44). Linearization of the nonlinear model in formula (43) above can be expressed as follows where , is a nonrandom external actor in the expansion. Combining formulae (48) and (45), we have The composition of the measurement vector changes with the measurement method of the power system. This paper studies the data measured by SCADA system, so is a nonlinear function. For bus i, the relationship between the measurement and the state vector as follows [31] where is the real power injection at bus i, is the reactive power injection at bus i, is the real power flow between buses i and j, is the reactive power flow between buses i and j, is the voltage magnitude at bus i, is the conductance of the line between buses i and j, is the susceptance of the line between buses i and j. And the Jacobian matrix can be expressed as Combined with the power system network, the specific elements of the Jacobian matrix are shown as

4.2. Adaptive Extended Kalman Filter with Correntropy Loss for Power System Forecasting-Aided State Estimation

Now, we apply this method to PSFASE to solve the problem of non-Gaussian noise and bad data. For n-bus power system, there are 2n−1 states (contains n voltage amplitudes and n−1 voltage phase angles) that needs to be estimated. The dynamic model reflects the change law of system state variables with time. The dynamic model of power system in this paper assumes that the changes in the system parameters, such as load variations, are very slow. Then, we give the detail procedure of MCC-EKF algorithm for PSDSE. Select the appropriate initial parameters: a proper kernel bandwidth and a small positive ; Set an initial state value and corresponding covariance matrix ; Let k = 1; Use Equations (8) and (9) to calculate the and , and obtain the by Cholesky decomposition; Let k = 1 and , where stands for the estimated state at the fixed-point iteration k; Calculate the state transition function using (45)–(47) and the Jacobian matrix using (51)–(60); Get the estimates state by Equations (61)–(69); With Compare the estimation of the current step and the estimation of the last step. If (70) holds, let and continue to 7). Otherwise, , and go back to 5); Moreover, the posterior matrix is updated as (71), and go back to 2).

5. Results

In this section, we perform experiments on the standard IEEE 14-bus and IEEE 30-bus test system to verify the effectiveness and superiority of the proposed algorithm compared with the EKF, UKF, A-EKF and MCC-EKF algorithms. We use the 50 time-sample intervals, which were obtained by running successful load flows under different loading conditions to simulate the slow dynamics of the power system. The variation of loads can be divided into linear and nonlinear variation, among which the linear variation means the whole observed time interval with 50 samples are changes follow a linear trend of 10% and the nonlinear variation denotes the whole observed time interval with 50 samples changes follow a random fluctuation of 5%. The convergence tolerance threshold of all algorithms is 0.001. In addition, all free parameters of the algorithms mentioned above are selected such that each algorithm can achieve its optimal performance. The mean absolute error (MAE) and root mean square error (RMSE) are utilized to evaluate the performance of each method. In addition, the overall performance is one of the indices for evaluating the performance of the state estimation algorithms, and it can be defined by where is the estimated measurement vector at time index k for bus i, denotes the true measurements and represents the measurement vector with noises. The MAE, RMSE and the over performance will be used to verify the available of the proposed method in the following experiments.

5.1. Case 1: Gaussian Measurement Noise Environment

In general, the measurement noise is assumed for Gaussian noise, and we first evaluate the proposed algorithm in the normal environment. Loads are changed according to the above specified linear trend. The average overall performance of all algorithms in standard IEEE 30-bus is given in Table 1. From the results, we know that (1) both EKF, UKF and A-EKF algorithms have good performance in this case; (2) the adaptive mechanism can improve the estimation accuracy; (3) the performance of MCC-EKF is slightly better than that of EKF and UKF and the proposed AMCC-EKF performs better than other algorithms which illustrate that on the one hand, the correntropy is robust for the noise, on the other hand, the adaptive mechanism The adaptive mechanism makes the algorithm have stronger tracking performance by updating the predicted error covariance matrix and measurement noise covariance matrix.
Table 1

The average overall performance of all algorithms in standard IEEE 30-bus.

EKFUKFA-EKFMCC-EKFAMCC-EKF
Index J (p.u.)0.390.290.310.250.16

5.2. Case 2: Gaussian Mixture Measurement Noise Environment

In this case, we evaluate the performance of the proposed algorithm under the non-Gaussian measurement noise circumstance. The measurement of noise is modeled by the mixed Gaussian distribution which is defined as where denotes the Gaussian distributions with mean values and variances , and the is the mixture coefficient. In this simulation, the mean values and both are set at zero, the variances and are set at 1 and 80 respectively, and the mixture coefficient is set at 0.25. The overall performance of all algorithms in standard IEEE 14-bus and IEEE 30-bus test system are shown in Figure 2 and Figure 3, respectively. One can observe that the performance of EKF, UKF and A-EKF is significantly worse under the Gaussian mixture measurement noise environment, while the MCC-EKF has good performance because of it is insensitive to the non-Gaussian noise. Moreover, we see that the performance of the proposed AMCC-EKF is better than the original MCC-EKF algorithm. In addition, the average overall performance of all algorithms in standard IEEE 14-bus and 30-bus systems are given in Table 2 and Table 3, respectively.
Figure 2

The overall performance of all algorithms in standard IEEE 14-bus under Gaussian mixture measurement noise environment.

Figure 3

The overall performance of all algorithms in standard IEEE 30-bus under Gaussian mixture measurement noise environment.

Table 2

The average overall performance of all algorithms in standard IEEE 14-bus under Gaussian mixture measurement noise environment.

EKFUKFA-EKFMCC-EKFAMCC-EKF
Index J (p.u.)0.530.410.490.330.23
Table 3

The average overall performance of all algorithms in standard IEEE 30-bus under Gaussian mixture measurement noise environment.

EKFUKFA-EKFMCC-EKFAMCC-EKF
Index J (p.u.)0.550.410.480.320.24
In addition, we further analyze the tracking performance of the algorithm from the perspective of accurately estimating the voltage amplitude and phase angle of bus at each time. Specifically, loads are changed following a linear trend of 10%. The true voltage amplitude and voltage angle of no.3 bus in IEEE 30-bus test system and the estimated values of each algorithms are shown in Figure 4 and Figure 5, respectively. We know that the estimated value of the proposed AMCC-EKF algorithm is close to the true value than other algorithms.
Figure 4

The true voltage amplitude of no.3 bus in IEEE 30-bus test system.

Figure 5

The voltage angle of no.3 bus in IEEE 30-bus test system.

This result proves that the AMCC-EKF has both a higher accuracy and filtering capacities than the corresponding EKF, UKF, A-EKF and MCC-EKF algorithm under the Gaussian mixture measurement noise environment.

5.3. Case 3: Laplace and Gaussian Mixture Measurement Noise Environment

In this case, we test the universality of the proposed algorithm under the mixed Gaussian and Laplace noises environment. The noise model can be represented as where is an independent and identically distributed binary process with an occurrence probability . In this simulation, is set at 0.5, is a noise obey the Laplace distribution with zero-mean and unit variance, and denotes another noise process with Gaussian distribution with zero-mean and variance 0.55. The noise processes and are mutually independent and they are both independent of . The obtained overall performance of all algorithms in IEEE 14-bus and IEEE 30-bus test system are displayed in Figure 6 and Figure 7, respectively. One can see that the EKF, UKF and A-EKF still show worse performance in presence of the Laplace and Gaussian mixture noise. In addition, we can obtain the same conclusion with the Section 5.2 that the MCC based methods (MCC-EKF and AMCC-EKF) are robustness in this case, and the proposed AMCC-EKF algorithm can achieve the best performance. The average overall performance of all algorithms in standard IEEE 14-bus and 30-bus system are shown in Table 4 and Table 5, respectively. The results illustrate the outstanding properties of the AMCC-EKF for SE again.
Figure 6

The overall performance of all algorithms in standard IEEE 14-bus under Laplace and Gaussian mixture measurement noise environment.

Figure 7

The overall performance of all algorithms in standard IEEE 30-bus under Laplace and Gaussian mixture measurement noise environment.

Table 4

The average overall performance of all algorithms in standard IEEE 30-bus under Laplace and Gaussian mixture measurement noise environment.

EKFUKFA-EKFMCC-EKFAMCC-EKF
Index J (p.u.)0.650.480.530.360.28
Table 5

The average overall performance of all algorithms in standard IEEE 30-bus under Laplace and Gaussian mixture measurement noise environment.

EKFUKFA-EKFMCC-EKFAMCC-EKF
Index J (p.u.)0.590.520.460.380.23
Furthermore, to test the effect of load change on the proposed algorithm, we changed the linear variation trend of load and consider 10%, 20%, 30%, respectively. The mean absolute error and root mean square error of voltage angle of no.3 bus in IEEE 30-bus in different variation trend of load are shown in Figure 8 and Figure 9, respectively. It can be seen from the bar chart that although the error of the proposed algorithm increases with the linear variation trend of the load, the error of the proposed algorithm is minimal compared with other methods.
Figure 8

The mean absolute error of voltage angle of no.3 bus in IEEE 30-bus in different variation trend of load.

Figure 9

The root mean square error of voltage angle of no.3 bus in IEEE 30-bus in different variation trend of load.

5.4. Case 4: the Nonlinear Variation of Loads

Now, from the analysis above, we consider this case that the loads change follows a random fluctuation of 5%. The other settings are the same as those of Case 2. The true value of voltage amplitude and angle of no.3 bus in IEEE 30-bus test system and estimated value of other algorithms are shown in Figure 10 and Figure 11, respectively. It can be seen from the figure that even in the case of nonlinear variation of loads, the estimated value of the proposed AMCC-EKF algorithm is closest to the true state value.
Figure 10

The true value of voltage amplitude of no.3 bus in IEEE 30-bus test system and estimated value of other algorithms when the loads change follows a random fluctuation.

Figure 11

The true value of voltage angle of no.3 bus in IEEE 30-bus test system and estimated value of other algorithms when the loads change follows a random fluctuation.

To further demonstrate the superiority of the algorithm numerically, the MAE and RMSE of voltage amplitude of no.3 bus in IEEE 30-bus are shown in Table 6, and the results of the proposed AMCC-EKF algorithm is better than other algorithms.
Table 6

The MAE and RMSE of voltage amplitude of no.3 bus in IEEE 30-bus.

EKFUKFA-EKFMCC-EKFAMCC-EKF
MAE0.060.050.050.030.01
RMSE0.250.210.230.180.12

5.5. Case 5: in Presence of Outliers

Now, measurement in the presence of outliers at sample time 30 is considered in this case and assuming that no measures are taken to verify and identify the bad data under Gaussian mixture measurement noise environment. In this case, four state estimation algorithms are adopted for simulation, resulting in the overall performance index changes of state estimation filter as shown in Figure 12. Firstly, we know that all algorithms are affected by outliers. In the presence of outliers, the filtering performance index will increase and the estimation accuracy will decrease. Secondly, the EKF, UKF, A-EKF and MCC-EKF algorithms are greatly affected by bad data at sample time 30. Although the proposed AMCC-EKF algorithm is also affected to some extent, but the filtering average performance index still fluctuates below 0.33, and the filtering estimation value is relatively correct. The average overall performance of all algorithms in standard IEEE 30-bus are given in Table 7.
Figure 12

The overall performance of all algorithms in standard IEEE 30-bus in presence of outliers.

Table 7

The average overall performance of all algorithms in standard IEEE 30-bus in presence of outliers.

EKFUKFA-EKFMCC-EKFAMCC-EKF
Index J (p.u.)0.560.460.480.360.24

6. Conclusions

In this paper, a novel AMCC-EKF algorithm is developed to address the power system state estimation problem, and its effectiveness and robustness are verified by some scenarios under non-Gaussian noise environments. First, the actual power system is very susceptible to non-Gaussian noise and the MCC-EKF is employed to design a robust state estimation approach at first. Second, it is difficult to calculate the noise statistics in the most actual situation, and hence the adaptive MCC-EKF (AMCC-EKF) is proposed by introducing the adaptive mechanism into the MCC-EKF algorithm to continuously update the covariance matrix to improve the accuracy of the estimation results. We perform experiments on the IEEE 14 and 30 bus systems to test the performance of the proposed AMCC-EKF method, and the simulation results demonstrate that the filtering performance and estimation accuracy of the AMCC-EKF algorithm for state estimation is better than EKF, UKF, A-EKF and MCC-EKF methods and the estimation results are relatively stable in the presence of outliers.
  1 in total

1.  Adaptive Maximum Correntropy Gaussian Filter Based on Variational Bayes.

Authors:  Guoqing Wang; Zhongxing Gao; Yonggang Zhang; Bin Ma
Journal:  Sensors (Basel)       Date:  2018-06-17       Impact factor: 3.576

  1 in total
  1 in total

1.  Maximum Correntropy with Variable Center Unscented Kalman Filter for Robust Power System State Estimation.

Authors:  Zhenglong Sun; Chuanlin Liu; Siyuan Peng
Journal:  Entropy (Basel)       Date:  2022-04-06       Impact factor: 2.738

  1 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.