A lithium battery soc estimation method in a high noise environment
By combining RAFFRLS and the improved SVDACKF algorithm, the accuracy and robustness issues of lithium battery SOC estimation in high-noise environments are solved, achieving higher estimation accuracy and stability, and adapting to complex noise environments.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- YANCHENG INST OF TECH
- Filing Date
- 2026-03-12
- Publication Date
- 2026-06-09
Smart Images

Figure CN122172028A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method for estimating the SOC (State of Charge) of a lithium battery under high-noise conditions, belonging to the field of lithium battery management technology. Background Technology
[0002] With the rapid development of society, the number of new energy vehicles is increasing year by year. As the most important component of electric vehicles, lithium-ion batteries are receiving increasing attention due to their high power and energy density, long lifespan, affordability, low self-discharge rate, and high reliability. The state of charge (SOC) of a battery is a crucial parameter in battery management systems, and its estimation has become one of the key technologies for the development of electric vehicles.
[0003] Existing SOC estimation methods are mainly divided into direct measurement methods, data-driven prediction methods, and model-based prediction methods. Among the direct measurement methods, the open-circuit voltage method has poor dynamic adaptability, and the ampere-hour integration method is prone to error accumulation. Data-driven methods rely on a large amount of high-quality training data and hardware computing power. Among the model-based methods, the electrochemical model is computationally complex, and the equivalent circuit model is easily affected by time-varying parameters and noise interference.
[0004] To improve estimation accuracy, existing techniques often combine parameter identification algorithms with Kalman filtering algorithms. For example, recursive least squares (RLS) is combined with square root occult Kalman filter (SRCKF), but the RLS algorithm has weak tracking ability for time-varying systems; forget factor recursive least squares (FFRLS) is combined with adaptive unscented Kalman filter (AUKF), but the forget factor needs to be manually adjusted, resulting in poor robustness; adaptive forget factor recursive least squares (AFFRLS) is combined with multi-inspiration adaptive unscented Kalman filter (MIAUKF), but the estimation performance under complex and noisy environments is not fully considered.
[0005] In high-noise environments, traditional algorithms suffer from the following drawbacks: First, parameter identification algorithms lack robustness and are susceptible to noise interference, leading to parameter estimation errors. Second, the covariance matrix of Kalman filter-type algorithms is prone to non-positive definiteness, causing algorithm divergence. Third, the algorithm is prone to fluctuations in the initial startup phase, and the fixed noise covariance is difficult to adapt to dynamic changes. Fourth, the synergy between parameter identification and state estimation is insufficient, making dynamic optimization difficult. Therefore, there is an urgent need for a SOC estimation method that can adapt to high-noise environments and possesses both high accuracy and strong robustness. Summary of the Invention
[0006] Purpose of the invention: To address the problems of low accuracy and poor robustness in the estimation of lithium battery SOC under high noise environments in existing technologies, this invention provides a method for estimating lithium battery SOC under high noise environments. By improving the parameter identification algorithm and the state estimation algorithm and performing joint optimization, the accuracy and stability of SOC estimation under high noise environments are improved.
[0007] Technical solution: A method for estimating the state of charge (SOC) of a lithium battery under high noise conditions, comprising the following steps: S1. Collect voltage and current data of the battery under different operating conditions, and process the data to simulate the battery's operating state in a high-noise environment. S2. Establish a second-order RC equivalent circuit model of a lithium battery, construct the state equation and output equation of the second-order RC equivalent circuit model, and perform discretization processing; the second-order RC equivalent circuit model of the lithium battery includes an open-circuit voltage source. U oc(SOC), Ohmic internal resistance R0, electrochemical polarization branch ( R 1. C 1) and concentration difference polarization branch ( R 2. C 2); S3. Determine the relationship between SOC and OCV, and obtain the OCV-SOC relationship curve; S4. In the online state, the robust adaptive forgetting factor least squares method, i.e., the RAFFRLS algorithm, based on the Huber loss function, is used to identify the parameters of the second-order RC equivalent circuit model of the lithium battery online. The RAFFRLS algorithm dynamically optimizes the parameter estimation by adaptively adjusting the forgetting factor λ. The forgetting factor λ is determined by the baseline error. e base, attenuation factor h Adaptive calculation of the minimum forgetting factor λmin; S5. Improve the adaptive capacitive Kalman filter (ACKF) algorithm to form an improved singular value decomposition adaptive capacitive Kalman filter algorithm, namely the improved SVDACKF algorithm. Construct a RAFFRLS-improved SVDACKF joint estimation algorithm. The RAFFRLS algorithm identifies the parameters of the second-order RC equivalent circuit model of the lithium battery in real time and updates them dynamically. The updated parameters are then input into the improved SVDACKF algorithm to realize the online estimation of the lithium battery SOC. The improvements to the SVDACKF algorithm specifically include: (1) Singular value decomposition (SVD) is used instead of Cholesky decomposition to generate volume points, thus avoiding algorithm divergence caused by the non-positive definiteness of the covariance matrix; (2) Based on sliding window residual analysis, the system process noise and measurement noise covariance are adaptively updated to adapt to the dynamic changes of noise in high-noise environments; (3) The design phase function combines the exponential smoothing weight coefficient to adjust the weights of system noise and measurement noise, thereby optimizing the stability of the algorithm startup phase.
[0008] Compared with existing technologies, the invention has the following significant advantages: (1) In a high-noise environment, this invention introduces the Huber loss function to construct a robust adaptive forgetting factor least squares method to identify battery parameters online, thereby realizing automatic optimization of the forgetting factor. This improves the accuracy of online identification of battery parameters and indirectly improves the accuracy of battery SOC estimation.
[0009] (2) Considering the impact of high-noise environment on battery SOC estimation algorithm, the singular value decomposition adaptive capacitive Kalman filter (SVDACKF) algorithm is adopted and jointly estimated with RAFFRLS parameter identification algorithm to improve the robustness of the overall algorithm. Attached Figure Description
[0010] Figure 1 This is a flowchart of the RAFFRLS-improved SVDACKF joint algorithm in an embodiment of the present invention; Figure 2 (a) is a comparison diagram of voltage noise before and after the DST operating condition in an embodiment of the present invention. Figure 2 (b) is a comparison diagram of the voltage before and after noise addition under the operating condition of embodiment US06 of the present invention; Figure 3 This is a SOC-OCV curve of the lithium battery according to an embodiment of the present invention; Figure 4 This is a flowchart illustrating the specific RAFFRLS algorithm in an embodiment of the present invention. Figure 5 (a) is a comparison chart of the estimated terminal voltage and the measured voltage of different algorithms under the noisy DST condition according to the embodiments of the present invention. Figure 5 (b) is a comparison chart of the terminal voltage estimation errors of different algorithms under the noisy DST condition in the embodiments of the present invention; Figure 6 (a) is a comparison chart of the estimated terminal voltage and the measured voltage under the noisy US06 operating condition according to the embodiments of the present invention. Figure 6 (b) is a comparison chart of the terminal voltage estimation errors of different algorithms under the noisy US06 operating condition in the embodiments of the present invention; Figure 7 This is a flowchart illustrating the improved SVDACK algorithm according to an embodiment of the present invention. Figure 8 (a) is a comparison chart of the SOC estimated values and the actual SOC values of different algorithms under the noisy DST condition according to the embodiments of the present invention. Figure 8 (b) is a comparison chart of the absolute error of SOC estimation of different algorithms under the noisy DST condition in the embodiment of the present invention; Figure 9 (a) is a comparison chart of the SOC estimated values and the actual SOC values of different algorithms under the noisy US06 operating condition according to the embodiments of the present invention. Figure 9 (b) is a comparison chart of the absolute error of SOC estimation of different algorithms under the noisy US06 condition in the embodiments of the present invention; Detailed Implementation
[0011] The present invention will be further illustrated below with reference to specific embodiments. It should be understood that these embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. After reading the present invention, any modifications of the present invention in various equivalent forms by those skilled in the art will fall within the scope defined by the appended claims.
[0012] A method for estimating the state of charge (SOC) of a lithium battery under high noise conditions includes the following steps: S1. Collect voltage and current data of the battery under different operating conditions and process the data.
[0013] The data collected under three operating conditions: HPPC, DST, and US06. The HPPC condition was used to obtain the OCV-SOC curve; the DST and US06 conditions were used for verification in the implementation examples. Furthermore, noise was added to the DST and US06 conditions by adding 0.15V of salt-and-pepper noise at a density of 2% to simulate the actual operating state of the battery in a high-noise environment. Figure 2 As shown.
[0014] S2. Establish a second-order RC equivalent circuit model for a lithium battery.
[0015] To characterize the electrical properties of lithium batteries, a second-order RC equivalent circuit model is selected. In step S2, the second-order RC equivalent circuit model includes the battery terminal voltage. U Open-circuit voltage source U oc (SOC), Ohmic internal resistance R 0. Electrochemical polarization resistance R 1 and electrochemical polarization capacitor C 1. Concentration Difference Polarization Resistance R 2 and concentration difference polarization capacitance C 2. The state equations and output equations of the second-order RC equivalent circuit model can be obtained using Kirchhoff's laws.
[0016] Equations of state: (1) Output equation: (2) In the formula: U 1 is the electrochemical polarization branch ( R 1. C 1. Voltage across the parallel branch; U 2 is the concentration difference polarization branch ( R 2. C 2. Voltage across the parallel branch; I This is the charging and discharging operating current of the main circuit.
[0017] Discretize equations (1) and (2): (3) In the formula: k For the discrete time series k Each sampling time; k +1 represents the first [number]th [item] of the discrete time series. k +1 sampling time, i.e., the current time. k The moment after the moment; x Let the system's state vector have dimension 1. n =3, and ; T The sampling period; τ 1 and τ 2 represents the time constants of the electrochemical polarization branch and the concentration difference polarization branch, respectively. τ 1= R 1* C 1, τ 2= R 2* C 2; e It is a natural constant; wk and vk These are process noise and observation noise during the calculation process, respectively. η The coulombic efficiency of a lithium battery; Qn This refers to the rated capacity of the lithium battery.
[0018] S3. Determine the relationship between SOC and OCV, and obtain the OCV-SOC relationship curve.
[0019] At each SOC test point, the stable voltage after the discharge pulse and at the end of the sufficient rest period is extracted as the OCV value of that SOC test point. These voltage values (OCV values) are then paired with the corresponding SOC percentages (100%, 90%, 80%...10%, 0%). By fitting the discrete (SOC, OCV) data points with a polynomial, the complete SOC-OCV function relationship curve can be obtained, as shown below. Figure 3 As shown.
[0020] like Figure 4 As shown, in S4, under online conditions, the RAFFRLS algorithm (robust adaptive forgetting factor least squares method) is used to identify the parameters of the lithium battery equivalent circuit model.
[0021] The specific implementation steps are as follows: Performing a bilinear transformation on equation (2) in the frequency domain yields the discrete form of the difference equation: (4) In the formula: k For the discrete time series kEach sampling time, k -1、 k -2 represents the first and second sampling times before time k, respectively; E This is due to the battery terminal voltage deviation. ; a 1~ a 5 represents the coefficient to be identified.
[0022] Define data vector and parameter vector .
[0023] The recursive formula for the RAFFRLS algorithm is: (5) In the formula: k This is the order of the previous iteration process. k +1 indicates the current iteration calculation sequence; K The gain of the algorithm; e The prediction error of the second-order RC equivalent circuit model of lithium battery; P λ is the covariance matrix for identifying parameters; λ is the forgetting factor. ω Here is the Huber loss function.
[0024] The expression for the Huber loss function is: in, δ The robustness threshold; e ( k )for k Prediction error of the second-order RC equivalent circuit model at time step.
[0025] Identify the coefficients a 1~ a 2 after, definition a = τ 1 τ 2, b = τ 1+ τ 2, c = R 0+ R 1+ R 2, d= R 0( τ 1+ τ 2)+ R 2 τ 1+ R 1 τ 2. After the operation of equations (6) and (7), the identified variables are converted into intermediate variables.
[0026] (6) (7) By solving the problem, the physical parameters of the equivalent circuit model of the lithium battery can be calculated. R 0、 R 1. R 2. C 1. C 2, as shown in equation (8).
[0027] (8) like Figure 7 As shown, S5, in conjunction with the RAFFRLS algorithm, uses the improved SVDACKF algorithm (improved singular value decomposition adaptive capacitive Kalman filter algorithm) to predict the battery SOC.
[0028] The specific implementation process of the improved SVDACKF algorithm is as follows: (1) Initialization (9) In the formula: x 0 represents the initial true state vector of the system; E [⋅] is the mathematical expectation operator, used to calculate the statistical mean of a random variable; This is the optimal estimate of the initial state of the system; P 0 represents the initial state error covariance matrix of the system.
[0029] (2) Replace Cholesky decomposition with SVD decomposition to generate volume points: (10) In the formula: k This represents the current time in the algorithm's recursion. Pk for k The error covariance matrix of the system state at time t; Uk for k The left singular matrix obtained from the singular value decomposition at time step; Vk for k The error covariance matrix of the system state at time t; for k The singular value diagonal matrix obtained by singular value decomposition at time step; for k The diagonal matrix of singular values after time-correction; Sk for k Time error covariance matrix Pk The square root matrix; For the first k The optimal estimate of the system state at time t; The standard volume point set for the third-order spherical-radial volume criterion is shown in equation (11); fork The first time generated i One volume point.
[0030] (11) In the formula: i The number of the volume point; ei for n A 3D unit coordinate vector.
[0031] (3) Propagation volume point: (12) In the formula: k+ 1 |k For algorithm recursion k Always k Prediction at time +1; f (⋅) represents the state equation; UK for k Timing system control input quantity k The charging and discharging circuit current of the battery at all times Ik ; For the first i Each volume point is at k The volume point propagation value at time +1.
[0032] (4) State prediction and error covariance prediction (13) In the formula: for k The highest priority prediction value of the system state vector at time +1; Pk+ 1 |k In order to be in k The prior state error covariance matrix at time +1; Qk for k The system process noise covariance matrix at time t.
[0033] (5) Use SVD decomposition to replace Cholesky decomposition in calculating volume points: (14) In the formula: Uk+ 1 |k for k+ The left singular matrix obtained by singular value decomposition at time 1; Vk+ 1 |k for k+ Error covariance matrix of the system state at time 1; for k+ The singular value diagonal matrix obtained by singular value decomposition at time 1; for k+The diagonal matrix of singular value square roots corrected at time 1; Sk+ 1 |k for k+ Error covariance matrix at time 1 Pk+ 1 |k The square root matrix; for k+ The first time generated at time 1 i One volume point.
[0034] (6) Propagation volume point: (15) In the formula: g (⋅) Observation equation; UK+ 1 is k The system control input at time +1 is... k The battery's charging and discharging circuit current at time +1 Ik+ 1; For the first i Each volume point is at k The volume point propagation value at time +1.
[0035] (7) Calculate the observed predicted values: (16) In the formula: for k The predicted value of the system observation vector at time +1.
[0036] (8) Calculate the observation error covariance and cross covariance: (17) In the formula: for k The observation error covariance at time +1; for k State-observation cross-covariance matrix at time +1.
[0037] (9) Calculate the Kalman gain: (18) (10) Update state variables and error covariance: (19) In the formula: yk+ 1 is k The actual value of the observed vector at time +1; for k The posterior optimal estimate of the system state at time +1; Pk+ 1 is k The posterior state error covariance matrix at time +1.
[0038] (11) Adaptive update of system process noise and measurement noise: (20) In the formula: W The length of the sliding window. yk+ 1 is k The actual value of the observed vector at time +1; for k The predicted system observation vector at time +1; Fk+ 1 is k The new covariance matrix at time +1; for k The adaptively updated system process noise covariance matrix at time +1; Kk+ 1 is k Kalman gain at time +1; n Let the system's state vector dimension be denoted as . n =3; For the first i Each volume point is at k The volumetric point propagation value at time +1; for k The measurement noise covariance matrix adaptively updated at time +1.
[0039] (12) Adjust the weights of system noise and measurement noise: (twenty one) In the formula: It is an adaptive weighted piecewise function; L The number of sampling points; It is the first-order exponential smoothing coefficient; and They are respectively k The system process noise covariance matrix and measurement noise covariance matrix after time-weight updates; and They are respectively k+ The adaptively updated system process noise covariance matrix and measurement noise covariance matrix at time 1; and +1 respectively k The system process noise covariance matrix and measurement noise covariance matrix after time-weight updates.
[0040] For example, to verify the algorithm of the present invention, two working conditions were designed: the DST noisy working condition and the US06 noisy working condition, as follows: Figure 2 As shown.
[0041] Figure 5 (a) and Figure 6(a) Comparison of battery voltage estimation results of FFRLS, AFFRLS and RAFFRLS parameter identification algorithms under noisy DST and noisy US06 conditions. Figure 5 (b) and Figure 6 (b) is a comparison of the estimation errors of battery voltage by the FFRLS, AFFRLS and RAFFRLS parameter identification algorithms under the noisy DST condition and the noisy US06 condition.
[0042] As can be seen from the comparison of estimated voltage waveforms, the trends of the estimated and measured voltage curves are generally consistent under different algorithms. However, during the charge / discharge switching process, the estimated voltages of the AFFRLS and FFRLS algorithms exhibit significant errors. The magnified view shows that the AFFRLS algorithm has the best convergence, and its estimated value is closer to the true value. The voltage error comparison chart shows that the estimated voltage error under the AFFRLS algorithm is significantly smaller than the other two algorithms. In summary, the AFFRLS algorithm of this invention provides better estimation performance for battery parameters in high-noise environments.
[0043] Based on the RAFFRLS algorithm, three SOC estimation methods were constructed by combining CKF, SVDACKF, and an improved SVDACKF algorithm, respectively, and then compared. Figure 8 and Figure 9 As shown.
[0044] Figure 8 The estimation waveforms and estimation errors of the three algorithms for SOC under noisy DST conditions are presented. Figure 9 The waveforms and estimation errors of the three algorithms for SOC estimation under the US06 noisy condition are shown in the figure. The superior performance of the algorithm proposed in this invention in estimating the SOC of lithium batteries is clearly evident from the figure. To quantify the results, the average absolute error (MAE) and the relative maximum absolute error (RMSE) evaluation criteria were used, resulting in Table 1.
[0045] Table 1
[0046] Comparing the results shown in Table 1, the RAFFRLS-improved SVDACKF algorithm of this invention exhibits strong robustness and good convergence under different operating conditions. The results obtained under the three test conditions are significantly superior to other algorithms.
[0047] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it.
Claims
1. A method for estimating the state of charge (SOC) of a lithium battery under high noise conditions, comprising the following steps: S1. Collect voltage and current data of the battery under different operating conditions, and process the data to simulate the battery's operating state in a high-noise environment. S2. Establish a second-order RC equivalent circuit model of a lithium battery, construct the state equation and output equation of the second-order RC equivalent circuit model, and perform discretization processing; the second-order RC equivalent circuit model of the lithium battery includes an open-circuit voltage source. U oc(SOC), Ohmic internal resistance R0, electrochemical polarization branch ( R 1. C 1) and concentration difference polarization branch ( R 2. C 2); S3. Determine the relationship between SOC and OCV, and obtain the OCV-SOC relationship curve; S4. In the online state, the robust adaptive forgetting factor least squares method, i.e., the RAFFRLS algorithm, based on the Huber loss function, is used to identify the parameters of the second-order RC equivalent circuit model of the lithium battery online. The RAFFRLS algorithm dynamically optimizes the parameter estimation by adaptively adjusting the forgetting factor λ. The forgetting factor λ is determined by the baseline error. e base, attenuation factor h Adaptive calculation of the minimum forgetting factor λmin; S5. Improve the adaptive capacitive Kalman filter (ACKF) algorithm to form an improved singular value decomposition adaptive capacitive Kalman filter algorithm, namely the improved SVDACKF algorithm. Construct a RAFFRLS-improved SVDACKF joint estimation algorithm. The RAFFRLS algorithm identifies the parameters of the second-order RC equivalent circuit model of the lithium battery in real time and updates them dynamically. The updated parameters are then input into the improved SVDACKF algorithm to realize the online estimation of the lithium battery SOC. The improvements to the SVDACKF algorithm specifically include: (1) Singular value decomposition (SVD) is used instead of Cholesky decomposition to generate volume points, thus avoiding algorithm divergence caused by the non-positive definiteness of the covariance matrix; (2) Based on sliding window residual analysis, the system process noise and measurement noise covariance are adaptively updated to adapt to the dynamic changes of noise in high-noise environments; (3) The design phase function combines the exponential smoothing weight coefficient to adjust the weights of system noise and measurement noise, thereby optimizing the stability of the algorithm startup phase.
2. The lithium battery SOC estimation method under high-noise environment according to claim 1, characterized in that, In step S2, the state equations and output equations of the second-order RC equivalent circuit model are established using Kirchhoff's laws, and after discretization, the following is obtained: Discretized state equations: Discretized output equation: In the formula: SOCk For the first k The state of charge of the battery at each sampling time; U 1, k For the first k The voltage across the electrochemical polarization branch at each sampling time; U 2, k For the first k The voltage across the concentration difference polarization branch at each sampling time; T is the sampling period; τ 1 and τ 2 represents the time constants of the electrochemical polarization branch and the concentration difference polarization branch, respectively. τ 1= R 1* C 1, τ 2= R 2* C 2; η The coulombic efficiency of a lithium battery; Qn This refers to the rated capacity of the lithium battery. Ik For the first k The charging and discharging operating current of the battery main circuit at each sampling time; Uk For the first k Battery terminal voltage at each sampling time; Uoc ( SOCk ) is the first k Each sampling time corresponds to the open-circuit voltage of the battery in the SOC; wk and vk These are process noise and observation noise, respectively, during the calculation process.
3. The lithium battery SOC estimation method under high-noise environment according to claim 1, characterized in that, In step S1, the battery operating conditions collected include HPPC, DST, and US06 conditions; among them, HPPC is used to obtain the OCV-SOC relationship curve, and DST and US06 are used for algorithm performance verification; salt-and-pepper noise with an amplitude of 0.15V and a density of 2% is added to the voltage data of DST and US06 conditions to simulate the actual working state of the battery in a high-noise environment.
4. The lithium battery SOC estimation method under high-noise environment according to claim 1, characterized in that, In step S3, the OCV-SOC relationship curve is obtained in the following way: at SOC test points of 100%, 90%, 80%...10%, and 0%, the stable voltage after the discharge pulse and at the end of the battery's full rest are extracted as the open-circuit voltage OCV value of the corresponding SOC test point. The discrete (SOC, OCV) data points are fitted by a polynomial to obtain the complete SOC-OCV function relationship curve.
5. The lithium battery SOC estimation method under high-noise environment according to claim 1, characterized in that, The expression for the Huber loss function is: in, δ The robustness threshold; e ( k )for k Prediction error of the second-order RC equivalent circuit model at time step.
6. The lithium battery SOC estimation method under high-noise environment according to claim 1, characterized in that, In step S4, the volume point generation step in the improved SVDACKF algorithm includes: (1) Perform singular value decomposition on the covariance matrix to obtain the left singular vector matrix. U , singular value matrix Σ and right singular vector matrix VT; (2) Perform square root extraction and correction on the singular values in the singular value matrix Σ; (3) Through the left singular vector matrix U Multiplying this by the singular value matrix obtained after taking the square root yields the square root factor matrix; (4) Based on the square root factor matrix and the preset volume point set ξ i, generates the final volume point.
7. The lithium battery SOC estimation method under high-noise environment according to claim 1, characterized in that, In step S5, the expression for the sliding window residual analysis is: in, yk+ 1 is k The actual value of the observed vector at time +1; for k Predicted system observation vector at time +1; W The length of the window; Fk+ 1 is k The new covariance matrix at time +1; for k The adaptively updated system process noise covariance matrix at time +1; Kk+ 1 is k Kalman gain at time +1; n Let the system's state vector dimension be denoted as . n =3; For the first i Each volume point is at k The volumetric point propagation value at time +1; for k The measurement noise covariance matrix adaptively updated at time +1.
8. The lithium battery SOC estimation method under high-noise environment according to claim 1, characterized in that, In step S5, the expression for the stage function is: in, It is an adaptive weighted piecewise function; L The number of sampling points; It is the first-order exponential smoothing coefficient; and They are respectively k The system process noise covariance matrix and measurement noise covariance matrix after time-weight updates; and They are respectively k+ The adaptively updated system process noise covariance matrix and measurement noise covariance matrix at time 1; and They are respectively k The system process noise covariance matrix and measurement noise covariance matrix after weight update at time +1.