<?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">727364</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2021.727364</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>A Comparison of Finite Control Set and Continuous Control Set Model Predictive Control Schemes for Model Parameter Mismatch in Three-Phase APF</article-title>
<alt-title alt-title-type="left-running-head">Yang et&#x20;al.</alt-title>
<alt-title alt-title-type="right-running-head">Error Comparison Between FCS-MPC and CCS-MPC</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Yang</surname>
<given-names>Jianfeng</given-names>
</name>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Liu</surname>
<given-names>Yang</given-names>
</name>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1377490/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Yan</surname>
<given-names>Rui</given-names>
</name>
</contrib>
</contrib-group>
<aff>School of Automation and Electrical Engineering, Lanzhou Jiaotong University, <addr-line>Lanzhou</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1259467/overview">Liansong Xiong</ext-link>, Nanjing Institute of Technology (NJIT), China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1378264/overview">Hui Cao</ext-link>, City University of Hong Kong, SAR China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1378436/overview">Leilei Guo</ext-link>, Zhengzhou University of Light Industry, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Yang Liu, <email>yang.lts@foxmail.com</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Process and Energy Systems Engineering, a section of the journal Frontiers in Energy Research</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>02</day>
<month>08</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>9</volume>
<elocation-id>727364</elocation-id>
<history>
<date date-type="received">
<day>18</day>
<month>06</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>16</day>
<month>07</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2021 Yang, Liu and Yan.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Yang, Liu and Yan</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&#x20;terms.</p>
</license>
</permissions>
<abstract>
<p>Model predictive control (MPC) methods are widely used in the power electronic control field, including finite control set model predictive control (FCS-MPC) and continuous control set model predictive control (CCS-MPC). The degree of parameter uncertainty influence on the two methods is the key to evaluate the feasibility of the two methods in power electronic application. This paper proposes a research method to analyze FCS-MPC and CCS-MPC&#x2019;s influence on the current prediction error of three-phase active power filter (APF) under parameter uncertainty. It compares the performance of the two model predictive control methods under parameters uncertainty. In each sampling period of the prediction algorithm, different prediction error conditions will be produced when FCS-MPC cycles the candidate vectors. Different pulse width modulation (PWM) results will be produced when CCS-MPC solves the quadratic programming (QP) problem. This paper presents the simulation results and discusses the influence of inaccurate modeling of load resistance and inductance parameters on the control performance of the two MPC algorithms, the influence of reference value and state value on prediction error is also compared. The prediction error caused by resistance mismatch is lower than that caused by inductance mismatch, more errors are caused by underestimating inductance values than by overestimating inductance values. The CCS-MPC has a better control effect and dynamic performance in parameter mismatch, and the influence of parameter mismatch is relatively&#x20;tiny.</p>
</abstract>
<kwd-group>
<kwd>active power filter</kwd>
<kwd>model predictive control</kwd>
<kwd>power quality</kwd>
<kwd>finite control set- model predictive control</kwd>
<kwd>continuous control set model predictive control</kwd>
<kwd>error analyses</kwd>
</kwd-group>
<contract-num rid="cn001">61863023</contract-num>
<contract-sponsor id="cn001">National Natural Science Foundation of China<named-content content-type="fundref-id">10.13039/100014717</named-content>
</contract-sponsor>
</article-meta>
</front>
<body>
<sec id="s1">
<title>Introduction</title>
<p>In industry, daily life, and new energy power generation (<xref ref-type="bibr" rid="B25">Zhang et&#x20;al., 2021</xref>), many electronic devices are connected to the grid. These will cause harmonic pollution, consume reactive power and reduce the power quality of the power grid (<xref ref-type="bibr" rid="B19">Singh et&#x20;al., 1999</xref>). Showing in <xref ref-type="fig" rid="F1">Figure&#x20;1</xref>, The scale of China power quality market caused by harmonic pollution is also expanding. In order to solve these power quality problems, many solutions are proposed, including improving the structure of converter topology (multilevel converter, Vienna rectifier, LCL) (<xref ref-type="bibr" rid="B14">Meynard and Foch, 1992</xref>; <xref ref-type="bibr" rid="B9">Kolar et&#x20;al., 1996</xref>; <xref ref-type="bibr" rid="B16">Rodriguez et&#x20;al., 2002</xref>), improving the control method (<xref ref-type="bibr" rid="B18">Rodriguez et&#x20;al., 2013</xref>; <xref ref-type="bibr" rid="B20">Vazquez et&#x20;al., 2017</xref>; <xref ref-type="bibr" rid="B26">Zhou et&#x20;al., 2021</xref>). With the increasing importance of power quality problem, APF was proposed. APF has become popular to improve power quality in the grid it can eliminate harmonics and compensate for reactive power. APF detects harmonics based on instantaneous reactive power theory and then injects harmonics into the power grid through APF to achieve the purpose of compensating harmonics (<xref ref-type="bibr" rid="B7">Garcia-Cerrada et&#x20;al., 2007</xref>). Since APF was put forward, many control methods have appeared, including proportional integral (PI) control, widely used in traditional industry (<xref ref-type="bibr" rid="B7">Garcia-Cerrada et&#x20;al., 2007</xref>; <xref ref-type="bibr" rid="B11">Li et&#x20;al., 2021</xref>). MPC is a control method developed from practice to theory with the development of the industry. It has been widely used in the field of power electronics and converters, which has a good control performance (<xref ref-type="bibr" rid="B13">Marks and Green, 2002</xref>; <xref ref-type="bibr" rid="B17">Rodriguez et&#x20;al., 2007</xref>; <xref ref-type="bibr" rid="B6">Bordons and Montero, 2015</xref>). The CCS-MPC generates continuous output, and the optimal predictive value is obtained by solving the constrained cost function (<xref ref-type="bibr" rid="B6">Bordons and Montero, 2015</xref>), but the modulation signal needs to be generated by pulse width modulation (PWM). The FCS-MPC does not use PWM and depends on switching devices&#x2019; characteristics. In a limited set of switching vectors, the optimal vector is selected according to the tracking target and constraints (<xref ref-type="bibr" rid="B1">Aguilera et&#x20;al., 2013</xref>; <xref ref-type="bibr" rid="B24">Young et&#x20;al., 2016</xref>). The general constrained MPC system performs many computations, and constrained CCS-MPC usually has a higher computing cost than FCS-MPC because part or all of its optimization occurs online. When the condition is unconstrained, the analytical solution can be obtained to make the control off-line. The results&#x2019; solution needs to be obtained through the optimization algorithm, which can solve the long-term prediction problem. The FCS-MPC involves online optimization in the next step or two. It does not require optimization algorithms with fast dynamic performance and is typically used in short-term prediction.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Market scale of power quality equipment in China.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g001.tif"/>
</fig>
<p>CCS-MPC uses the plant&#x2019;s dynamic mathematical model to predict, at the current time, which compares the predicted output of from 1 to <italic>N</italic>
<sub>
<italic>p</italic>
</sub> (prediction horizon) time stamp the with the reference value. By establishing the cost function and solving the minimum problem, the optimal input of future <italic>N</italic>
<sub>
<italic>c</italic>
</sub> (control horizon) can be obtained at each time stamp. In the converter application, PWM modulation is needed, and the first group of the control sequence is applied to the converter. Such a process is carried out at each time cycle, so it is also called receding-horizon model predictive control.</p>
<p>For a three-phase two-level converter, eight switch combination states can generate seven different vectors (including two zero vectors). That is, seven voltage outputs can be generated at each time. Therefore, the principle of FCS-MPC is necessary to:<list list-type="simple">
<list-item>
<p>1) Establish the mathematical model of the converter (based on Kirchhoff&#x2019;s&#x20;law),</p>
</list-item>
<list-item>
<p>2) The discrete prediction model is obtained,</p>
</list-item>
<list-item>
<p>3) The cost function is established;</p>
</list-item>
<list-item>
<p>4) FCS-MPC traverse seven vectors;</p>
</list-item>
<list-item>
<p>5) The switch state combination is obtained under the minimum cost function, applied to the converter.</p>
</list-item>
</list>
</p>
<p>These predictive control methods inevitably produce predictive error (PE) in practical application, PE affects the converter performance. Due to the nonlinear nature of FCS-MPC, it is impossible to use the same mature analysis method as a linear system to evaluate the influence of parameter changes (<xref ref-type="bibr" rid="B5">Bogado et&#x20;al., 2014</xref>). Therefore, in previous studies, the influence of model parameter mismatch has been empirically discussed by studying models under different uncertainties (<xref ref-type="bibr" rid="B10">Kwak et&#x20;al., 2014</xref>; <xref ref-type="bibr" rid="B15">Norambuena et&#x20;al., 2019</xref>; <xref ref-type="bibr" rid="B12">Liu et&#x20;al., 2020</xref>).</p>
<p>Studies <xref ref-type="bibr" rid="B12">Liu et&#x20;al. (2020)</xref> proposed that the MPC has the problems of parameter mismatch (PM) and model uncertainty, these problems can cause steady-state errors. Therefore, a new cost function is designed to improve the robustness of FCS-MPC, that is, the integral error term is added to the cost function, which effectively improves the robustness of conventional FCS-MPC. Previous work <xref ref-type="bibr" rid="B15">Norambuena et&#x20;al. (2019)</xref> proposed a new design scheme, which incorporated the past error into the new control system action (as a new term of cost function), and adjusted the weight factors according to the past error, and improved the steady-state performance under PM. To overcome the uncertainty of PM and parameters, the studies in <xref ref-type="bibr" rid="B10">Kwak et&#x20;al. (2014)</xref> proposed an adaptive online parameter identification technology, which based on the least square estimation, the input current and input voltage are used to calculate the input inductance and resistance of active front end (AFE) in each sampling period without additional sensors. Although the parameters are uncertain, AFE still generates sinusoidal current with unit factor (<xref ref-type="bibr" rid="B3">Ahmed et&#x20;al., 2018</xref>). As in <xref ref-type="bibr" rid="B24">Young et&#x20;al. (2016)</xref>, the inductance and resistance changes of FCS-MPC are analyzed using the mathematical model in motor and inverter applications, respectively. In this paper, according to its application in APF, the PE analysis is carried out using mathematical methods.</p>
<p>Most previous research relies on empirical methods to study the control systems under the uncertainty of parameters in the prediction model. This paper aims to analyze the prediction error under the condition of uncertain parameters, different states, different reference, and load changes, the control performance of the two MPC methods on APF under the above conditions is analyzed. that is, the compensation ability of APF to track harmonics. The analysis of prediction error is verified by simulation. Finally, this paper gives the choice of control methods in different environments.</p>
</sec>
<sec id="s2">
<title>Three-Phase Parallel APF System and Current Control Method</title>
<p>The MPC relies on the APF mathematical model to predict how the possible control actions affect its response. So, the action expected to minimize a particular cost function is applied, and the process is sequentially repeated. The appropriate model of APF is needed to obtain good control performance.</p>
<p>
<xref ref-type="fig" rid="F2">Figure&#x20;2</xref> shows the topology of the general voltage type APF, which can compensate the harmonic current generated by the nonlinear load, where:<list list-type="simple">
<list-item>
<p>1) <italic>e</italic>
<sub>
<italic>a</italic>
</sub>, <italic>e</italic>
<sub>
<italic>b</italic>
</sub>, <italic>e</italic>
<sub>
<italic>c</italic>
</sub> are grid voltage,</p>
</list-item>
<list-item>
<p>2) <italic>i</italic>
<sub>
<italic>ca</italic>
</sub>, <italic>i</italic>
<sub>
<italic>cb</italic>
</sub>, <italic>i</italic>
<sub>
<italic>cc</italic>
</sub> are the output compensation current of&#x20;APF,</p>
</list-item>
<list-item>
<p>3) <italic>i</italic>
<sub>
<italic>La</italic>
</sub>, <italic>i</italic>
<sub>
<italic>Lb</italic>
</sub>, <italic>i</italic>
<sub>
<italic>Lc</italic>
</sub> are load current, where <italic>L</italic> and <italic>R</italic> are the filter inductance and equivalent resistance,</p>
</list-item>
<list-item>
<p>4) <italic>C</italic> is DC side capacitance, which stores energy for bidirectional flow of APF, and grid energy, for <italic>U</italic>
<sub>
<italic>dc</italic>
</sub> of the DC voltage, holds stability.</p>
</list-item>
</list>
</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Three-phase parallel APF structure diagram.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g002.tif"/>
</fig>
<p>Three groups of switches <italic>S</italic>
<sub>
<italic>x</italic>
</sub>&#x2208;{<italic>S</italic>
<sub>
<italic>a</italic>
</sub>,<italic>S</italic>
<sub>
<italic>b</italic>
</sub>,<italic>S</italic>
<sub>
<italic>c</italic>
</sub>} are defined as two states: on and off. In addition, dead zone protection is added to the output switch. These switches are defined as <xref ref-type="disp-formula" rid="e1">Eq. 1</xref>.<disp-formula id="e1">
<mml:math id="m1">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
<mml:mo>;</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>if</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>ON</mml:mi>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>and</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>OFF</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>0</mml:mtext>
<mml:mo>;</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mtext>if</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>OFF</mml:mi>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>and</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>ON</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
<mml:mo>;</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>if</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>ON</mml:mi>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>and</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>OFF</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>0</mml:mtext>
<mml:mo>;</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mtext>if</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>OFF</mml:mi>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>and</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>ON</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
<mml:mo>;</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>if</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>ON</mml:mi>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>and</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>OFF</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>0</mml:mtext>
<mml:mo>;</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mtext>if</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>OFF</mml:mi>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>and</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mtext>is</mml:mtext>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>ON</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>The vector composed of <italic>S</italic>
<sub>
<italic>x</italic>
</sub> in different switching states of three-phase two-level APF, by applying the complex Clark transformation 1&#x2013;8 for eight possible switch configurations, the voltage vectors are be shown in <xref ref-type="fig" rid="F3">Figure&#x20;3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Two-level parallel APF switch vector in the complex <italic>&#x3b1;</italic>-<italic>&#x3b2;</italic>&#x20;frame.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g003.tif"/>
</fig>
<sec id="s2-1">
<title>Calculation of Harmonic Reference Current</title>
<p>First of all, only when the standard harmonic current is detected, the APF can work normally, there are many kinds&#x20;of harmonic detection methods, at present, the most widely used method is the <italic>i</italic>
<sub>
<italic>p</italic>
</sub>-<italic>i</italic>
<sub>
<italic>q</italic>
</sub> method proposed by <xref ref-type="bibr" rid="B4">Akagi et&#x20;al. (1984)</xref> and <xref ref-type="bibr" rid="B23">Xiong et&#x20;al. (2020)</xref>. Besides, PI is used to control the DC side capacitor voltage of APF, the compensation part is injected to keep the energy interaction between the AC and DC sides and stabilize the voltage reference value (<xref ref-type="bibr" rid="B22">Xie et&#x20;al., 2011</xref>). The principle is shown in <xref ref-type="fig" rid="F4">Figure&#x20;4</xref>, it has good dynamic performance and tracking performance.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>
<italic>i</italic>
<sub>
<italic>p</italic>
</sub>-<italic>i</italic>
<sub>
<italic>q</italic>
</sub> method for harmonic detection.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g004.tif"/>
</fig>
<p>The detected three-phase harmonics <italic>i</italic>
<sub>
<italic>ah</italic>
</sub>, <italic>i</italic>
<sub>
<italic>bh</italic>
</sub> and <italic>i</italic>
<sub>
<italic>ch</italic>
</sub> are taken as reference values where <bold>
<italic>X</italic>
</bold>
<sub>
<italic>ref</italic>
</sub> &#x3d; [<italic>i</italic>
<sub>
<italic>ah</italic>
</sub>;<italic>i</italic>
<sub>
<italic>bh</italic>
</sub>;<italic>i</italic>
<sub>
<italic>ch</italic>
</sub>]. In the harmonic detection link, there is a period delay from current detection to harmonic calculation, so it cannot be used as the reference value of the predicted value at the next moment. The reference value can be predicted by Lagrange interpolation <xref ref-type="disp-formula" rid="e2">Eq. 2</xref>. In order to reduce the amount of computation, the low order interpolation method is adopted in this paper<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>!</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>!</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>!</mml:mo>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mtext>&#x2002;</mml:mtext>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
</sec>
<sec id="s2-2">
<title>Mathematical Model of Three-Phase APF</title>
<p>In the three-phase static coordinate system, assuming the three-phase symmetry, according to Kirchhoff&#x2019;s current law, the dynamic <xref ref-type="disp-formula" rid="e3">Eq. 3</xref> can be obtained, where <italic>u</italic>
<sub>
<italic>ca</italic>
</sub>,<italic>u</italic>
<sub>
<italic>cb</italic>
</sub>, and <italic>u</italic>
<sub>
<italic>cc</italic>
</sub> are the output voltage of APF.<disp-formula id="e3">
<mml:math id="m3">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi>L</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mtext>d</mml:mtext>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mtext>d</mml:mtext>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>L</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mtext>d</mml:mtext>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mtext>d</mml:mtext>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>L</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mtext>d</mml:mtext>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mtext>d</mml:mtext>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>
<xref ref-type="disp-formula" rid="e4">Equation 4</xref> can be obtained by discretizing <italic>a</italic>-phase in <xref ref-type="disp-formula" rid="e3">Eq. 3</xref>:<disp-formula id="e4">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mi>L</mml:mi>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
</sec>
<sec id="s2-3">
<title>Traditional FCS-MPC</title>
<p>The principle of FCS-MPC is shown in <xref ref-type="fig" rid="F5">Figure&#x20;5</xref> (<xref ref-type="bibr" rid="B2">Aguirre et&#x20;al., 2018</xref>).</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>FCS-MPC principal diagram.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g005.tif"/>
</fig>
<p>In FCS-MPC, 8 switch vectors shown in <xref ref-type="fig" rid="F3">Figure&#x20;3</xref> are cycled in turn, these 8 states represent the 8 outputs of APF, which are substituted into the mathematical model to predict the output at the next moment. Therefore, parameter matching is particularly important. Tracking harmonics in a three-phase coordinate system will produce the accumulated error, in order to better follow the detected harmonics, cost function is established in the <italic>&#x3b1;-&#x3b2;</italic> coordinate system, shown in <xref ref-type="disp-formula" rid="e5">Eq. 5</xref>. The minimum switching state of the cost function is solved, APF is controlled by modulation signals generated by FCS-MPC (<xref ref-type="bibr" rid="B2">Aguirre et&#x20;al., 2018</xref>).<disp-formula id="e5">
<mml:math id="m5">
<mml:mrow>
<mml:mi mathvariant="italic">J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>Q</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>lim</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
<disp-formula id="e6">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m7">
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="italic">&#x3b1;</mml:mi>
</mml:msub>
</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:mrow>
<mml:msub>
<mml:mi mathvariant="italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="italic">&#x3b2;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
<italic>Q</italic> is the coefficient of the tracking harmonic reference in the <italic>a-&#x3b2;</italic> coordinate system, <italic>h</italic>
<sub>lim</sub> is the limiting amplitude of predicted output value, such as <xref ref-type="disp-formula" rid="e8">Eq. 8</xref>, <italic>s</italic> is the number of switch changes in the period, and <italic>&#x3b3;</italic>
<sub>
<italic>i</italic>
</sub> is its weighting factor.<disp-formula id="e8">
<mml:math id="m8">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>lim</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>if</mml:mi>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mi>p</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>&#x221e;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>if</mml:mi>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mi>p</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
</sec>
<sec id="s2-4">
<title>Traditional CCS-MPC</title>
<p>As shown in <xref ref-type="fig" rid="F6">Figure&#x20;6</xref>, the principle of CCS-MPC is to solve the optimization problem and apply the optimal control input to the system. The most significant advantage is considering the multi-objective and constraint problems, and through PWM modulation, achieve fixed switching frequency.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>CCS-MPC principal diagram.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g006.tif"/>
</fig>
<p>According to <xref ref-type="disp-formula" rid="e3">Eq. 3</xref>, let the state variable be <bold>
<italic>x</italic>
</bold> &#x3d; [<italic>i</italic>
<sub>
<italic>&#x3b1;</italic>
</sub>; <italic>i</italic>
<sub>
<italic>&#x3b2;</italic>
</sub>], input is <bold>
<italic>u</italic>
</bold> &#x3d; [<italic>e</italic>
<sub>
<italic>&#x3b1;</italic>
</sub>-<italic>u</italic>
<sub>
<italic>c&#x3b1;</italic>
</sub>; <italic>e</italic>
<sub>
<italic>&#x3b2;</italic>
</sub>-<italic>u</italic>
<sub>
<italic>c&#x3b2;</italic>
</sub>], therefore, the state-space model of three-phase two-level APF in <italic>&#x3b1;-&#x3b2;</italic> coordinate can be obtained:<disp-formula id="e9">
<mml:math id="m9">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(9)</label>
</disp-formula>
<disp-formula id="e10">
<mml:math id="m10">
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
</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:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>L</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>L</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>The continuous system (<xref ref-type="disp-formula" rid="e9">Eq. 9</xref>) is discretized:<disp-formula id="e11">
<mml:math id="m11">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>G</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="italic">F</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m12">
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi>F</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>I</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">B</mml:mi>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
<p>The Euclidean norm produces an over proportional cost (in powers of two) compared to the 1-norm, giving a higher penalization of more considerable errors than smaller ones. It can be used to control variables closer to the reference and reduce the ripple amplitude. First, the prediction horizon is set as <italic>N</italic>
<sub>
<italic>p</italic>
</sub>, the control horizon is set as <italic>N</italic>
<sub>
<italic>c</italic>
</sub>, and the weight factor of each state quantity is <bold>
<italic>Q</italic>
</bold>
<sub>
<bold>
<italic>e</italic>
</bold>
</sub>. Simultaneously, to hope that the control action is not too large, the constraint on the control quantity is added, and the weight factor is <bold>
<italic>R</italic>
</bold>. Through proof in the <xref ref-type="sec" rid="s11">Supplementary Appendix</xref>, it can establish the cost function <xref ref-type="disp-formula" rid="e13">Eq. 13</xref>.<disp-formula id="e13">
<mml:math id="m13">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mrow>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">Q</mml:mi>
<mml:mi>e</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mstyle>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2016;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k&#x2b;i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2016;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">R</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mstyle>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>One of the essential characteristics of MPC is that it can consider the constraints in the optimization process. When APF works, it does not violate the system characteristics, so the cost function is transformed into a constrained quadratic programming (QP) problem.<disp-formula id="e14">
<mml:math id="m14">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:munder>
<mml:mrow>
<mml:mi mathvariant="normal">min</mml:mi>
</mml:mrow>
<mml:mi mathvariant="italic">U</mml:mi>
</mml:munder>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">HU</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">f</mml:mi>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">U</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>s</mml:mtext>
<mml:mo>.</mml:mo>
<mml:mtext>t</mml:mtext>
<mml:mo>.</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="bold-italic">Y</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="bold-italic">Y</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">Y</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>The above minimization problem is equivalent to solve a convex quadratic programming problem, in this paper, the interior point method is used to solve quadratic programming problems. The algorithm&#x2019;s purpose is to find a feasible descent direction from the interior point in a feasible region so that the interior point moves along this direction, reducing the value of the cost function. The interior point method is practical and has low complexity, which is one of the core algorithms to solve the QP problem.</p>
</sec>
</sec>
<sec id="s3">
<title>PE in MPC Due to Model PM</title>
<p>Manufacture, service, and life of converter, these will inevitably affect the control effect because of the parameter error. In the PE analysis of FCS-MPC, this paper adopts the same analysis method as <xref ref-type="bibr" rid="B24">Young et&#x20;al. (2016)</xref>. In the parameter estimation and sensitivity analysis, the assumption that load and load parameters change simultaneously is balanced.</p>
<p>Meanwhile, to analyze the effectiveness of CCS-MPC control performance for actual parameter mismatch or disturbance, the inductance and resistance analysis in <xref ref-type="bibr" rid="B24">Young et&#x20;al. (2016)</xref> is also used to analyze the load resistance value <italic>R</italic> and load inductance value <italic>L</italic>, the impact of their changes on prediction error. Different disturbances are added to the load resistance, and inductance, <italic>R</italic>
<sub>o</sub>&#x20;&#x3d; <italic>R</italic>&#x20;&#x2b; <italic>R</italic>
<sub>
<italic>d</italic>
</sub>, <italic>L</italic>
<sub>o</sub> &#x3d; <italic>L</italic>&#x20;&#x2b; <italic>L</italic>
<sub>
<italic>d</italic>
</sub>, <italic>R</italic> and <italic>L</italic> are the actual parameters, <italic>R</italic>
<sub>
<italic>d</italic>
</sub> and <italic>L</italic>
<sub>
<italic>d</italic>
</sub> are the disturbances.</p>
<sec id="s3-1">
<title>PE in FCS-MPC</title>
<p>In FCS-MPC, the output prediction value under PM will affect the judgment of cost function, which will lead to a non-optimal switch vector state is selected, thus affecting the actual control effect. In this paper, after adding the mismatch factors, <italic>R</italic>
<sub>o</sub> &#x3d; <italic>R</italic>&#x20;&#x2b; <italic>R</italic>
<sub>d</sub>, <italic>R</italic>
<sub>o</sub> &#x3d; <italic>R</italic>&#x20;&#x2b; <italic>R</italic>
<sub>d</sub>, the new prediction method is <xref ref-type="bibr" rid="B24">Young et&#x20;al. (2016)</xref>,<disp-formula id="e15">
<mml:math id="m15">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">R</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
<italic>i</italic>
<sub>
<italic>p</italic>
</sub> (<italic>k</italic>&#x2b;1) is the prediction value of the next time after the Euler difference, and <italic>T</italic>
<sub>
<italic>s</italic>
</sub> is sample time. In this paper, a one-step prediction is used. To analyze the prediction error value under the influence, we have this definition:<disp-formula id="e16">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>Substituting (<xref ref-type="disp-formula" rid="e3">Eqs 3</xref>, <xref ref-type="disp-formula" rid="e15">15</xref>) into (<xref ref-type="disp-formula" rid="e16">Eq. 16</xref>), <italic>i</italic>
<sub>
<italic>e</italic>
</sub> can be obtained:<disp-formula id="e17">
<mml:math id="m17">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">R</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:msub>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="italic">R</mml:mi>
<mml:msub>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
</p>
<p>The prediction error can be calculated by <xref ref-type="disp-formula" rid="e17">Eq. 17</xref>. It can be found <xref ref-type="disp-formula" rid="e17">Eq. 17</xref> that the error value depends not only on the resistance and inductance value but also on the current <italic>i</italic>(<italic>k</italic>), the grid voltage <italic>e</italic>(<italic>k</italic>), and the output value <italic>u</italic>(<italic>k</italic>) of APF. It is worth noting that if there is an error in the current prediction, it will accumulate to the next time. In a small sampling period, the grid voltage <italic>e</italic>(<italic>k</italic>) remains unchanged, and <italic>u</italic>(<italic>k</italic>) depends on one of the seven predictive output switching states of FCS-MPC. In this paper, the control variable method is used to take the switching state of a particular combination. For the convenience of analysis, the output is assumed to be a zero-vector. The PE caused by current and APF output voltage has been discussed in <xref ref-type="bibr" rid="B24">Young et&#x20;al. (2016)</xref>. under the parameter (<italic>T</italic>
<sub>
<italic>s</italic>
</sub> &#x3d; 0.0001, <italic>R</italic>&#x20;&#x3d; 2&#xa0;W, <italic>L</italic>&#x20;&#x3d; 2&#xa0;mH), as shown in <xref ref-type="fig" rid="F7">Figure&#x20;7</xref>, the sensitivity of the absolute error value is determined when the resistance value and inductance value do not match. It can be found that the inductance value mismatch has a more significant influence on the absolute value of the predicted current error than the mismatch of the resistance value; When parameters match, &#x7c;<italic>i</italic>
<sub>
<italic>e</italic>
</sub>
<italic>&#x7c;</italic> &#x3d; 0; When the resistance value is underestimated, it has more influence on PE than when it is overestimated. Besides, we can find that the error caused by overestimation of inductance is smaller than that caused by underestimation, and the distribution is asymmetric.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>The PE in FCS-MPC.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g007.tif"/>
</fig>
</sec>
<sec id="s3-2">
<title>PE in CCS-MPC</title>
<p>This section is compared with FCS-MPC, CCS-MPC does not need to establish a particular cost function, its constraints and control objectives are included in its cost function, but the control of APF needs PWM modulation first. In CCS-MPC, <bold>
<italic>U</italic>
</bold> is obtained by solving the cost function, and APF is controlled to compensate for the harmonic current of the power grid. The solution of <bold>
<italic>U</italic>
</bold> is based on the solution of the QP problem, so the change of parameters will affect the discrete state-space model and the predicted value for the future. In calculating <italic>i</italic>
<sub>
<italic>p</italic>
</sub> (<italic>k</italic>&#x20;&#x2b; <italic>N</italic>
<sub>
<italic>p</italic>
</sub>) iteratively, errors will accumulate, which will eventually affect the result, and may not be the optimal modulation voltage. In order to analyze the influence of parameter mismatch on the control effect of CCS-MPC, a state space model with disturbance is established:<disp-formula id="e18">
<mml:math id="m18">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>F</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(18)</label>
</disp-formula>where<disp-formula id="e19">
<mml:math id="m19">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">G</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">F</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
<disp-formula id="e20">
<mml:math id="m20">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>o</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:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>L</mml:mi>
</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:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
<disp-formula id="e21">
<mml:math id="m21">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>L</mml:mi>
</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:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>
</p>
<p>After the state matrix changes, the error value is obtained by <xref ref-type="sec" rid="s11">Supplementary Appendix</xref>.<disp-formula id="e22">
<mml:math id="m22">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
</p>
<p>Let the prediction horizon <italic>N</italic>
<sub>
<italic>p</italic>
</sub> &#x3d; 10 and the control horizon <italic>N</italic>
<sub>
<italic>c</italic>
</sub> &#x3d; 4, for the convenience of analysis, set the initial current value <italic>i</italic> (<italic>k</italic>&#x7c;<italic>k</italic>) &#x3d; 20&#xa0;A, <italic>u</italic> (k) &#x3d; 100 in the control horizon. <xref ref-type="fig" rid="F8">Figure&#x20;8</xref> shows the PE value by the terminal when the resistance and inductance values do not match. In other words, this error is the result of increasing at the time stamp <italic>k</italic>&#x20;&#x2b; <italic>p</italic> with the prediction horizon, it is shown in the <xref ref-type="sec" rid="s11">Supplementary Appendix</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>The terminal PE in CCS-MPC.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g008.tif"/>
</fig>
<p>Different from FCS-MPC, because of the characteristic of CCS-MPC, the error is superposition, the influence of load error on the error is also different. when <italic>R</italic>
<sub>o</sub>/<italic>R</italic>&#x20;&#x3d; 1, <italic>L</italic>
<sub>o</sub>/<italic>L</italic>&#x20;&#x3d; 1, the PE &#x3d; 0; When <italic>R</italic>
<sub>o</sub>
<italic>/R</italic> &#x3c; 1 and <italic>L</italic>
<sub>o</sub>
<italic>/L &#x3c;</italic> 1, the PE is more sensitive and has a more significant impact on the results; compared with the change of resistance, the change of inductance has more PE; When <italic>R</italic>
<sub>o</sub>
<italic>/R</italic> &#x3e; 1 and <italic>L</italic>
<sub>o</sub>
<italic>/L &#x3e;</italic> 1, the error value has a lower influence on the prediction results and has asymmetry. Therefore, in practice, when the load parameters are overestimated or underestimated in the mathematical model, especially the inductance value, the control effect will be greatly affected.</p>
<p>CCS-MPC of APF needs to solve the QP problem, The first group of control sequences is applied to APF after PWM is applied. To compare the PE value of the grid current after the output of PM with APF, the first group of control sequences <bold>
<italic>u</italic>
</bold> is obtained in this paper should be substituted into the APF mathematical model. Meaning, the compensated grid current value at the next moment and the error value is defined as:<disp-formula id="e23">
<mml:math id="m23">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>
</p>
<p>After the PM is introduced, the QP problem is solved respectively, and the relationship in <xref ref-type="fig" rid="F8">Figure&#x20;8</xref> can be obtained with mismatched inductance and resistance values.</p>
<p>
<bold>
<italic>u</italic>
</bold>
<sub>
<italic>QP</italic>
</sub> is the first group of solved control sequences, that is, the input applied to APF. CCS-MPC and FCS-MPC have the same characteristics of asymmetric distribution of resistance and inductance sensitivity, because CCS-MPC can deal with multiple constraints, it will also have a certain impact on the error. This paper analyzes the error under different conditions.</p>
<p>In different reference and state, when the parameters do not match, we will establish different state matrix and input matrix by substituting different inductance and resistance values. Through the <xref ref-type="sec" rid="s11">Supplementary Appendix</xref> to solve the control sequence, the first group of control sequence is applied to the discrete state space equation, and their next time prediction values are obtained, respectively. By subtracting them, we get the prediction error in <xref ref-type="fig" rid="F9">Figure&#x20;9</xref>:<list list-type="simple">
<list-item>
<p>1) Compared with the terminal error in <xref ref-type="fig" rid="F8">Figure&#x20;8</xref>, PE value is smaller, because it is solved in the entire prediction horizon.</p>
</list-item>
<list-item>
<p>2) There is a correlation between PE and input, when the input reaches the limit, PE will increase significantly.</p>
</list-item>
<list-item>
<p>3) When the input is in the limited range, PE can keep a specific constant&#x20;value.</p>
</list-item>
<list-item>
<p>4) It should be noted that when the state value is different, the influence caused by resistance and inductance will also change.</p>
</list-item>
<list-item>
<p>5) The results of CCS-MPC are mainly affected by the change of resistance value, which is related to the coefficient of input matrix&#x20;<bold>
<italic>R</italic>
</bold>.</p>
</list-item>
</list>
</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>The PE and first group control value in CCS-MPC.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g009.tif"/>
</fig>
</sec>
<sec id="s3-3">
<title>Steady State Performance Under State Value and Reference Value Change</title>
<p>This section focuses on the influence of PM on prediction error and control effect under different reference values and current state values. In this section, the control variable method is used to analyze the influence of <italic>R</italic>
<sub>o</sub>
<italic>/R</italic> and <italic>L</italic>
<sub>o</sub>
<italic>/L</italic> on PE, the possible result when the state value or the reference value changes. The performance of FCS-MPC has been analyzed in <xref ref-type="bibr" rid="B24">Young et&#x20;al. (2016)</xref>. This section mainly analyzes the steady-state performance of CCS-MPC.</p>
<p>In <xref ref-type="fig" rid="F10">Figure&#x20;10</xref>, it is different from the published work, we analyzed the sensitivity of parameter mismatch when the state value changes, as in <xref ref-type="fig" rid="F9">Figure&#x20;9</xref>, we set the parameters and reference values to be variation, and the changes of inductance value and resistance value are discussed respectively:<list list-type="simple">
<list-item>
<p>1) The closer the reference value is to the value of state, the smaller the PE is, and near it, the PE is close to&#x20;zero.</p>
</list-item>
<list-item>
<p>2) When the resistance value is constant and <italic>L</italic>
<sub>o</sub>/<italic>L</italic>&#x20;&#x3c; 1, the change of PE is more sensitive than the inductance value is overestimated. If <italic>L</italic>
<sub>o</sub>/<italic>L</italic>&#x20;&#x3d; 1, PE is equal to&#x20;zero.</p>
</list-item>
<list-item>
<p>3) When <italic>L</italic>
<sub>o</sub>/<italic>L</italic>&#x20;&#x3d; 1, The change of PE is affected by the mismatching of resistance parameters. PE increases near the <italic>i</italic>
<sub>
<italic>ref</italic>
</sub> (<italic>k</italic>&#x7c;<italic>k</italic>) &#x3d;&#x20;0.</p>
</list-item>
<list-item>
<p>4) The larger the gap between the state value and the reference value, the larger the&#x20;PE.</p>
</list-item>
</list>
</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Steady-state performance change with reference change.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g010.tif"/>
</fig>
<p>For CCS-MPC, the cost function contains the reference value in the whole prediction horizon, so the reference value will affect the generation of control sequence and cause prediction error, which will be found in the <xref ref-type="sec" rid="s11">Supplementary Appendix</xref>. <xref ref-type="fig" rid="F11">Figure&#x20;11</xref> shows that when the reference variables remain unchanged, the influence of the change of reference value on PE is analyzed, and the changes of inductance value and resistance value are discussed respectively:<list list-type="simple">
<list-item>
<p>1) PE is small when the state value is close to the reference&#x20;value.</p>
</list-item>
<list-item>
<p>2) When the <italic>R</italic>
<sub>o</sub>/<italic>R</italic>&#x20;&#x3d; 1 and <italic>L</italic>
<sub>o</sub>/<italic>L</italic>&#x20;&#x3c; 1, the change of PE is more sensitive than when the value is overestimated; If <italic>L</italic>
<sub>o</sub>/<italic>L</italic>&#x20;&#x3d; 1, PE is equal to&#x20;0.</p>
</list-item>
<list-item>
<p>3) When <italic>L</italic>
<sub>o</sub>/<italic>L</italic>&#x20;&#x3d; 1, PE increases rapidly with the underestimation of resistance. PE increases near the <italic>i</italic> (<italic>k</italic>&#x7c;<italic>k</italic>) &#x3d;&#x20;0.</p>
</list-item>
<list-item>
<p>4) The larger the difference between the reference value and the state value, the larger&#x20;PE.</p>
</list-item>
</list>
</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Steady-state Performance change with state change.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g011.tif"/>
</fig>
</sec>
</sec>
<sec id="s4">
<title>Simulation Results and Analysis</title>
<p>In this section, simulation results verify the performance of CCS-MPC and FCS-MPC on PM, the MATLAB/Simulink model is established, and their results are compared. The simulation parameters are shown in <xref ref-type="table" rid="T1">Table&#x20;1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Simulation model parameters.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Parameter</th>
<th align="center">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Grid voltage and <italic>f</italic>
</td>
<td align="center">
<sub>380&#xa0;V, 50&#xa0;Hz</sub>
</td>
</tr>
<tr>
<td align="left">DC voltage</td>
<td align="center">
<sub>800&#xa0;V</sub>
</td>
</tr>
<tr>
<td align="left">DC capacitor <italic>C</italic>
</td>
<td align="center">
<sub>4,000&#xa0;&#x3bc;F</sub>
</td>
</tr>
<tr>
<td align="left">Inductor</td>
<td align="center">
<sub>2&#xa0;mH</sub>
</td>
</tr>
<tr>
<td align="left">Resistor</td>
<td align="center">
<sub>0.01&#xa0;&#x3a9;</sub>
</td>
</tr>
<tr>
<td align="left">Load Resistor</td>
<td align="center">
<sub>8&#xa0;&#x3a9;</sub>
</td>
</tr>
<tr>
<td align="left">
<italic>T</italic>
<sub>s</sub>
</td>
<td align="center">
<sub>1 &#xd7; 10&#x2013;4&#xa0;s</sub>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="s4-1">
<title>Performance of APF</title>
<p>According to the above parameters, in the APF system, the load adopts a three-phase uncontrollable rectifier circuit to verify the above analysis results in SIMULINK. The dynamic performance of predictive control abruptly changes the load value from 8 to 4&#xa0;&#x3a9; in 0.2&#xa0;s, verifying the dynamic performance of predictive control. As shown in <xref ref-type="fig" rid="F12">Figure&#x20;12</xref>, (A) describes the three-phase voltage of the APF system, and (B) describes the uncompensated three-phase load current. Due to the influence of nonlinear load, the load current is distorted, (C) is the three-phase harmonics detected by Section <italic>Calculation of Harmonic Reference Current</italic>, and (D) describes the THD of the distorted load current. At 0.17&#xa0;s, THD is 16.48%, and the main harmonic is the 5th, 7th, 11th, 13th, 17th, and 19th harmonics.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Performance of APF under nonlinear&#x20;load.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g012.tif"/>
</fig>
</sec>
<sec id="s4-2">
<title>Steady State and Dynamic State Performance Under Change of Inductance Value</title>
<p>
<xref ref-type="fig" rid="F13">Figure&#x20;13</xref> shows the load and reference currents after harmonic compensation with FCS-MPC when <italic>R</italic>
<sub>o</sub>/<italic>R</italic>&#x20;&#x3d; 1 and <italic>L</italic>
<sub>o</sub>/<italic>L</italic> are 0.25, 1, and 1.75, respectively. (A): The results show that PM will increase the steady-state error of FCS-MPC when the inductance is seriously underestimated, the current waveform is worse than (B,C). The follow-up of the harmonic reference value is also poor, confirming the above analyzes on PE when the inductance value is underestimated. (B) describes the case of no error in inductance and resistance values, the effect of three-phase compensation is improved, and it also has good follow-up when the load changes suddenly. In (C), the inductance value is overestimated, so the compensated current waveform is close to (B), and the control effect is slightly worse than&#x20;(B).</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Transient response with FCS-MPC under load inductance modeling&#x20;error.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g013.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F14">Figure&#x20;14</xref> shows the load and reference currents after harmonic compensation with CCS-MPC when <italic>R</italic>
<sub>o</sub>/<italic>R</italic>&#x20;&#x3d; 1 and <italic>L</italic>
<sub>o</sub>/<italic>L</italic> are 0.25, 1, and 1.75, respectively. Under the same conditions, the control effect of CCS-MPC is better than that of FSC-MPC. When the inductance is underestimated, steady-state error (SSE) is smaller than that of FCS-MPC; The dynamic performance improves attributed to CCS-MPC controlling in the multiple time horizon in the future. However, from the following effect, in (A), the dynamic effect is worse than (C), verifying that when the resistance value is underestimated, the influence on the control effect is greater; At the same time, it can be found that the performance is the best when parameter matching does not&#x20;occur.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Transient response with CCS-MPC under load inductance modeling&#x20;error.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g014.tif"/>
</fig>
</sec>
<sec id="s4-3">
<title>Steady State and Dynamic State Performance Under Change of Resistance Value</title>
<p>
<xref ref-type="fig" rid="F15">Figure&#x20;15</xref> shows the load current and reference current following harmonic compensation with FCS-MPC when <italic>L</italic>
<sub>o</sub>/<italic>L</italic>&#x20;&#x3d; 1 and <italic>R</italic>
<sub>o</sub>/<italic>R</italic> are 0.25, 1, and 1.75. Compared with <xref ref-type="fig" rid="F14">Figure&#x20;14</xref>, in the same case, When the resistance value is underestimated, the effect on the steady state error is not as great as when the inductance value is underestimated. Compared with (A,B), the steady-state error caused by the mismatch of the resistance value is larger, but it smaller than that caused by the mismatch of inductance&#x20;value.</p>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption>
<p>Transient response with FCS-MPC under load resistance modeling&#x20;error.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g015.tif"/>
</fig>
</sec>
<sec id="s4-4">
<title>Changes of THD During PM</title>
<p>
<xref ref-type="fig" rid="F16">Figure&#x20;16</xref> shows the load and reference currents after harmonic compensation with CCS-MPC when <italic>L</italic>
<sub>o</sub>/<italic>L</italic>&#x20;&#x3d; 1 and <italic>R</italic>
<sub>o</sub>/<italic>R</italic> are 0.25, 1, and 1.75, respectively. Compared with <xref ref-type="fig" rid="F15">Figure&#x20;15</xref>, under the same conditions, its dynamic performance is better when the parameters do not match. However, when a large gap occurs between the reference value and the state value, it may still cause a large tracking error, the reason is that the gap between them will increase the objective function. In CCS-MPC, the dynamic performance is slightly worse when the resistance is overestimated, this result is consistent with the analysis in the previous section.</p>
<fig id="F16" position="float">
<label>FIGURE 16</label>
<caption>
<p>Transient response with CCS-MPC under load resistance modeling&#x20;error.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g016.tif"/>
</fig>
<p>FCS-MPC has no modulation control, the switching frequency varies according to load conditions, they are difficult to compare fairly. In order to make a fair simulation comparison, the THD of the two methods is consistent when the load does not change.</p>
<p>As shown in <xref ref-type="fig" rid="F17">Figure&#x20;17</xref>, in order to better compare the performance between two control methods, the THD harmonic compensation results under different mismatches degrees are analyzed, which are consistent with the above analysis results.<list list-type="simple">
<list-item>
<p>1) <italic>L</italic>
<sub>o</sub>/<italic>L&#x3d; R</italic>
<sub>o</sub>/<italic>R</italic>&#x20;&#x3d; 0.25, that is, when the resistance is underestimated, FCS-MPC causes the more significant error because of in a short time domain, the results cannot be optimized. The THD with FCS-MPC also decreases with the decreases of&#x20;load.</p>
</list-item>
<list-item>
<p>2) We can see from <xref ref-type="fig" rid="F16">Figure&#x20;16</xref> that the dynamic performance of CCS-MPC is obviously better.</p>
</list-item>
<list-item>
<p>3) When the parameters are underestimated, the error caused by CCS-MPC is smaller than that caused by FCS-MPC.</p>
</list-item>
<list-item>
<p>4) After stabilization, the steady-state performance of FCS-MPC is better, which is related to its short time horizon control.</p>
</list-item>
<list-item>
<p>5) In general, CCS-MPC has high fault tolerance when parameters and load are easy to change with the environment, and FCS-MPC has better performance under stable conditions.</p>
</list-item>
</list>
</p>
<fig id="F17" position="float">
<label>FIGURE 17</label>
<caption>
<p>Changes of THD with two methods.</p>
</caption>
<graphic xlink:href="fenrg-09-727364-g017.tif"/>
</fig>
<p>Significantly, the actual control effect is affected by other conditions. Although CCS-MPC has good performance when the PM and the load change, and it can add constraints to the system input and state, the actual control effect is also affected by other control parameters, such as prediction horizon <italic>N</italic>
<sub>
<italic>p</italic>
</sub>, horizon <italic>N</italic>
<sub>
<italic>c</italic>
</sub>, state; input constraints, and weight factors, it is not easy to get the optimal parameters among these factors. In addition, it should be noted that the factor of the weight matrix can also be changed to reduce the error accumulation in the future time horizon. FCS-MPC shows good performance in a stable condition, which also has a great relationship with the processor performance and sampling time <italic>T</italic>
<sub>
<italic>s</italic>
</sub>, moreover, it can also improve the control effect by multi-step prediction or optimizing the cost function. For the application of predictive current control in converter field, according to the above analysis, the value of the load current will affect the control effect. Secondly, the reference value and the current state value will also significantly impact the control effect. At different levels of the power grid, the two methods may have different control effects, which can be further analyzed in the future.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>Conclusion</title>
<p>This paper focuses on the two popular MPC methods of three-phase APF, FCS-MPC, and CCS-MPC, and analyzes their inductance and resistance values when they are not matched. And then analyzes the influence of the current state and harmonic reference value. The analysis and results show that for the two control methods, the error caused by underestimating inductance value is greater than that caused by overestimating, and the control effect is also significantly affected. Compared with inductance mismatch, the error caused by resistance mismatch is smaller and approximately symmetrical. Regarding the influence on the results, the mismatch of inductors is dominant, so more accurate inductance values are needed in the actual industrial environment. The analysis in Section <italic>Steady State and Dynamic State Performance Under Change of Inductance Value</italic> also relates to the power grid level and the nonlinear load size, different reference values and state values will have a particular impact on the prediction results. Finally, the control method also needs to consider the load fluctuation.</p>
<p>After the analysis in this paper, the results show that CCS-MPC has a better control effect and dynamic performance, and the influence of PM is relatively tiny. But when the system is stable, THD is lower with FCS-MPC. In different situations, the selection of different MPC methods can improve the performance of APF, and the asymmetry of load parameter changes can help determine which MPC method APF should use in different situations. In published studies, parameter identification and observer setting are effective solutions, they can effectively improve the sensitivity of MPC in parameter changes. In the future, the discussion at the end of the fourth section, which is worthy of attention in the following research.</p>
<p>Detailed simulation results are provided in this paper. However, the lack of experimental research makes the persuasion of this paper limited. As for the comparison of CCS-MPC and FCS-MPC in design and experiment, some simulations or experiments given in the published papers can provide some reference for readers (<xref ref-type="bibr" rid="B1">Aguilera et&#x20;al., 2013</xref>; <xref ref-type="bibr" rid="B6">Bordons and Montero, 2015</xref>; <xref ref-type="bibr" rid="B24">Young et&#x20;al., 2016</xref>; <xref ref-type="bibr" rid="B3">Ahmed et&#x20;al., 2018</xref>; <xref ref-type="bibr" rid="B21">Wendel et&#x20;al., 2018</xref>; <xref ref-type="bibr" rid="B8">Karamanakos and Geyer, 2019</xref>).</p>
</sec>
</body>
<back>
<sec id="s6">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>Conceptualization and formal analysis, RY; investigation, YL; resources and supervision, JY; validation and writing&#x2014;original draft preparation, YL; writing&#x2014;review and editing, YL. All authors have read and agreed to the published version of the manuscript.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>Project supported by National Natural Science Foundation of China (NSFC) (61863023).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<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 id="s10" sec-type="disclaimer">
<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>
<sec id="s11">
<title>Supplementary Material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fenrg.2021.727364/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fenrg.2021.727364/full&#x23;supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="DataSheet1.docx" id="SM1" mimetype="application/docx" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Aguilera</surname>
<given-names>R. P.</given-names>
</name>
<name>
<surname>Lezana</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Quevedo</surname>
<given-names>D. E.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Finite-Control-Set Model Predictive Control with Improved Steady-State Performance</article-title>. <source>IEEE Trans. Ind. Inf.</source> <volume>9</volume> (<issue>2</issue>), <fpage>658</fpage>&#x2013;<lpage>667</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2012.2211027</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Aguirre</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Kouro</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Rojas</surname>
<given-names>C. A.</given-names>
</name>
<name>
<surname>Rodriguez</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Leon</surname>
<given-names>J.&#x20;I.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Switching Frequency Regulation for FCS-MPC Based on a Period Control Approach</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>65</volume>, <fpage>5764</fpage>&#x2013;<lpage>5773</lpage>. <pub-id pub-id-type="doi">10.1109/tie.2017.2777385</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ahmed</surname>
<given-names>A. A.</given-names>
</name>
<name>
<surname>Koh</surname>
<given-names>B. K.</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>Y. I.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A Comparison of Finite Control Set and Continuous Control Set Model Predictive Control Schemes for Speed Control of Induction Motors</article-title>. <source>IEEE Trans. Ind. Inf.</source> <volume>14</volume> (<issue>4</issue>), <fpage>1334</fpage>&#x2013;<lpage>1346</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2017.2758393</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Akagi</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Kanazawa</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Nabae</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>1984</year>). <article-title>Instantaneous Reactive Power Compensators Comprising Switching Devices without Energy Storage Components</article-title>. <source>IEEE Trans. Ind. Applicat.</source> <volume>IA-20</volume> (<issue>3</issue>), <fpage>625</fpage>&#x2013;<lpage>630</lpage>. <pub-id pub-id-type="doi">10.1109/TIA.1984.4504460</pub-id> </citation>
</ref>
<ref id="B5">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Bogado</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Barrero</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Arahal</surname>
<given-names>M. R.</given-names>
</name>
<name>
<surname>Toral</surname>
<given-names>S. L.</given-names>
</name>
</person-group> (<year>2014</year>). &#x201c;<article-title>Sensitivity to Electrical Parameter Variations of Predictive Current Control in Multiphase Drives[C]// Industrial Electronics Society</article-title>,&#x201d; in <conf-name>IECON 2013 - 39th Annual Conference of the IEEE</conf-name> (<publisher-name>IEEE</publisher-name>). </citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bordons</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Montero</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Basic Principles of MPC for Power Converters: Bridging the Gap between Theory and Practice</article-title>. <source>EEE Ind. Electron. Mag.</source> <volume>9</volume> (<issue>3</issue>), <fpage>31</fpage>&#x2013;<lpage>43</lpage>. <pub-id pub-id-type="doi">10.1109/MIE.2014.2356600</pub-id> </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Garcia-Cerrada</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Pinzon-Ardila</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Feliu-Batlle</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Roncero-Sanchez</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Garcia-Gonzalez</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>Application of a Repetitive Controller for a Three-phase Active Power Filter</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>22</volume> (<issue>1</issue>), <fpage>237</fpage>&#x2013;<lpage>246</lpage>. <pub-id pub-id-type="doi">10.1109/TPEL.2006.886609</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Karamanakos</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Geyer</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Guidelines for the Design of Finite Control Set Model Predictive Controllers[J]</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>35</volume> (<issue>7</issue>), <fpage>7434</fpage>&#x2013;<lpage>7450</lpage>. <pub-id pub-id-type="doi">10.1109/TPEL.2019.2954357</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Kolar</surname>
<given-names>J.&#x20;W.</given-names>
</name>
<name>
<surname>Ertl</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zach</surname>
<given-names>F. C.</given-names>
</name>
</person-group> (<year>1996</year>). &#x201c;<article-title>Design and Experimental Investigation of a Three-phase High Power Density High Efficiency unity Power Factor PWM (VIENNA) Rectifier Employing a Novel Integrated Power Semiconductor Module</article-title>,&#x201d; in <conf-name>Proceedings of Applied Power Electronics Conference APEC &#x27;96</conf-name>, <conf-loc>San Jose, CA, USA</conf-loc>, <volume>2</volume>, <fpage>514</fpage>&#x2013;<lpage>523</lpage>. <pub-id pub-id-type="doi">10.1109/APEC.1996.500491</pub-id> </citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kwak</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Moon</surname>
<given-names>U.-C.</given-names>
</name>
<name>
<surname>Park</surname>
<given-names>J.-C.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Predictive-Control-Based Direct Power Control with an Adaptive Parameter Identification Technique for Improved AFE Performance</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>29</volume> (<issue>11</issue>), <fpage>6178</fpage>&#x2013;<lpage>6187</lpage>. <comment>Nov. 2014</comment>. <pub-id pub-id-type="doi">10.1109/TPEL.2014.2298041</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Qi</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A Novel Multi-Vector Model Predictive Current Control of Three-phase Active Power Filter</article-title>. <source>Ejee</source> <volume>23</volume> (<issue>1</issue>), <fpage>71</fpage>&#x2013;<lpage>78</lpage>. <pub-id pub-id-type="doi">10.18280/ejee.230109</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Robust Predictive Current Control of Permanent-Magnet Synchronous Motors with Newly Designed Cost Function</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>35</volume> (<issue>10</issue>), <fpage>10778</fpage>&#x2013;<lpage>10788</lpage>. <pub-id pub-id-type="doi">10.1109/TPEL.2020.2980930</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Marks</surname>
<given-names>J.&#x20;H.</given-names>
</name>
<name>
<surname>Green</surname>
<given-names>T. C.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Predictive Transient-Following Control of Shunt and Series Active Power Filters</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>17</volume> (<issue>4</issue>), <fpage>574</fpage>&#x2013;<lpage>584</lpage>. <pub-id pub-id-type="doi">10.1109/TPEL.2002.800970</pub-id> </citation>
</ref>
<ref id="B14">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Meynard</surname>
<given-names>T. A.</given-names>
</name>
<name>
<surname>Foch</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>1992</year>). &#x201c;<article-title>Multi-level Conversion: High Voltage Choppers and Voltage-Source Inverters</article-title>,&#x201d; in <conf-name>PESC &#x27;92 Record. 23rd Annual IEEE Power Electronics Specialists Conference</conf-name>, <conf-loc>Toledo, Spain</conf-loc>, <volume>1</volume>, <fpage>397</fpage>&#x2013;<lpage>403</lpage>. <pub-id pub-id-type="doi">10.1109/PESC.1992.254717</pub-id> </citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Norambuena</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Lezana</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Rodriguez</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A Method to Eliminate Steady-State Error of Model Predictive Control in Power Electronics</article-title>. <source>IEEE J.&#x20;Emerg. Sel. Top. Power Electron.</source> <volume>7</volume> (<issue>4</issue>), <fpage>2525</fpage>&#x2013;<lpage>2530</lpage>. <pub-id pub-id-type="doi">10.1109/JESTPE.2019.2894993</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rodriguez</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Lai</surname>
<given-names>J-S.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>F. Z.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Multilevel Inverters: a Survey of Topologies, Controls, and Applications</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>49</volume> (<issue>4</issue>), <fpage>724</fpage>&#x2013;<lpage>738</lpage>. <pub-id pub-id-type="doi">10.1109/TIE.2002.801052</pub-id> </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rodriguez</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Pontt</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Silva</surname>
<given-names>C. A.</given-names>
</name>
<name>
<surname>Correa</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Lezana</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Cortes</surname>
<given-names>P.</given-names>
</name>
<etal/>
</person-group> (<year>2007</year>). <article-title>Predictive Current Control of a Voltage Source Inverter</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>54</volume> (<issue>1</issue>), <fpage>495</fpage>&#x2013;<lpage>503</lpage>. <pub-id pub-id-type="doi">10.1109/tie.2006.888802</pub-id> </citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rodriguez</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Kazmierkowski</surname>
<given-names>M. P.</given-names>
</name>
<name>
<surname>Espinoza</surname>
<given-names>J.&#x20;R.</given-names>
</name>
<name>
<surname>Zanchetta</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Abu-Rub</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Young</surname>
<given-names>H. A.</given-names>
</name>
<etal/>
</person-group> (<year>2013</year>). <article-title>State of the Art of Finite Control Set Model Predictive Control in Power Electronics</article-title>. <source>IEEE Trans. Ind. Inf.</source> <volume>9</volume> (<issue>2</issue>), <fpage>1003</fpage>&#x2013;<lpage>1016</lpage>. <pub-id pub-id-type="doi">10.1109/tii.2012.2221469</pub-id> </citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Singh</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Al-Haddad</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Chandra</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>1999</year>). <article-title>A Review of Active Filters for Power Quality Improvement</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>46</volume> (<issue>5</issue>), <fpage>960</fpage>&#x2013;<lpage>971</lpage>. <pub-id pub-id-type="doi">10.1109/41.793345</pub-id> </citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Vazquez</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Rodriguez</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Rivera</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Franquelo</surname>
<given-names>L. G.</given-names>
</name>
<name>
<surname>Norambuena</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Model Predictive Control for Power Converters and Drives: Advances and Trends</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>64</volume> (<issue>2</issue>), <fpage>935</fpage>&#x2013;<lpage>947</lpage>. <pub-id pub-id-type="doi">10.1109/TIE.2016.2625238</pub-id> </citation>
</ref>
<ref id="B21">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Wendel</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Haucke-Korber</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Dietz</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Kennel</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Cascaded Continuous and Finite Model Predictive Speed Control for Electrical Drives[C]//</article-title>,&#x201d; in <conf-name>20th European Conference on Power Electronics and Applications (EPE&#x27;18 ECCE Europe)</conf-name>. </citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xie</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Dai</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>S. Q.</given-names>
</name>
<name>
<surname>Kang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Optimization Control of DC-link Voltage for Shunt Active Power Filter</article-title>. <source>Proc. Chin. Soc. Electr. Eng.</source> <volume>31</volume>, <fpage>23</fpage>. </citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiong</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhuo</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A Fast and Robust Real-Time Detection Algorithm of Decaying DC Transient and Harmonic Components in Three-phase Systems</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>35</volume> (<issue>4</issue>), <fpage>3332</fpage>&#x2013;<lpage>3336</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2019.2940891</pub-id> </citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Young</surname>
<given-names>H. A.</given-names>
</name>
<name>
<surname>Perez</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Rodriguez</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Analysis of Finite-Control-Set Model Predictive Current Control with Model Parameter Mismatch in a Three-phase Inverter</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>63</volume> (<issue>5</issue>), <fpage>3100</fpage>&#x2013;<lpage>3107</lpage>. <pub-id pub-id-type="doi">10.1109/TIE.2016.2515072</pub-id> </citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Or</surname>
<given-names>S. W.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Chung</surname>
<given-names>C. Y.</given-names>
</name>
<name>
<surname>Voropai</surname>
<given-names>N. I.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Optimal Coordinated Control of Multi-Renewable-To-Hydrogen Production System for Hydrogen Fueling Stations</article-title>. <source>IEEE Trans. Ind. Applicat.</source> (<issue>99</issue>), <fpage>1</fpage>&#x2013;<lpage>1</lpage>. <pub-id pub-id-type="doi">10.1109/TIA.2021.3093841</pub-id> </citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Chan</surname>
<given-names>K. W.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Bu</surname>
<given-names>S.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Optimal Coordination of Electric Vehicles for Virtual Power Plants with Dynamic Communication Spectrum Allocation</article-title>. <source>IEEE Trans. Ind. Inf.</source> <volume>17</volume> (<issue>1</issue>), <fpage>450</fpage>&#x2013;<lpage>462</lpage>. <pub-id pub-id-type="doi">10.1109/tii.2020.2986883</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>