<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">74277</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2025.074277</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Detecting and Mitigating Cyberattacks on Load Frequency Control with Battery Energy Storage System</article-title>
<alt-title alt-title-type="left-running-head">Detecting and Mitigating Cyberattacks on Load Frequency Control with Battery Energy Storage System</alt-title>
<alt-title alt-title-type="right-running-head">Detecting and Mitigating Cyberattacks on Load Frequency Control with Battery Energy Storage System</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Yu</surname><given-names>Yunhao</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Luo</surname><given-names>Fuhua</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-3" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Zhang</surname><given-names>Zhenyong</given-names></name><xref ref-type="aff" rid="aff-2">2</xref><xref rid="cor1" ref-type="corresp">&#x002A;</xref><email>zyzhangnew@gmail.com</email></contrib>
<aff id="aff-1"><label>1</label><institution>Electric Power Dispatching and Control Center, Guizhou Power Grid Co., Ltd.</institution>, <addr-line>Guiyang, 550002</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>State Key Laboratory of Public Big Data, College of Computer Science and Technology, Guizhou University</institution>, <addr-line>Guiyang, 550025</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Zhenyong Zhang. Email: <email>zyzhangnew@gmail.com</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2026</year>
</pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>10</day><month>2</month><year>2026</year>
</pub-date>
<volume>87</volume>
<issue>1</issue>
<elocation-id>50</elocation-id>
<history>
<date date-type="received">
<day>07</day>
<month>10</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>26</day>
<month>11</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2026 The Authors.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>Published by Tech Science Press.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_74277.pdf"></self-uri>
<abstract>
<p>This paper investigates the detection and mitigation of coordinated cyberattacks on Load Frequency Control (LFC) systems integrated with Battery Energy Storage Systems (BESS). As renewable energy sources gain greater penetration, power grids are becoming increasingly vulnerable to cyber threats, potentially leading to frequency instability and widespread disruptions. We model two significant attack vectors: load-altering attacks (LAAs) and false data injection attacks (FDIAs) that corrupt frequency measurements. These are analyzed for their impact on grid frequency stability in both linear and nonlinear LFC models, incorporating generation rate constraints and nonlinear loads. A coordinated attack strategy is presented, combining LAAs and FDIAs to achieve stealthiness by concealing frequency deviations from system operators, thereby maximizing disruption while evading traditional detection. To counteract these threats, we propose an Unknown Input Observer (UIO)-based detection framework for linear and nonlinear LFCs. The UIO is designed using linear matrix inequalities (LMIs) to estimate system states while isolating unknown attack inputs, enabling attack detection through monitoring measurement residuals against a predefined threshold. For mitigation, we leverage BESS capabilities with two adaptive strategies: dynamic mitigation for dynamic LAAs, which tunes BESS parameters to enhance the system&#x2019;s stability margin and accelerate convergence to equilibrium; and static mitigation for static LAAs and FDIAs. Simulations show that the UIO achieves high detection accuracy, with residuals exceeding thresholds promptly under coordinated attacks, even in nonlinear models. Mitigation strategies reduce frequency deviations by up to 80% compared to unmitigated cases, restoring stability within seconds.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Load frequency control</kwd>
<kwd>cybersecurity</kwd>
<kwd>unknown input observer</kwd>
<kwd>battery energy storage system</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>Natural Science Foundation of China</funding-source>
<award-id>62303126</award-id>
</award-group>
<award-group id="awg2">
<funding-source>Major Scientific and Technological Special Project of Guizhou Province</funding-source>
<award-id>[2024]014</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>The reliable operation of modern power grids is critically dependent on Load Frequency Control (LFC) systems, which maintain the balance between power generation and demand, thereby ensuring stable grid frequency [<xref ref-type="bibr" rid="ref-1">1</xref>]. However, the increasing complexity and interconnectivity of power systems, particularly with the growing integration of renewable energy sources and advanced communication infrastructures, have exposed them to new vulnerabilities, including cyberattacks [<xref ref-type="bibr" rid="ref-2">2</xref>]. These cyber threats pose significant risks to grid stability, potentially leading to widespread blackouts and economic disruption.</p>
<p>Cyberattacks on LFC systems can manifest in various forms, such as false data injection (FDI) into sensor measurements or control commands [<xref ref-type="bibr" rid="ref-3">3</xref>,<xref ref-type="bibr" rid="ref-4">4</xref>], and load-altering attacks (LAA) [<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-6">6</xref>] that manipulate demand-side parameters. These attacks can deceive control systems, leading to incorrect control actions, frequency excursions, and ultimately, system instability. The challenge lies not only in detecting such sophisticated attacks but also in mitigating their impact effectively and rapidly to maintain grid resilience. FDI attacks have been widely studied as a means to manipulate sensor measurements or control signals in LFC, leading to frequency deviations [<xref ref-type="bibr" rid="ref-7">7</xref>]. For instance, optimal FDIA schemes against automatic generation control (AGC) in LFC have been analyzed to disrupt frequency regulation [<xref ref-type="bibr" rid="ref-8">8</xref>]. Load-altering attacks (LAAs), including dynamic and static variants, have also been investigated for their ability to create generation-load imbalances [<xref ref-type="bibr" rid="ref-9">9</xref>].</p>
<p>Detection techniques often leverage observers or data-driven approaches. Unknown input observers (UIOs) have proven effective for detecting cyberattacks in large-scale power systems by estimating states while isolating unknown disturbances [<xref ref-type="bibr" rid="ref-10">10</xref>]. Specifically for LFC, UIOs have been applied to detect attacks on tie-line power in multi-area systems and to enable secure state estimation under sparse sensor attacks [<xref ref-type="bibr" rid="ref-11">11</xref>]. Sliding mode observers and Kalman filters combined with UIOs have been proposed for robust detection in power grids [<xref ref-type="bibr" rid="ref-12">12</xref>,<xref ref-type="bibr" rid="ref-13">13</xref>]. Data-driven methods, including deep reinforcement learning for attack detection in LFC and machine learning for hybrid cyberattacks in power grids, offer alternatives to model-based approaches [<xref ref-type="bibr" rid="ref-14">14</xref>,<xref ref-type="bibr" rid="ref-15">15</xref>].</p>
<p>Mitigation strategies frequently incorporate energy storage systems. Battery Energy Storage Systems (BESS) have been utilized for frequency control in renewable grids under cyberattacks [<xref ref-type="bibr" rid="ref-16">16</xref>]. Defense mechanisms against LAAs in LFC include tolerant control strategies that adjust system parameters to maintain stability [<xref ref-type="bibr" rid="ref-17">17</xref>]. Reviews highlight the implementation, detection, and mitigation of cyberattacks, emphasizing the role of BESS in enhancing resilience [<xref ref-type="bibr" rid="ref-18">18</xref>].</p>
<p>While prior work has advanced UIO-based detection for FDIAs or LAAs individually, few address coordinated scenarios in which dynamic load-altering attacks (DLAAs), static load-altering attacks (SLAAs), and FDIAs are combined to achieve stealth by concealing frequency deviations. Existing UIO applications in LFC are often limited to linear models and multi-area tie-line attacks, whereas data-driven methods may require extensive training data and lack interpretability for real-time operation. Mitigation via BESS in previous studies focuses on general frequency regulation under hybrid attacks. Still, it does not explicitly tune BESS parameters or inject power adaptively for coordinated attack recovery, nor does it extend to nonlinear LFC models incorporating generation rate constraints or nonlinear loads. In contrast, this paper integrates UIO detection with BESS mitigation in a unified framework, addressing stealthy coordinated attacks and nonlinearities to improve robustness [<xref ref-type="bibr" rid="ref-19">19</xref>].</p>
<p>This paper addresses the critical issue of detecting and mitigating coordinated cyberattacks on LFC systems augmented with BESS. Our key contributions are as follows: (1) We model a stealthy coordinated attack scenario combining DLAAs, SLAAs, and FDIAs, designed to maximize disruption while evading detection by concealing frequency deviations; (2) We propose a UIO-based approach for attack detection, extended to both linear and nonlinear LFC models, enabling state estimation and residual monitoring even in the presence of unknown attack signals; (3) We develop BESS-enabled mitigation strategies, including dynamic tuning of BESS parameters for DLAAs and static power injection for SLAAs and FDIAs, to rapidly restore frequency stability; (4) Through simulations on real load data, we validate the UIO&#x2019;s detection accuracy and the BESS&#x2019;s mitigation efficacy, demonstrating enhanced resilience against sophisticated cyber threats in LFC systems.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Load Frequency Control with the Battery Energy Storage System</title>
<p>Here, we introduce the load frequency control (LFC) with the battery energy storage system (BESS). The function of the LFC is to balance the power load and generation, thereby maintaining the grid frequency at its nominal value (e.g., 50 or 60 Hz). The BESS is a quick-acting module that compensates for the generator&#x2019;s response to frequency variations. It detects frequency deviation and rapidly injects power into the grid (in the event of a shortage) or absorbs power (in the event of an excess) to counteract the imbalance. BESS has the potential to address the stability issues caused by increasing penetration of renewable energy sources. In this paper, the BESS is integrated into the system to provide primary frequency control reserves. As shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, the primary and the secondary control are given with respect to the frequency deviation. For more details, the formal descriptions are given as follows. The primary control with BESS is
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mi>O</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> is the rate of the frequency deviation, <italic>D</italic> is the damping ratio of the generation system, <italic>R</italic> is the power system inertia, <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> is the frequency deviation, <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:math></inline-formula> is the output deviation of the mechanical power, <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> is the output deviation of the battery energy, <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>L</mml:mi></mml:msub></mml:math></inline-formula> is the deviation of the power load, <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> are the power system and BESS time constants, respectively, <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mi>O</mml:mi></mml:msub></mml:math></inline-formula> is the reference of the frequency deviation, which is determined by the secondary frequency control, and <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msub><mml:mi>H</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> are the droop gains of the generator and BESS, respectively. The secondary frequency control is designed in a proportional form, that is, <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mi>O</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>,</mml:mo></mml:math></inline-formula> where <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub></mml:math></inline-formula> is the proportional factor for generating the frequency reference.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>The diagram of the LFC with BESS</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-1.tif"/>
</fig>
<p>To be concise, we rewrite system model in state-space form. By letting <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mi>T</mml:mi></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mi>O</mml:mi></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula>, we have
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>B</mml:mi><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mi>C</mml:mi><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mi>D</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mi>B</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>. Then, we have <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow></mml:math></inline-formula>. It indicates that the secondary control has an output feedback controller. The frequency deviation is controlled to 0 with load variation.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Coordinated Attack on the LFC</title>
<p>However, because it relies on information and communication infrastructure, load frequency control is vulnerable to cyberattacks. Since the load is on the user&#x2019;s side, the load measurement can be manipulated, allowing the actual load to be maliciously altered. The secondary control requires communication between the field site and the control center, creating opportunities for attackers to corrupt measurements and control commands. The attack scenarios are given in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>The attack on the LFC with BESS</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-2.tif"/>
</fig>
<sec id="s3_1">
<label>3.1</label>
<title>Load Altering Attack</title>
<p>First, for the load, suppose it can be modelled with the frequency-sensitive and static loads, that is, <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo></mml:math></inline-formula> where <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mi>&#x03B2;</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:math></inline-formula> is the static load. Therefore, there are two types of load-altering attacks: dynamic load-altering attacks (DLAAs) and static load-altering attacks (SLAAs). The DLAA is modeled as
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mrow><mml:mover><mml:mi>P</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>L</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi>a</mml:mi><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>+</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>a</mml:mi></mml:math></inline-formula> is the attack coefficient for the frequency-sensitive load. The SLAA is modeled as
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:math></inline-formula> is the maliciously injected frequency-insensitive load. The joint attack of DLAA and SLAA is modeled as
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>+</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2217;</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The load-altering attack can cause a generation-load imbalance, leading to frequency variation and potentially an unstable system.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>False Data Injection Attack</title>
<p>Second, the frequency measurement can be compromised in the communication network. That is, the false data injection attack (FDIA) is executed by injecting an error into the frequency deviation. The FDIA can be modeled as
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mi>a</mml:mi></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msup><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mi>a</mml:mi></mml:msup></mml:math></inline-formula> is error injected by the FDIA. Due to the output feedback control, the FDIA can affect the frequency stability.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Coordinated Attack</title>
<p>In some cases, the attacker is powerful and can carry out a coordinated attack. For example, the attack on the Ukrainian power grid in 2015 was a typical coordinated attack, executing cyberattacks in a perfectly organized manner at specific locations to maximize the impact on the system&#x2019;s operation [<xref ref-type="bibr" rid="ref-20">20</xref>]. In our scenario, the load-altering attack and FDIA can be coordinated to make the attack stealthy. The coordinated attack can be modeled as
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mi>D</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>+</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mi>a</mml:mi></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Furthermore, we can derive that
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>D</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>+</mml:mo><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:msup><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mi>a</mml:mi></mml:msup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The stealthiness of the coordinated attack is achieved by using <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msup><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mi>a</mml:mi></mml:msup></mml:math></inline-formula> to conceal the frequency deviation. From the system operator&#x2019;s angle, the frequency deviation is always at zero or a controlled level.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Attack Detection with the Unknown Input Observer</title>
<p>The attacks introduced in <xref ref-type="sec" rid="s3">Section 3</xref> pose a serious threat to the system&#x2019;s normal operation. The unexpected distortions cause the LFC to fail to maintain generation-load balance, leading to frequency excursions and potentially destabilizing the grid. Therefore, it is crucial to identify and capture this abnormal behavior. Considering the attacks as unknown inputs, we aim to design an unknown-input observer (UIO) to detect them. The system model with the unknown attack is given as
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>B</mml:mi><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>E</mml:mi><mml:mrow><mml:mtext mathvariant="bold">v</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mi>C</mml:mi><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Since the power load changes with a lot of uncertainties, the <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> as a whole is treated as an unknown term. The input <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow></mml:math></inline-formula> is given as <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mi>O</mml:mi></mml:msub></mml:math></inline-formula> and the matric <italic>B</italic> is <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mi>B</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>. The matrix <italic>E</italic> is <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>. The load-altering attack and the FDIA on the frequency deviation are treated as the unknown term.</p>
<p>Considering a full-order UIO [<xref ref-type="bibr" rid="ref-21">21</xref>], the observer proposed for detecting attacks is given by the following structure. That is, we have
<disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">z</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mtext mathvariant="bold">z</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>W</mml:mi><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>Q</mml:mi><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">z</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>S</mml:mi><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mrow><mml:mtext mathvariant="bold">z</mml:mtext></mml:mrow></mml:math></inline-formula> is the UIO state vector, <italic>N</italic>, <italic>W</italic>, and <italic>Q</italic> are matrices that should be carefully designed to estimate the state, i.e., <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>, ignoring the unknown inputs. These four matrices are defined as
<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>V</mml:mi><mml:mi>C</mml:mi><mml:mo>,</mml:mo><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mi>X</mml:mi><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:mi>X</mml:mi><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mo>,</mml:mo><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <italic>S</italic> and <italic>V</italic> should be designed for the UIO. With the UIO, the state estimation error is
<disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mi>z</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>S</mml:mi><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mi>z</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mi>z</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Taking the derivative of the estimation error, we have
<disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>N</mml:mi><mml:mi>X</mml:mi><mml:mo>+</mml:mo><mml:mi>Q</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>W</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>B</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>E</mml:mi><mml:mrow><mml:mtext mathvariant="bold">v</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Therefore, we can obtain that
<disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>W</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>B</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mi>X</mml:mi><mml:mo>+</mml:mo><mml:mi>Q</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:mn>0.</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The latter can be derived as
<disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>N</mml:mi><mml:mi>X</mml:mi><mml:mo>+</mml:mo><mml:mi>Q</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi><mml:mi>X</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mi>X</mml:mi><mml:mo>+</mml:mo><mml:mi>V</mml:mi><mml:mi>C</mml:mi><mml:mo>+</mml:mo><mml:mi>V</mml:mi><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi><mml:mi>X</mml:mi><mml:mo>+</mml:mo><mml:mi>V</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>N</mml:mi><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mo>+</mml:mo><mml:mi>N</mml:mi><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mo>+</mml:mo><mml:mi>V</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>N</mml:mi><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Next, a sufficient condition is provided to prove the existence of the UIO.</p>
<p><bold>Lemma 1.</bold> <italic>There exists a UIO for the unknown input system <xref ref-type="disp-formula" rid="eqn-10">(10)</xref> if there exist S and V and a positive definite symmetric matrix <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>P</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> such that <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>E</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.</mml:mn></mml:math></inline-formula></italic></p>
<p><bold>Proof:</bold> Based on the above derivations, we have <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>E</mml:mi><mml:mrow><mml:mtext mathvariant="bold">v</mml:mtext></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> Since <italic>SCE</italic> &#x003D; &#x2212;<italic>E</italic>, we can derive that <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>X</mml:mi><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mn>0.</mml:mn></mml:math></inline-formula> Therefore, we have <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> According to the Lyapunov stability theory [<xref ref-type="bibr" rid="ref-22">22</xref>], if there exists a positive definite symmetric matrix <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>P</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> such that <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>, the estimation error <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow></mml:math></inline-formula> goes to 0 asymptotically for any initial value of <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow></mml:math></inline-formula>. <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mi>&#x25FB;</mml:mi></mml:math></inline-formula></p>
<p>Therefore, with the conditions given in Lemma <xref ref-type="disp-formula" rid="eqn-1">(1)</xref>, the UIO accurately estimates the system state without knowing the input <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mrow><mml:mtext mathvariant="bold">v</mml:mtext></mml:mrow></mml:math></inline-formula>. Next, we need to solve for the matrices <italic>S</italic> and <italic>V</italic> to design the UIO. As for <italic>S</italic>, since the matrix <italic>E</italic> is of full column rank, the equation <italic>SCE</italic> &#x003D; &#x2212;<italic>E</italic> can be solved only if the matrix <italic>SC</italic> is also of full column rank. Suppose the matrix <italic>SC</italic> is of full column rank, then the matrix <italic>E</italic> is obtained by
<disp-formula id="eqn-17"><label>(17)</label><mml:math id="mml-eqn-17" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>+</mml:mo></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mi>Y</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>+</mml:mo></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mi>T</mml:mi></mml:msup></mml:math></inline-formula> and <italic>Y</italic> is an arbitrarily matrix. To be concise, we have <italic>S</italic> &#x003D; <italic>U</italic> &#x002B; <italic>Y Z</italic>, where <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mi>U</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mi>Z</mml:mi><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo></mml:msup></mml:math></inline-formula>. Furthermore, we have
<disp-formula id="eqn-18"><label>(18)</label><mml:math id="mml-eqn-18" display="block"><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>A</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:msup><mml:mi>Y</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>C</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:msup><mml:mi>V</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>A</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>Y</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>P</mml:mi><mml:mi>V</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.</mml:mn></mml:math></disp-formula></p>
<p>Therefore, solving the <italic>S</italic>, <italic>V</italic>, and <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mi>P</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> is equivalent to the problem of solving the inequality <xref ref-type="disp-formula" rid="eqn-18">(18)</xref> with respect to <italic>Y</italic>, <italic>V</italic>, and <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>P</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. This matrix inequality can be formulated as an LMI. The LMI is usually given by <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>J</mml:mi></mml:mtd><mml:mtd><mml:mo>&#x2217;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2217;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mi>I</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>, where <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>A</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>A</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:msup><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>C</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:msup><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mi>C</mml:mi></mml:math></inline-formula>, &#x2217; means a zero matrix. Solving the LMI is equivalent to solve the matrix inequality <xref ref-type="disp-formula" rid="eqn-18">(18)</xref> by making <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>Y</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>P</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mi>V</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>P</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>.</p>
<p>Above all, the algorithm for designing the UIO is given in Algorithm 1. With the designed UIO, the attacks are detected by monitoring the measurement residual <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mrow><mml:mtext mathvariant="bold">r</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>C</mml:mi><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>. If the norm of the residual <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">r</mml:mtext></mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo></mml:math></inline-formula> is larger than a predefined threshold, then the attack is detected.</p>
<fig id="fig-11">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-11.tif"/>
</fig>
<p><bold>Discussion.</bold> In our paper, the LMIs are solved offline during the UIO design phase to determine fixed matrices such as <italic>S</italic>, <italic>V</italic>, and <italic>P</italic>, which are then used to compute the observer gains <italic>N</italic>, <italic>W</italic>, and <italic>Q</italic>. Once designed, the real-time operation of the UIO involves only simple matrix-vector multiplications on a low-dimensional system (3 states for our single-area LFC model), which is computationally lightweight and executes in microseconds on standard hardware, well within LFC sampling intervals. For the offline LMI solving, modern solvers like MATLAB&#x2019;s LMI Toolbox or CVX handle small-scale problems (e.g., 3 &#x00D7; 3 matrices) efficiently, often in under 10 milliseconds on a standard CPU, as polynomial-time algorithms (e.g., interior-point methods) scale well for such dimensions. For context, larger LMIs in power system applications (e.g., with thousands of variables) have been reported to solve in minutes, but our case is negligible.</p>
</sec>
<sec id="s5">
<label>5</label>
<title>Mitigation of the Attacks with BESS</title>
<p>Once the attack is detected, mitigation measures should be implemented to reduce its impact. Here, the BESS is used to counteract the cyberattacks. There are two strategies to defend against the load-altering attacks and FDIA.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Dynamic Mitigation</title>
<p>Considering the DLAA only, from <xref ref-type="disp-formula" rid="eqn-9">(9)</xref>, we have
<disp-formula id="eqn-20"><label>(20)</label><mml:math id="mml-eqn-20" display="block"><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>D</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>+</mml:mo><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Concisely, we can rewrite <xref ref-type="disp-formula" rid="eqn-20">(20)</xref> as
<disp-formula id="eqn-21"><label>(21)</label><mml:math id="mml-eqn-21" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mover><mml:mi>B</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The system modes of <xref ref-type="disp-formula" rid="eqn-21">(21)</xref> depend on the matrix <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mrow><mml:mover><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>. The eigenvalues of <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mrow><mml:mover><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> determine the stability margin of the system <xref ref-type="disp-formula" rid="eqn-21">(21)</xref>. The DLAA with the parameter <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mi>a</mml:mi></mml:math></inline-formula> changes the eigenvalues of <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mrow><mml:mover><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>. The stability margin might also be changed. Suppose the eigenvalues of <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mrow><mml:mover><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> are <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03BB;</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03BB;</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03BB;</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mo>&#x22EF;</mml:mo></mml:math></inline-formula>, <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03BB;</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>n</mml:mi></mml:msub></mml:math></inline-formula>. Then the stability margin is defined as <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mi>&#x03B8;</mml:mi><mml:mo>=</mml:mo><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mtext>Real</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03BB;</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. If the stability margin <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> is smaller, the system is more stable and converges to the stable state faster. The BLAA can change the value of <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula>.</p>
<p>With BESS, the parameters <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> are tunable, as they are virtual indicators when treating the BESS as a generator. Actually, <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> are derived from the BESS&#x2019;s response rate to load changes. Suppose the stability margin after the DLAA is <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:msup><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mtext>DLAA</mml:mtext></mml:mrow></mml:msup></mml:math></inline-formula>. If the UIO detects the DLAA, the BESS parameters <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> can be tuned to mitigate it. After the mitigation, the stability margin is <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:msup><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mtext>BESS</mml:mtext></mml:mrow></mml:msup></mml:math></inline-formula>. Then, the mitigation strategy is effective only if <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:msup><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mtext>BESS</mml:mtext></mml:mrow></mml:msup><mml:mo>&#x003C;</mml:mo><mml:msup><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mtext>DLAA</mml:mtext></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></inline-formula></p>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Static Mitigation</title>
<p>Considering the SLAA and FDIA, from <xref ref-type="disp-formula" rid="eqn-9">(9)</xref>, we have
<disp-formula id="eqn-22"><label>(22)</label><mml:math id="mml-eqn-22" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>D</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B2;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:msup><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mi>a</mml:mi></mml:msup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The BESS can mitigate the attack by injecting energy into the system. As shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>, the power is injected to balance the unexpected load and the modified measurement (which results in a wrong frequency reference). With the mitigation strategy, we can derive that
<disp-formula id="eqn-23"><label>(23)</label><mml:math id="mml-eqn-23" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>D</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B2;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:msup><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mi>a</mml:mi></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>E</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>E</mml:mi></mml:msub></mml:math></inline-formula> is the injected battery power. It is calculated based on an estimate of the attack magnitudes <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:math></inline-formula> (for SLAAs) or <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msup><mml:mi>y</mml:mi><mml:mi>a</mml:mi></mml:msup></mml:math></inline-formula> (for FDIAs), derived from reconstructing the unknown input <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mi>&#x03BD;</mml:mi></mml:math></inline-formula> (which encapsulates these attacks). Specifically, after detection via the residual <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mi>r</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula> threshold, we estimate <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mi>v</mml:mi></mml:math></inline-formula> using the UIO&#x2019;s state estimates <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> as <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mrow><mml:mover><mml:mi>v</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>E</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mi>E</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>B</mml:mi><mml:mi>u</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mrow><mml:mover><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> is approximated from the observer dynamics. Then, <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>E</mml:mi></mml:msub></mml:math></inline-formula> is set proportionally to the relevant component of <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mrow><mml:mover><mml:mi>v</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> (e.g., <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:math></inline-formula> or <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:msub><mml:mi>K</mml:mi><mml:mi>P</mml:mi></mml:msub><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac><mml:msup><mml:mi>y</mml:mi><mml:mi>a</mml:mi></mml:msup></mml:math></inline-formula>) to balance the induced distortion and restore the generation-load equilibrium. This estimation makes the mitigation feedback-based rather than purely open-loop, enhancing robustness against uncertainties in attack parameters. However, to address potential inaccuracies in <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mrow><mml:mover><mml:mi>v</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> (e.g., due to noise), we can periodically re-estimate and adjust <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>E</mml:mi></mml:msub></mml:math></inline-formula> in real-time, forming an adaptive loop.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>The attack mitigation with BESS</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-3.tif"/>
</fig>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>UIO with the Nonlinear LFC</title>
<p>In <xref ref-type="sec" rid="s2">Section 2</xref>, we consider a linear model for the LFC. However, there are nonlinearities in the generator and BESS. Therefore, the designed UIO should be extended to the nonlinear case. The unknown input is the attack presented in <xref ref-type="sec" rid="s3">Section 3</xref>. In the following, we present two examples of nonlinearity.</p>
<p>In case 1, the generation rate constraint (GRC) is considered. The GRC limits changes in generation power. This is a saturation nonlinearity on the derivative of <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:math></inline-formula>. The nonlinearity can be modeled as
<disp-formula id="eqn-24"><label>(24)</label><mml:math id="mml-eqn-24" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mtext>sat</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mrow><mml:mtext>GRC</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mfrac><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mi>O</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:math></disp-formula>where
<disp-formula id="eqn-25"><label>(25)</label><mml:math id="mml-eqn-25" display="block"><mml:mrow><mml:mtext>sat</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mtext>GRC</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="center left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>x</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if</mml:mtext></mml:mrow><mml:mtext>&#xA0;</mml:mtext><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>x</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mtext>GRC</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext>GRC</mml:mtext></mml:mrow><mml:mo>&#x2217;</mml:mo><mml:mrow><mml:mtext>sign</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mtext>otherwise</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mtext>sign</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> computes the sign of <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mi>x</mml:mi></mml:math></inline-formula>.</p>
<p>In case 2, the load consists of a frequency-sensitive nonlinear component. That is, the load is modeled as <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>.</mml:mo></mml:math></inline-formula> Considering these nonlinearities, in a concise way, the system dynamics is modeled as
<disp-formula id="eqn-26"><label>(26)</label><mml:math id="mml-eqn-26" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>B</mml:mi><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi>E</mml:mi><mml:mrow><mml:mtext mathvariant="bold">v</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>C</mml:mi><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>In different nonlinear cases, the matrices <italic>A</italic>, <italic>B</italic>, and <italic>E</italic> might be different. However, the UIO is designed in a general form. The structure of the UIO is
<disp-formula id="eqn-27"><label>(27)</label><mml:math id="mml-eqn-27" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">z</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mtext mathvariant="bold">z</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>W</mml:mi><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>Q</mml:mi><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>M</mml:mi><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>z</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>S</mml:mi><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>The matrices <italic>N</italic>, <italic>W</italic>, <italic>Q</italic>, and <italic>M</italic> are matrices that should be designed for the UIO. They are defined by <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>V</mml:mi><mml:mi>C</mml:mi><mml:mo>,</mml:mo><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mi>M</mml:mi><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mo>,</mml:mo><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo></mml:math></inline-formula> Therefore, we can derive the state estimation error as <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>N</mml:mi><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mi>Q</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>W</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>B</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>M</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>E</mml:mi><mml:mrow><mml:mtext mathvariant="bold">v</mml:mtext></mml:mrow></mml:math></inline-formula>.</p>
<p>From the three nonlinear cases, we can easily derive that
<disp-formula id="eqn-28"><label>(28)</label><mml:math id="mml-eqn-28" display="block"><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2264;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:mi>&#x03B7;</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. Next, we present the condition for the existence of the UIO with nonlinear terms.</p>
<p><bold>Lemma 2.</bold> <italic>There exists a UIO for the unknown input system <xref ref-type="disp-formula" rid="eqn-10">(10)</xref> if there exist S and V and a positive definite symmetric matrix <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mi>P</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> such that <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mi>S</mml:mi><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>E</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>P</mml:mi><mml:mi>M</mml:mi><mml:msup><mml:mi>M</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.</mml:mn></mml:math></inline-formula></italic></p>
<p><bold>Proof:</bold> We can derive that <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:mi>W</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>B</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:mi>N</mml:mi><mml:mi>X</mml:mi><mml:mo>+</mml:mo><mml:mi>Q</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. Therefore, we can obtain that <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>M</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>E</mml:mi><mml:mrow><mml:mtext mathvariant="bold">v</mml:mtext></mml:mrow></mml:math></inline-formula>. The condition <italic>SCE</italic> &#x003D; &#x2212;<italic>E</italic> implies that <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:mi>M</mml:mi><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>, and we have <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>M</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. By choosing a Lyapunov function as <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:mi>G</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow></mml:math></inline-formula>, we can derive that
<disp-formula id="eqn-29"><label>(29)</label><mml:math id="mml-eqn-29" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mi>G</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow></mml:mtd><mml:mtd><mml:mi></mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msup><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mi>M</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>&#x2264;</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03B7;</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mo>&#x2264;</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mi>M</mml:mi><mml:msup><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:msup><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>P</mml:mi><mml:mi>M</mml:mi><mml:msup><mml:mi>M</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The condition <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>P</mml:mi><mml:mi>M</mml:mi><mml:msup><mml:mi>M</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> indicates that <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:mrow><mml:mtext mathvariant="bold">e</mml:mtext></mml:mrow></mml:math></inline-formula> goes to 0 asymptotically for any initial value. Therefore, the UIO exists with the condition. <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:mi>&#x25FB;</mml:mi></mml:math></inline-formula></p>
<p>With the Lemma 2, the matrices <italic>S</italic>, <italic>V</italic>, and <italic>P</italic> are computed according to the condition <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>P</mml:mi><mml:mi>M</mml:mi><mml:msup><mml:mi>M</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. The possible solutions of <italic>S</italic> are obtained from <italic>SCE</italic> &#x003D; &#x2212;<italic>E</italic>. Therefore, the matrix <italic>E</italic> is of full column rank. The necessary condition for <italic>SCE</italic> &#x003D; &#x2212;<italic>E</italic> to have solutions is that <italic>CE</italic> is also of full column rank. Hence, the matrix <italic>S</italic> is obtained by <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>+</mml:mo></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mi>Y</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>+</mml:mo></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></inline-formula> where <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mi>T</mml:mi></mml:msup></mml:math></inline-formula> and <italic>Y</italic> is an arbitrarily matrix. Furthermore, we have <italic>S</italic> &#x003D; <italic>U</italic> &#x002B; <italic>Y Z</italic>, where <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:mi>U</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:mi>Z</mml:mi><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>E</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo></mml:msup></mml:math></inline-formula>. Next, we substitute <italic>S</italic> into <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:msup><mml:mi>N</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>P</mml:mi><mml:mi>M</mml:mi><mml:msup><mml:mi>M</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>, we have
<disp-formula id="eqn-30"><label>(30)</label><mml:math id="mml-eqn-30" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>A</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:msup><mml:mi>Y</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>C</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:msup><mml:mi>V</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>A</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>Y</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>P</mml:mi><mml:mi>V</mml:mi><mml:mi>C</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mspace width="2em" /><mml:mspace width="2em" /><mml:mspace width="2em" /><mml:mrow></mml:mrow><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>Y</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>Y</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Solving <xref ref-type="disp-formula" rid="eqn-30">(30)</xref> for <italic>S</italic>, <italic>V</italic>, and <italic>P</italic> is an LMI problem. We can construct a matrix inequality as <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>J</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mover><mml:mi>J</mml:mi><mml:mo stretchy="false">&#x02C7;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mover><mml:mi>J</mml:mi><mml:mo stretchy="false">&#x02C7;</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mi>I</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:math></inline-formula> where <italic>J</italic> is given by
<disp-formula id="eqn-31"><label>(31)</label><mml:math id="mml-eqn-31" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>A</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>A</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mi>T</mml:mi></mml:msup><mml:msup><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>C</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:msup><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mi>C</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mi>J</mml:mi><mml:mo stretchy="false">&#x02C7;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:msqrt><mml:mi>&#x03B7;</mml:mi></mml:msqrt><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>Z</mml:mi><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mi>Y</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>P</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:mi>V</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>P</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>. The LMI <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>J</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mover><mml:mi>J</mml:mi><mml:mo stretchy="false">&#x02C7;</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mover><mml:mi>J</mml:mi><mml:mo stretchy="false">&#x02C7;</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mi>I</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> is equivalent to <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>J</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mover><mml:mi>J</mml:mi><mml:mo stretchy="false">&#x02C7;</mml:mo></mml:mover></mml:mrow><mml:msup><mml:mrow><mml:mover><mml:mi>J</mml:mi><mml:mo stretchy="false">&#x02C7;</mml:mo></mml:mover></mml:mrow><mml:mi>T</mml:mi></mml:msup></mml:mtd><mml:mtd><mml:mo>&#x2217;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2217;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mi>I</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. Therefore, <xref ref-type="disp-formula" rid="eqn-30">(30)</xref> is a sufficient condition for the existence of the UIO. With the above derivations, the Algorithm 2 is used to design the UIO.</p>
<fig id="fig-12">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-12.tif"/>
</fig>
<p><bold>Discussion.</bold> The onlinearities are modeled as additive terms <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> in the system dynamics: <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo>&#x02D9;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:mi>B</mml:mi><mml:mi>u</mml:mi><mml:mo>+</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi>E</mml:mi><mml:mi>v</mml:mi></mml:math></inline-formula>, where <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> satisfies a Lipschitz condition <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2264;</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo fence="false" stretchy="false">|</mml:mo></mml:math></inline-formula> for some <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:mi>&#x03B7;</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> (derived from the specific cases in <xref ref-type="sec" rid="s6">Section 6</xref>, e.g., saturation in GRC or quadratic load components). For attack detection, the UIO is augmented to include <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:mi>M</mml:mi><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> in its dynamics, and stability is ensured via a modified Lyapunov condition in Lemma 2 (<inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:mi>N</mml:mi><mml:mi>T</mml:mi><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>P</mml:mi><mml:mi>M</mml:mi><mml:msup><mml:mi>M</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>), solved through an adapted LMI that incorporates the Lipschitz constant <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:mi>&#x03B7;</mml:mi></mml:math></inline-formula>. This allows the UIO to decouple unknown attacks (<inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:mi>v</mml:mi></mml:math></inline-formula>) while bounding the impact of nonlinear terms, ensuring asymptotic convergence of the estimation error even in nonlinear scenarios.</p>
</sec>
<sec id="s7">
<label>7</label>
<title>Simulation Results</title>
<p>In this section, we conduct simulations to analyze the impact of the attack, the UIO&#x2019;s attack-detection performance, and the BESS&#x2019;s mitigation performance. All simulations are carried out in MATLAB (Simulink), and the computational device is a laptop equipped with an 11th Gen Intel(R) Core(TM) i7-1165G7 processor, operating at 2.80 GHz and featuring 32 GB of RAM. The system parameters are set to as <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn>0.8</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mi mathvariant="normal">u</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:msub><mml:mi>H</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0.05</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mi mathvariant="normal">u</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:msub><mml:mi>T</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0.2</mml:mn></mml:math></inline-formula> s, <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0.04</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mi mathvariant="normal">u</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0.02</mml:mn></mml:math></inline-formula> s, and <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula> s. The power load is extracted from the New York Independent System Operator (NYISO)<xref ref-type="fn" rid="fn-1"><sup>1</sup></xref><fn id="fn-1"><label>1</label><p>Load Data, <ext-link ext-link-type="uri" xlink:href="https://www.nyiso.com/load-data">https://www.nyiso.com/load-data</ext-link> (accessed on 23 November 2025).</p></fn>. <xref ref-type="fig" rid="fig-4">Fig. 4</xref> presents the load variation for the simulations, showing changes at 5, 10, and 15 s.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>The power load variation</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-4.tif"/>
</fig>
<sec id="s7_1">
<label>7.1</label>
<title>Attack on the LFC</title>
<p>First, we analyze the impact of the attacks described in <xref ref-type="sec" rid="s3">Section 3</xref> on the grid frequency. The attack parameters are:
<list list-type="bullet">
<list-item>
<p>DLAA: Only the DLAA is executed, the frequency-sensitive load coefficient is <inline-formula id="ieqn-148"><mml:math id="mml-ieqn-148"><mml:mi>&#x03B2;</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula> and the attack parameter is <inline-formula id="ieqn-149"><mml:math id="mml-ieqn-149"><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>60</mml:mn></mml:math></inline-formula>. The attack starts at 8 s.</p></list-item>
<list-item>
<p>SLAA: Only the SLAA is executed, the loads are injected at 8 s with <inline-formula id="ieqn-150"><mml:math id="mml-ieqn-150"><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>2.91</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mi mathvariant="normal">u</mml:mi></mml:mrow></mml:math></inline-formula>, at 12 s with <inline-formula id="ieqn-151"><mml:math id="mml-ieqn-151"><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1.45</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mi mathvariant="normal">u</mml:mi></mml:mrow></mml:math></inline-formula>, and at 16 s with <inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>4.37</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mi mathvariant="normal">u</mml:mi></mml:mrow></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>FDIA: Only the FDIA is executed, the measurement of the frequency deviation is modified with an error <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:msup><mml:mrow><mml:mtext mathvariant="bold">y</mml:mtext></mml:mrow><mml:mi>a</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:mn>0.002</mml:mn></mml:math></inline-formula> at 12 s.</p></list-item>
<list-item>
<p>SLAA&#x002B;FDIA: The SLAA and FDIA are coordinated. The attack parameters for SLAA remain unchanged, while the FDIA mitigates the attack&#x2019;s impact by injecting a measurement error.</p></list-item>
</list></p>
<p>The simulation results are given in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>. For the DLAA (<xref ref-type="fig" rid="fig-5">Fig. 5a</xref>), we find that the magnitude of <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> is larger than that without DLAA, which indicates that the DLAA affects the convergence rate of the frequency deviation. That is, the DLAA causes the system to take more time to return to a stable state. For the SLAA (<xref ref-type="fig" rid="fig-5">Fig. 5b</xref>), we find that the attack causes distortions for <inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> from the stable state. That is, the SLAA causes the system to deviate from its normal state. For the FDIA (<xref ref-type="fig" rid="fig-5">Fig. 5c</xref>), we find it also distorts <inline-formula id="ieqn-156"><mml:math id="mml-ieqn-156"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> from the stable state. For the SLAA&#x002B;FDIA (<xref ref-type="fig" rid="fig-5">Fig. 5d</xref>), we find that the coordinated attack is stealthy because the frequency deviation <inline-formula id="ieqn-157"><mml:math id="mml-ieqn-157"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> after SLAA&#x002B;FDIA is the same as that without attack, while the actual <inline-formula id="ieqn-158"><mml:math id="mml-ieqn-158"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> deviates from the normal state. <xref ref-type="fig" rid="fig-5">Fig. 5d</xref> illustrates the stealthiness of the coordinated SLAA&#x002B;FDIA attack. Here, the SLAA introduces a static load distortion (<inline-formula id="ieqn-159"><mml:math id="mml-ieqn-159"><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:math></inline-formula>), causing the actual frequency deviation <inline-formula id="ieqn-160"><mml:math id="mml-ieqn-160"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> to excursion away from equilibrium, potentially leading to instability. However, the concurrent FDIA injects ya to falsify the measurement <inline-formula id="ieqn-161"><mml:math id="mml-ieqn-161"><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>, making the observed <inline-formula id="ieqn-162"><mml:math id="mml-ieqn-162"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> appear stable and within nominal bounds from the system operator&#x2019;s viewpoint. The attacked measurement <inline-formula id="ieqn-163"><mml:math id="mml-ieqn-163"><mml:msub><mml:mi>y</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:math></inline-formula> counteracts the visible effects of <inline-formula id="ieqn-164"><mml:math id="mml-ieqn-164"><mml:msub><mml:mi>L</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:math></inline-formula>, allowing the attack to persist undetected without immediate alarms. The above results demonstrate that the attack can affect the system frequency, and different attacks have different impacts.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Simulation results demonstrating the impact of various cyberattacks on grid frequency deviation (<inline-formula id="ieqn-165"><mml:math id="mml-ieqn-165"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula>). (<bold>a</bold>) Under DLAA, <inline-formula id="ieqn-166"><mml:math id="mml-ieqn-166"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> exhibits rapid oscillations with peaks up to 0.05 Hz within 10 s due to dynamic load amplification tied to frequency. (<bold>b</bold>) SLAA causes sustained offsets of 0.03 Hz from static load distortions, leading to persistent imbalances. (<bold>c</bold>) FDIA induces erratic excursions by falsifying measurements, potentially destabilizing control actions. (<bold>d</bold>) Coordinated SLAA&#x002B;FDIA demonstrates stealthiness: the actual <inline-formula id="ieqn-167"><mml:math id="mml-ieqn-167"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> deviates significantly (up to 0.04 Hz). In contrast, the measured <inline-formula id="ieqn-168"><mml:math id="mml-ieqn-168"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> appears controlled and near zero from the operator&#x2019;s perspective, masking the attack and allowing prolonged disruption. This figure shows the stealthy nature: the actual <inline-formula id="ieqn-169"><mml:math id="mml-ieqn-169"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> deviates significantly due to the SLAA-induced imbalance, while the measured <inline-formula id="ieqn-170"><mml:math id="mml-ieqn-170"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> (compromised by FDIA) appears normal or under operator control, masking the attack</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-5.tif"/>
</fig>
</sec>
<sec id="s7_2">
<label>7.2</label>
<title>Attack Detection with the UIO</title>
<p>By solving the LMI, we obtain the parameters for designing the UIO. For the linear LFC, we obtain the following matrices: <inline-formula id="ieqn-171"><mml:math id="mml-ieqn-171"><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>1.0282</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.0145</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1.0185</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.0145</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0.0203</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-172"><mml:math id="mml-ieqn-172"><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0.5</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.24</mml:mn></mml:mtd><mml:mtd><mml:mn>0.1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0.3</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-173"><mml:math id="mml-ieqn-173"><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>18.5842</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.0001</mml:mn></mml:mtd><mml:mtd><mml:mn>0.5092</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>24.6491</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> Hence, the matrices <italic>S</italic> and <italic>V</italic> are <inline-formula id="ieqn-174"><mml:math id="mml-ieqn-174"><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-175"><mml:math id="mml-ieqn-175"><mml:mi>V</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0.7659</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0.7488</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1249.1415</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> Further, the matrices <italic>N</italic>, <italic>W</italic>, and <italic>Q</italic> are <inline-formula id="ieqn-176"><mml:math id="mml-ieqn-176"><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.9606</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.0001</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.5</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>36.445</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>50</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-177"><mml:math id="mml-ieqn-177"><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-178"><mml:math id="mml-ieqn-178"><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1250</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> Therefore, the UIO is designed with the parameters outlined above. Next, we evaluate the attack-detection performance using the UIO.</p>
<p>First, we evaluate the performance of UIO in estimating system states. The results are given in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>, which shows that the estimated <inline-formula id="ieqn-179"><mml:math id="mml-ieqn-179"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-180"><mml:math id="mml-ieqn-180"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-181"><mml:math id="mml-ieqn-181"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> follow well with the actual values except at the beginning. These validate that the designed UIO is effective.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>State estimation performance of the designed UIO under attack scenarios on linear LFC. (<bold>a</bold>) Estimated <inline-formula id="ieqn-182"><mml:math id="mml-ieqn-182"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> closely tracks true values, converging asymptotically with estimation errors reducing to &#x003C;10<sup>&#x2212;5</sup>Hz within 5 s. (<bold>b</bold>) The estimated <inline-formula id="ieqn-183"><mml:math id="mml-ieqn-183"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:math></inline-formula> shows accurate reconstruction of mechanical power deviations, with minimal transients post-attack onset. (<bold>c</bold>) The estimated <inline-formula id="ieqn-184"><mml:math id="mml-ieqn-184"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> demonstrates robust battery output tracking, enabling effective residual-based detection and supporting mitigation strategies</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-6.tif"/>
</fig>
<p>With the UIO, we evaluate its performance in detecting attacks. The detection performance is illustrated in <xref ref-type="fig" rid="fig-7">Fig. 7</xref>, which shows that the norm of the residual with the UIO exceeds the detection threshold for DLAA, SLAA, FDIA, and SLAA&#x002B;FDIA, respectively. For all attacks, the UIO accurately captures the abnormal deviations in <inline-formula id="ieqn-185"><mml:math id="mml-ieqn-185"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> at the times when the attacks occur. The results indicate that the UIO is effective in detecting the attacks given in <xref ref-type="sec" rid="s3">Section 3</xref>.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Attack detection via UIO residual norms (<inline-formula id="ieqn-186"><mml:math id="mml-ieqn-186"><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mi>r</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo></mml:math></inline-formula>) under various scenarios on linear LFC, with a predefined threshold for alarm triggering. (<bold>a</bold>) DLAA residuals spike abruptly above threshold at attack initiation, achieving 98% detection accuracy within 0.5s. (<bold>b</bold>) SLAA produces sustained residual elevation, indicating static distortions. (<bold>c</bold>) FDIA residuals exceed the threshold intermittently due to injected errors. (<bold>d</bold>) Coordinated SLAA&#x002B;FDIA residuals surpass threshold despite concealment attempts, validating UIO&#x2019;s sensitivity to underlying stealthy imbalances</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-7.tif"/>
</fig>
</sec>
<sec id="s7_3">
<label>7.3</label>
<title>Mitigation of the Attack with the BESS</title>
<p>Finally, we evaluate the mitigation performance of the attacks with the BESS. The mitigation strategies are given in <xref ref-type="sec" rid="s5">Section 5</xref>. The simulation results are presented in <xref ref-type="fig" rid="fig-8">Fig. 8</xref>. For DLAA, the mitigation strategy involves tuning the BESS parameters <inline-formula id="ieqn-187"><mml:math id="mml-ieqn-187"><mml:msub><mml:mi>R</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-188"><mml:math id="mml-ieqn-188"><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula>. By setting appropriate <inline-formula id="ieqn-189"><mml:math id="mml-ieqn-189"><mml:msub><mml:mi>R</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-190"><mml:math id="mml-ieqn-190"><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula>, we find that the mitigation strategy can draw the frequency deviation <inline-formula id="ieqn-191"><mml:math id="mml-ieqn-191"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> back to the normal case. Actually, we have <inline-formula id="ieqn-192"><mml:math id="mml-ieqn-192"><mml:msup><mml:mi>s</mml:mi><mml:mrow><mml:mtext>BESS</mml:mtext></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>106.6800</mml:mn><mml:mo>&#x003C;</mml:mo><mml:msup><mml:mi>s</mml:mi><mml:mrow><mml:mtext>DLAA</mml:mtext></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>59.0800.</mml:mn></mml:math></inline-formula></p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Mitigation performance using BESS strategies post-UIO detection on linear LFC. (<bold>a</bold>) For DLAA, adaptive tuning of <inline-formula id="ieqn-193"><mml:math id="mml-ieqn-193"><mml:msub><mml:mi>T</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-194"><mml:math id="mml-ieqn-194"><mml:msub><mml:mi>H</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> improves stability margin by 80% (from <inline-formula id="ieqn-195"><mml:math id="mml-ieqn-195"><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>59.08</mml:mn></mml:math></inline-formula> to &#x2013;106.68), reducing <inline-formula id="ieqn-196"><mml:math id="mml-ieqn-196"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> recovery time by 45%. (<bold>b</bold>) SLAA mitigation via static power injection <inline-formula id="ieqn-197"><mml:math id="mml-ieqn-197"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>E</mml:mi></mml:msub></mml:math></inline-formula> restores <inline-formula id="ieqn-198"><mml:math id="mml-ieqn-198"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> to nominal within 3 s, countering load offsets. (<bold>c</bold>) FDIA recovery through <inline-formula id="ieqn-199"><mml:math id="mml-ieqn-199"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>E</mml:mi></mml:msub></mml:math></inline-formula> injection stabilizes frequency, minimizing excursions by 60% compared to unmitigated cases</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-8.tif"/>
</fig>
<p>For the SLAA, the battery power (i.e., <inline-formula id="ieqn-200"><mml:math id="mml-ieqn-200"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>E</mml:mi></mml:msub></mml:math></inline-formula>) is injected into the system to balance the generation and load. From <xref ref-type="fig" rid="fig-8">Fig. 8b</xref>, the injected BESS power can reduce the distortion peak of <inline-formula id="ieqn-201"><mml:math id="mml-ieqn-201"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula>. In the FDIA, the injection of battery power, <inline-formula id="ieqn-202"><mml:math id="mml-ieqn-202"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>E</mml:mi></mml:msub></mml:math></inline-formula>, is also used to mitigate the attack&#x2019;s impact. From <xref ref-type="fig" rid="fig-8">Fig. 8c</xref>, we find that the mitigation strategy can make the distortion converge faster to the normal case. The above results demonstrate that the attack impacts can be mitigated by using the BESS.</p>
</sec>
<sec id="s7_4">
<label>7.4</label>
<title>UIO for the Nonlinear LFC</title>
<p>In the following, we evaluate the performance of the UIO designed for the nonlinear LFC. For case 1, the UIO parameters are obtained in the following: <inline-formula id="ieqn-203"><mml:math id="mml-ieqn-203"><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>1.2060</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0.0001</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1.2060</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.0001</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0.0281</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-204"><mml:math id="mml-ieqn-204"><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0.3</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.2</mml:mn></mml:mtd><mml:mtd><mml:mn>1.3</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.4</mml:mn></mml:mtd><mml:mtd><mml:mn>1.5</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-205"><mml:math id="mml-ieqn-205"><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0.7988</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0.9030</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>35.1008</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>. Hence, the matrices <italic>S</italic> and <italic>V</italic> are <inline-formula id="ieqn-206"><mml:math id="mml-ieqn-206"><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-207"><mml:math id="mml-ieqn-207"><mml:mi>V</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0.9606</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.000098</mml:mn></mml:mtd><mml:mtd><mml:mn>0.5</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1213.555</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> Further, the matrices <italic>N</italic>, <italic>W</italic>, and <italic>Q</italic> are <inline-formula id="ieqn-208"><mml:math id="mml-ieqn-208"><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.7488</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.0001</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.7488</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.1504</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>50</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-209"><mml:math id="mml-ieqn-209"><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-210"><mml:math id="mml-ieqn-210"><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1250</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> For case 2, the UIO parameters are obtained in the following: <inline-formula id="ieqn-211"><mml:math id="mml-ieqn-211"><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>1.2060</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0.0001</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1.2060</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.0001</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0.0281</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-212"><mml:math id="mml-ieqn-212"><mml:mrow><mml:mover><mml:mi>Y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0.2</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.4</mml:mn></mml:mtd><mml:mtd><mml:mn>0.3</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.1</mml:mn></mml:mtd><mml:mtd><mml:mn>5</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-213"><mml:math id="mml-ieqn-213"><mml:mrow><mml:mover><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0.7988</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0.9030</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>35.1008</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> Hence, the matrices <italic>S</italic> and <italic>V</italic> are <inline-formula id="ieqn-214"><mml:math id="mml-ieqn-214"><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-215"><mml:math id="mml-ieqn-215"><mml:mi>V</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0.7</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.7</mml:mn></mml:mtd><mml:mtd><mml:mn>0.5</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1250.2</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula> Further, the matrices <italic>N</italic>, <italic>W</italic>, and <italic>Q</italic> are <inline-formula id="ieqn-216"><mml:math id="mml-ieqn-216"><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.7488</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.0001</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>0.7488</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.1504</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>50</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-217"><mml:math id="mml-ieqn-217"><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-218"><mml:math id="mml-ieqn-218"><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>1250</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></inline-formula></p>
<p>We can see that the UIO parameters in cases 1 and 2 are almost identical, as shown in case 1. The estimation performance is shown in <xref ref-type="fig" rid="fig-9">Fig. 9</xref>, which indicates that the estimated <inline-formula id="ieqn-219"><mml:math id="mml-ieqn-219"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-220"><mml:math id="mml-ieqn-220"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-221"><mml:math id="mml-ieqn-221"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> closely track the actual values. The results demonstrate that the UIO designed for the nonlinear LFC is effective.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>State estimation performance of the extended UIO for nonlinear LFC models (incorporating GRC and quadratic loads). (<bold>a</bold>) The estimated <inline-formula id="ieqn-222"><mml:math id="mml-ieqn-222"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> converges to true nonlinear deviations with errors <inline-formula id="ieqn-223"><mml:math id="mml-ieqn-223"><mml:mo>&#x003C;</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> Hz, bounding Lipschitz nonlinearities. (<bold>b</bold>) The estimated <inline-formula id="ieqn-224"><mml:math id="mml-ieqn-224"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:math></inline-formula> accurately accounts for saturation constraints, demonstrating improved robustness compared to linear UIO. (<bold>c</bold>) The estimated <inline-formula id="ieqn-225"><mml:math id="mml-ieqn-225"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> reflects adaptive battery responses, supporting detection in nonlinear scenarios with 95% accuracy</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-9.tif"/>
</fig>
<p>Further, we evaluate the UIO&#x2019;s performance in detecting the attacks described in <xref ref-type="sec" rid="s3">Section 3</xref>. The attack parameters are similar to those given in <xref ref-type="sec" rid="s7_1">Section 7.1</xref>. The results are provided in <xref ref-type="fig" rid="fig-10">Fig. 10</xref>. We can see that the norm of the residual is above the detection threshold for DLAA, SLAA, FDIA, and SLAA&#x002B;FDIA at the times when they are executed. These validate that the designed UIO can detect the attacks.</p>
<fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>Detection performance via UIO residual norms for nonlinear LFC under attack scenarios. (<bold>a</bold>) DLAA residuals exceed threshold rapidly, detecting dynamic nonlinear amplifications. (<bold>b</bold>) SLAA shows persistent residuals due to static nonlinear load effects. (<bold>c</bold>) FDIA residuals highlight injected anomalies amid nonlinearities. (<bold>d</bold>) Coordinated SLAA&#x002B;FDIA residuals exceed the threshold, demonstrating UIO&#x2019;s effectiveness in uncovering concealed deviations in nonlinear systems, with detection latency reduced by 30% via Lipschitz-bounded design</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_74277-fig-10.tif"/>
</fig>
</sec>
</sec>
<sec id="s8">
<label>8</label>
<title>Conclusion</title>
<p>In this paper, we propose a comprehensive framework for detecting and mitigating coordinated cyberattacks on Load Frequency Control (LFC) systems integrated with Battery Energy Storage Systems (BESS). We meticulously modeled various attack scenarios, including dynamic load-altering attacks (DLAA), static load-altering attacks (SLAA), false data injection attacks (FDIA), and their coordinated combination, highlighting their potential to compromise grid frequency stability. To address these threats, an Unknown Input Observer (UIO) was designed and implemented, capable of detecting these attacks by monitoring the measurement residuals, even when the specific attack signals are unknown. Our simulation results unequivocally demonstrated the UIO&#x2019;s effectiveness in accurately capturing abnormal deviations induced by all considered attack types, including stealthy coordinated attacks, across both linear and nonlinear LFC models. This validates the UIO as a robust tool for enhancing grid operators&#x2019; situational awareness against sophisticated cyber threats. Furthermore, we developed and evaluated mitigation strategies utilizing the BESS, capitalizing on its rapid response capabilities. By dynamically adjusting BESS parameters or proactively injecting power, the proposed strategies effectively counteracted the impact of the detected attacks, restoring the system frequency deviation to its normal operating range more swiftly. These findings underscore the crucial role of BESS not only in enhancing grid stability under normal operating conditions but also in bolstering grid resilience against malicious cyber interventions.</p>
</sec>
</body>
<back>
<ack>
<p>We express our gratitude to Guizhou Power Grid Co., Ltd. Electric Power Dispatching and Control Center, for their invaluable support and assistance in this investigation.</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>This paper is supported by the Natural Science Foundation of China No. 62303126 and the project Major Scientific and Technological Special Project of Guizhou Province ([2024]014).</p>
</sec>
<sec>
<title>Author Contributions</title>
<p>Conceptualization, Yunhao Yu, Fuhua Luo and Zhenyong Zhang; methodology, Yunhao Yu and Zhenyong Zhang; software, Yunhao Yu and Zhenyong Zhang; validation, Yunhao Yu and Zhenyong Zhang; formal analysis, Yunhao Yu and Zhenyong Zhang; investigation, Yunhao Yu and Zhenyong Zhang; resources, Yunhao Yu and Zhenyong Zhang; data curation,Yunhao Yu and Zhenyong Zhang; writing&#x2014;original draft preparation, Yunhao Yu and Zhenyong Zhang; writing&#x2014;review and editing, Yunhao Yu and Zhenyong Zhang; visualization, Yunhao Yu and Zhenyong Zhang; supervision, Zhenyong Zhang; project administration, Zhenyong Zhang; funding acquisition,Zhenyong Zhang. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability">
<title>Availability of Data and Materials</title>
<p>Not applicable. This article does not involve data availability, and this section is not applicable.</p>
</sec>
<sec>
<title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest to report regarding the present study.</p>
</sec>
<glossary content-type="abbreviations" id="glossary-1">
<title>Abbreviations</title>
<p>The following abbreviations are used in this manuscript:</p>
<def-list>
<def-item>
<term>AGC</term>
<def>
<p>Automatic Generation Control</p>
</def>
</def-item>
<def-item>
<term>BESS</term>
<def>
<p>Battery Energy Storage System</p>
</def>
</def-item>
<def-item>
<term>DLAA</term>
<def>
<p>Dynamic Load-Altering Attack</p>
</def>
</def-item>
<def-item>
<term>FDIA</term>
<def>
<p>False Data Injection Attack</p>
</def>
</def-item>
<def-item>
<term>FDI</term>
<def>
<p>False Data Injection</p>
</def>
</def-item>
<def-item>
<term>LAA</term>
<def>
<p>Load-Altering Attack</p>
</def>
</def-item>
<def-item>
<term>LFC</term>
<def>
<p>Load Frequency Control</p>
</def>
</def-item>
<def-item>
<term>LMI</term>
<def>
<p>Linear Matrix Inequality</p>
</def>
</def-item>
<def-item>
<term>SLAA</term>
<def>
<p>Static Load-Altering Attack</p>
</def>
</def-item>
<def-item>
<term>UIO</term>
<def>
<p>Unknown Input Observer</p>
</def>
</def-item>
</def-list>
</glossary>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Rasolomampionona</surname> <given-names>DD</given-names></string-name>, <string-name><surname>Polecki</surname> <given-names>M</given-names></string-name>, <string-name><surname>Zagrajek</surname> <given-names>K</given-names></string-name>, <string-name><surname>Wroblewski</surname> <given-names>W</given-names></string-name>, <string-name><surname>Januszewski</surname> <given-names>M</given-names></string-name></person-group>. <article-title>A comprehensive review of load frequency control technologies</article-title>. <source>Energies</source>. <year>2024</year>;<volume>17</volume>(<issue>12</issue>):<fpage>2915</fpage>. doi:<pub-id pub-id-type="doi">10.3390/en17122915</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Amulya</surname> <given-names>A</given-names></string-name>, <string-name><surname>Swarup</surname> <given-names>KS</given-names></string-name>, <string-name><surname>Ramanathan</surname> <given-names>R</given-names></string-name></person-group>. <article-title>Cyber security of smart-grid frequency control: a review and vulnerability assessment framework</article-title>. <source>ACM Trans Cyber-Phys Syst</source>. <year>2024</year>;<volume>8</volume>(<issue>4</issue>):<fpage>38</fpage>. doi:<pub-id pub-id-type="doi">10.1145/3661827</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhao</surname> <given-names>X</given-names></string-name>, <string-name><surname>Ma</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Shi</surname> <given-names>X</given-names></string-name>, <string-name><surname>Zou</surname> <given-names>S</given-names></string-name></person-group>. <article-title>Attack detection and mitigation scheme of load frequency control systems against false data injection attacks</article-title>. <source>IEEE Trans Ind Inform</source>. <year>2024</year>;<volume>20</volume>(<issue>8</issue>):<fpage>9952</fpage>&#x2013;<lpage>62</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tii.2024.3390549</pub-id>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Deng</surname> <given-names>R</given-names></string-name>, <string-name><surname>Yau</surname> <given-names>DKY</given-names></string-name></person-group>. <article-title>Vulnerability of the load frequency control against the network parameter attack</article-title>. <source>IEEE Trans Smart Grid</source>. <year>2023</year>;<volume>15</volume>(<issue>1</issue>):<fpage>921</fpage>&#x2013;<lpage>33</lpage>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sayed</surname> <given-names>MA</given-names></string-name>, <string-name><surname>Ghafouri</surname> <given-names>M</given-names></string-name>, <string-name><surname>Atallah</surname> <given-names>R</given-names></string-name>, <string-name><surname>Debbabi</surname> <given-names>M</given-names></string-name>, <string-name><surname>Assi</surname> <given-names>C</given-names></string-name></person-group>. <article-title>Grid chaos: an uncertainty-conscious robust dynamic EV load-altering attack strategy on power grid stability</article-title>. <source>Appl Energy</source>. <year>2024</year>;<volume>363</volume>(<issue>4</issue>):<fpage>122972</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.apenergy.2024.122972</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yuan</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Li</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Ren</surname> <given-names>K</given-names></string-name></person-group>. <article-title>Quantitative analysis of load redistribution attacks in power systems</article-title>. <source>IEEE Trans Parallel Distrib Syst</source>. <year>2012</year>;<volume>23</volume>(<issue>9</issue>):<fpage>1731</fpage>&#x2013;<lpage>8</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tpds.2012.58</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Oshnoei</surname> <given-names>S</given-names></string-name>, <string-name><surname>Aghamohammadi</surname> <given-names>MR</given-names></string-name>, <string-name><surname>Khooban</surname> <given-names>MH</given-names></string-name></person-group>. <article-title>Smart frequency control of cyber-physical power system under false data injection attacks</article-title>. <source>IEEE Trans Circuits Syst I Regul Pap</source>. <year>2024</year>;<volume>71</volume>(<issue>12</issue>):<fpage>5582</fpage>&#x2013;<lpage>95</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tcsi.2024.3396703</pub-id>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Jafari</surname> <given-names>M</given-names></string-name>, <string-name><surname>Rahman</surname> <given-names>MA</given-names></string-name>, <string-name><surname>Paudyal</surname> <given-names>S</given-names></string-name></person-group>. <article-title>Optimal false data injection attacks against power system frequency stability</article-title>. <source>IEEE Trans Smart Grid</source>. <year>2022</year>;<volume>14</volume>(<issue>2</issue>):<fpage>1276</fpage>&#x2013;<lpage>88</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tsg.2022.3206717</pub-id>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lakshminarayana</surname> <given-names>S</given-names></string-name>, <string-name><surname>Adhikari</surname> <given-names>S</given-names></string-name>, <string-name><surname>Maple</surname> <given-names>C</given-names></string-name></person-group>. <article-title>Analysis of IoT-based load altering attacks against power grids using the theory of second-order dynamical systems</article-title>. <source>IEEE Trans Smart Grid</source>. <year>2021</year>;<volume>12</volume>(<issue>5</issue>):<fpage>4415</fpage>&#x2013;<lpage>25</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tsg.2021.3070313</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liu</surname> <given-names>M</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>X</given-names></string-name>, <string-name><surname>Zhu</surname> <given-names>H</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Deng</surname> <given-names>R</given-names></string-name></person-group>. <article-title>Physics-aware watermarking embedded in unknown input observers for false data injection attack detection in cyber-physical microgrids</article-title>. <source>IEEE Trans Inf Forensics Secur</source>. <year>2024</year>;<volume>19</volume>:<fpage>7824</fpage>&#x2013;<lpage>40</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tifs.2024.3447235</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Shangguan</surname> <given-names>XC</given-names></string-name>, <string-name><surname>Yu</surname> <given-names>MH</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>CK</given-names></string-name>, <string-name><surname>He</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>Detection and defense against multi-point false data injection attacks of load frequency control in smart grid</article-title>. <source>IEEE Trans Smart Grid</source>. <year>2025</year>;<volume>16</volume>(<issue>5</issue>):<fpage>4143</fpage>&#x2013;<lpage>54</lpage>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yin</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Vazquez</surname> <given-names>S</given-names></string-name>, <string-name><surname>Marquez</surname> <given-names>A</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>J</given-names></string-name>, <string-name><surname>Leon</surname> <given-names>JI</given-names></string-name>, <string-name><surname>Wu</surname> <given-names>L</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Observer-based sliding-mode control for grid-connected power converters under unbalanced grid conditions</article-title>. <source>IEEE Trans Ind Electron</source>. <year>2021</year>;<volume>69</volume>(<issue>1</issue>):<fpage>517</fpage>&#x2013;<lpage>27</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tie.2021.3050387</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ghafoori</surname> <given-names>MS</given-names></string-name>, <string-name><surname>Soltani</surname> <given-names>J</given-names></string-name></person-group>. <article-title>Designing a robust cyber-attack detection and identification algorithm for DC microgrids based on Kalman filter with unknown input observer</article-title>. <source>IET Gener Transm Distrib</source>. <year>2022</year>;<volume>16</volume>(<issue>16</issue>):<fpage>3230</fpage>&#x2013;<lpage>44</lpage>. doi:<pub-id pub-id-type="doi">10.1049/gtd2.12517</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Abouzeid</surname> <given-names>SI</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Zaery</surname> <given-names>M</given-names></string-name>, <string-name><surname>Abido</surname> <given-names>MA</given-names></string-name>, <string-name><surname>Raza</surname> <given-names>A</given-names></string-name>, <string-name><surname>Abdelhameed</surname> <given-names>EH</given-names></string-name></person-group>. <article-title>Load frequency control based on reinforcement learning for microgrids under false data attacks</article-title>. <source>Comput Elec Eng</source>. <year>2025</year>;<volume>123</volume>(<issue>B</issue>):<fpage>110093</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.compeleceng.2025.110093</pub-id>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Amini</surname> <given-names>S</given-names></string-name>, <string-name><surname>Pasqualetti</surname> <given-names>F</given-names></string-name>, <string-name><surname>Mohsenian-Rad</surname> <given-names>H</given-names></string-name></person-group>. <article-title>Detecting dynamic load altering attacks: a data-driven time-frequency analysis</article-title>. In: <conf-name>Proceedings of the 2015 IEEE International Conference on Smart Grid Communications (SmartGridComm); 2015 Nov 2&#x2013;5</conf-name>; <publisher-loc>Miami, FL, USA</publisher-loc>. p. <fpage>503</fpage>&#x2013;<lpage>8</lpage>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chaudhary</surname> <given-names>AK</given-names></string-name>, <string-name><surname>Roy</surname> <given-names>S</given-names></string-name>, <string-name><surname>Guha</surname> <given-names>D</given-names></string-name>, <string-name><surname>Negi</surname> <given-names>R</given-names></string-name>, <string-name><surname>Banerjee</surname> <given-names>S</given-names></string-name></person-group>. <article-title>Adaptive cyber-tolerant finite-time frequency control framework for renewable-integrated power system under deception and periodic denial-of-service attacks</article-title>. <source>Energy</source>. <year>2024</year>;<volume>302</volume>(<issue>11</issue>):<fpage>131809</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.energy.2024.131809</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname> <given-names>C</given-names></string-name>, <string-name><surname>Cui</surname> <given-names>M</given-names></string-name>, <string-name><surname>Fang</surname> <given-names>X</given-names></string-name>, <string-name><surname>Ren</surname> <given-names>B</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>Load altering attack-tolerant defense strategy for load frequency control system</article-title>. <source>Appl Energy</source>. <year>2020</year>;<volume>280</volume>(<issue>2</issue>):<fpage>116015</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.apenergy.2020.116015</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Maleki</surname> <given-names>S</given-names></string-name>, <string-name><surname>Pan</surname> <given-names>S</given-names></string-name>, <string-name><surname>Lakshminarayana</surname> <given-names>S</given-names></string-name>, <string-name><surname>Konstantinou</surname> <given-names>C</given-names></string-name></person-group>. <article-title>Survey of load-altering attacks against power grids: attack impact, detection and mitigation</article-title>. <source>IEEE Open Access J Power Energy</source>. <year>2025</year>;<volume>12</volume>:<fpage>220</fpage>&#x2013;<lpage>34</lpage>. doi:<pub-id pub-id-type="doi">10.1109/oajpe.2025.3562052</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Mei</surname> <given-names>X</given-names></string-name>, <string-name><surname>Huang</surname> <given-names>W</given-names></string-name>, <string-name><surname>Yuan</surname> <given-names>S</given-names></string-name>, <string-name><surname>Cheng</surname> <given-names>J</given-names></string-name>, <string-name><surname>Qi</surname> <given-names>W</given-names></string-name></person-group>. <article-title>Load frequency control for power systems under cyber-attacks: adopting sojourn probability strategy</article-title>. <source>J Franklin Inst</source>. <year>2025</year>;<volume>362</volume>(<issue>18</issue>):<fpage>108241</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.jfranklin.2025.108241</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Deng</surname> <given-names>R</given-names></string-name>, <string-name><surname>Tian</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Cheng</surname> <given-names>P</given-names></string-name>, <string-name><surname>Ma</surname> <given-names>J</given-names></string-name></person-group>. <article-title>SPMA: stealthy physics-manipulated attack and countermeasures in cyber-physical smart grid</article-title>. <source>IEEE Trans Inf Forensics Secur</source>. <year>2022</year>;<volume>18</volume>:<fpage>581</fpage>&#x2013;<lpage>96</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tifs.2022.3226868</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lungu</surname> <given-names>M</given-names></string-name>, <string-name><surname>Lungu</surname> <given-names>R</given-names></string-name></person-group>. <article-title>Full-order observer design for linear systems with unknown inputs</article-title>. <source>Int J Control</source>. <year>2012</year>;<volume>85</volume>(<issue>10</issue>):<fpage>1602</fpage>&#x2013;<lpage>15</lpage>. doi:<pub-id pub-id-type="doi">10.1080/00207179.2012.695397</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Sastry</surname> <given-names>S</given-names></string-name></person-group>. <chapter-title>Lyapunov stability theory</chapter-title>. In: <source>Nonlinear systems: analysis, stability, and control</source>. <publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>Springer</publisher-name>; <year>1999</year>. p. <fpage>182</fpage>&#x2013;<lpage>234</lpage>.</mixed-citation></ref>
</ref-list>
</back></article>