{"id":20192,"date":"2024-01-15T15:05:25","date_gmt":"2024-01-15T15:05:25","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=20192"},"modified":"2026-02-11T08:32:21","modified_gmt":"2026-02-11T08:32:21","slug":"grid-following-inverter","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter","title":{"rendered":"Grid-Following Inverter (GFLI)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-right-text counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\/#What-is-a-Grid-Following-Inverter\" >What is a Grid-Following Inverter?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\/#Control-of-the-Grid-Following-Inverter\" >Control of the Grid-Following Inverter<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\/#Grid-synchronization\" >Grid synchronization<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\/#Grid-current-control\" >Grid current control<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\/#PWM-activation\" >PWM activation<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\/#TPI-8032-implementation\" >TPI 8032 implementation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\/#Software-resources\" >Software resources<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\/#Experimental-results\" >Experimental results<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\/#To-go-further\" >To go further<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>This technical note introduces the working principle of a Grid-Following Inverter (GFLI) and presents an implementation example built with the&nbsp;<a href=\"https:\/\/imperix.com\/products\/power\/programmable-inverter\/\">TPI 8032<\/a> programmable inverter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-a-grid-following-inverter\"><span class=\"ez-toc-section\" id=\"What-is-a-Grid-Following-Inverter\"><\/span>What is a Grid-Following Inverter?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Grid-Following Inverters (GFLI) and Grid-Forming Inverters (GFMI) are two basic categories of grid-connected inverters. Essentially, a grid-following inverter works as a current source that synchronizes its output with the grid voltage and frequency and injects or absorbs active or reactive power by controlling its output current. In contrast, a grid-forming inverter works as a voltage source that sets the amplitude and frequency of the grid, as introduced in <a href=\"https:\/\/imperix.com\/doc\/implementation\/grid-forming-inverter\">Grid-Forming Inverter<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<p>Thanks to the advantages of simplicity and relatively low price, grid-following inverters are widely used in grid-connected applications, such as renewable energy generation, energy storage, electric vehicle charging, etc. Compared to grid-forming inverters, grid-following inverters can achieve faster power control and response, and also avoid some technical challenges such as synchronization between parallel-operating inverters.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-control-of-the-grid-following-inverter\"><span class=\"ez-toc-section\" id=\"Control-of-the-Grid-Following-Inverter\"><\/span>Control of the Grid-Following Inverter<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The control objective of a Grid-Following Inverter is usually to control the active and reactive power injection to the grid. In a rotating reference frame (dq) synchronized with the grid voltage, the active and reactive power can be expressed as:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>$$P = \\frac{3}{2}\\cdot V_{g,d}\\cdot I_{g,d}$$<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>$$Q = \\frac{3}{2}\\cdot V_{g,q}\\cdot I_{g,q}$$<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>If the grid voltage amplitude \\(V_{g,d}\\) is constant, the control of the active and reactive power can be simplified with the control of the grid currents in the dq-frame. In addition to the current control loop, some additional functionalities are also needed, such as synchronization with the AC grid and proper activation of the PWM outputs, as depicted in the control diagram below.<\/p>\n\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"621\" height=\"329\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_ctrl_diagram.png\" alt=\"grid-following inverter control diagram\" class=\"wp-image-25423\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_ctrl_diagram.png 621w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_ctrl_diagram-300x159.png 300w\" sizes=\"auto, (max-width: 621px) 100vw, 621px\" \/><figcaption class=\"wp-element-caption\">Control diagram of the Grid-Following Inverter example<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-grid-synchronization\"><span class=\"ez-toc-section\" id=\"Grid-synchronization\"><\/span>Grid synchronization<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>An accurate synchronization system is required to track the grid\u2019s phase and frequency. This note uses an&nbsp;<a href=\"https:\/\/imperix.com\/doc\/implementation\/synchronous-reference-frame-pll\">SRF PLL<\/a>&nbsp;as an example, which is a simple and widely used solution for synchronization with the three-phase grid. Another possible technique is introduced in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/implementation\/sogi-pll\">SOGI PLL<\/a>, which has better dynamic performance and can work with a single-phase grid, at the cost of a more complex implementation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-grid-current-control\"><span class=\"ez-toc-section\" id=\"Grid-current-control\"><\/span>Grid current control<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>In this note, the active and reactive power flow is directly controlled by the current reference \\(I_{g,d}\\) and \\(I_{g,q}\\) in the rotating reference frame (dq). The grid current components are controlled by two PI controllers in the grid-synchronous frame (dq) using the same technique as introduced in <a href=\"https:\/\/imperix.com\/doc\/implementation\/vector-current-control\">Vector current control<\/a>.<\/p>\n\n\n\n<p>The plant model of the current controller contains multiple terms, in part due to the multi-stage filter of the TPI 8032. However, for the tuning purpose of the current controller, this plant model can be simplified to a first-order delay representing the actuator, and a sole inductor. The resulting plant transfer function is therefore:<\/p>\n\n\n\n<p>$$G_{plant}(s)=\\frac{1}{1+sT_d}\\cdot\\frac{1}{R_g+sL_g}$$<\/p>\n\n\n\n<p>The control parameters \\(K_{p,I}\\) and \\(K_{i,I}\\) can, for instance, be tuned using the Magnitude Optimum (MO) criterion, considering the plant model above and the parameters \\(L_g\\) and \\(R_g\\) extracted from to the <a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/TPI8032_Datasheet.pdf\">TPI 8032 datasheet<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\">$$\\begin{aligned} K_{p,I} =\\frac{L_g}{2T_d} \\\\ \\\\ K_{i,I} =\\frac{R_g}{2T_d}\\end{aligned}$$<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-table is-style-regular\"><table class=\"has-fixed-layout\"><tbody><tr><td>Lg<\/td><td>1050 \u00b5H<\/td><\/tr><tr><td>Rg<\/td><td>54 m\u03a9<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Plant parameters<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>The parameter&nbsp;\\(T_{d}\\)&nbsp;represents the sum of all the small delays in the system, such as the computation and the modulation delays. The product note&nbsp;<a href=\"https:\/\/imperix.com\/doc\/help\/discrete-control-delay\">Time delay determination for closed-loop control<\/a>&nbsp;explains how to determine the total delay of the system. In this example, the cycle delay is shorter than half a control period (\\( T_{cy} &lt; 0.5T_s \\)), and a triangular carrier is used for PWM modulation. The delay total delay \\(T_{d}\\) is computed as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sensing delay: neglected&nbsp;(\\(\\approx 500\\,\\text{ns}\\))<\/li>\n\n\n\n<li>Control delay: \\(T_{d,ctrl} = 0.5T_s\\)<\/li>\n\n\n\n<li>Modulator delay:&nbsp;\\(T_{d,\\text{PWM}}=0.5T_{sw}\\)<\/li>\n\n\n\n<li>Switching delay: neglected, sub-microsecond<\/li>\n<\/ul>\n\n\n\n<p>Please also note that if <a href=\"https:\/\/imperix.com\/doc\/help\/synchronous-averaging\">synchronous averaging<\/a> is enabled, which is the case by default in <a href=\"https:\/\/imperix.com\/doc\/software\/tpi-adc-helper-block\">TPI ADC<\/a> blocks, an additional delay of \\(0.5T_{sw}\\) has to be considered, due to the averaging of the measured quantities over one switching period. When considering \\(T_s = T_{sw}\\), the total delay is therefore:<\/p>\n\n\n\n<p>$$ T_{d}=T_{d,ctrl} + T_{d,\\text{PWM}} + T_{d,\\text{avg}}=1.5T_s $$<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-pwm-activation\"><span class=\"ez-toc-section\" id=\"PWM-activation\"><\/span>PWM activation<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The PWM output is only activated when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PLL is synchronized with the grid;<\/li>\n\n\n\n<li>Relays are closed and ready to operate;<\/li>\n\n\n\n<li>The tunable parameter <code>activate<\/code> is set to &#8216;1&#8217; by users.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tpi-8032-implementation\"><span class=\"ez-toc-section\" id=\"TPI-8032-implementation\"><\/span>TPI 8032 implementation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The Grid-Following Inverter control has been implemented in Simulink.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2318\" height=\"1231\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_simulink_model.png\" alt=\"Grid-Following Inverter Simulink model\" class=\"wp-image-25257\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_simulink_model.png 2318w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_simulink_model-300x159.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_simulink_model-1024x544.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_simulink_model-768x408.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_simulink_model-1536x816.png 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_simulink_model-2048x1088.png 2048w\" sizes=\"auto, (max-width: 2318px) 100vw, 2318px\" \/><figcaption class=\"wp-element-caption\">Grid-Following Inverter control implementation in Simulink<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-software-resources\"><span class=\"ez-toc-section\" id=\"Software-resources\"><\/span>Software resources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The following zip files contain examples of control using MATLAB Simulink and PLECS.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-file aligncenter\"><a id=\"wp-block-file--media-5c98d167-dc9c-4407-84ea-c0eda74b784e\" href=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/07\/TN167_Grid_Following_Inverter_Simulink.zip\">TN167_Grid_Following_Inverter_Simulink<\/a><a href=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/07\/TN167_Grid_Following_Inverter_Simulink.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-5c98d167-dc9c-4407-84ea-c0eda74b784e\">Download<br><strong>TN167_Grid_Following_Inverter_Simulink.zip<\/strong><\/a><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-file aligncenter\"><a href=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/01\/TN167_Grid_Following_Inverter_PLECS_powerlib.zip\" class=\"wp-block-file__button wp-element-button\" download>Download<br>T<strong>N167_Grid_Following_Inverter_PLECS.zip<\/strong><\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">The plant model is built with the Imperix Power library for fast and accurate simulation of imperix power products. For more information on the Imperix Power library, please read <a href=\"https:\/\/imperix.com\/doc\/help\/getting-started-with-imperix-power-library\">PN150 &#8211; Getting started with Imperix Power library<\/a>.<br>Imperix Power library requires ACG SDK 2024.2 or a later version. To update the ACG SDK, please go to\u00a0<a href=\"https:\/\/imperix.com\/downloads\/\" target=\"_blank\" rel=\"noreferrer noopener\">imperix.com\/downloads\/<\/a>.<\/div>\n\n\n\n<p>The minimum requirements are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Imperix ACG SDK 2024.2 or newer, available&nbsp;<a href=\"https:\/\/imperix.com\/downloads\/\">here<\/a><\/li>\n\n\n\n<li>MATLAB Simulink R2016a or newer.<\/li>\n\n\n\n<li>Plexim PLECS 4.5 or newer<\/li>\n\n\n\n<li>For simulation only: Simscape Electrical<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-experimental-results\"><span class=\"ez-toc-section\" id=\"Experimental-results\"><\/span>Experimental results<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-success\" role=\"alert\">General\u00a0<strong>safety-related recommendations<\/strong>\u00a0for operating power converters in a laboratory environment are given in\u00a0<a href=\"https:\/\/imperix.com\/doc\/implementation\/safety-and-protection-in-the-lab\">TN181<\/a>.<\/div>\n\n\n\n<p>The experiment has been carried out on a TPI 8032 with a DC source and AC grid. The wiring scheme and the experiment setup are shown below.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"334\" height=\"119\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_exp_wiring.png\" alt=\"Grid-Following Inverter experimental wiring scheme\" class=\"wp-image-25425\" style=\"width:334px;height:119px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_exp_wiring.png 334w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_exp_wiring-300x107.png 300w\" sizes=\"auto, (max-width: 334px) 100vw, 334px\" \/><figcaption class=\"wp-element-caption\">Grid-Following Inverter experimental wiring scheme<\/figcaption><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1626\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_exp_setup1-scaled.jpg\" alt=\"Grid-Following Inverter experimental setup\" class=\"wp-image-25259\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_exp_setup1-scaled.jpg 2560w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_exp_setup1-300x191.jpg 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_exp_setup1-1024x651.jpg 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_exp_setup1-768x488.jpg 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_exp_setup1-1536x976.jpg 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_exp_setup1-2048x1301.jpg 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">Grid-Following Inverter experimental setup<\/figcaption><\/figure>\n\n\n\n<p>The operating conditions are:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table class=\"has-fixed-layout\"><tbody><tr><td>Control frequency [kHz]<\/td><td>50<\/td><\/tr><tr><td>DC bus voltage [V]<\/td><td>750<\/td><\/tr><tr><td>RMS grid voltage (phase to neutral) [V]<\/td><td>230<\/td><\/tr><tr><td>Grid frequency [Hz]<\/td><td>50<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Experiment conditions<\/figcaption><\/figure>\n\n\n\n<p>The experimental results are presented below with steps performed on the d-axis and q-axis current reference. It can be seen that the current reference is rapidly tracked by the controller during the whole test. <\/p>\n\n\n\n<p>Besides, the controller also has good performance in decoupling d-axis and q-axis currents. When there is a current step in one axis, the current in the other axis remains unaffected.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"300\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igabc2.png\" alt=\"grid-following inverter exp abc current\" class=\"wp-image-25819\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igabc2.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igabc2-300x115.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igabc2-768x295.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"300\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igdq2.png\" alt=\"grid-following inverter exp dq current\" class=\"wp-image-25821\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igdq2.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igdq2-300x115.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igdq2-768x295.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><\/figure>\n\n\n\n<p>The controller&#8217;s time-domain performance can be further verified by examining one step on the d-axis or q-axis more closely. As seen in the following figure, the settling time is around 200 us. The controller has fast performance with no overshoot.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"300\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igdq_zoom2.png\" alt=\"grid-following inverter exp dq current step\" class=\"wp-image-25822\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igdq_zoom2.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igdq_zoom2-300x115.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/gfli_igdq_zoom2-768x295.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-to-go-further\"><span class=\"ez-toc-section\" id=\"To-go-further\"><\/span>To go further<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The TPI 8032 can be easily programmed to fit any purpose. More examples of TPI in microgrid applications are available in the knowledge base, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/imperix.com\/doc\/implementation\/active-front-end\">Active Front End<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/implementation\/grid-forming-inverter\">Grid-Forming Inverter<\/a><\/li>\n<\/ul>\n\n\n\n<p>Additionally, a grid-following example using a B-Board and a third party inverter is provided in <a href=\"https:\/\/imperix.com\/doc\/implementation\/control-of-a-sinamics-s120-using-a-b-board-pro\" type=\"link\" id=\"https:\/\/imperix.com\/doc\/implementation\/control-of-a-sinamics-s120-using-a-b-board-pro\">TN178<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This technical note introduces the working principle of a Grid-Following Inverter (GFLI) and presents an implementation example built with the&nbsp;TPI 8032 programmable inverter. What is&#8230;<\/p>\n","protected":false},"author":10,"featured_media":25592,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[4],"tags":[],"software-environments":[103,104],"provided-results":[108],"related-products":[50,110],"guidedreadings":[120,116],"tutorials":[122,152,125],"user-manuals":[143],"coauthors":[72],"class_list":["post-20192","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-implementation","software-environments-matlab","software-environments-plecs","provided-results-experimental","related-products-acg-sdk","related-products-tpi","guidedreadings-static-synchronous-compensator-statcom","guidedreadings-three-phase-pv-inverter-for-grid-tied-applications","tutorials-active-front-end-afe","tutorials-active-power-filter","tutorials-grid-following-inverter-gfli","user-manuals-tpi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Grid-Following Inverter (GFLI) - imperix power electronics<\/title>\n<meta name=\"description\" content=\"This technical note introduces the working principle of the grid-following inverter and presents an implementation with TPI 8032.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Grid-Following Inverter (GFLI) - imperix power electronics\" \/>\n<meta property=\"og:description\" content=\"This technical note introduces the working principle of the grid-following inverter and presents an implementation with TPI 8032.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-15T15:05:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-11T08:32:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/01\/3_2_ratio_TN167.png\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Shu Wang\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Shu Wang\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter\"},\"author\":{\"name\":\"Shu Wang\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/e57025902e777170f33a7afa4a74afb7\"},\"headline\":\"Grid-Following Inverter (GFLI)\",\"datePublished\":\"2024-01-15T15:05:25+00:00\",\"dateModified\":\"2026-02-11T08:32:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter\"},\"wordCount\":1150,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/3_2_ratio_TN167.png\",\"articleSection\":[\"Technical notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter\",\"name\":\"Grid-Following Inverter (GFLI) - imperix power electronics\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/3_2_ratio_TN167.png\",\"datePublished\":\"2024-01-15T15:05:25+00:00\",\"dateModified\":\"2026-02-11T08:32:21+00:00\",\"description\":\"This technical note introduces the working principle of the grid-following inverter and presents an implementation with TPI 8032.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/3_2_ratio_TN167.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/3_2_ratio_TN167.png\",\"width\":450,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/grid-following-inverter#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knowledge base\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Technical notes\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/category\\\/implementation\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Grid-Following Inverter (GFLI)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"name\":\"imperix\",\"description\":\"power electronics\",\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/imperix.com\\\/doc\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\",\"name\":\"imperix\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"width\":350,\"height\":120,\"caption\":\"imperix\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/e57025902e777170f33a7afa4a74afb7\",\"name\":\"Shu Wang\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c5195ad4fcc5844061b0229a4e67ac2916756927bc646fb6f6ff3dfb1bba140?s=96&d=mm&r=g4b86f01b045719d1dd14babc666c16ba\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c5195ad4fcc5844061b0229a4e67ac2916756927bc646fb6f6ff3dfb1bba140?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c5195ad4fcc5844061b0229a4e67ac2916756927bc646fb6f6ff3dfb1bba140?s=96&d=mm&r=g\",\"caption\":\"Shu Wang\"},\"description\":\"Shu is an experienced development engineer at imperix. He authored or co-authored numerous articles on the knowledge base, notably on FPGA-based control implementation and high-level synthesis tools and techniques.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/shu-wang-6581221b9\\\/\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/wang\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Grid-Following Inverter (GFLI) - imperix power electronics","description":"This technical note introduces the working principle of the grid-following inverter and presents an implementation with TPI 8032.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter","og_locale":"en_US","og_type":"article","og_title":"Grid-Following Inverter (GFLI) - imperix power electronics","og_description":"This technical note introduces the working principle of the grid-following inverter and presents an implementation with TPI 8032.","og_url":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter","og_site_name":"imperix","article_published_time":"2024-01-15T15:05:25+00:00","article_modified_time":"2026-02-11T08:32:21+00:00","og_image":[{"width":450,"height":300,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/01\/3_2_ratio_TN167.png","type":"image\/png"}],"author":"Shu Wang","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Shu Wang","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter"},"author":{"name":"Shu Wang","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/e57025902e777170f33a7afa4a74afb7"},"headline":"Grid-Following Inverter (GFLI)","datePublished":"2024-01-15T15:05:25+00:00","dateModified":"2026-02-11T08:32:21+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter"},"wordCount":1150,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/01\/3_2_ratio_TN167.png","articleSection":["Technical notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter","url":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter","name":"Grid-Following Inverter (GFLI) - imperix power electronics","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/01\/3_2_ratio_TN167.png","datePublished":"2024-01-15T15:05:25+00:00","dateModified":"2026-02-11T08:32:21+00:00","description":"This technical note introduces the working principle of the grid-following inverter and presents an implementation with TPI 8032.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/01\/3_2_ratio_TN167.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/01\/3_2_ratio_TN167.png","width":450,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Knowledge base","item":"https:\/\/imperix.com\/doc\/"},{"@type":"ListItem","position":2,"name":"Technical notes","item":"https:\/\/imperix.com\/doc\/category\/implementation"},{"@type":"ListItem","position":3,"name":"Grid-Following Inverter (GFLI)"}]},{"@type":"WebSite","@id":"https:\/\/imperix.com\/doc\/#website","url":"https:\/\/imperix.com\/doc\/","name":"imperix","description":"power electronics","publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imperix.com\/doc\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/imperix.com\/doc\/#organization","name":"imperix","url":"https:\/\/imperix.com\/doc\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","width":350,"height":120,"caption":"imperix"},"image":{"@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/e57025902e777170f33a7afa4a74afb7","name":"Shu Wang","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8c5195ad4fcc5844061b0229a4e67ac2916756927bc646fb6f6ff3dfb1bba140?s=96&d=mm&r=g4b86f01b045719d1dd14babc666c16ba","url":"https:\/\/secure.gravatar.com\/avatar\/8c5195ad4fcc5844061b0229a4e67ac2916756927bc646fb6f6ff3dfb1bba140?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8c5195ad4fcc5844061b0229a4e67ac2916756927bc646fb6f6ff3dfb1bba140?s=96&d=mm&r=g","caption":"Shu Wang"},"description":"Shu is an experienced development engineer at imperix. He authored or co-authored numerous articles on the knowledge base, notably on FPGA-based control implementation and high-level synthesis tools and techniques.","sameAs":["https:\/\/www.linkedin.com\/in\/shu-wang-6581221b9\/"],"url":"https:\/\/imperix.com\/doc\/author\/wang"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/20192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=20192"}],"version-history":[{"count":128,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/20192\/revisions"}],"predecessor-version":[{"id":42716,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/20192\/revisions\/42716"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/25592"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=20192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=20192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=20192"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=20192"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=20192"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=20192"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=20192"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=20192"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=20192"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=20192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}