<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1104989</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2022.1104989</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>False data injection attack in smart grid: Attack model and reinforcement learning-based detection method</article-title>
<alt-title alt-title-type="left-running-head">Lin et&#xa0;al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2022.1104989">10.3389/fenrg.2022.1104989</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Lin</surname>
<given-names>Xixiang</given-names>
</name>
<uri xlink:href="https://loop.frontiersin.org/people/2109313/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>An</surname>
<given-names>Dou</given-names>
</name>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1801326/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Cui</surname>
<given-names>Feifei</given-names>
</name>
<uri xlink:href="https://loop.frontiersin.org/people/2003102/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Feiye</given-names>
</name>
<uri xlink:href="https://loop.frontiersin.org/people/1932940/overview"/>
</contrib>
</contrib-group>
<aff>
<institution>School of Automation Science and Engineering</institution>, <institution>Xi&#x2019;an Jiaotong University</institution>, <addr-line>Xi&#x2019;an</addr-line>, <addr-line>Shaanxi</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1831009/overview">Yongming Han</ext-link>, Beijing University of Chemical Technology, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2010136/overview">Yu Ma</ext-link>, Chang&#x2019;an University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1666905/overview">Zhijiang Chen</ext-link>, Frostburg State University, United States</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2041145/overview">Yalong Wu</ext-link>, University of Houston&#x2013;Clear Lake, United States</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Dou An, <email>douan2017@xjtu.edu.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Process and Energy Systems Engineering, a section of the journal Frontiers in Energy Research</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>24</day>
<month>01</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>10</volume>
<elocation-id>1104989</elocation-id>
<history>
<date date-type="received">
<day>22</day>
<month>11</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>05</day>
<month>12</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Lin, An, Cui and Zhang.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Lin, An, Cui and Zhang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>The smart grid, as a cyber-physical system, is vulnerable to attacks due to the diversified and open environment. The false data injection attack (FDIA) can threaten the grid security by constructing and injecting the falsified attack vector to bypass the system detection. Due to the diversity of attacks, it is impractical to detect FDIAs by fixed methods. This paper proposed a false data injection attack model and countering detection methods based on deep reinforcement learning (DRL). First, we studied an attack model under the assumption of unlimited attack resources and information of complete topology. Different types of FDIAs are also enumerated. Then, we formulated the attack detection problem as a Markov decision process (MDP). A deep reinforcement learning-based method is proposed to detect FDIAs with a combined dynamic-static detection mechanism. To address the sparse reward problem, experiences with discrepant rewards are stored in different replay buffers to achieve efficiency. Moreover, the state space is extended by considering the most recent states to improve the perception capability. Simulations were performed on IEEE 9,14,30, and 57-bus systems, proving the validation of attack model and efficiency of detection method. Results proved efficacy of the detection method in different scenarios.</p>
</abstract>
<kwd-group>
<kwd>state estimation</kwd>
<kwd>deep reinforcement learning</kwd>
<kwd>attack detection</kwd>
<kwd>smart grid</kwd>
<kwd>false data injection attack</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Smart grid is a representative cyber-physical system (<xref ref-type="bibr" rid="B32">Pasqualetti&#xa0;et&#xa0;al.,&#xa0;2013</xref>), permitting the bidirectional communication of both information and electric power between the utility and users. In the energy management system (EMS), state estimation plays a critical part of information-physical integration. Through state estimation, EMS can recognize the actual state of electricity transmission by filtering out possible noise to improve the reliability of the real-time data (<xref ref-type="bibr" rid="B15">Katiraei and Iravani,&#xa0;2006</xref>).</p>
<p>Due to the decentralized and multi-temporal coupled characteristics of measurement devices (<xref ref-type="bibr" rid="B5">Annaswamy and Amin,&#xa0;2013</xref>), the terminal equipment often lacks effective physical protection, resulting in the susceptibility to attacks. Diversified cyber-physical system attacks have been proposed and among the attacks, FDIA is a representative one. The FDIA attacker constructs attack vectors through specific algorithms conditioned on the power grid topology information, injects them through weak points of the grid, and avoids being detected to damage data integrity (<xref ref-type="bibr" rid="B2">An&#xa0;et&#xa0;al.,&#xa0;2019</xref>). FDIAs can directly affect the state estimation and the subsequent control elements, causing the system to lose stability and even break down. A large number of smart grid security incidents have shown that, compared with traditional attacks, it is more difficult to detect and defend cyber-physical attacks (<xref ref-type="bibr" rid="B21">Liang&#xa0;et&#xa0;al.,&#xa0;2017</xref>).</p>
<p>Research efforts against FDIAs can be categorized into two main types: defense and detection. First, to defend against FDIAs before being attacked, researchers have studied the deployment of grid at the cyber-physical level, such as optimizing the distribution of key nodes and devices according to their coupling characteristics (<xref ref-type="bibr" rid="B17">Lei&#xa0;et&#xa0;al.,&#xa0;2020</xref>; <xref ref-type="bibr" rid="B42">Wu&#xa0;et&#xa0;al.,&#xa0;2021</xref>). Second, to detect FDIAs after attack, substantial efforts has been made, such as dynamic state estimation method (<xref ref-type="bibr" rid="B3">An&#xa0;et&#xa0;al.,&#xa0;2022</xref>), tracking the deviation of measurement (<xref ref-type="bibr" rid="B1">Alnowibet&#xa0;et&#xa0;al.,&#xa0;2021</xref>; <xref ref-type="bibr" rid="B29">Mohamed&#xa0;et&#xa0;al.,&#xa0;2021</xref>; <xref ref-type="bibr" rid="B35">Sinha&#xa0;et&#xa0;al.,&#xa0;2022</xref>) and some stochastic game methods (<xref ref-type="bibr" rid="B41">Wei&#xa0;et&#xa0;al.,&#xa0;2018</xref>; <xref ref-type="bibr" rid="B30">Oozeer and Haykin,&#xa0;2019</xref>). In summary, above researches had shown that both cyber and physical methods are required in FDIA studies.</p>
<p>However, the grid operation is full of uncertainties, in which the system states and attacks are diverse (<xref ref-type="bibr" rid="B4">An and Liu,&#xa0;2019</xref>). Due to the diversity, enumerating all attacks is not realistic with limited resources. Moreover, empirical or off-line attack detection strategies are not optimal solutions for online network attack detection (<xref ref-type="bibr" rid="B7">Ashok&#xa0;et&#xa0;al.,&#xa0;2018</xref>; <xref ref-type="bibr" rid="B37">Tsobdjou&#xa0;et&#xa0;al.,&#xa0;2022</xref>). Therefore, reinforcement learning (RL)-based methods are introduced to avoid the complexity of empirical methods and gain the ability of detecting attacks in multiple scenarios (<xref ref-type="bibr" rid="B39">Wang&#xa0;et&#xa0;al.,&#xa0;2018</xref>; <xref ref-type="bibr" rid="B16">Kurt&#xa0;et&#xa0;al.,&#xa0;2019</xref>; <xref ref-type="bibr" rid="B11">Haque&#xa0;et&#xa0;al.,&#xa0;2021</xref>).</p>
<p>Deep reinforcement learning (DRL) learns the optimum strategy of sequential decision problems by exploring and interacting with the environment. The agent gets rewards for guiding the behavior, with the goal of maximizing the long-term return (<xref ref-type="bibr" rid="B36">Sutton and Barto,&#xa0;1998</xref>). DRL combines the feature-extraction capacity of neural networks with the decision-making capability of reinforcement learning in unknown environments to achieve direct control from state to action (<xref ref-type="bibr" rid="B6">Arulkumaran&#xa0;et&#xa0;al.,&#xa0;2017</xref>). The Deep Q-Network (DQN), used in conjunction with the replay buffer and a target network, is a representative DRL algorithm that can be adapted to environment with uncertainty (<xref ref-type="bibr" rid="B28">Mnih&#xa0;et&#xa0;al.,&#xa0;2015</xref>).</p>
<p>As for detection process of FDIA, after the unknown start of attack, state estimation results are falsified by the attack vector with unknown attack model (<xref ref-type="bibr" rid="B16">Kurt&#xa0;et&#xa0;al.,&#xa0;2019</xref>). Moreover, detection process of FDIA has the feature of sequential decision and the transition of state can be described as model-free (<xref ref-type="bibr" rid="B2">An&#xa0;et&#xa0;al.,&#xa0;2019</xref>, <xref ref-type="bibr" rid="B3">2022</xref>). Thus, FIDA detection can be described as a MDP and trained utilizing DQN algorithm to achieve detection by neural networks.</p>
<p>The rest part is: In <xref ref-type="sec" rid="s2">Section&#xa0;2</xref>, related studies are reviewed. In <xref ref-type="sec" rid="s3">Section&#xa0;3</xref>, the smart grid state estimation is introduced, including the static and dynamic method. The empirical bad data detection is also introduced. In <xref ref-type="sec" rid="s4">Section&#xa0;4</xref>, an FDIA model is introduced and three types of FDIAs are discussed based on the attack model. In <xref ref-type="sec" rid="s5">Section&#xa0;5</xref>, a DRL-based, combined dynamic-static FDIA detection method is proposed and optimized. In <xref ref-type="sec" rid="s6">Section&#xa0;6</xref>, simulations of attacks and detections are performed on IEEE grid systems in multiple scenarios. In <xref ref-type="sec" rid="s7">Section&#xa0;7</xref>, this paper is concluded.</p>
</sec>
<sec id="s2">
<title>2 Related work</title>
<p>Weighted Least Squares (WLS) is the basic and widely-used method for power grid state estimation (<xref ref-type="bibr" rid="B33">Schweppe and Rom,&#xa0;1970</xref>; <xref ref-type="bibr" rid="B34">Schweppe and Wildes,&#xa0;1970</xref>). (<xref ref-type="bibr" rid="B10">Debs and Larson,&#xa0;1970</xref>) applied Kalman filter (KF) to the power grid. As the study deepened, the extended Kalman filter (EKF) applied KF to non-linear systems. Moreover, unscented Kalman filter (UKF) and particle filtering (PF) were applied on state estimation, which improved the accuracy and stability of filtering (<xref ref-type="bibr" rid="B38">Wan and Van&#xa0;Der&#xa0;Merwe,&#xa0;2000</xref>; <xref ref-type="bibr" rid="B14">Julier and Uhlmann,&#xa0;2004</xref>).</p>
<p>(<xref ref-type="bibr" rid="B23">Liu&#xa0;et&#xa0;al.,&#xa0;2009</xref>) proposed FDIA and proved that the attack vector can bypass the detection element and cause damages on the system (<xref ref-type="bibr" rid="B31">Pang&#xa0;et&#xa0;al.,&#xa0;2016</xref>). studied attack method with the minimum cost to avoids anomaly detection (<xref ref-type="bibr" rid="B12">He&#xa0;et&#xa0;al.,&#xa0;2017</xref>). constructed a parallel FDIAs detection scheme, utilizing static-dynamic state estimation to detect attacks, which is robust (<xref ref-type="bibr" rid="B20">Li and Wang,&#xa0;2019</xref>). investigated the method to construct a less costly and undetectable attack vector by partial topology information (<xref ref-type="bibr" rid="B19">Li&#xa0;et&#xa0;al.,&#xa0;2019</xref>). studied the selection of optimal buses during the attack and proposed a data-driven optimal bus attack method (<xref ref-type="bibr" rid="B13">Jiang&#xa0;et&#xa0;al.,&#xa0;2020</xref>). studied two types of FDIAs and proposed a detection-defense method (<xref ref-type="bibr" rid="B9">Chen and Wang,&#xa0;2020</xref>). proposed a new state estimation method that estimates the grid state by sequential Monte Carlo filtering to detect multiple attacks.</p>
<p>Deep reinforcement learning matured later, but is widely used in sequential decision-making problems in recent years (<xref ref-type="bibr" rid="B27">Mnih&#xa0;et&#xa0;al.,&#xa0;2013</xref>). proposed DQN algorithm in 2013, and published a paper in 2015, in which DQN reached a high level over human players (<xref ref-type="bibr" rid="B28">Mnih&#xa0;et&#xa0;al.,&#xa0;2015</xref>). In the fields of smart grid security, (<xref ref-type="bibr" rid="B39">Wang&#xa0;et&#xa0;al.,&#xa0;2018</xref>), proposed an autonomous FDIA method adopting the nearest sequence memory Q-learning (<xref ref-type="bibr" rid="B22">Liu&#xa0;et&#xa0;al.,&#xa0;2020</xref>). investigated the vulnerability of power grids with new energy based on DRL (<xref ref-type="bibr" rid="B40">Wang&#xa0;et&#xa0;al.,&#xa0;2021</xref>). studied a hybrid cyber-physical topological attack in power grids, and proposed DRL-based method for detecting attacks with minimum cost (<xref ref-type="bibr" rid="B24">Luo and Xiao,&#xa0;2021</xref>). proposed a FDIA method based on reinforcement learning (RL), utilizing measurements, grid states and other parameters to construct attacks, without dependence on topology information.</p>
<p>As for RL-based FDIA detection, (<xref ref-type="bibr" rid="B16">Kurt&#xa0;et&#xa0;al.,&#xa0;2019</xref>), formulated the detection process as a MDP, and proposed a model-free RL-based detection scheme (<xref ref-type="bibr" rid="B43">Zhang and Wu,&#xa0;2021</xref>). proposed a RL-based detection method without the attack model, utilizing a Q-table to detect attacks by Sarsa algorithm. To address the complexity of storing Q-table, (<xref ref-type="bibr" rid="B2">An&#xa0;et&#xa0;al.,&#xa0;2019</xref>; <xref ref-type="bibr" rid="B35">Sinha&#xa0;et&#xa0;al.,&#xa0;2022</xref>), applied DQN algorithm to detect FDIAs by neural networks. Moreover, (<xref ref-type="bibr" rid="B1">Alnowibet&#xa0;et&#xa0;al.,&#xa0;2021</xref>; <xref ref-type="bibr" rid="B29">Mohamed&#xa0;et&#xa0;al.,&#xa0;2021</xref>), studied FDIA detection on energy trading and energy management systems by intelligent priority selection-based RL method.</p>
<p>Researches have proved the efficacy of RL-based method in FIDA detection. However, most studies focused on detection against single attack model, and studies on different types of FIDAs are not sufficient. Moreover, few studies combined multiple state estimation methods in the detection scheme, bringing out the focus of this paper.</p>
</sec>
<sec id="s3">
<title>3 Preliminaries</title>
<p>In this section, static and dynamic state estimation algorithms are introduced, laying the foundation of combined dynamic-static FIDA detection mechanism. Bad data detection method is shown to verify the efficacy of FDIA. Basic information about DQN algorithm is also introduced.</p>
<sec id="s3-1">
<title>3.1 Measurement equations</title>
<p>Relation between the measured power flows and state of the grid is (<xref ref-type="bibr" rid="B34">Schweppe and Wildes,&#xa0;1970</xref>):<disp-formula id="e1">
<mml:math id="m1">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c5;</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(1)</label>
</disp-formula>where, <bold>
<italic>z</italic>
</bold> denotes the system measurement, <bold>
<italic>h</italic>
</bold> denotes the measurement equation, <bold>
<italic>x</italic>
</bold> denotes the state of the grid, <italic>&#x3c5;</italic> denote the measurement noise, <italic>&#x3c6;</italic>
<sub>
<italic>i</italic>
</sub> and <italic>V</italic>
<sub>
<italic>i</italic>
</sub> denote the voltage phase angle and magnitude of node <italic>i</italic>, <italic>P</italic>
<sub>
<italic>i</italic>
</sub> and <italic>Q</italic>
<sub>
<italic>i</italic>
</sub> denote the power of node <italic>i</italic>, <italic>P</italic>
<sub>
<italic>ij</italic>
</sub> and <italic>Q</italic>
<sub>
<italic>ij</italic>
</sub> denote the tributary power flow, from <italic>i</italic> to <italic>j</italic>, whose detailed equations are:<disp-formula id="e2">
<mml:math id="m2">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mspace width="-0.17em"/>
<mml:mspace width="0.22em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mspace width="-0.17em"/>
<mml:mspace width="0.22em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mspace width="-0.17em"/>
<mml:mspace width="0.22em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mspace width="-0.17em"/>
<mml:mspace width="0.22em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mspace width="-0.17em"/>
<mml:mspace width="0.22em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mspace width="-0.17em"/>
<mml:mspace width="0.22em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mspace width="-0.17em"/>
<mml:mspace width="0.22em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="1em"/>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mspace width="-0.17em"/>
<mml:mspace width="0.22em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(2)</label>
</disp-formula>where, <italic>G</italic>
<sub>
<italic>ij</italic>
</sub>, <italic>B</italic>
<sub>
<italic>ij</italic>
</sub> are the real and imaginary part of the <italic>i</italic>, <italic>j</italic> term in the node conduction matrix, <italic>g</italic>
<sub>
<italic>ij</italic>
</sub>, <italic>b</italic>
<sub>
<italic>ij</italic>
</sub> denote the conductance and susceptance between <italic>i</italic>, <italic>j</italic>, <italic>g</italic>
<sub>
<italic>si</italic>
</sub> &#x2b; <italic>jb</italic>
<sub>
<italic>si</italic>
</sub> denotes the conductance of the parallel branch of <italic>i</italic>, <italic>g</italic>
<sub>
<italic>sj</italic>
</sub> &#x2b; <italic>jb</italic>
<sub>
<italic>sj</italic>
</sub> denotes the conductance of the parallel branch of <italic>j</italic>.</p>
</sec>
<sec id="s3-2">
<title>3.2 Static state estimation</title>
<p>Due to the pervasive noise, measurements can be unreliable and inconsistent with the actual state. Static state estimation filters the noise based on the current-measured data (<xref ref-type="bibr" rid="B34">Schweppe and Wildes,&#xa0;1970</xref>). Due to this factor, when attacked by FDIAs, results of static state estimation will deviate significantly from the true state. That deviation is utilized in attack detection mechanism of this paper. WLS method is adopted in this paper, whose iterative form is:<disp-formula id="e3">
<mml:math id="m3">
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="array">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi mathvariant="italic">&#x394;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi mathvariant="italic">&#x394;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">&#x394;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="italic">&#x394;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(3)</label>
</disp-formula>where, <italic>k</italic> denotes the step of iteration, <inline-formula id="inf1">
<mml:math id="m4">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> denotes the estimated state, <inline-formula id="inf2">
<mml:math id="m5">
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> denotes the Jacobian matrix of the measurement equation, with the dimension of <italic>m</italic> &#xd7; <italic>n</italic>. The iteration ends when <inline-formula id="inf3">
<mml:math id="m6">
<mml:mi mathvariant="italic">&#x394;</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is sufficiently small.</p>
</sec>
<sec id="s3-3">
<title>3.3 Dynamic state estimation</title>
<p>Dynamic state estimation bases on KF to estimate the state and eliminate noise. While static method focuses primarily on real-time states, dynamic method tries to predict the state of the next step and the estimation result is closer to true state under attacks. Due to the non-linearity of power system, EKF and UKF are applied in our works.</p>
</sec>
<sec id="s3-4">
<title>3.3.1 Extended kalman filter</title>
<p>EKF is effective for non-linear models, and performs better in systems with weak non-linearities and perturbations (<xref ref-type="bibr" rid="B18">Li&#xa0;et&#xa0;al.,&#xa0;2015</xref>).</p>
<p>A second order expansion of <inline-formula id="inf4">
<mml:math id="m7">
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> around <inline-formula id="inf5">
<mml:math id="m8">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is:<disp-formula id="e4">
<mml:math id="m9">
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
<mml:mi mathvariant="italic">&#x394;</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:math>
<label>(4)</label>
</disp-formula>where, <inline-formula id="inf6">
<mml:math id="m10">
<mml:mi mathvariant="italic">&#x394;</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf7">
<mml:math id="m11">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the prior estimation of state, <inline-formula id="inf8">
<mml:math id="m12">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the posterior estimation of state, <bold>
<italic>H</italic>
</bold> denotes the Jacobian matrix of the measurement function, and <bold>
<italic>S</italic>
</bold> is the remainder term of the second and higher order. Omitting <bold>
<italic>S</italic>
</bold>, a linearized model of grid state is obtained.<disp-formula id="e5">
<mml:math id="m13">
<mml:mspace width="0.3333em"/>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(5)</label>
</disp-formula>where, <bold>
<italic>F</italic>
</bold>
<sub>
<italic>k</italic>
</sub> denotes the state-transition function, <bold>
<italic>Q</italic>
</bold>
<sub>
<italic>k</italic>
</sub> and <bold>
<italic>R</italic>
</bold>
<sub>
<italic>k</italic>
</sub> denote the system and measurement noise.</p>
<p>Equations of EKF are shown in <xref ref-type="table" rid="T1">Table&#xa0;1</xref>, and the explanation is:<list list-type="simple">
<list-item>
<p>1. Prior estimation: Calculate <inline-formula id="inf9">
<mml:math id="m14">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and covariance matrix of prior estimation <bold>
<italic>M</italic>
</bold>
<sub>
<italic>k</italic>&#x2b;1</sub> by the post estimation results of step <italic>k</italic>.</p>
</list-item>
<list-item>
<p>2. Kalman gain: Calculate gain <bold>
<italic>K</italic>
</bold>
<sub>
<italic>k</italic>&#x2b;1</sub> by <bold>
<italic>M</italic>
</bold>
<sub>
<italic>k</italic>&#x2b;1</sub> and <bold>
<italic>H</italic>
</bold>.</p>
</list-item>
<list-item>
<p>3. Post estimation: Calculate <inline-formula id="inf10">
<mml:math id="m15">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and covariance matrix of post estimation <bold>
<italic>&#x3a3;</italic>
</bold>
<sub>
<italic>k</italic>&#x2b;1</sub> for the next step.</p>
</list-item>
</list>
</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Equations of EKF.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Step</th>
<th align="center">Formula</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="center">Prior estimation</td>
<td align="left">
<inline-formula id="inf11">
<mml:math id="m16">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf12">
<mml:math id="m17">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">&#xa0;&#xa0;Kalman gain</td>
<td align="left">
<inline-formula id="inf13">
<mml:math id="m18">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td rowspan="2" align="left">&#xa0;&#xa0;Post estimation</td>
<td align="left">
<inline-formula id="inf14">
<mml:math id="m19">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf15">
<mml:math id="m20">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-5">
<title>3.3.2 Unscented kalman filter</title>
<p>UKF applies KF to non-linear systems utilizing the Unscented Transformation (UT). UKF performs better under systems with strong non-linearity compared with EKF (<xref ref-type="bibr" rid="B14">Julier and Uhlmann,&#xa0;2004</xref>). The non-linear form of grid state is:<disp-formula id="e6">
<mml:math id="m21">
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(6)</label>
</disp-formula>where, <inline-formula id="inf16">
<mml:math id="m22">
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> is <italic>n</italic> &#xd7; 1 dimensional non-linear state-transition function, <bold>
<italic>&#x3c9;</italic>
</bold>
<sub>
<italic>k</italic>
</sub> and <bold>
<italic>&#x3c5;</italic>
</bold>
<sub>
<italic>k</italic>
</sub> are <italic>n</italic> &#xd7; 1 and <italic>m</italic> &#xd7; 1-dimensional Gaussian white noise with the zero mean.</p>
<p>Equations of UKF are shown in <xref ref-type="table" rid="T2">Table&#xa0;2</xref>, and the explanation is:<list list-type="simple">
<list-item>
<p>1. Generate sigma-points: Generate 2<italic>n</italic>&#x2b;1 sigma-points (<xref ref-type="bibr" rid="B14">Julier and Uhlmann,&#xa0;2004</xref>).</p>
</list-item>
<list-item>
<p>2. Prior estimation: Utilizing sigma points to calculate the prior estimation <inline-formula id="inf17">
<mml:math id="m23">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, and the prior estimation error covariance <bold>
<italic>M</italic>
</bold>
<sub>
<italic>k</italic>&#x2b;1</sub>.</p>
</list-item>
<list-item>
<p>3. Measurement correction: Calculate the prior estimated measurement <inline-formula id="inf18">
<mml:math id="m24">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>. Difference between <inline-formula id="inf19">
<mml:math id="m25">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <bold>
<italic>z</italic>
</bold>
<sub>
<italic>k</italic>&#x2b;1</sub> is used to calculate covariance matrices <inline-formula id="inf20">
<mml:math id="m26">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf21">
<mml:math id="m27">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>4. Kalman gain: Gain <bold>
<italic>K</italic>
</bold>
<sub>
<italic>k</italic>&#x2b;1</sub> and post estimated state <inline-formula id="inf22">
<mml:math id="m28">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> are calculated by <inline-formula id="inf23">
<mml:math id="m29">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf24">
<mml:math id="m30">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>.</p>
</list-item>
</list>
</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Equations of UKF.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Step</th>
<th align="center">Formula</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Generate sigma points</td>
<td align="left">
<inline-formula id="inf25">
<mml:math id="m31">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mspace width=".17em"/>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td rowspan="3" align="left">Prior estimation</td>
<td align="left">
<inline-formula id="inf26">
<mml:math id="m32">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf27">
<mml:math id="m33">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf28">
<mml:math id="m34">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td rowspan="3" align="left">&#xa0;&#xa0;Measurement correction</td>
<td align="left">
<inline-formula id="inf29">
<mml:math id="m35">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>, <inline-formula id="inf30">
<mml:math id="m36">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf31">
<mml:math id="m37">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf32">
<mml:math id="m38">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td rowspan="3" align="left">&#xa0;&#xa0;Kalman gain</td>
<td align="left">
<inline-formula id="inf33">
<mml:math id="m39">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf34">
<mml:math id="m40">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf35">
<mml:math id="m41">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3a3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-6">
<title>3.4 Bad data detection</title>
<p>Errors in the initial measurement data can be the source of distortion of estimated states, leading to wrong decisions of EMS. Therefore, detection of bad data in measurements is applied to detect possible errors. The most common method is constructing an empirical threshold and detect by the residual function (<xref ref-type="bibr" rid="B26">Merrill and Schweppe,&#xa0;1971</xref>):<disp-formula id="e7">
<mml:math id="m42">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(7)</label>
</disp-formula>where, <inline-formula id="inf36">
<mml:math id="m43">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> denotes the state estimation results, <inline-formula id="inf37">
<mml:math id="m44">
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> denotes the <italic>l</italic>
<sup>2</sup>-norm&#xa0;of residuals and <italic>&#x3c4;</italic> denotes the empirical threshold generated form historical data.</p>
<p>Holding of Eq.&#xa0;<xref ref-type="disp-formula" rid="e7">7</xref> denotes that residuals of the estimated states exceed the threshold. Then a bad data alarm will be triggered, indicating the existence of bad data.</p>
</sec>
<sec id="s3-7">
<title>3.5 DQN algorithm</title>
<p>The DQN algorithm, used with replay buffer and target network, is a representative DRL algorithm. Applying DQN algorithm can overcome the complexity of storing Q-table in Q-learning. Other improvements of DQN over Q-learning are (<xref ref-type="bibr" rid="B28">Mnih&#xa0;et&#xa0;al.,&#xa0;2015</xref>):<list list-type="simple">
<list-item>
<p>1. Construct replay buffer: At each step, store the experiences in buffer <inline-formula id="inf38">
<mml:math id="m45">
<mml:mi mathvariant="double-struck">D</mml:mi>
</mml:math>
</inline-formula>. When updating the neural network, a mini batch is extracted to update weights <italic>&#x3b8;</italic>. Format of experience <bold>
<italic>e</italic>
</bold>
<sub>
<italic>t</italic>
</sub> is:</p>
</list-item>
</list>
<disp-formula id="e8">
<mml:math id="m46">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(8)</label>
</disp-formula>where, <italic>s</italic>
<sub>
<italic>t</italic>
</sub>, <italic>a</italic>
<sub>
<italic>t</italic>
</sub>, and <italic>r</italic>
<sub>
<italic>t</italic>
</sub> denote the state, action and reward of step <italic>t</italic> during the interacting between the agent and environment.<list list-type="simple">
<list-item>
<p>2. Use target Q network: DQN is a dual-network model. A target network is defined and periodically updated, generating target Q. Thus, the equation of gradient descent is:</p>
</list-item>
</list>
<disp-formula id="e9">
<mml:math id="m47">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi>&#x2207;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mi>L</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mfenced open="[" close="">
<mml:mrow>
<mml:mfenced open="(" close="">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>max</mml:mi>
<mml:mspace width="-0.17em"/>
<mml:mspace width="0.22em"/>
<mml:mi>Q</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="1em"/>
<mml:mfenced open="" close="]">
<mml:mrow>
<mml:mfenced open="" close=")">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mspace width=".17em"/>
<mml:mi>Q</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(9)</label>
</disp-formula>where, <inline-formula id="inf39">
<mml:math id="m48">
<mml:mi>Q</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>, <inline-formula id="inf40">
<mml:math id="m49">
<mml:mi>Q</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> are generated by the weights of target and current Q network, respectively.<list list-type="simple">
<list-item>
<p>3. Normalize reward: Restrain the reward <italic>r</italic> in <inline-formula id="inf41">
<mml:math id="m50">
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>, which can reduce the gradient during updating.</p>
</list-item>
<list-item>
<p>4. Adopt <italic>&#x25b;</italic>-greedy strategy: Adopt a random strategy at each step with a chance of 1 &#x2212; <italic>&#x25b;</italic>, and <italic>&#x25b;</italic> increases with training.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="s4">
<title>4 Smart grid FDIA</title>
<sec id="s4-1">
<title>4.1 FDIA model based on complete topology information</title>
<p>In this section, we construct FDIAs under the assumption of complete topology information and unlimited cost. Thus the attacker can extract whole measurement function <bold>
<italic>h</italic>
</bold>(<bold>
<italic>x</italic>
</bold>) and construct attack without considering the cost, resulting in the inefficacy of empirical bad data detection mechanism.</p>
<p>Equations for constructing attacks are (<xref ref-type="bibr" rid="B23">Liu&#xa0;et&#xa0;al.,&#xa0;2009</xref>):<disp-formula id="e10">
<mml:math id="m51">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">a</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(10)</label>
</disp-formula>where, <bold>
<italic>z</italic>
</bold>
<sub>
<italic>a</italic>
</sub> denotes the attacked measurement values that the system obtains, <bold>
<italic>z</italic>
</bold> denotes the real measurement values of the grid, <bold>
<italic>a</italic>
</bold> denotes the attack vector, <inline-formula id="inf42">
<mml:math id="m52">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> denotes the estimated states under attacks, <inline-formula id="inf43">
<mml:math id="m53">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> denotes the estimated states without attacks, <bold>
<italic>c</italic>
</bold> denotes the change of state values.</p>
<p>As for a non-linear power system, FIDA can also satisfy the measurement equation <inline-formula id="inf44">
<mml:math id="m54">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> by:<disp-formula id="e11">
<mml:math id="m55">
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m56">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
<p>If the static state estimation is operated as always, there is <inline-formula id="inf45">
<mml:math id="m57">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2248;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <inline-formula id="inf46">
<mml:math id="m58">
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2248;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>. Comparing Eq.&#xa0;<xref ref-type="disp-formula" rid="e12">12</xref> with Eq.&#xa0;<xref ref-type="disp-formula" rid="e7">7</xref>, ignoring the inherent Gaussian noise in Eq.&#xa0;<xref ref-type="disp-formula" rid="e6">6</xref>, the residuals under valid FDIAs are the same as the residuals without an attack, namely <inline-formula id="inf47">
<mml:math id="m59">
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.</p>
<p>In other words, a FIDA constructed this way doesn&#x2019;t change the residuals in Eq.&#xa0;<xref ref-type="disp-formula" rid="e7">7</xref>. Therefore, a valid FIDA doesn&#x2019;t trigger the bad data detection alarm mentioned in <xref ref-type="sec" rid="s3-6">Section&#xa0;3.4</xref>.</p>
</sec>
<sec id="s4-2">
<title>4.2 Types of attacks</title>
<p>Considering the diversity of attacks and attackers&#x2019; intentions, types of FDIAs are also diverse. In this paper, we classified FDIAs by duration and variation of intensity.</p>
<p>According to the duration, attacks can be divided into transient attack and continuous attack (<xref ref-type="bibr" rid="B13">Jiang&#xa0;et&#xa0;al.,&#xa0;2020</xref>). The transient attack tends to have stronger perturbation in a short period, while the continuous attack can remain undetected for a longer period by applying weak perturbation.</p>
<p>According to the intensity, the attack can be divided into constant-intensity and variable-intensity attack. The constant-intensity attack vectors are similar in magnitude, while the variable-intensity attack vectors can be stochastic or asymptotic.</p>
<p>Detailed classification of FDIA is shown in <xref ref-type="table" rid="T3">Table&#xa0;3</xref>. Three types of attacks are selected and studied in this paper, the strategies are shown in <xref ref-type="statement" rid="Algorithm_1">Algorithm&#xa0;1</xref> and the detailed equations are:</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Classification of FDIAs.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Duration</th>
<th align="left">Attack intensity</th>
<th align="left">Types of FDIAs</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">&#xa0;continuous</td>
<td align="left">constant</td>
<td align="left">continuous-constant-intensity attack</td>
</tr>
<tr>
<td align="left">&#xa0;continuous</td>
<td align="left">variable</td>
<td align="left">continuous-variable-intensity attack</td>
</tr>
<tr>
<td align="left">&#xa0;&#xa0;transient</td>
<td align="left">constant</td>
<td align="left">transient-constant-intensity Attack</td>
</tr>
<tr>
<td align="left">&#xa0;&#xa0;transient</td>
<td align="left">variable</td>
<td align="left">transient-variable-intensity attack</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm 1</label>
<p>Strategies of three attacks.</p>
<p>
<inline-graphic xlink:href="fenrg-10-1104989-fx1.tif"/>
</p>
</statement>
</p>
<p>
<list list-type="simple">
<list-item>
<p>1. Attack1. Continuous-constant-intensity attack:</p>
</list-item>
</list>
</p>
<p>Define the start and end of the attack as <italic>t</italic>
<sub>
<italic>start</italic>
</sub> and <italic>t</italic>
<sub>
<italic>end</italic>
</sub>. While <italic>t</italic>
<sub>
<italic>start</italic>
</sub> &#x3c; <italic>t</italic> &#x3c; <italic>t</italic>
<sub>
<italic>end</italic>
</sub>, construct and inject the attack by Eq.&#xa0;<xref ref-type="disp-formula" rid="e13">13</xref>.<disp-formula id="e13">
<mml:math id="m60">
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="array">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(13)</label>
</disp-formula>where, <bold>
<italic>c</italic>
</bold> &#x3d; [<italic>c</italic>
<sub>
<italic>&#x3c6;</italic>1</sub>, <italic>c</italic>
<sub>
<italic>&#x3c6;</italic>2</sub>, &#x22ef;<italic>c</italic>
<sub>
<italic>&#x3c6;n</italic>
</sub>, <italic>c</italic>
<sub>
<italic>V</italic>1</sub>, <italic>c</italic>
<sub>
<italic>V</italic>2</sub>, &#x22ef;<italic>c</italic>
<sub>
<italic>Vn</italic>
</sub>] denotes the intended deviation of phase angle <italic>c</italic>
<sub>
<italic>&#x3c6;i</italic>
</sub> and magnitude <italic>c</italic>
<sub>
<italic>Vi</italic>
</sub> on the node voltage, <bold>
<italic>&#x3c9;</italic>
</bold> is a standardized normal variable.</p>
<p>Attack-1 is a typical form of FDIA. When <italic>c</italic>
<sub>
<italic>&#x3c6;i</italic>
</sub> &#x3d; <italic>c</italic>
<sub>
<italic>Vi</italic>
</sub> &#x3d; 0, no attack will be injected on bus <italic>i</italic>, and <bold>
<italic>c</italic>
</bold> depends on the intention of attackers. Since we focus on detection, the programming problem of determining <bold>
<italic>c</italic>
</bold> is replaced by a Gaussian variable <bold>
<italic>&#x3c9;</italic>
</bold>. Multiplying by <bold>
<italic>&#x3c9;</italic>
</bold>, the attack vector varies in a reasonable range (<bold>0</bold>, <bold>
<italic>c</italic>
</bold>). Thus, diversified attack intention can be included, and value of <bold>
<italic>c</italic>
</bold> can be fixed. For example, if we define <italic>c</italic>
<sub>
<italic>V</italic>1</sub> &#x3d; 0.1p.u., all attacks with the intensity between 0 and 0.1p.u. on bus one are considered as long as there are enough episodes. Moreover, <bold>
<italic>&#x3c9;</italic>
</bold> can also make FDIAs hard to be detected by empirical method.<list list-type="simple">
<list-item>
<p>2. Attack2. Transient-constant-intensity attack:</p>
</list-item>
</list>
</p>
<p>While <italic>t</italic>
<sub>
<italic>start</italic>
</sub> &#x3c; <italic>t</italic> &#x3c; <italic>t</italic>
<sub>
<italic>end</italic>
</sub>, at each step, with a probability of <italic>&#x25b;</italic>
<sub>
<italic>attack</italic>
</sub> to construct and inject the attack by Eq.&#xa0;<xref ref-type="disp-formula" rid="e13">13</xref>. In other cases, no attack is conducted. Attack-2 aims to test the response speed of the detection method.<list list-type="simple">
<list-item>
<p>3. Attack3. Continuous-variable-intensity (incremental) attack:</p>
</list-item>
</list>
</p>
<p>While <italic>t</italic>
<sub>
<italic>start</italic>
</sub> &#x3c; <italic>t</italic> &#x3c; <italic>t</italic>
<sub>
<italic>end</italic>
</sub>, construct the attack by:<disp-formula id="e14">
<mml:math id="m61">
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="array">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">end</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">start</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>Attack3 is valid during steady-state grid operation when state <bold>
<italic>x</italic>
</bold> undergoes little change. One obvious feature of <bold>Attack3</bold> is that <bold>
<italic>x</italic>
</bold>
<sub>
<italic>a</italic>
</sub> is cumulative. Since the cumulation of deviation is slow, Attack3 is hard to be detected at an early stage.</p>
</sec>
</sec>
<sec id="s5">
<title>5 DQN-based FDIA detection</title>
<p>In this section, we first introduce a combined dynamic-static detection mechanism. Then, to avoid the complexity and achieve more effectiveness, we proposed a DQN-based FDIA detection method.</p>
<sec id="s5-1">
<title>5.1 Combined dynamic-static empirical FDIA detection</title>
<p>According to <xref ref-type="sec" rid="s4-1">Section&#xa0;4.1</xref>, it is hard to detect well-constructed FDIAs by bad data detection. However, when attacked by FDIAs, results of different state estimation methods produce a significant difference: Result of static state estimation will deviate from the true state, since it only depends on the real-time measurements. Result of dynamic method is closer to the true state due to the prediction steps.</p>
<p>So in our works, we combine results of static method (WLS) with dynamic method (EKF and UKF) and detect attack based on their inconsistency:<disp-formula id="e15">
<mml:math id="m62">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="&#x7c;" close="">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">WLS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">attack</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(15)</label>
</disp-formula>where, <italic>x</italic>
<sub>
<italic>KF</italic>
</sub> and <italic>x</italic>
<sub>
<italic>WLS</italic>
</sub> denote the result of KF and WLS, <italic>&#x3c4;</italic>
<sub>
<italic>attack</italic>
</sub> is the threshold for determining an attack. When Eq.&#xa0;<xref ref-type="disp-formula" rid="e15">15</xref> holds, the system is determined to be attacked.</p>
<p>However, grid states change abruptly sometimes due to other factors, which can also leads to the deviation of state estimation. Thus Eq.&#xa0;<xref ref-type="disp-formula" rid="e15">15</xref> can be false-positive, so we combine it with bad data detection:<disp-formula id="e16">
<mml:math id="m63">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:mi mathvariant="bold-italic">z</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">WLS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">baddata</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>The mechanism is summarized as <xref ref-type="fig" rid="F1">Figure&#xa0;1</xref>, when Eq.&#xa0;<xref ref-type="disp-formula" rid="e16">16</xref> holds, the system is determined to have bad data, When Eq.&#xa0;<xref ref-type="disp-formula" rid="e16">16</xref> does&#x2019;t hold but Eq.&#xa0;<xref ref-type="disp-formula" rid="e15">15</xref> holds, the system is determined to be attacked by FDIAs.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>FDIA detection mechanism.</p>
</caption>
<graphic xlink:href="fenrg-10-1104989-g001.tif"/>
</fig>
<p>However, since the gird is vulnerable to disturbances, evaluating the performance of the method only by accuracy is incomplete. Considering the time sensitivity, an effective detection of FDIA in this paper is defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e17">17</xref>. Utilizing Eq.&#xa0;<xref ref-type="disp-formula" rid="e17">17</xref>, performance of detection is evaluated by detection rate.<disp-formula id="e17">
<mml:math id="m64">
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">start</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2a7d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">alarm</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2a7d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">start</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
</mml:math>
<label>(17)</label>
</disp-formula>where, <italic>t</italic>
<sub>
<italic>start</italic>
</sub> denotes the start of attack, and <italic>t</italic>
<sub>
<italic>alarm</italic>
</sub> denotes the time that the attack is detected.</p>
<p>If Eq.&#xa0;<xref ref-type="disp-formula" rid="e17">17</xref> holds, it shows that the attack is detected within a short period of time. Thus the detection is effective and the safety of grid can be protected.</p>
</sec>
<sec id="s5-2">
<title>5.2 DQN-based FDIA detection scheme</title>
<p>Due to the changing load of grid and randomness of attacks, the threshold of Eq.&#xa0;<xref ref-type="disp-formula" rid="e15">15</xref> varies greatly in different scenarios. Therefore, it is impractical and costly to apply a certain empirical threshold <italic>&#x3c4;</italic>
<sub>
<italic>attack</italic>
</sub> in a wide range of grids.</p>
<p>To address the shortcomings of empirical detection, FIDA detection is formulated as a MDP and trained utilizing DQN algorithm. Detection is achieved through neural network, equivalent to a dynamic threshold instead of the empirical threshold <italic>&#x3c4;</italic>
<sub>
<italic>attack</italic>
</sub> in Eq.&#xa0;<xref ref-type="disp-formula" rid="e15">15</xref>. The neural network is trained by interacting with the environment during the MDP of FDIA detection (<xref ref-type="bibr" rid="B2">An&#xa0;et&#xa0;al.,&#xa0;2019</xref>; <xref ref-type="bibr" rid="B16">Kurt&#xa0;et&#xa0;al.,&#xa0;2019</xref>). After an action of detection, agent receives a feedback (reward) from the environment for guiding the actions by updating the neural network (<xref ref-type="bibr" rid="B36">Sutton and Barto,&#xa0;1998</xref>).</p>
<sec id="s5-2-1">
<title>5.2.1 MDP-based attack detection model</title>
<p>MDP is the model for sequential decision making (<xref ref-type="bibr" rid="B8">Baxter,&#xa0;1995</xref>). When the state of environment is Markovian, MDP can simulate the strategies and rewards that an agent can achieve. We formulate FIDA detection process as a MDP due to the feature of sequential decision and uncertainty of attack model.</p>
<p>Main components of MDP are state space <bold>
<italic>S</italic>
</bold>, action space <bold>
<italic>A</italic>
</bold>, state transition <bold>
<italic>P</italic>
</bold> and reward <bold>
<italic>R</italic>
</bold>, denoted by <inline-formula id="inf48">
<mml:math id="m65">
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">R</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> (<xref ref-type="bibr" rid="B25">Luong&#xa0;et&#xa0;al.,&#xa0;2019</xref>). For the FDIA detection, we defined <bold>
<italic>S</italic>
</bold> and <bold>
<italic>A</italic>
</bold> as:<disp-formula id="e18">
<mml:math id="m66">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(18)</label>
</disp-formula>where, <italic>s</italic>
<sub>
<italic>n</italic>
</sub> represents that no attack exists in the grid, <italic>s</italic>
<sub>
<italic>a</italic>
</sub> represents that the gird is under an attack, <italic>a</italic>
<sub>
<italic>c</italic>
</sub> denotes that no attack is detected and the system continues to operate, <italic>a</italic>
<sub>
<italic>s</italic>
</sub> denotes that the attack is detected, and the MDP ends when an attack is detected or time ends.</p>
<p>
<bold>
<italic>P</italic>
</bold> represents the state transition function. To address the random and unpredictable characteristics of cyber attacks, a model-free approach is taken to define state transition, i.e., the state transition probability <inline-formula id="inf49">
<mml:math id="m67">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> is unknown (<xref ref-type="bibr" rid="B2">An&#xa0;et&#xa0;al.,&#xa0;2019</xref>). When the system chooses to continue the operation, the state of the next step is calculated by state estimation and perceived by the agent.</p>
<p>
<bold>
<italic>R</italic>
</bold> represents the reward function. For the sparse characteristics of the power grid under attack, we define <bold>
<italic>R</italic>
</bold> by efficacy of detection. When agent detects attacks during normal operation, the reward is negative. When the agent detects attacks under attacks, the reward is positive, and the more timely the detection, the more the rewards. Rewards of the other cases are 0. The detailed function is:<disp-formula id="e19">
<mml:math id="m68">
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">start</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">end</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">start</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(19)</label>
</disp-formula>where, <italic>t</italic>
<sub>
<italic>start</italic>
</sub>, <italic>t</italic>
<sub>
<italic>end</italic>
</sub> denote the start and end of the attack, respectively, <italic>&#x3b2;</italic>
<sup>&#x2212;</sup>, <italic>&#x3b2;</italic>
<sup>&#x2b;</sup> denote the reward coefficient.</p>
</sec>
<sec id="s5-2-2">
<title>5.2.2 Optimized DQN-based detection scheme</title>
<p>Framework of the detection scheme is shown in <xref ref-type="fig" rid="F2">Figure&#xa0;2</xref>. The detailed training and testing algorithms are given in <xref ref-type="statement" rid="Algorithm_2">Algorithm&#xa0;2</xref> and <xref ref-type="statement" rid="Algorithm_3">Algorithm&#xa0;3</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Framework of optimized DQN-based detection schem.</p>
</caption>
<graphic xlink:href="fenrg-10-1104989-g002.tif"/>
</fig>
<p>
<statement content-type="algorithm" id="Algorithm_2">
<label>Algorithm 2</label>
<p>Training of the a optimized DQN-based FDIA detection algorithm.</p>
<p>
<inline-graphic xlink:href="fenrg-10-1104989-fx2.tif"/>
</p>
</statement>
</p>
<p>
<statement content-type="algorithm" id="Algorithm_3">
<label>Algorithm 3</label>
<p>Testing of the FIDA detection algorithm.</p>
<p>
<inline-graphic xlink:href="fenrg-10-1104989-fx3.tif"/>
</p>
</statement>
</p>
</sec>
</sec>
</sec>
<sec id="s6">
<title>6 Simulations</title>
<sec id="s6-1">
<title>6.1 Simulations setup</title>
<p>Extensive simulations performed to simulate the actual scenarios of FIDA attack-detection process. First, to ensure the practicability, simulations are based on IEEE 9, 14, 30 and 57-bus networks by MATPOWER (<xref ref-type="bibr" rid="B46">Zimmerman&#xa0;et&#xa0;al.,&#xa0;2011</xref>). Second, due to the diversity of attacks and attack intentions (<xref ref-type="bibr" rid="B4">An and Liu,&#xa0;2019</xref>), three types of FDIAs are adopted, namely Attack-1, 2, and 3. Cases with single attack and multiple attacks are both considered during simulations. Then, the attacks aim at the magnitude of node voltages, with the intensity to cause voltage violation (<xref ref-type="bibr" rid="B45">Zhu and Liu,&#xa0;2016</xref>; <xref ref-type="bibr" rid="B44">Zheng&#xa0;et&#xa0;al.,&#xa0;2020</xref>). Third, WLS is adopted in static estimation while EKF and UKF are adopted for dynamic state estimation in different cases. In addition, random seeds were used to reduce the random error. Details of settings are shown in <xref ref-type="table" rid="T4">Table&#xa0;4</xref>.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Simulation settings.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Environment</th>
<th align="left">Settings</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Number of buses on IEEE systems</td>
<td align="left">9, 14, 30, 57</td>
</tr>
<tr>
<td align="left">Time steps of each episode <italic>T</italic>
</td>
<td align="left">100</td>
</tr>
<tr>
<td align="left">Duration of attack <italic>T</italic>
<sub>
<italic>a</italic>
</sub>
</td>
<td align="left">50</td>
</tr>
<tr>
<td align="left">Probability of <italic>&#x25b;</italic>
<sub>
<italic>attack</italic>
</sub> in Attack2</td>
<td align="left">0.2</td>
</tr>
<tr>
<td align="left">Intended deviation of voltage angle <italic>c</italic>
<sub>
<italic>&#x3c6;i</italic>
</sub>
</td>
<td align="left">0&#xb0;</td>
</tr>
<tr>
<td align="left">Intended deviation of voltage magnitude <italic>c</italic>
<sub>
<italic>Vi</italic>
</sub>
</td>
<td align="left">0.1p.u</td>
</tr>
<tr>
<td align="left">Parameters of UKF</td>
<td align="left">
<italic>&#x3b1;</italic> &#x3d; 10<sup>&#x2013;3</sup>, <italic>&#x3b2;</italic> &#x3d; 2, <italic>&#x3ba;</italic> &#x3d; 0</td>
</tr>
<tr>
<td align="left">Learning rate <italic>&#x3b1;</italic>
<sub>
<italic>l</italic>
</sub>
</td>
<td align="left">0.001</td>
</tr>
<tr>
<td align="left">Discount factor <italic>&#x3b3;</italic>
</td>
<td align="left">0.9</td>
</tr>
<tr>
<td align="left">Dimension of extended State space <italic>N</italic>
</td>
<td align="left">4</td>
</tr>
<tr>
<td align="left">Reward coefficient <italic>&#x3b2;</italic>
<sup>&#x2212;</sup>, <italic>&#x3b2;</italic>
<sup>&#x2b;</sup>
</td>
<td align="left">1:1</td>
</tr>
<tr>
<td align="left">
<italic>&#x3f5;</italic>-greddy strategy initial <italic>&#x3f5;</italic>
</td>
<td align="left">0.9</td>
</tr>
<tr>
<td align="left">
<italic>&#x3f5;</italic>-greddy strategy increment of <italic>&#x3f5;</italic>
</td>
<td align="left">0.0005</td>
</tr>
<tr>
<td align="left">Replay buffer size</td>
<td align="left">1,000</td>
</tr>
<tr>
<td align="left">Mini-batch size</td>
<td align="left">32</td>
</tr>
<tr>
<td align="left">Sampled mini-batch size <inline-formula id="inf64">
<mml:math id="m84">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, <inline-formula id="inf65">
<mml:math id="m85">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, and <inline-formula id="inf66">
<mml:math id="m86">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>
</td>
<td align="left">4, 4, 24</td>
</tr>
<tr>
<td align="left">Time interval of updating target network</td>
<td align="left">10</td>
</tr>
<tr>
<td align="left">Episodes of random exploring <italic>N</italic>0</td>
<td align="left">100</td>
</tr>
<tr>
<td align="left">Epoches of training <italic>N</italic>1</td>
<td align="left">10, 20</td>
</tr>
<tr>
<td align="left">Episodes of training <italic>N</italic>2</td>
<td align="left">500</td>
</tr>
<tr>
<td align="left">Episodes of testing <italic>N</italic>3</td>
<td align="left">100</td>
</tr>
<tr>
<td align="left">Random seeds</td>
<td align="left">101,102,103,104,105</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s6-2">
<title>6.2 Simulations and effects of attacks</title>
<p>Considering the change in voltage magnitude of static state estimation result, effects of three typical attacks is in <xref ref-type="fig" rid="F3">Figure&#xa0;3</xref>. The dashed lines indicate the start and end of attacks.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Effects of three typical attacks. <bold>(A)</bold> Effect of Attack-1, <bold>(B)</bold> Effect of Attack-1, and <bold>(C)</bold> Effect of Attack-1.</p>
</caption>
<graphic xlink:href="fenrg-10-1104989-g003.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F3">Figure&#xa0;3A</xref> shows effect of Attack-1, namely continuous-constant-intensity attack. Attack-1 injects attack continuously and magnitude of the attack vector follows the same Gaussian distribution. Thus, deviation in voltage magnitude is obvious under Attack-1.</p>
<p>
<xref ref-type="fig" rid="F3">Figure&#xa0;3B</xref> shows effect of Attack-2, namely transient-constant-intensity attack. Attack-2 injects the attack vector intermittently and magnitude of the vector follows the same Gaussian distribution. Deviation generated by Attack-2 is also considerable, but the attack duration is compressed. Thus, for the detector, higher response speed is required.</p>
<p>
<xref ref-type="fig" rid="F3">Figure&#xa0;3C</xref> shows effect of Attack-3, namely continuous-variable-intensity (incremental) attack. Attack-3 injects the attack vector continuously and magnitude of the vector is cumulative. The deviation between two steps generated by Attack-3 is smaller than other attacks, which can avoid being detected. However, the deviation accumulates over a period of time and the amplitude at the end of attack is also considerable, so the consequence of Attack-3 can be severe.</p>
<p>Taking Attack-1 as an example, <xref ref-type="fig" rid="F4">Figure&#xa0;4</xref> shows the differences between valid and invalid attacks. In <xref ref-type="fig" rid="F4">Figure&#xa0;4A</xref>, the residual modulus of the no-attack case is about 0, and almost overlaps with the valid-attack case. But in <xref ref-type="fig" rid="F4">Figure&#xa0;4B</xref>, the residual modulus fluctuates greatly at a high level under an invalid attack, exposing the attack to detector. In summary, the difference of effectiveness between valid and invalid attacks to bypass the bad data detection is obvious.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Bad data detection results <bold>(A)</bold> Bad data detection results under valid attack and <bold>(B)</bold> Bad data detection results under invalid attack.</p>
</caption>
<graphic xlink:href="fenrg-10-1104989-g004.tif"/>
</fig>
<p>Changes in node voltage of IEEE 9-bus system when attacked by the FDIA are shown in <xref ref-type="fig" rid="F5">Figure&#xa0;5</xref>. Since the intended deviation of angle <italic>c</italic>
<sub>
<italic>&#x3c6;i</italic>
</sub> &#x3d; 0&#xb0;, the phase angle deviates slightly during the attack in <xref ref-type="fig" rid="F5">Figure&#xa0;5A</xref>. Moreover, the intended deviation of magnitude <italic>c</italic>
<sub>
<italic>Vi</italic>
</sub> &#x3d; 0.1p.u., so the intensity of attack is within (0, <italic>c</italic>
<sub>
<italic>j</italic>
</sub>). Correspondingly, the bus voltage magnitude undergoes a large deviation in <xref ref-type="fig" rid="F5">Figure&#xa0;5B</xref>, misleading the following grid operation.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Static state estimation results under valid attack. <bold>(A)</bold> Change of node voltage angle after the valid attack and <bold>(B)</bold> Change of node voltage magnitude after the valid attack.</p>
</caption>
<graphic xlink:href="fenrg-10-1104989-g005.tif"/>
</fig>
</sec>
<sec id="s6-3">
<title>6.3 Effectiveness of optimized DQN-based method</title>
<p>Simulations in this section compare the optimized DQN-based method with the original DQN-based method and empirical threshold method. Moreover, cases with different dimension of state space are also compared Effectiveness of adopting sampled replay buffers and extending state space is proved.</p>
<p>First, to verify that effectiveness of extending state space, we changed the dimension of state space in different cases. Results are shown in <xref ref-type="fig" rid="F6">Figure&#xa0;6</xref>. The detection of original method is unstable during the training and reaches convergence after 3,000 episodes, the attack detection rate fluctuates at a low level (43%), and the detection rate is unstable with fluctuation.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Attack detection rate under different state spaces.</p>
</caption>
<graphic xlink:href="fenrg-10-1104989-g006.tif"/>
</fig>
<p>With the extended state space, the detection rate increases by at least 21%&#x2013;64%, and the fluctuation decreases significantly. Comparing the above cases, the detection rate reaches near 100% after convergence in cases that <italic>N</italic> &#x2265; 4, so in the rest of this paper <italic>N</italic> &#x3d; 4.</p>
<p>Second, to prove efficacy of the optimized method, we simulated the detections with optimized DQN-based method, original DQN-based method and empirical method.</p>
<p>The empirical threshold method uses a fixed threshold consturcted from experiences. In this paper the algorithm is: By <inline-formula id="inf67">
<mml:math id="m87">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">WLS</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, calculate <italic>&#x3c4;</italic>
<sub>1</sub> in no-attack cases and <italic>&#x3c4;</italic>
<sub>2</sub> in attacked cases, <italic>&#x3c4;</italic>
<sub>
<italic>attack</italic>
</sub> &#x3d; <italic>&#x3c4;</italic>
<sub>2</sub>&#x2212;<italic>&#x3c4;</italic>
<sub>1</sub>. So the detection rate is a fixed number and behaves as a horizontal line since the empirical threshold is hardly updated online in practice.</p>
<p>Results are shown in <xref ref-type="fig" rid="F7">Figure&#xa0;7</xref>. Each case is simulated in five parallel groups utilizing random seeds in <xref ref-type="table" rid="T4">Table&#xa0;4</xref>. Detection rates are averaged and the shadows denote the standard deviations between different groups.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Detection with optimized-DQN, original-DQN and empirical method against attacks. <bold>(A)</bold> Detection with EKF against Attack-1, <bold>(B)</bold> Detection with EKF against Attack-2, <bold>(C)</bold> Detection with EKF against Attack-3, <bold>(D)</bold> Detection with UKF against Attack-1, <bold>(E)</bold> Detection with UKF against Attack-2 and <bold>(F)</bold> Detection with UKF against Attack-3.</p>
</caption>
<graphic xlink:href="fenrg-10-1104989-g007.tif"/>
</fig>
<p>Comparing the performances in <xref ref-type="fig" rid="F7">Figure&#xa0;7</xref>, empirical method doesn&#x2019;t perform well in detection. Detection rate of empirical method is 61% and 80% against Attack-1 and Attack-2, and is only 30% against Attack-3. What&#x2019;s more, the method with original DQN performs well at certain episodes in <xref ref-type="fig" rid="F7">Figures&#xa0;7C,&#xa0;F</xref>, but the detection rate fluctuates substantially throughout the training in <xref ref-type="fig" rid="F7">Figures&#xa0;7A,&#xa0;D,&#xa0;E</xref>. The convergence of training with original DQN is difficult, too.</p>
<p>As for the optimized DQN-based method, cases with EKF converges around 8,000 episodes, and the converged detection rate is 98.42% against Attack-1, 99.70% against Attack-2, and 100% against Attack-3, with some fluctuation. Cases with UKF converges around 5,000 episodes, and the converged detection rate is 96.95% against Attack-1, 98.99% against Attack-2, and 100% against Attack-3 with little fluctuation. After convergence, fluctuation of detection rate has been restricted within 4%. In addition, the training process of EKF-based method is less stable than the UKF-based method.</p>
<p>In conclusion, detection rate is improved by at least 15.95% utilizing the optimized DQN-based method. Stability of the training is also improved fundamentally over the original DQN-based method, especially the UKF-based method.</p>
</sec>
<sec id="s6-4">
<title>6.4 Simulation in multiple cases</title>
<p>In this section, we compared three types of FDIAs in power systems in different networks to prove that the proposed method is effective for multiple scenarios. In addition, each case was repeated at least three times and results are averaged. Results are shown in <xref ref-type="fig" rid="F8">Figure&#xa0;8</xref> and <xref ref-type="table" rid="T5">Table&#xa0;5</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Attack detection rate while training against multiple attacks under multiple systems based on EKF or UKF. <bold>(A)</bold> Training against Attack-1 based on EKF, <bold>(B)</bold> Training against Attack-2 based on EKF, <bold>(C)</bold> Training against Attack-3 based on EKF, <bold>(D)</bold> Training against Attack-1 based on UKF, <bold>(E)</bold> Training against Attack-2 based on UKF, and <bold>(F)</bold> Training against Attack-3 based on UKF.</p>
</caption>
<graphic xlink:href="fenrg-10-1104989-g008.tif"/>
</fig>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Performance of detection in different systems against multiple attacks.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Type of attack</th>
<th align="center">Number of buses</th>
<th align="center">Detection rate (EKF)/%</th>
<th align="center">Detection rate (UKF)/%</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="4" align="left">&#xa0;Attack-1</td>
<td align="char" char=".">9</td>
<td align="char" char=".">99.46</td>
<td align="center">99.88</td>
</tr>
<tr>
<td align="char" char=".">14</td>
<td align="char" char=".">99.58</td>
<td align="center">99.72</td>
</tr>
<tr>
<td align="char" char=".">30</td>
<td align="char" char=".">100.00</td>
<td align="center">100.00</td>
</tr>
<tr>
<td align="char" char=".">57</td>
<td align="char" char=".">100.00</td>
<td align="center">&#x2216;</td>
</tr>
<tr>
<td rowspan="4" align="left">&#xa0;Attack-2</td>
<td align="char" char=".">9</td>
<td align="char" char=".">99.87</td>
<td align="center">100.00</td>
</tr>
<tr>
<td align="char" char=".">14</td>
<td align="char" char=".">99.00</td>
<td align="center">99.95</td>
</tr>
<tr>
<td align="char" char=".">30</td>
<td align="char" char=".">99.32</td>
<td align="center">100.00</td>
</tr>
<tr>
<td align="char" char=".">57</td>
<td align="char" char=".">100.00</td>
<td align="center">&#x2216;</td>
</tr>
<tr>
<td rowspan="4" align="left">&#xa0;Attack-3</td>
<td align="char" char=".">9</td>
<td align="char" char=".">99.46</td>
<td align="center">99.88</td>
</tr>
<tr>
<td align="char" char=".">14</td>
<td align="char" char=".">100.00</td>
<td align="center">100.00</td>
</tr>
<tr>
<td align="char" char=".">30</td>
<td align="char" char=".">100.00</td>
<td align="center">100.00</td>
</tr>
<tr>
<td align="char" char=".">57</td>
<td align="char" char=".">100.00</td>
<td align="center">&#x2216;</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In <xref ref-type="fig" rid="F8">Figure&#xa0;8</xref>, the training process converges after about 8,000 episodes against Attack-1 and 6,000 episodes against Attack-2. Meanwhile, the speed of convergence is faster in cases based on UKF, especially in the cases against Attack-3. At the final stages of training in above cases, the detection rates fluctuate by 2%. In addition, the convergence speed is slightly faster of a more complex network, since the accumulation of state deviation is faster.</p>
<p>First, in <xref ref-type="table" rid="T5">Table&#xa0;5</xref>, the detection performances are similar in different networks, since the detection mechanism only depends on the state estimation performance and is not affected by the network complexity. Second, detection rates in different cases are consistently close to 100% after convergence. Third, UKF-based method performs better in detection than EKF-based method. In summary, the method performs well under different attacks in multiple scenarios.</p>
</sec>
<sec id="s6-5">
<title>6.5 Simulation against hybrid attacks</title>
<p>To prove utility of the detection method, a hybrid attack model is constructed. In each episode, the type and start of attack is random and unknown. One of Attack-1, 2, 3 is randomly selected and conducted during the attack based on IEEE 14-bus network.</p>
<p>Rusult of training is shown in <xref ref-type="fig" rid="F9">Figure&#xa0;9</xref>. Detection rates are also averaged by results of five groups, and standard deviations are given by the shadows.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Attack detection rate against the hybrid attack.</p>
</caption>
<graphic xlink:href="fenrg-10-1104989-g009.tif"/>
</fig>
<p>After training, the detection rate of EKF-based method reaches 99.01%, and the UKF-based method reaches 99.71%. In <xref ref-type="fig" rid="F9">Figure&#xa0;9</xref>, since the attack is hybrid, the detection rate fluctuates at the early stage of training. Trainings converge more slowly compared to the cases against single attack. EKF-based method converges at about 5,500 episodes and UKF-based method converges at about 8,500 episodes.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s7">
<title>7 Conclusion</title>
<p>In this paper, a FDIA model with complete topology information and unlimited cost is introduced first. Attacks constructed under this model is verified to have the ability of bypassing the empirical bad data detection. FDIAs are classified by duration and intensity. Three types of attacks and their effects are performed. Then, a detection mechanism is proposed by combining static and dynamic state estimation. Second, the FIDA detection process was formulated as a MDP, and a DQN-based detection method is constructed. To address the problems while training and detection, optimizations were made to improve the efficacy. The DQN-based method is adaptive and has a non-deterministic threshold. Third, sufficient simulations were conducted, including a variety of cases, laying the foundation for studying multiple types of FDIAs. Simulation results prove that the detection rate against FDIA is improved by at least 15.95% over the empirical threshold method. The fluctuation of detection rate has been restricted within 4% during the final stage of training. Moreover, the highest detection rate reached 99.71% against the proposed hybrid attack.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s8">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s9">
<title>Author contributions</title>
<p>XL developed the methodology, performed the experiment, analyzed the data, and wrote the manuscript; DA contributed to the conception of the study and manuscript preparation; FC helped perform the analysis with constructive discussions. FZ contributed significantly to analysis and manuscript preparation.</p>
</sec>
<sec id="s10">
<title>Funding</title>
<p>This work was supported in part by the National Natural Science Foundation of China under Grant 62173268, Grant 61803295, Grant 61973247, and Grant 61673315; in part by the Major Research Plan of the National Natural Science Foundation of China under Grant 61833015; in part by the National Postdoctoral Innovative Talents Support Program of China under Grant BX20200272; in part the National Key Research and Development Program of China under Grant 2019YFB1704103; and in part by the China Postdoctoral Science Foundation under Grant 2018M643659.</p>
</sec>
<sec sec-type="COI-statement" id="s11">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s12">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alnowibet</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Annuk</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Dampage</surname>
<given-names>U.</given-names>
</name>
<name>
<surname>Mohamed</surname>
<given-names>M. A.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Effective energy management via false data detection scheme for the interconnected smart energy hub&#x2013;microgrid system under stochastic framework</article-title>. <source>Sustainability</source> <volume>13</volume>, <fpage>11836</fpage>. <pub-id pub-id-type="doi">10.3390/su132111836</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>An</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Defending against data integrity attacks in smart grid: A deep reinforcement learning-based approach</article-title>. <source>IEEE Access</source> <volume>7</volume>, <fpage>110835</fpage>&#x2013;<lpage>110845</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2019.2933020</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>An</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Data integrity attack in dynamic state estimation of smart grid: Attack model and countermeasures</article-title>. <source>IEEE Trans. Autom. Sci. Eng.</source> <volume>19</volume>, <fpage>1631</fpage>&#x2013;<lpage>1644</lpage>. <pub-id pub-id-type="doi">10.1109/TASE.2022.3149764</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>An</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Multivariate Gaussian-based false data detection against cyber-attacks</article-title>. <source>IEEE Access</source> <volume>7</volume>, <fpage>119804</fpage>&#x2013;<lpage>119812</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2019.2936816</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Annaswamy</surname>
<given-names>A. M.</given-names>
</name>
<name>
<surname>Amin</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Ieee vision for smart grid controls: 2030 and beyond</article-title>. <source>IEEE Vis. Smart Grid Controls 2030 Beyond</source>. <pub-id pub-id-type="doi">10.1109/IEEESTD.2013.6577608</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Arulkumaran</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Deisenroth</surname>
<given-names>M. P.</given-names>
</name>
<name>
<surname>Brundage</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Bharath</surname>
<given-names>A. A.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Deep reinforcement learning: A brief survey</article-title>. <source>IEEE Signal Process. Mag.</source> <volume>34</volume>, <fpage>26</fpage>&#x2013;<lpage>38</lpage>. <pub-id pub-id-type="doi">10.1109/MSP.2017.2743240</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ashok</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Govindarasu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ajjarapu</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Online detection of stealthy false data injection attacks in power system state estimation</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>9</volume>, <fpage>1</fpage>&#x2013;<lpage>1646</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2016.2596298</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Baxter</surname>
<given-names>L. A.</given-names>
</name>
</person-group> (<year>1995</year>). <article-title>Markov decision processes: Discrete stochastic dynamic programming</article-title>. <source>Technometrics</source> <volume>37</volume>, <fpage>353</fpage>. <pub-id pub-id-type="doi">10.1080/00401706.1995.10484354</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Quickest attack detection in smart grid based on sequential Monte Carlo filtering</article-title>. <source>IET Smart Grid</source> <volume>3</volume>, <fpage>686</fpage>&#x2013;<lpage>696</lpage>. <pub-id pub-id-type="doi">10.1049/iet-stg.2019.0320</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Debs</surname>
<given-names>A. S.</given-names>
</name>
<name>
<surname>Larson</surname>
<given-names>R. E.</given-names>
</name>
</person-group> (<year>1970</year>). <article-title>A dynamic estimator for tracking the state of a power system</article-title>. <source>IEEE Trans. Power Apparatus Syst.</source> <volume>89</volume>, <fpage>1670</fpage>&#x2013;<lpage>1678</lpage>. <pub-id pub-id-type="doi">10.1109/TPAS.1970.292822</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Haque</surname>
<given-names>N. I.</given-names>
</name>
<name>
<surname>Shahriar</surname>
<given-names>M. H.</given-names>
</name>
<name>
<surname>Dastgir</surname>
<given-names>M. G.</given-names>
</name>
<name>
<surname>Debnath</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Parvez</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Sarwat</surname>
<given-names>A.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). &#x201c;<article-title>A survey of machine learning-based cyber-physical attack generation, detection, and mitigation in smart-grid</article-title>,&#x201d; in <conf-name>2020 52nd North American Power Symposium (NAPS)</conf-name>. <pub-id pub-id-type="doi">10.1109/NAPS50074.2021.9449635</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Mendis</surname>
<given-names>G. J.</given-names>
</name>
<name>
<surname>Wei</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Real-time detection of false data injection attacks in smart grid: A deep learning-based intelligent mechanism</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>8</volume>, <fpage>2505</fpage>&#x2013;<lpage>2516</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2017.2703842</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Learning-based cooperative false data injection attack and its mitigation techniques in consensus-based distributed estimation</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>166852</fpage>&#x2013;<lpage>166869</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2020.3023117</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Julier</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Uhlmann</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>Unscented filtering and nonlinear estimation</article-title>. <source>Proc. IEEE</source> <volume>92</volume>, <fpage>401</fpage>&#x2013;<lpage>422</lpage>. <pub-id pub-id-type="doi">10.1109/JPROC.2003.823141</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Katiraei</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Iravani</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Power management strategies for a microgrid with multiple distributed generation units</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>21</volume>, <fpage>1821</fpage>&#x2013;<lpage>1831</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2006.879260</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kurt</surname>
<given-names>M. N.</given-names>
</name>
<name>
<surname>Ogundijo</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Online cyber-attack detection in smart grid: A reinforcement learning approach</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>10</volume>, <fpage>5174</fpage>&#x2013;<lpage>5185</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2018.2878570</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Lei</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Chang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Optimized configuration scheme of harmonic measuring device considering practical situations of grid nodes and monitoring device</article-title>,&#x201d; in <conf-name>2020 IEEE 4th Conference on Energy Internet and Energy System Integration (EI2)</conf-name>. <pub-id pub-id-type="doi">10.1109/EI250167.2020.9346993</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Ji</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Dai</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Kalman filter and its application</article-title>,&#x201d; in <conf-name>2015 8th International Conference on Intelligent Networks and Intelligent Systems (ICINIS)</conf-name>, <fpage>74</fpage>&#x2013;<lpage>77</lpage>. <pub-id pub-id-type="doi">10.1109/ICINIS.2015.35</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Optimal node attack on causality analysis in cyber-physical systems: A data-driven approach</article-title>. <source>IEEE Access</source> <volume>7</volume>, <fpage>16066</fpage>&#x2013;<lpage>16077</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2019.2891772</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>False data injection attacks with incomplete network topology information in smart grid</article-title>. <source>IEEE Access</source> <volume>7</volume>, <fpage>3656</fpage>&#x2013;<lpage>3664</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2018.2888582</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Weller</surname>
<given-names>S. R.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>Z. Y.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A review of false data injection attacks against modern power systems</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>8</volume>, <fpage>1630</fpage>&#x2013;<lpage>1638</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2015.2495133</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Ospina</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Konstantinou</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Deep reinforcement learning for cybersecurity assessment of wind integrated power systems</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>208378</fpage>&#x2013;<lpage>208394</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2020.3038769</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Reiter</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ning</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>False data injection attacks against state estimation in electric power grids</article-title>. <source>ACM Trans. Inf. Syst. Secur.</source> <volume>14</volume>, <fpage>21</fpage>&#x2013;<lpage>33</lpage>. <pub-id pub-id-type="doi">10.1145/1952982.1952995</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>Reinforcement learning based vulnerability analysis of data injection attack for smart grids</article-title>,&#x201d; in <conf-name>2021 40th Chinese Control Conference (CCC)</conf-name>, <fpage>6788</fpage>&#x2013;<lpage>6792</lpage>. <pub-id pub-id-type="doi">10.23919/CCC52363.2021.9550523</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luong</surname>
<given-names>N. C.</given-names>
</name>
<name>
<surname>Hoang</surname>
<given-names>D. T.</given-names>
</name>
<name>
<surname>Gong</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Niyato</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>Y. C.</given-names>
</name>
<etal/>
</person-group> (<year>2019</year>). <article-title>Applications of deep reinforcement learning in communications and networking a survey</article-title>. <source>IEEE Commun. Surv. Tutorials</source> <volume>21</volume>, <fpage>3133</fpage>&#x2013;<lpage>3174</lpage>. <pub-id pub-id-type="doi">10.1109/COMST.2019.2916583</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Merrill</surname>
<given-names>H. M.</given-names>
</name>
<name>
<surname>Schweppe</surname>
<given-names>F. C.</given-names>
</name>
</person-group> (<year>1971</year>). <article-title>Bad data suppression in power system static state estimation</article-title>. <source>IEEE Trans. Power Apparatus Syst.</source> <volume>90</volume>, <fpage>2718</fpage>&#x2013;<lpage>2725</lpage>. <pub-id pub-id-type="doi">10.1109/TPAS.1971.292925</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mnih</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Kavukcuoglu</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Silver</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Graves</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Antonoglou</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Wierstra</surname>
<given-names>D.</given-names>
</name>
<etal/>
</person-group> (<year>2013</year>). <article-title>Playing atari with deep reinforcement learning</article-title>. <source>CoRR</source> <volume>1312</volume>, <fpage>5602</fpage>.</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mnih</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Kavukcuoglu</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Silver</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Rusu</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Veness</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Bellemare</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2015</year>). <article-title>Human-level control through deep reinforcement learning</article-title>. <source>Nature</source> <volume>518</volume>, <fpage>529</fpage>&#x2013;<lpage>533</lpage>. <pub-id pub-id-type="doi">10.1038/nature14236</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mohamed</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Hajjiah</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Alnowibet</surname>
<given-names>K. A.</given-names>
</name>
<name>
<surname>Alrasheedi</surname>
<given-names>A. F.</given-names>
</name>
<name>
<surname>Awwad</surname>
<given-names>E. M.</given-names>
</name>
<name>
<surname>Muyeen</surname>
<given-names>S. M.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A secured advanced management architecture in peer-to-peer energy trading for multi-microgrid in the stochastic environment</article-title>. <source>IEEE Access</source> <volume>9</volume>, <fpage>92083</fpage>&#x2013;<lpage>92100</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2021.3092834</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Oozeer</surname>
<given-names>M. I.</given-names>
</name>
<name>
<surname>Haykin</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Cognitive dynamic system for control and cyber-attack detection in smart grid</article-title>. <source>IEEE Access</source> <volume>7</volume>, <fpage>78320</fpage>&#x2013;<lpage>78335</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2019.2922410</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pang</surname>
<given-names>Z.-H.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>G.-P.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Hou</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Two-channel false data injection attacks against output tracking control of networked systems</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>63</volume>, <fpage>3242</fpage>&#x2013;<lpage>3251</lpage>. <pub-id pub-id-type="doi">10.1109/TIE.2016.2535119</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pasqualetti</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>D&#xf6;rfler</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Bullo</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Attack detection and identification in cyber-physical systems</article-title>. <source>IEEE Trans. Autom. Contr.</source> <volume>58</volume>, <fpage>2715</fpage>&#x2013;<lpage>2729</lpage>. <pub-id pub-id-type="doi">10.1109/TAC.2013.2266831</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Schweppe</surname>
<given-names>F. C.</given-names>
</name>
<name>
<surname>Rom</surname>
<given-names>D. B.</given-names>
</name>
</person-group> (<year>1970</year>). <article-title>Power system static-state estimation, part ii: Approximate model</article-title>. <source>IEEE Trans. Power Apparatus Syst.</source> <volume>89</volume>, <fpage>125</fpage>&#x2013;<lpage>130</lpage>. <pub-id pub-id-type="doi">10.1109/TPAS.1970.292679</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Schweppe</surname>
<given-names>F. C.</given-names>
</name>
<name>
<surname>Wildes</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1970</year>). <article-title>Power system static-state estimation, part i: Exact model</article-title>. <source>IEEE Trans. Power Apparatus Syst.</source> <volume>89</volume>, <fpage>120</fpage>&#x2013;<lpage>125</lpage>. <pub-id pub-id-type="doi">10.1109/TPAS.1970.292678</pub-id>
</citation>
</ref>
<ref id="B35">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Sinha</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Thukkaraju</surname>
<given-names>A. R.</given-names>
</name>
<name>
<surname>Vyas</surname>
<given-names>O. P.</given-names>
</name>
</person-group> (<year>2022</year>). &#x201c;<article-title>A multi agent framework to detect in progress false data injection attacks for smart grid</article-title>,&#x201d; in <source>Advanced network technologies and intelligent computing</source>. Editors <person-group person-group-type="editor">
<name>
<surname>Woungang</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Dhurandher</surname>
<given-names>S. K.</given-names>
</name>
<name>
<surname>Pattanaik</surname>
<given-names>K. K.</given-names>
</name>
<name>
<surname>Verma</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Verma</surname>
<given-names>P.</given-names>
</name>
</person-group> (<publisher-loc>Cham</publisher-loc>: <publisher-name>Springer International Publishing</publisher-name>), <fpage>123</fpage>&#x2013;<lpage>141</lpage>.</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sutton</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Barto</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Reinforcement learning: An introduction</article-title>. <source>IEEE Trans. Neural Netw.</source> <volume>9</volume>, <fpage>1054</fpage>. <pub-id pub-id-type="doi">10.1109/TNN.1998.712192</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tsobdjou</surname>
<given-names>L. D.</given-names>
</name>
<name>
<surname>Pierre</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Quintero</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>An online entropy-based ddos flooding attack detection system with dynamic threshold</article-title>. <source>IEEE Trans. Netw. Serv. Manage.</source> <volume>19</volume>, <fpage>1679</fpage>&#x2013;<lpage>1689</lpage>. <pub-id pub-id-type="doi">10.1109/TNSM.2022.3142254</pub-id>
</citation>
</ref>
<ref id="B38">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Wan</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Van Der Merwe</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2000</year>). &#x201c;<article-title>The unscented kalman filter for nonlinear estimation</article-title>,&#x201d; in <conf-name>Proceedings of the IEEE 2000 Adaptive Systems for Signal Processing, Communications, and Control Symposium</conf-name>, <fpage>153</fpage>&#x2013;<lpage>158</lpage>. <pub-id pub-id-type="doi">10.1109/ASSPCC.2000.882463</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Xia</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Power system security under false data injection attacks with exploitation and exploration based on reinforcement learning</article-title>. <source>IEEE Access</source> <volume>6</volume>, <fpage>48785</fpage>&#x2013;<lpage>48796</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2018.2856520</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wan</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Coordinated topology attacks in smart grid using deep reinforcement learning</article-title>. <source>IEEE Trans. Ind. Inf.</source> <volume>17</volume>, <fpage>1407</fpage>&#x2013;<lpage>1415</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2020.2994977</pub-id>
</citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wei</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Sarwat</surname>
<given-names>A. I.</given-names>
</name>
<name>
<surname>Saad</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Biswas</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Stochastic games for power grid protection against coordinated cyber-physical attacks</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>9</volume>, <fpage>684</fpage>&#x2013;<lpage>694</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2016.2561266</pub-id>
</citation>
</ref>
<ref id="B42">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). &#x201c;<article-title>Reinforcement learning based multistage optimal pmu placement against data integrity attacks in smart grid</article-title>,&#x201d; in <conf-name>2021 4th IEEE International Conference on Industrial Cyber-Physical Systems (ICPS)</conf-name>. <pub-id pub-id-type="doi">10.1109/ICPS49255.2021.9468170</pub-id>
</citation>
</ref>
<ref id="B43">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z.-G.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>A reinforcement learning-based detection method for false data injection attack in distributed smart grid</article-title>,&#x201d; in <conf-name>2021 8th International Conference on Information, Cybernetics, and Computational Social Systems (ICCSS)</conf-name>, <fpage>38</fpage>&#x2013;<lpage>43</lpage>. <pub-id pub-id-type="doi">10.1109/ICCSS53909.2021.9722027</pub-id>
</citation>
</ref>
<ref id="B44">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zheng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Hill</surname>
<given-names>D. J.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Hui</surname>
<given-names>S. Y. R.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Optimal electric spring allocation for risk-limiting voltage regulation in distribution systems</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>35</volume>, <fpage>273</fpage>&#x2013;<lpage>283</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2019.2933240</pub-id>
</citation>
</ref>
<ref id="B45">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>H. J.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Fast local voltage control under limited reactive power: Optimality and stability analysis</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>31</volume>, <fpage>3794</fpage>&#x2013;<lpage>3803</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2015.2504419</pub-id>
</citation>
</ref>
<ref id="B46">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zimmerman</surname>
<given-names>R. D.</given-names>
</name>
<name>
<surname>Murillo-S&#xe1;nchez</surname>
<given-names>C. E.</given-names>
</name>
<name>
<surname>Thomas</surname>
<given-names>R. J.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Matpower: Steady-state operations, planning, and analysis tools for power systems research and education</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>26</volume>, <fpage>12</fpage>&#x2013;<lpage>19</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2010.2051168</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>