<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1381376</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2024.1381376</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Analyzing grid connected shaded photovoltaic systems with steady state stability and crow search MPPT control</article-title>
<alt-title alt-title-type="left-running-head">Ben Smida et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2024.1381376">10.3389/fenrg.2024.1381376</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Ben Smida</surname>
<given-names>Mouna</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2657924/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Azar</surname>
<given-names>Ahmad Taher</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2646660/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Sakly</surname>
<given-names>Anis</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Hameed</surname>
<given-names>Ibrahim A.</given-names>
</name>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1505858/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>National Engineering School of Monastir</institution>, <institution>University of Monastir</institution>, <addr-line>Tunis</addr-line>, <country>Tunisia</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>College of Computer and Information Sciences</institution>, <institution>Prince Sultan University</institution>, <addr-line>Riyadh</addr-line>, <country>Saudi Arabia</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Automated Systems and Soft Computing Lab (ASSCL)</institution>, <institution>Prince Sultan University</institution>, <addr-line>Riyadh</addr-line>, <country>Saudi Arabia</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>Faculty of Computers and Artificial Intelligence</institution>, <institution>Benha University</institution>, <addr-line>Benha</addr-line>, <country>Egypt</country>
</aff>
<aff id="aff5">
<sup>5</sup>
<institution>Department of ICT and Natural Sciences</institution>, <institution>Norwegian University of Science and Technology</institution>, <addr-line>Alesund</addr-line>, <country>Norway</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1882335/overview">Praveen Kumar Balachandran</ext-link>, Vardhaman College of Engineering, India</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/298924/overview">Sudhakar Babu Thanikanti</ext-link>, Chaitanya Bharathi Institute of Technology, India</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1717995/overview">Shitharth Selvarajan</ext-link>, Leeds Beckett University, United Kingdom</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Mouna Ben Smida, <email>mouna.bensmida@esprim.tn</email>; Ahmad Taher Azar, <email>aazar@psu.edu.sa</email>; Ibrahim A. Hameed, <email>ibib@ntnu.no</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>13</day>
<month>03</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>12</volume>
<elocation-id>1381376</elocation-id>
<history>
<date date-type="received">
<day>03</day>
<month>02</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>29</day>
<month>02</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Ben Smida, Azar, Sakly and Hameed.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Ben Smida, Azar, Sakly and Hameed</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>The field of research in maximum power point tracking (MPPT) methods is making significant progress with a wide range of techniques, from simple yet inefficient approaches to more complex but effective ones. Therefore, it is important to suggest a simple and effective strategy to control the global maximum power point (GMPP) of a photovoltaic (PV) system especially under partial shading conditions (PSC). This paper proposes a novel metaheuristic MPPT called the Crow Search Algorithm (CSA) to ameliorate the tracking performance of a grid connected shaded PV system. The CSA is a nature inspired method based on the intelligent behaviors of crows in its search process for hidden food sources. This novel method succeeds to mitigate the adverse impacts of partial shading on the performance of PV systems by accurately tracking the GMPP. Based on the small-signal dynamic model, the stability of the proposed system is analyzed. Simulation results for three different levels of partial shading, including zero, weak, and severe shading, demonstrate the better performance of the suggested CSA compared to fuzzy logic controller (FLC) and Inc-Cond techniques. In fact, the comparison is carried out in terms of simplicity of implementation, high efficiency, and low power loss, decreasing considerably the convergence time.</p>
</abstract>
<kwd-group>
<kwd>global maximum power point tracking</kwd>
<kwd>photovoltaic system</kwd>
<kwd>crow search algorithm</kwd>
<kwd>partial shading conditions</kwd>
<kwd>small signal stability</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Solar Energy</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Renewable energy sources have a vital importance in electric power generation due to shortage and environmental impacts of conventional fuels. Several studies expect that more than 45% of the global energy supply will be generated by solar energy. However, the performance of photovoltaic (PV) system is strongly dependent on weather and climate change. Besides, a major interest has been given to the study of possible optimal autonomous exploitation of the PV source regardless the climatic conditions. In this framework, optimization algorithms are an appropriate tool for solving complex problems in the field of renewable energy systems. But the developed Maximum Power Point Tracking (MPPT) algorithms are frequently very reliant on the accuracy of the mathematical model in relation to the generator and on the weather, particularly if partial shading occurs. Partial shading results in power inefficiency and keeps a photovoltaic system from performing at its best. Authors in (<xref ref-type="bibr" rid="B7">Eltamaly et al., 2018</xref>) have classified MPPT methods into conventional, soft computing, and hybrid methods.</p>
<p>Conventional techniques like Incremental Conductance (IC), Extremum Seeking Control (ESC), Hill Climbing (HC), perturb and Observe (P&#x26;O), Fractional Short Circuit (FSC), Fractional Open Circuit (FOC) and others are effective when used in consistent temperature and irradiation conditions (<xref ref-type="bibr" rid="B2">Ahmed and Salam, 2015</xref>).</p>
<p>However, they fail to track the Maximum Power Point (MPP) under Partial Shading Conditions (PSC) caused by the non-uniform irradiation of the PV arrays. The problem becomes complex in shaded conditions since the PV array exhibits several local maxima (LMs) (<xref ref-type="bibr" rid="B15">Maki and Valkealahti, 2012</xref>). The current MPPT efficiency is reduced when there are multiple peaks because they can&#x2019;t distinguish the global maximum (GM) between the LMs.</p>
<p>In order to overcome the limitations of conventional techniques, soft computing techniques have been developed in literature. These methods comprise the metaheuristic and the artificial intelligence techniques. The application of intelligent algorithms is prevalent whether for system modeling, identification, or control. They may be considered as alternative solutions due to their flexibility to changes in system conditions, and their resilience to disturbances and modeling errors.</p>
<p>Authors in (<xref ref-type="bibr" rid="B13">Kermadi et al., 2020a</xref>) have developed a detailed review of shaded PV system MPPT algorithms. Concerning Artificial Intelligence (AI) based MPPT, an enhanced MPPT technique was proposed by Yilmaz et al. in (<xref ref-type="bibr" rid="B27">Yilmaz et al., 2019</xref>) to improve accuracy in PV systems under fluctuating atmospheric conditions. while Salah and Ouali (<xref ref-type="bibr" rid="B22">Salah and Ouali, 2011</xref>) compared a FLC and an artificial neural network (ANN) based techniques in maximum power point tracker for PV systems and confirmed through simulations result the superior performance and efficiency of FLC over ANN in tracking capabilities. Compared with conventional techniques these AI methods offer better performances and boost the PV energy production&#x2019;s efficiency as presented in (<xref ref-type="bibr" rid="B5">BOUNECHBA et al., 2014</xref>).</p>
<p>In spite of their advantages, these methods heavily rely on the specific attributes of the photovoltaic (PV) system and necessitate prior knowledge of the model specifications. According to Karatepe and Hiyama (<xref ref-type="bibr" rid="B12">Karatepe and Hiyama, 2009</xref>), both FLC and ANN exhibit limitations in effectively tracing the Global Maximum Power Point (GMPP) under PSCs.</p>
<p>Within this framework, numerous researchers have delved into the challenge of MPPT challenge using metaheuristic optimization techniques. High efficiency and a fair computational cost are guaranteed by these "smart&#x201d; procedures during the resolution process (<xref ref-type="bibr" rid="B25">Wang et al., 2020</xref>). Kermadi et al. proposed several of the most effective metaheuristic optimization techniques in the literature in (<xref ref-type="bibr" rid="B13">Kermadi et al., 2020a</xref>) as: Genetic Algorithm (GA), Particle Swarm Optimization (PSO), Artifcial Bee Colony (ABC), Bat Algorithm (BA), Grey Wolf Optimization, Cuckoo Search (CS), (GWO), Firefly Algorithm (FA), Flower Pollination Algorithm (FPA), and Dragonfy Optimization Algorithm (DFO), Firefly Algorithm (FA) and Whale Optimization Algorithm (WOA). These methods are able to decrease the deficiencies of AI-based and traditional MPPT techniques.</p>
<p>Shaiek et al. in (<xref ref-type="bibr" rid="B17">Miyatake et al., 2011</xref>) suggested A&#xa0;GA based MPPT technique for shaded PV systems and simulation results proved that the suggested method outperforms conventional methods in following the GMPP under PSCs. Miyatake et al. (<xref ref-type="bibr" rid="B10">Ishaque and Salam, 2012</xref>) introduced PSO for experimental MPPT studies, and many researchers suggested improvements in standard PSO technique including Deterministic PSO (DPSO) in (<xref ref-type="bibr" rid="B6">Chowdhury and Saha, 2010</xref>), Adaptive Perceptive PSO (APPSO) in (<xref ref-type="bibr" rid="B21">Ram and Rajasekar, 2017</xref>) and Leader PSO (LPSO) in (<xref ref-type="bibr" rid="B1">Ahmed and Salam, 2014</xref>). These modified PSO methods offer better performances, but they are extremely sophisticated including an important number of variables.</p>
<p>Combining simulation and experimental data, authors (<xref ref-type="bibr" rid="B23">Sundareswaran et al., 2014</xref>) verified the Cuckoo Search algorithm&#x2019;s (CS) ability to track GMPP under rapid changes of irradiance and temperature. In (<xref ref-type="bibr" rid="B20">Mohanty et al., 2015</xref>) an evolutionary ABC technique has been developed for a Photovoltaic Generator (PVG) under PSC while Mohanty et al. (<xref ref-type="bibr" rid="B11">Kaced et al., 2017</xref>) confirmed experimentally the efficacious application of GWO method for resistive and inductive loads under shade conditions.</p>
<p>Authors in (<xref ref-type="bibr" rid="B26">Wu and Yu, 2018</xref>) employed the BA method to address shading issues. Their work highlighted the performance of this technique to attain the GMPP as confirmed with validation in experiments as well as simulation. Authors in (<xref ref-type="bibr" rid="B16">Mirza et al., 2019</xref>), on the other hand, introduced an enhanced version of the Bat Algorithm (IBAT) for MPPT. This improvement involved the incorporation of an adaptive weight parameter, thereby enhancing the algorithm&#x2019;s capacity for global search. The modified algorithm ensured rapid and accurate GMPP tracking surpasses numerous other MPPT techniques. In (<xref ref-type="bibr" rid="B4">Balaji and Fathima, 2022</xref>), It has been observed by Mirza et al. that the majority of soft computing techniques in literature only address the basic Partial Shading (PS) problem, with little attention paid to the Dynamic partial Shading (DPS) problem. In order to address the PS and DPS concerns, they therefore proposed solutions for these bio-inspired soft computing-based methodologies by proposing ACOA, DFO, and GRNNFFOA MPPT techniques.</p>
<p>Despite the impressive advantages of the aforementioned meta-heuristic methods, the majority of them have limitations such as software complexity and numerous tuning variables. To address these problems, researchers proposed combining two approaches into a hybrid method that retains the merits of each (<xref ref-type="bibr" rid="B14">Lian et al., 2014</xref>). In (<xref ref-type="bibr" rid="B24">Sundareswaran et al., 2015</xref>) Lian et al. combined both P&#xa7;O and PSO algorithms in order to reduce the convergence time of the particles search space.</p>
<p>In the same vein, authors in (<xref ref-type="bibr" rid="B19">Mohamed et al., 2019</xref>), based on the advantages of P&#x26;O, ameliorated the GA response and proposed a hybrid GA-P&#x26;O technique under PSC. Mohamed et al. (<xref ref-type="bibr" rid="B3">Askarzadeh, 2016a</xref>) implemented PSO-GSA technique for tracking the GMPP and compared it to GWO, Moth-Flame Optimization (MFO) and Salp Swarm Algorithm (SSA) methods. Simulation results demonstrated the stability, success rate, and tracking efficiency of the suggested hybrid technique. Moreover, despite their excellent performances, the modified and the hybrid methods are more complex and increase the complexity of the system.</p>
<p>Among the methods mentioned earlier, a new population based metaheuristic algorithm called Crow Search Algorithm (CSA) has been developed by Askarzadeh (<xref ref-type="bibr" rid="B8">Hinojosa et al., 2018</xref>) to solve global optimization problem. This technique is derived from the food stealing behavior of crows (<xref ref-type="bibr" rid="B9">Houam et al., 2021</xref>).</p>
<p>Its promising results in global optimization issues have encouraged its application in solving real-nonlinear and multimodal optimization problems in various engineering fields.</p>
<p>Moreover, Moghaddam et al. has suggested CSA in (<xref ref-type="bibr" rid="B18">Moghaddam et al., 2019</xref>) for designing a stand-alone hybrid PV/wind/battery system. Houam et al. [29] have developed an efficient metaheuristic technique to control MPP of a partially shaded standalone PV systems using CSA and they exclusively analyze the stability of the PV generator. Motivated by the aforementioned limitations, the present paper proposes the development and the stability analysis of a two-stage grid connected shaded PV system. Tracking the GMPP of a shaded PV generator is optimized by an intelligent approach based on CSA and compared with both a conventional and an AI method.</p>
<p>The paper is structured as follows: <xref ref-type="sec" rid="s2">section 2</xref> presents the detailed mathematical model of the studied structure. Considering the dynamics of the PV generation, a small-signal model of a two-stage grid connected PV system was built in <xref ref-type="sec" rid="s3">section 3</xref>. The small-signal stability analysis method was used to analyze the influence of the PV generation. The effect of partial shading on PV characteristics and the theories of the Inc-Cond, the FLC and the suggested CSA based MPPT algorithms are introduced in <xref ref-type="sec" rid="s4">Section 4</xref> and <xref ref-type="sec" rid="s5">5</xref>, respectively. The simulation studies are performed and discussed in <xref ref-type="sec" rid="s6">Sections 6</xref>. Final conclusions are presented in <xref ref-type="sec" rid="s7">Section 7</xref>.</p>
</sec>
<sec id="s2">
<title>2 System modeling</title>
<p>In this study, a two stage connected converter system, as shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, is used. As the front stage to shift the PV output voltage to a high level for the grid-connected inverter. The power system consists of a shaded PV generator, a boost converter and a three-phase inverter.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>System configuration of a two-stage grid connected PV.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g001.tif"/>
</fig>
<sec id="s2-1">
<title>2.1 PV generator</title>
<p>The photovoltaic system under study consists of two PV arrays connected in series, with one of them being shaded. When subjected to uniform climatic conditions, the entire system generates a power output of 2000W. <xref ref-type="fig" rid="F2">Figure 2</xref> provides the P-V (power-voltage) and I-V (current-voltage) characteristics of the system and the used parameters of the studied PV system are shown in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>I-V and P-V characteristics of the PV system under nominal conditions.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g002.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Parameters of the solar module.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Parameter</th>
<th align="center">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Voltage at MPP VMPP</td>
<td align="center">26.3V</td>
</tr>
<tr>
<td align="center">Current at MPP IMPP</td>
<td align="center">7.61A</td>
</tr>
<tr>
<td align="center">Open circuit voltage Voc</td>
<td align="center">32.9V</td>
</tr>
<tr>
<td align="center">Short circuit current Isc</td>
<td align="center">8.21A</td>
</tr>
<tr>
<td align="center">Number of serial cells N</td>
<td align="center">54</td>
</tr>
<tr>
<td align="center">Number of parallel cells Np</td>
<td align="center">10</td>
</tr>
<tr>
<td align="center">Serial Resistance Rs</td>
<td align="center">0.001&#x2126;</td>
</tr>
<tr>
<td align="center">Parallel Resistance Rsh</td>
<td align="center">5&#x2126;</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The accurate model of a PV cell is very complicated, and some parameters are difficult to measure directly. Thus, it is not convenient for research and application. By simplifying calculation equations, a practical engineering model was used in this paper.</p>
<p>The current cell is described by:<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>sc</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>oc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>The expressions of C1 and C2are given by:<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>sc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msup>
<mml:mi>exp</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>oc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m3">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>oc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mi>Ln</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>sc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>Where Isc is the short-circuit current, Uoc is the open-circuit voltage, Im and Um are the current and the voltage at the maximum power, respectively.</p>
<p>The voltage and the current of PV array are written as:<disp-formula id="e4">
<mml:math id="m4">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">p</mml:mi>
</mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>Then the PV current is deduced as:<disp-formula id="e5">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">p</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>sc</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>oc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
</sec>
<sec id="s2-2">
<title>2.2 DC/DC converter</title>
<p>A boost converter controlled by a MPPT control system ensures the connection between the GPV and the DC bus. Its configuration is given in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Boost configuration.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g003.tif"/>
</fig>
<p>The output voltages and current of the boost converter during steady state are expressed as follows:<disp-formula id="e6">
<mml:math id="m6">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">D</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>The DC Bus capacitor voltage is given by:<disp-formula id="e7">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>where Ic is the capacitor current.</p>
</sec>
<sec id="s2-3">
<title>2.3 Gride side modeling</title>
<p>Assuming that the loss of both the boost converter and the inverter can be ignored. Then, the output power of a PV array is equal to the sum of the power of a DC capacitor and the output power of an inverter and in order to mitigate the harmonics injected into the grid, a filter comprising an inductance Lf is employed. The dynamic model of the grid is then given by<italic>:</italic>
<disp-formula id="e8">
<mml:math id="m8">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">&#x3c9;</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:msub>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:msub>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mi mathvariant="normal">q</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3c9;</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mo>.</mml:mo>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
<p>Where <inline-formula id="inf1">
<mml:math id="m9">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf2">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represent the d-q grid current components and <inline-formula id="inf3">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf4">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the d-q inverter voltage components.</p>
<p>The inverter&#x2019;s main objective is to regulate the voltage of the DC bus and manage the power exchanges with the grid. Additionally, controlling this converter allows for the establishment of currents at the frequency of the grid. The value of igq was set to zero. The voltage and current control equations were provided as Eq. <xref ref-type="disp-formula" rid="e9">9</xref>.<disp-formula id="e9">
<mml:math id="m13">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>id</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3c9;</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>iq</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3c9;</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
<p>
<xref ref-type="fig" rid="F4">Figure 4</xref> displays the configurations of voltage and current controllers.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Grid side controllers&#x2019; configuration.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g004.tif"/>
</fig>
</sec>
</sec>
<sec id="s3">
<title>3 Small signal stability analysis model of a two-stage PV grid-connected converter system</title>
<p>This part examines the stability of the PV power system under consideration. The entire small-signal model of the system is required for studying system stability. In fact, investigations of tiny signal stability are often based on a linearized system around an operational point. The dynamic system&#x2019;s differential equations are linearized, and the system eigenvalues are calculated using the characteristic equation.</p>
<p>The state variables of the controllers are introduced R<sub>dc</sub>, R<sub>id</sub> and R<sub>iq</sub> where:<disp-formula id="e10">
<mml:math id="m14">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>id</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>iq</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>Linearizing (1)&#x2013;(10) around steady-state values, the overall system&#x2019;s differential equations are provided by:<disp-formula id="e11">
<mml:math id="m15">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">A</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">B</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">u</mml:mi>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>Where:<disp-formula id="e12">
<mml:math id="m16">
<mml:mrow>
<mml:mi mathvariant="normal">X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mi mathvariant="normal">v</mml:mi>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>id</mml:mtext>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>iq</mml:mtext>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
<disp-formula id="e13">
<mml:math id="m17">
<mml:mrow>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>The eigenvalues of matrix A are defined as: .<disp-formula id="e14">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#xb1;</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c9;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>The oscillation frequency, Hz, and the damping ratio are given by:<disp-formula id="e15">
<mml:math id="m19">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="normal">f</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c9;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3be;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c3;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c9;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
</p>
<p>The derivation of the A and B matrices will be discussed in the following paragraph.</p>
<sec id="s3-1">
<title>3.1 Derivation for A and B matrices</title>
<p>
<disp-formula id="e16">
<mml:math id="m20">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mtext>dUdc</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">p</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>sc</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>oc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mi mathvariant="normal">v</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>id</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>id</mml:mtext>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>id</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>id</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>iq</mml:mtext>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>iq</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>iq</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>Linearizing (10) and (16) around steady-state values, (17) is given by:<disp-formula id="e17">
<mml:math id="m21">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>Udc</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">p</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>sc</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>oc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>Udc</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>id</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>iq</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>id</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mtext>dt</mml:mtext>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gq</mml:mtext>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mtext>iq</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
</p>
<p>Thus, the state matrix A and the output matrix B are as follows:<disp-formula id="e18">
<mml:math id="m22">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">p</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>sc</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>oc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">v</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</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:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</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:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mfrac>
</mml:mtd>
<mml:mtd>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mfrac>
</mml:mtd>
<mml:mtd>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</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:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
<disp-formula id="e19">
<mml:math id="m23">
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mtext>gd</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mtext>dc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</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:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</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:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
</p>
<p>
<xref ref-type="table" rid="T2">Table 2</xref> shows the parameters of the explored system. The eigenvalues of the state matrix A are computed as shown in <xref ref-type="table" rid="T3">Table 3</xref> Five eigenvalues were obtained with negative real part. According to Lyapunov, this system is small signal marginally stable.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Studied system parameters.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Parameter</th>
<th align="center">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Boost converter capacity Cpv</td>
<td align="center">220&#xa0;&#xb5;F</td>
</tr>
<tr>
<td align="center">Boost converter inductance Lpv</td>
<td align="center">1.8&#xa0;mH</td>
</tr>
<tr>
<td align="center">DC bus capacitor Cdc</td>
<td align="center">80,010&#x2013;6&#xa0;F</td>
</tr>
<tr>
<td align="center">Grid Inductance Lf</td>
<td align="center">0.16&#xa0;H</td>
</tr>
<tr>
<td align="center">Proportional Constant Kp1,Kp2</td>
<td align="center">1,000</td>
</tr>
<tr>
<td align="center">Integral Constant KI1,KI2</td>
<td align="center">24</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>State matrix eigenvalues.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Eigenvalues</th>
<th align="center">Values</th>
<th align="center">Oscillation frequency</th>
<th align="center">Damping ratio</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<inline-formula id="inf5">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">&#x2212;25030 &#x2b; 26140i</td>
<td align="center">4160.3</td>
<td align="center">&#x2212;0.6916</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf6">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">&#x2212;25030-26140i</td>
<td align="center">4160.3</td>
<td align="center">&#x2212;0.6916</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf7">
<mml:math id="m26">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf8">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf9">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf10">
<mml:math id="m29">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">&#x2212;50000</td>
<td align="center">0</td>
<td align="center">1</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s4">
<title>4 Effect of partial shading on PV characteristics</title>
<p>The issue of shading arises when different lighting conditions expose the system. It is important to note that the systems electrical performance depends on both the cell specifications and the conditions of irradiation. Shaded modules, acting as a load utilize a portion of the generated power, that influences the behavior of the system leading potentially to hot spot problems.</p>
<p>Hot spotting represent a performance concern, in PV modules where certain solar cells become significantly heated due to mismatches resulting in reduced output power. This phenomenon occurs when dividual cells or groups of them operate at aberrant temperatures and activate at bias, squandering the power that was intended to provide the stimulus. Additionally, these hot areas cause PV panels to age and can sustain irreversible damage. To mitigate spotting effects bypass diodes are commonly employed in parallel, with PV modules. The purpose is to raise the total short circuit current and open circuit voltage by limiting the reverse voltage across spotted or shaded solar cells.</p>
<p>Two irradiations are simulated for the system under study: G1 and G2. The I-V and P-V characteristics, which consist of two extremums, are displayed in <xref ref-type="fig" rid="F5">Figure 5</xref>. It is observed that the second generator&#x2019;s illumination has an impact on the system&#x2019;s overall appearance, especially on the second extremum, which may represent a Local Maximum (LM) or a Global Maximum (GM).</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Characteristics of the studied Shaded PV generator <bold>(A)</bold> I-V Characteristic <bold>(B)</bold> P-V Characteristic.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g005.tif"/>
</fig>
</sec>
<sec id="s5">
<title>5 Implementation of MPPT methods for optimization problem</title>
<sec id="s5-1">
<title>5.1 Inc-Cond technique</title>
<p>The Inc-Cond technique is the commonly employed MPPT method. It adjust continuously the output voltage of the generator by comparing the instantaneous conductance <inline-formula id="inf11">
<mml:math id="m30">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> to its negative local variation <inline-formula id="inf12">
<mml:math id="m31">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> in order to regulate the operating point on the I-V characteristic to the MPP corresponding voltage.</p>
</sec>
<sec id="s5-2">
<title>5.2 Fuzzy MPPT controller</title>
<p>Given that the fuzzy logic approach is acknowledged as a model-free technique, dealing with imprecise inputs and handling non-linearity, the FLC based MPPT strategy is developed to improve the PV response.</p>
<p>The inputs and variables of the suggested controller are: <inline-formula id="inf13">
<mml:math id="m32">
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf14">
<mml:math id="m33">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">E</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, given by Eqs <xref ref-type="disp-formula" rid="e3">3</xref>, <xref ref-type="disp-formula" rid="e4">4</xref>, where P<sub>pv</sub> (n) and V<sub>pv</sub> (n) represent the output power and voltage of the PV generator at the sampling instant n.<disp-formula id="e20">
<mml:math id="m34">
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
<disp-formula id="e21">
<mml:math id="m35">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2010;</mml:mo>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
<mml:mo>&#x2010;</mml:mo>
<mml:mo>1</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>
</p>
<p>The fuzzification step, requires seven fuzzy levels called NB (negative big), NM (negative medium), NS (negative small), ZE (zero), PS (positive small), PM (positive medium) and PB (positive big).</p>
<p>The memberships functions of the input and output variables are given in <xref ref-type="fig" rid="F6">Figure 6</xref>.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Membership functions <bold>(A)</bold> input variable E(n) <bold>(B)</bold> input variable &#x394; E(n) <bold>(C)</bold> output variable &#x3b1;.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g006.tif"/>
</fig>
<p>
<xref ref-type="table" rid="T4">Table 4</xref> presents the 49 fuzzy rules used in the FLC inference approach.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>The fuzzy controller&#x2019;s forty-nine rules.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">
<inline-formula id="inf15">
<mml:math id="m36">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th colspan="8" align="center">
<inline-formula id="inf16">
<mml:math id="m37">
<mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="8" align="center">
<inline-formula id="inf17">
<mml:math id="m38">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left"/>
<td align="center">NB</td>
<td align="center">NM</td>
<td align="center">NS</td>
<td align="center">ZE</td>
<td align="center">PS</td>
<td align="center">PM</td>
<td align="center">PB</td>
</tr>
<tr>
<td align="center">NB</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">NB</td>
<td align="center">NB</td>
<td align="center">NB</td>
<td align="center">NB</td>
</tr>
<tr>
<td align="center">NM</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">NM</td>
<td align="center">NM</td>
<td align="center">NM</td>
<td align="center">NM</td>
</tr>
<tr>
<td align="center">NS</td>
<td align="center">NS</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">NS</td>
<td align="center">NS</td>
<td align="center">NS</td>
<td align="center">NS</td>
</tr>
<tr>
<td align="center">ZE</td>
<td align="center">NM</td>
<td align="center">NS</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">PS</td>
<td align="center">PM</td>
</tr>
<tr>
<td align="center">PS</td>
<td align="center">PM</td>
<td align="center">PS</td>
<td align="center">PS</td>
<td align="center">PS</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
</tr>
<tr>
<td align="center">PM</td>
<td align="center">PM</td>
<td align="center">PM</td>
<td align="center">PM</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
</tr>
<tr>
<td align="center">PB</td>
<td align="center">PB</td>
<td align="center">PB</td>
<td align="center">PB</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
<td align="center">ZE</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5-3">
<title>5.3 Crow search algorithm</title>
<p>Crows are considered as highly intelligent birds, which are able to evoke faces and inform each other when an inauspicious one approaches. They exhibit remarkable abilities to sophisticated communication techniques and long-term memories, allowing them to recall their food&#x2019;s hiding place. Moreover, crows tracks other crows or birds to discover the location of their hidden food in order to steal it. Conversely, when a crow becomes aware of being tracked, it resorts to changing its position to deceive others and maintain the secrecy of its own hidden food.</p>
<p>This paper introduces a newly developed population-based metaheuristic algorithm called CSA based on the intelligent behaviors mentioned earlier.</p>
<p>The following is a summary of the CSA&#x2019;s tenets:<list list-type="simple">
<list-item>
<p>&#x2022; Crows live in flocks and memorize the locations of their hiding spots.</p>
</list-item>
<list-item>
<p>&#x2022; Crows stalk people to smuggle food from them.</p>
</list-item>
<list-item>
<p>&#x2022; Crows conceal their food by moving in unpredictable ways.</p>
</list-item>
<list-item>
<p>
<bold>Step 1:</bold> Setting up changeable parameters and decision variables</p>
</list-item>
</list>
</p>
<def-list>
<title>Decision variables are defined for the optimization problem, and the values of the CSA&#x2019;s adjustable parameters (N, fl, itermax, and AP) are found where:</title>
</def-list>
<p>N: size of flock.</p>
<p>the greatest number of iterations, or itermax.</p>
<p>fl stands for flight length.<list list-type="simple">
<list-item>
<p>
<bold>Step2:</bold> Initialization of crows&#x2019; position and memory</p>
</list-item>
</list>
</p>
<p>In a one-dimensional environment including N crows randomly positioned, each decision variables, is characterized by a position <inline-formula id="inf18">
<mml:math id="m39">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and a memory <inline-formula id="inf19">
<mml:math id="m40">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> for a specified iteration k.<disp-formula id="e22">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
<disp-formula id="e23">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>
</p>
<p>Every crow&#x2019;s memory is initialized with the presumption that they have concealed their food at their original locations.<list list-type="simple">
<list-item>
<p>
<bold>Step3:</bold> evaluation of fitness function position and memory</p>
</list-item>
</list>
</p>
<p>The quality of the initial position is evaluated through a fitness function.<list list-type="simple">
<list-item>
<p>
<bold>Step4:</bold> Generation of new position</p>
</list-item>
</list>
</p>
<p>In order to generate a new position and assuming that at at iteration k crow i tries to follow crow j to identify its hidden location of food. At this moment, depending on the value of the AP parameter, the position of crows are updated as follow:</p>
<p>State1: <inline-formula id="inf20">
<mml:math id="m43">
<mml:mrow>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mtext>AP</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
<p>Where r is a random number varying between [0 1].</p>
<p>This situation signifies that crow j is unconscious that crow i is following it hence the position of crow i at an iteration (k&#x2b;1) is updated according to the following equation:<disp-formula id="e24">
<mml:math id="m44">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mtext>fl</mml:mtext>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>
</p>
<p>State2: <inline-formula id="inf21">
<mml:math id="m45">
<mml:mrow>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mtext>AP</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
<p>During this state, crow j is conscious that crow i is following it so it tries to trick it by moving randomly in the research space referring to the given equation:.<disp-formula id="equ1">
<mml:math id="m46">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mo>:</mml:mo>
<mml:mtext>random&#x2002;location</mml:mtext>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>The schematic of the update states and the effect of fl on the search capability are described in <xref ref-type="fig" rid="F7">Figure 7</xref>.<list list-type="simple">
<list-item>
<p>
<bold>Step 5:</bold> Assessment of the fitness function for newly created positions</p>
</list-item>
</list>
</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Intelligent movement for the crows <bold>(A)</bold> fl &#x3c; 1 <bold>(B)</bold> fl &#x3e; 1.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g007.tif"/>
</fig>
<p>After updating the position of each crow, the objective function of each new position is evaluated.<list list-type="simple">
<list-item>
<p>
<bold>Step 6:</bold> update memory</p>
</list-item>
</list>
</p>
<p>The fitness values for each vector, both past and present, are used to update the memory. as follows:<disp-formula id="e25">
<mml:math id="m47">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mtext>&#x2003;if&#x2002;fitness</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mtext>fitness</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
<mml:mtext>&#x2003;otherwise</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>
</p>
<p>The four initial values of the vectors positions and memory are applied successively.</p>
<p>They are given by:<disp-formula id="e26">
<mml:math id="m48">
<mml:mrow>
<mml:msubsup>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mn>1</mml:mn>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mn>2</mml:mn>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mn>3</mml:mn>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mn>4</mml:mn>
<mml:mn>0</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>0.2</mml:mn>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mn>0.4</mml:mn>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mn>0.6</mml:mn>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mn>0.8</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>oc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>
<disp-formula id="e27">
<mml:math id="m49">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mn>1</mml:mn>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mn>2</mml:mn>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mn>3</mml:mn>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mn>4</mml:mn>
<mml:mn>0</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>0.2</mml:mn>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mn>0.4</mml:mn>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mn>0.6</mml:mn>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mn>0.8</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>oc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>
</p>
<p>The evaluation of the quality of initial positions is computed by using the expression of the fitness function below:<disp-formula id="e28">
<mml:math id="m50">
<mml:mrow>
<mml:msubsup>
<mml:msub>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pvi</mml:mtext>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">I</mml:mi>
<mml:mtext>pv</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>
</p>
<p>The boost converter&#x2019;s duty cycle and output voltage are correlated in the following way:<disp-formula id="e29">
<mml:math id="m51">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pvi</mml:mtext>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>oc</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>
</p>
<p>To update the positions and the memory of the four crows the expressions below are used:<disp-formula id="e30">
<mml:math id="m52">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pvi</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pvi</mml:mtext>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mtext>fl</mml:mtext>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pvi</mml:mtext>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>&#x2003;if&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mtext>AP</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mtext>&#x2003;if&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mtext>AP</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>
</p>
<p>In reality, the CSA needs to be reinitialized to find the new MPP in such circumstances of abrupt changes in the operating point brought on by variations in solar insolation. If this procedure is not followed, the global maximum and the local one cannot be updated automatically. The suggested criterion to reinitialize the MPPT technique is realized using variations in output voltage and output power as explained by Eqs <xref ref-type="disp-formula" rid="e31">(31)</xref>, <xref ref-type="disp-formula" rid="e32">(32</xref>) respectively.<disp-formula id="e31">
<mml:math id="m53">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="" close="|" separators="|">
<mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pvi</mml:mtext>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mtext>pvi</mml:mtext>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">V</mml:mi>
</mml:mrow>
</mml:math>
<label>(31)</label>
</disp-formula>
<disp-formula id="e32">
<mml:math id="m54">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="" close="|" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mtext>pv</mml:mtext>
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mtext>pv</mml:mtext>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mtext>pv</mml:mtext>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msubsup>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="normal">P</mml:mi>
</mml:mrow>
</mml:math>
<label>(32)</label>
</disp-formula>
</p>
<p>
<xref ref-type="fig" rid="F8">Figure 8</xref> shows the different CSA implementation processes for global optimization problem-based MPPT.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Flowchart of the proposed CSA technique.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g008.tif"/>
</fig>
</sec>
</sec>
<sec sec-type="results|discussion" id="s6">
<title>6 Results and discussion</title>
<p>In order to demonstrate the effectiveness of the suggested CSA technique in mitigating the negative impacts of PSC on the MPPT controller&#x2019;s performance in grid connected PV system, simulation studies using MATLAB/SIMULINK environment have been carried out. These studies encompassed three distinct partial shading scenarios. The tuned parameters of the proposed methods are displayed in <xref ref-type="table" rid="T5">Table 5</xref>. Three simulation scenarios were selected to assess the efficiency of the CSA-based MPPT technique in comparison with the Inc-Cond and FLC-based MPPT techniques, as depicted in <xref ref-type="fig" rid="F9">Figure 9</xref>.<list list-type="simple">
<list-item>
<p>&#x2022; First scenario: Under this specific scenario, both PVG1 and PVG2 experience identical uniform irradiation levels of 1000W/m<sup>2</sup>.</p>
</list-item>
<list-item>
<p>&#x2022; Second scenario: In this particular situation, partial shading is introduced to PVG2.<bold>:</bold> The PVG1 is exposed to 1000w/m<sup>2</sup> while the second PVG is subjected to 600 w/m<sup>2</sup>.</p>
</list-item>
<list-item>
<p>&#x2022; Third scenario: This case involves evaluating the proposed CSA-based MPPT technique under suddenly variation of the illumination.</p>
</list-item>
</list>
</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Tuning parameters of the proposed MPPT methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Inc-Cond (ms)</th>
<th align="center">FLC (ms)</th>
<th align="center">CSA</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Ts &#x3d; 20</td>
<td align="center">Ts &#x3d; 20</td>
<td align="center">AP &#x3d; 0.02</td>
</tr>
<tr>
<td align="left"/>
<td align="left"/>
<td align="center">Fl &#x3d; 1.5</td>
</tr>
<tr>
<td align="left"/>
<td align="left"/>
<td align="center">Ts &#x3d; 20&#xa0;ms</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Illumination cases <bold>(A)</bold>. First case, <bold>(B)</bold> second case <bold>(C)</bold> Third case.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g009.tif"/>
</fig>
<p>The P-V characteristics of the PVG under various circumstances are displayed in <xref ref-type="fig" rid="F10">Figure 10</xref>.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>P-V characteristics of the PVG under different cases.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g010.tif"/>
</fig>
</sec>
<sec id="s7">
<title>7 Discussion and analysis</title>
<p>Based on the acquired simulation results which are shown in <xref ref-type="fig" rid="F11">Figures 11</xref>&#x2013;<xref ref-type="fig" rid="F13">13</xref> an accurate comparison study between the three proposed algorithms is explained in <xref ref-type="table" rid="T6">Table 6</xref>. The bold value provided in <xref ref-type="table" rid="T6">Table 6</xref> represent the extracted power and the mismatch power loss of the studied CSA method. The performance indices considered include the extracted Pv power and the mismatch power loss (MML) which is given by:<disp-formula id="e33">
<mml:math id="m55">
<mml:mrow>
<mml:mtext>MML</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>Maximum</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>Extracted</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>Power</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
</mml:mrow>
</mml:math>
<label>(33)</label>
</disp-formula>
</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Simulated System responses under case (1). <bold>(A)</bold> Inc-Cond <bold>(B)</bold> FLC <bold>(C)</bold> CSA.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g011.tif"/>
</fig>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Simulated System responses under case (2) <bold>(A)</bold> Inc-Cond <bold>(B)</bold> FLC <bold>(C)</bold> CSA.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g012.tif"/>
</fig>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Simulated System responses under case (3) <bold>(A)</bold> Inc-Cond <bold>(B)</bold> FLC <bold>(C)</bold> CSA.</p>
</caption>
<graphic xlink:href="fenrg-12-1381376-g013.tif"/>
</fig>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>statistical results of the used MPPT methods in the critical case 3 of PSC.</p>
</caption>
<table>
<thead>
<tr>
<td rowspan="2" colspan="2" align="center"/>
<td rowspan="2" align="center">Case1</td>
<td rowspan="2" align="center">Case2</td>
<td colspan="2" align="center">Case3</td>
</tr>
<tr>
<td align="center">(0-1)s</td>
<td align="center">(1-2)s</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td colspan="2" align="left">
<bold>GMPP</bold>
</td>
<td align="center">2000</td>
<td align="center">1256</td>
<td align="center">1256</td>
<td align="center">966</td>
</tr>
<tr>
<td rowspan="3" align="center">
<bold>PMPP</bold>
</td>
<td align="center">
<bold>CSA</bold>
</td>
<td align="center">
<bold>2000</bold>
</td>
<td align="center">
<bold>1256</bold>
</td>
<td align="center">
<bold>1256</bold>
</td>
<td align="center">
<bold>966</bold>
</td>
</tr>
<tr>
<td align="center">
<bold>FLC</bold>
</td>
<td align="center">1950</td>
<td align="center">960</td>
<td align="center">960</td>
<td align="center">960</td>
</tr>
<tr>
<td align="center">
<bold>Inc-Cond</bold>
</td>
<td align="center">1980</td>
<td align="center">960</td>
<td align="center">960</td>
<td align="center">960</td>
</tr>
<tr>
<td rowspan="3" align="center">
<bold>MML</bold>
</td>
<td align="center">
<bold>CSA</bold>
</td>
<td align="center">
<bold>100%</bold>
</td>
<td align="center">
<bold>56.52%</bold>
</td>
<td align="center">
<bold>56.52%</bold>
</td>
<td align="center">
<bold>100%</bold>
</td>
</tr>
<tr>
<td align="center">
<bold>FLC</bold>
</td>
<td align="center">97.5%</td>
<td align="center">43.20%</td>
<td align="center">43.20%</td>
<td align="center">43.20%</td>
</tr>
<tr>
<td align="center">
<bold>Inc-Cond</bold>
</td>
<td align="center">99%</td>
<td align="center">43.20%</td>
<td align="center">43.20%</td>
<td align="center">43.20%</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<bold>Case (1):</bold> In this case, PVG1 and PVG2 are subjected to the same uniform irradiation (1000W/m<sup>2</sup>). The P&#x2013;V characteristic exhibits a singular GMPP peak at 2000W as presented in <xref ref-type="fig" rid="F10">Figure 10</xref>. CSA method achieved after 0.31Sec the GMPP at 2000 W, without any steady state oscillations, while FLC and Inc-Cond methods reached 1950W and 1980W respectively after 0.68 s and.0.65&#xa0;s with small steady state oscillations. It is noted that the response of CSA technique presents also less oscillations in the transient phase compared to that generated by other methods. Comparing to Inc&#x2013;Cond and FLC methods, the CSA technique is more accurate, in fact the rate of oscillation and fluctuation noted in the response is reduced.</p>
<p>
<bold>Case (2):</bold> the PVG1 is exposed to 1000w/m2 while the second PVG is subjected to 600 w/m2. This case yielded two peaks on the P&#x2013;V curve as presented in <xref ref-type="fig" rid="F10">Figure 10</xref>: the first one is a LMPP at 966w and the second one is a GMPP at 1256w. <xref ref-type="fig" rid="F12">Figure 12</xref> shows that CSA method converged to the GMPP of 1256&#xa0;W after 0.49&#xa0;s while both FLC and Inc_Cond stuck around the LMPP, they stopped at the first peak encountered. The FLC converged to 960w after 0.4s while the conventional Inc Cond reached 950W after 0.2s. Therefore, only the first local or global maximum&#x2014;that is considered as the maximum power point for the shaded system&#x2014;is achieved by these techniques, and they are unable to reach the global maximum if it is situated at the second level.</p>
<p>
<bold>Case (3):</bold> In this case, there are two sequences in the variation&#x2019;s illumination scenario shown in <xref ref-type="fig" rid="F9">Figure 9C</xref>. While the value of G2 varies from 600W/m2 to 400W/m2 at t &#x3d; 1s, value of G1 is kept constant at 1000w/m2. Two GMPP are present in the PV characteristics. The first one is on the right side with 1256w and the second one is in the left side with 966w. The CSA technique succeeds in reaching the GMPP in every sequence and its response varies from 1256w to 966w.</p>
<p>It is clear from the above discussion that both Inc-Cond and FLC remain fixed around the LMPP, which is always powered lower than the GMPP. This significantly lowers the power provided by the PV system and contributes to the hot spot that forms on the shaded PV modules.</p>
</sec>
<sec sec-type="conclusion" id="s8">
<title>8 Conclusion</title>
<p>This present paper introduces the Crow Search Algorithm (CSA), a meta-heuristic optimization technique designed to address the adverse impacts of partial shading on the accurate pursuing the optimal maximum power point in a two stage grid connected PV system. A small-signal model of the studied system was considered to analyze the stability using Lyaponov function. The digital simulation results illustrated the exceptional capability of CSA technique in effectively tracking the GMPP across three different partial shading scenarios. Despite the dynamic shifts in climatic conditions, the recommended CSA technique demonstrated remarkable effectiveness in tracking the GMPP even in intricate shading scenarios. The CSA technique reduces the total power loss and extracts the maximum power from the studied PVG. The obtained results of the latter MPPT method are compared also with the FLC and Inc-Cond methods and they recorded better performance in terms of mismatch power loss with an average of 78.26%, for the three scenarios of simulation, whereas 56.77% and 57.15% were recorded for FLC and Inc-Cond techniques. Ultimately, a qualitative assessment utilizing statistical analysis validated the superior performance of the CSA technique.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s9">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary materials, further inquiries can be directed to the corresponding authors.</p>
</sec>
<sec id="s10">
<title>Author contributions</title>
<p>MB: Conceptualization, Formal Analysis, Investigation, Methodology, Resources, Software, Writing&#x2013;original draft, Writing&#x2013;review and editing. AA: Conceptualization, Formal Analysis, Investigation, Methodology, Validation, Visualization, Writing&#x2013;original draft, Writing&#x2013;review and editing. AS: Formal Analysis, Investigation, Methodology, Resources, Software, Validation, Writing&#x2013;original draft, Writing&#x2013;review and editing, Writing&#x2013;review and editing. IH: Formal Analysis, Funding acquisition, Investigation, Methodology, Resources, Validation, Writing&#x2013;original draft, Writing&#x2013;review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s11">
<title>Funding</title>
<p>The author(s) declare financial support was received for the research, authorship, and/or publication of this article. This research was funded by the Norwegian University of Science and Technology.</p>
</sec>
<ack>
<p>The authors would like to acknowledge the support of the Norwegian University of Science and Technology for paying the Article Processing Charges (APC) of this publication. The authors would like to thank Prince Sultan University, Riyadh, Saudi Arabia for their support. Special acknowledgment to Automated Systems and Soft Computing Lab (ASSCL), Prince Sultan University, Riyadh, Saudi Arabia. In addition, the authors wish to acknowledge the editor and anonymous reviewers for their insightful comments, which have improved the quality of this publication.</p>
</ack>
<sec sec-type="COI-statement" id="s12">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s13">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ahmed</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Salam</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>A maximum power point tracking (MPPT) for PV system using cuckoo search with partial shading capability</article-title>. <source>Appl. Energy</source> <volume>119</volume>, <fpage>118</fpage>&#x2013;<lpage>130</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2013.12.062</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ahmed</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Salam</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>A critical evaluation on maximum power point tracking methods for partial shading in PV systems</article-title>. <source>Renew. Sustain Energy Rev.</source> <volume>47</volume>, <fpage>933</fpage>&#x2013;<lpage>953</lpage>. <pub-id pub-id-type="doi">10.1016/j.rser.2015.03.080</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Askarzadeh</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016a</year>). <article-title>A novel metaheuristic method for solving constrained engineering optimization problems: crow searchalgorithm</article-title>. <source>Comput. Struct.</source> <volume>169</volume>, <fpage>1</fpage>&#x2013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1016/j.compstruc.2016.03.001</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Balaji</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Fathima</surname>
<given-names>A. P.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Hybrid algorithm for MPPT tracking using a single current sensor for partially shaded PV systems</article-title>. <source>Sustain. Energy Technol. Assessments</source> <volume>53</volume>, <fpage>102415</fpage>. <pub-id pub-id-type="doi">10.1016/j.seta.2022.102415</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bounechba</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Bouzid</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Nabti</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Benalla</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Comparison of perturb and observe and fuzzy logic in maximum power point tracker for PV systems</article-title>. <source>Energy Procedia</source> <volume>50</volume>, <fpage>677</fpage>&#x2013;<lpage>684</lpage>. <pub-id pub-id-type="doi">10.1016/j.egypro.2014.06.083</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chowdhury</surname>
<given-names>S. R.</given-names>
</name>
<name>
<surname>Saha</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Maximum power point tracking of partially shaded solar photovoltaic arrays</article-title>. <source>Sol. Energy Mater Sol. Cells</source> <volume>94</volume> (<issue>9</issue>), <fpage>1441</fpage>&#x2013;<lpage>1447</lpage>. <pub-id pub-id-type="doi">10.1016/j.solmat.2010.04.011</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Eltamaly</surname>
<given-names>A. M.</given-names>
</name>
<name>
<surname>Farh</surname>
<given-names>H. M.</given-names>
</name>
<name>
<surname>Othman</surname>
<given-names>M. F.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A novel evaluation index for the photovoltaic maximum power point tracker techniques</article-title>. <source>Sol. Energy</source> <volume>174</volume>, <fpage>940</fpage>&#x2013;<lpage>956</lpage>. <pub-id pub-id-type="doi">10.1016/j.solener.2018.09.060</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hinojosa</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Oliva</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Cuevas</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Pajares</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Avalos</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>G&#xe1;lvez</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Improving multi-criterion optimization with chaos: a novel multi-objective chaotic crow search algorithm</article-title>. <source>Neural Comput.</source> <volume>29</volume> (<issue>8</issue>), <fpage>319</fpage>&#x2013;<lpage>335</lpage>. <pub-id pub-id-type="doi">10.1007/s00521-017-3251-x</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Houam</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Terki</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Bouarroudj</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>An efficient metaheuristic technique to control the maximum power point of a partially shaded photovoltaic system using crow search algorithm (CSA)</article-title>. <source>J. Electr. Eng. Technol.</source> <volume>16</volume>, <fpage>381</fpage>&#x2013;<lpage>402</lpage>. <pub-id pub-id-type="doi">10.1007/s42835-020-00590-8</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ishaque</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Salam</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>A deterministic particle swarm optimization maximum power point tracker for photovoltaic system under partial shading condition</article-title>. <source>IEEE Trans. Ind. Electron</source> <volume>60</volume> (<issue>8</issue>), <fpage>1</fpage>&#x2013;<lpage>3206</lpage>. <pub-id pub-id-type="doi">10.1109/tie.2012.2200223</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kaced</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Larbes</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Ramzan</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Bounabi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Dahmane</surname>
<given-names>Z. e.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Bat algorithm based maximum power point tracking for photovoltaic system under partial shading conditions</article-title>. <source>Sol. Energy</source> <volume>158</volume>, <fpage>490</fpage>&#x2013;<lpage>503</lpage>. <pub-id pub-id-type="doi">10.1016/j.solener.2017.09.063</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Karatepe</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Hiyama</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Artificial neural network-polar coordinated fuzzy controller based maximum power point tracking control under partially shaded conditions</article-title>. <source>IET Renew. Power Gener.</source> <volume>3</volume> (<issue>2</issue>), <fpage>239</fpage>&#x2013;<lpage>253</lpage>. <pub-id pub-id-type="doi">10.1049/iet-rpg:20080065</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kermadi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Salam</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Eltamaly</surname>
<given-names>A. M.</given-names>
</name>
<name>
<surname>Ahmed</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Mekhilef</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Larbes</surname>
<given-names>C.</given-names>
</name>
<etal/>
</person-group> (<year>2020a</year>). <article-title>Recent developments of MPPT techniques for PV systems under partial shading conditions: a critical review and performance evaluation</article-title>. <source>IET Renew. Power Gener.</source> <volume>14</volume> (<issue>17</issue>), <fpage>3401</fpage>&#x2013;<lpage>3417</lpage>. <pub-id pub-id-type="doi">10.1049/iet-rpg.2020.0454</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lian</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Jhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Tian</surname>
<given-names>I.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>A maximum power point tracking method based on perturb-and-observe combined with particleswarm optimization</article-title>. <source>IEEE J. Photovolt.</source> <volume>4</volume> (<issue>2</issue>), <fpage>626</fpage>&#x2013;<lpage>633</lpage>. <pub-id pub-id-type="doi">10.1109/jphotov.2013.2297513</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Maki</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Valkealahti</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Power losses in long string and parallel-connected short strings of series-connected silicon-based photovoltaic modules due to partial shading conditions</article-title>. <source>IEEE Trans. Energy Convers.</source> <volume>27</volume>, <fpage>173</fpage>&#x2013;<lpage>183</lpage>. <pub-id pub-id-type="doi">10.1109/tec.2011.2175928</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mirza</surname>
<given-names>A. F.</given-names>
</name>
<name>
<surname>Ling</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Javed</surname>
<given-names>M. Y.</given-names>
</name>
<name>
<surname>Mansoor</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Novel MPPT techniques for photovoltaic systems under uniform irradiance and Partial shading</article-title>. <source>Sol. Energy</source> <volume>184</volume>, <fpage>628</fpage>&#x2013;<lpage>648</lpage>. <pub-id pub-id-type="doi">10.1016/j.solener.2019.04.034</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Miyatake</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Veerachary</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Toriumi</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Fujii</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Ko</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Maximum power point tracking of multiple photovoltaic arrays: a PSO approach</article-title>. <source>IEEE Trans. Aerosp. Electron Syst.</source> <volume>47</volume> (<issue>1</issue>), <fpage>367</fpage>&#x2013;<lpage>380</lpage>. <pub-id pub-id-type="doi">10.1109/taes.2011.5705681</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Moghaddam</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Bigdeli</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Moradlou</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Siano</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Designing of standalone hybrid PV/wind/battery system using improved crow search algorithm considering reliability index</article-title>. <source>Int. J. Energy Environ. Eng.</source> <volume>10</volume> (<issue>4</issue>), <fpage>429</fpage>&#x2013;<lpage>449</lpage>. <pub-id pub-id-type="doi">10.1007/s40095-019-00319-y</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mohamed</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Diab</surname>
<given-names>A. A. Z.</given-names>
</name>
<name>
<surname>Rezk</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Partial shading mitigation of PV systems via different meta-heuristic techniques</article-title>. <source>RenewEnergy</source> <volume>130</volume>, <fpage>1159</fpage>&#x2013;<lpage>1175</lpage>. <pub-id pub-id-type="doi">10.1016/j.renene.2018.08.077</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Mohanty</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Subudhi</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Ray</surname>
<given-names>P. K.</given-names>
</name>
</person-group> (<year>2015</year>). <source>A new MPPT design using grey wolf optimization technique for photovoltaic system under partial</source>.</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ram</surname>
<given-names>J. P.</given-names>
</name>
<name>
<surname>Rajasekar</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A new robust, mutated and fast tracking LPSO method for solar PV maximum power point tracking under partial shaded conditions. 201:45&#x2013;59</article-title>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2017.05.102</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Salah</surname>
<given-names>C. B.</given-names>
</name>
<name>
<surname>Ouali</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Comparison of fuzzy logic and neural network in maximum power point tracker for PV systems</article-title>. <source>Electr. Power Syst. Res.</source> <volume>81</volume> (<issue>1</issue>), <fpage>43</fpage>&#x2013;<lpage>50</lpage>. <pub-id pub-id-type="doi">10.1016/j.epsr.2010.07.005</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sundareswaran</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Sankar</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Nayak</surname>
<given-names>P. S. R.</given-names>
</name>
<name>
<surname>Simon</surname>
<given-names>S. P.</given-names>
</name>
<name>
<surname>Palani</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Enhanced energy output from a PV system under partial shaded conditions through artificial bee Colony</article-title>. <source>IEEE Trans. Sustain Energy</source> <volume>6</volume> (<issue>1</issue>), <fpage>198</fpage>&#x2013;<lpage>209</lpage>. <pub-id pub-id-type="doi">10.1109/tste.2014.2363521</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sundareswaran</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Vigneshkumar</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Palani</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Development of a hybrid genetic algorithm/perturb and observe algorithm for maximum power point tracking in photovoltaic systems under non-uniform insolation</article-title>. <source>IET Renew. Power Gen.</source> <volume>9</volume> (<issue>7</issue>), <fpage>757</fpage>&#x2013;<lpage>765</lpage>. <pub-id pub-id-type="doi">10.1049/iet-rpg.2014.0333</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Hybrid metaheuristic algorithm using butterfly and flower pollination base on mutualism mechanism for global optimization problems</article-title>. <source>Eng. Comput.</source> <volume>37</volume>, <fpage>3665</fpage>&#x2013;<lpage>3698</lpage>. <pub-id pub-id-type="doi">10.1007/s00366-020-01025-8</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Application of improved bat algorithm for solar PV maximum power point tracking under partially shaded condition</article-title>. <source>Appl. Soft Comput.</source> <volume>62</volume>, <fpage>101</fpage>&#x2013;<lpage>109</lpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2017.10.039</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yilmaz</surname>
<given-names>U.</given-names>
</name>
<name>
<surname>Turksoy</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Teke</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Improved MPPT method to increase accuracy and speed in photovoltaic systems under variable atmospheric conditions</article-title>. <source>Int. J. Electr. Power Energy Syst.</source> <volume>113</volume>, <fpage>634</fpage>&#x2013;<lpage>651</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2019.05.074</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>