# Research of Adaptive Extended Kalman Filter-Based SOC Estimator for Frequency Regulation ESS
## 3 Performance Verification of SOC Estimation Using Adaptive Extended Kalman Filter  
The operating SOC range of the battery significantly impacts the life of the battery, so it is very important to accurately estimate the current SOC. Various techniques are employed to estimate the SOC, and one of the most popular methods is the Coulomb counting method. The current SOC is calculated by integrating the current measured by the current sensor over time, which is an advantage in that it is easy to implement. However, because the calculation is performed using an open-loop method, the SOC error cannot be corrected, and the noise of the current sensor amplifies the estimation error of the SOC calculated by the Coulomb counting method [27; 28; 29]. Another widely used technique is SOC estimation using the SOC-OCV table. By performing experiments, the OCV data with respect to the SOC are obtained and, based on this, the SOC matched to the measured OCV of the battery is estimated relative to the current SOC [30]. This approach is easy to implement, and even if an error occurs in the SOC estimated by the noise of the current sensor, it can be corrected by the SOC according to the OCV, thereby improving the SOC estimation accuracy [28]. However, the accuracy of the SOC-OCV table should be high, and the characteristics of the OCV vary depending on the temperature and degree of deterioration, so it is necessary to secure the SOC-OCV data considering temperature and the state of deterioration. In addition, batteries with flat OCV shapes in the middle SOC region, such as LFP batteries, are not suitable for estimating SOC using only the OCV.  
There are also other methods of estimating the SOC using artificial intelligence, such as the use of neural networks, which is a method of estimating the current SOC when arbitrary data are input by learning the measured data of the battery to a computer. Based on the learned data, the accuracy with which the current SOC is calculated by the computer itself may be high, but a long learning time and a large amount of data are required to give a high estimation performance. The method of estimating the SOC using the EKF algorithm can correct the error by using a close-loop method, thereby improving the accuracy of the SOC estimation and estimating the SOC in real time [31; 32]. However, because the algorithm operation requires more computation than the open-loop method, there is a relatively  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Parameter** & **Normal Pattern** & **Severe Pattern** \\ \hline Total Energy (Wh) & 229.70 & 493.68 \\ Charge Energy (Wh) & 114.69 & 246.75 \\ Discharge Energy (Wh) & 115.01 & 246.93 \\ Energy for Frequency Regulation “f \textgreater{} 60.03” (Wh) & 96.07 & 185.76 \\ Energy for Frequency Regulation “f \textless{} 59.97” (Wh) & 23.40 & 135.00 \\ SOC Recovery Energy “SOC \textless{} 63” (Wh) & 18.62 & 60.99 \\ SOC Recovery Energy “SOC \textgreater{} 67” (Wh) & 91.61 & 111.93 \\ Maximum Charge Power (W) & 147.57 & 170.94 \\ Maximum Discharge Power (W) & 98.21 & 158.73 \\ Average Charge C-rate & 0.79 & 0.68 \\ Average Discharge C-rate & 0.45 & 0.59 \\ Maximum SOC (\%) & 80.2 & 80.0 \\ Minimum SOC (\%) & 61.0 & 50.0 \\ \hline \hline \end{tabular}
\end{table}
Table 2: Analysis results for normal pattern and severe pattern of frequency regulation.  
high level of computational hardware, which may increase the system cost. In addition, there is a disadvantage in that the SOC estimation performance can be significantly changed according to the accuracy of the system model in the algorithm. However, the accuracy of the SOC estimation is very high, and it is a method that can accurately estimate the SOC even with external noise [33; 34; 35]. In this section, it is shown how to implement the EKF algorithm and estimate the SOC of the battery within the error range. In addition, the SOC estimation result shows that the EKF can correctly estimate the SOC when noise occurs in the input data.