{"id":25722,"date":"2024-03-12T15:36:50","date_gmt":"2024-03-12T15:36:50","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=25722"},"modified":"2025-12-31T10:43:43","modified_gmt":"2025-12-31T10:43:43","slug":"virtual-impedance-for-droop-control","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control","title":{"rendered":"Virtual impedance for droop control"},"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\/virtual-impedance-for-droop-control\/#Power-coupling-issue-in-resistive-lines\" >Power coupling issue in resistive lines<\/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\/virtual-impedance-for-droop-control\/#Working-principle-of-the-virtual-impedance-method\" >Working principle of the virtual impedance method<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control\/#Virtual-impedance-implementation-with-imperix-ACG-SDK\" >Virtual impedance implementation with imperix ACG SDK<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control\/#Experimental-setup\" >Experimental setup<\/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\/virtual-impedance-for-droop-control\/#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-6\" href=\"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control\/#To-go-further\" >To go further<\/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\/virtual-impedance-for-droop-control\/#Academic-reference\" >Academic reference<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>This note introduces the virtual impedance method for power decoupling in resistive lines. An implementation example is provided to validate the virtual impedance method with droop control featuring the&nbsp;<a href=\"https:\/\/imperix.com\/products\/power\/programmable-inverter\/\" target=\"_blank\" rel=\"noreferrer noopener\">programmable inverter TPI 8032<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/imperix.com\/software\/acg-sdk\/\" target=\"_blank\" rel=\"noreferrer noopener\">ACG SDK<\/a>.<\/p>\n\n\n\n<p>An overview of the hardware architecture and detailed instructions on how to program the device are addressed in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/help\/tpi-quick-start-guide\">getting started with the TPI 8032<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"469\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Setup_picture_not_annotated.png\" alt=\"\" class=\"wp-image-27559\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Setup_picture_not_annotated.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Setup_picture_not_annotated-300x180.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Setup_picture_not_annotated-768x462.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Power-coupling-issue-in-resistive-lines\"><\/span>Power coupling issue in resistive lines<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/imperix.com\/doc\/implementation\/proportional-droop-control\">Droop control<\/a>&nbsp;is a well-established communication-less control strategy for regulating the power-sharing between <a href=\"https:\/\/imperix.com\/doc\/implementation\/grid-forming-inverter\">Grid-Forming Inverters (GFMI)<\/a>. However, the idea of droop control is based on the fact that the active and reactive power flow can be decoupled in an inductive transmission line, which is not always true, especially in low-voltage transmission grids.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"162\" height=\"79\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_transmission.png\" alt=\"single-phase equivalent circuit for the symmetrical three-phase transmission line\" class=\"wp-image-27582\"\/><\/figure>\n<\/div>\n\n\n<p>Considering the single-phase equivalent circuit for the symmetrical three-phase transmission line, the active and reactive power flow in a transmission line can be calculated by:<\/p>\n\n\n\n<p>$$ P=3\\cfrac{V_1}{R_{l}^2+X_{l}^2}[ R_{l}(V_1-V_2\\cos\\delta)+X_{l}V_2\\sin\\delta] $$<\/p>\n\n\n\n<p>$$ Q=3\\cfrac{V_1}{R_{l}^2+X_{l}^2}[ X_{l}(V_1-V_2\\cos\\delta)-R_{l}V_2\\sin\\delta] $$<\/p>\n\n\n\n<p>When the transmission line is mostly inductive (\\(R_l\\approx 0\\)), and the phase angle is small enough (\\(\\sin(\\delta)\\approx \\delta, \\cos(\\delta)\\approx 1\\)), the active power \\(P\\) and reactive power \\(Q\\) can be further simplified as [1]:<\/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\\approx3\\cfrac{V_1V_2}{X_{l}} \\delta $$<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>$$ Q\\approx3\\cfrac{V_1(V_1-V_2)}{X_{l}} $$<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Based on the equations above, the active and reactive power flows can be fully decoupled and controlled independently. However, if the transmission line is mostly resistive (\\(R_l \\ne 0\\)), the above approximations no longer hold, and both active and reactive power depend on the angle and the voltage variation along the line.<\/p>\n\n\n\n<p>Considering a similar setup as introduced in <a href=\"https:\/\/imperix.com\/doc\/implementation\/parallel-operation-of-grid-forming-inverters\">Parallel operation of GFMIs<\/a>, two GFMIs running in parallel are considered with a load, connected at the other end of a mainly resistive line. With conventional droop control, a load step \\(\\Delta P_{\\text{load}}\\) determines a variation of the frequency reference \\(\\omega^*\\). But with a resistive load, the reactive power \\(Q\\) is also affected, causing the change of the voltage reference \\(V^*\\). Again, since the active power \\(P\\) also depends on the voltage, \\(P\\) will change further, leading to oscillations and possible instability of the system.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"587\" height=\"315\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_system_under_study.png\" alt=\"System under study: two parallel GFMIs with load\" class=\"wp-image-27925\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_system_under_study.png 587w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_system_under_study-300x161.png 300w\" sizes=\"auto, (max-width: 587px) 100vw, 587px\" \/><figcaption class=\"wp-element-caption\">System under study: two parallel GFMIs with load<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Working-principle-of-the-virtual-impedance-method\"><\/span>Working principle of the virtual impedance method<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To avoid the coupling issue between active and reactive power, a virtual impedance can be added to the conventional droop control. The working principle of the virtual impedance method is to mimic a line inductance by subtracting the voltage reference \\(V^*\\) by a virtual voltage drop \\(V_{\\text{v}}\\). <\/p>\n\n\n\n<p>$$ V_{\\text{v}} = L_{\\text{v}}\\frac{\\mathrm{d} I}{\\mathrm{d} t} $$<\/p>\n\n\n\n<p>Where \\( L_{\\text{v}} \\) is the virtual inductance.<\/p>\n\n\n\n<p>To avoid the unwanted noise amplification of numerical derivation, approximation methods have been proposed in [2] by calculating the virtual voltage drop in the<a href=\"https:\/\/imperix.com\/doc\/software\/abc-to-dq0\"> rotating reference frame (<em>dq0<\/em>)<\/a>:<\/p>\n\n\n\n<p>$$ V_{\\text{v},d} = -L_{\\text{v}}\\omega I_{q} $$<\/p>\n\n\n\n<p>$$ V_{\\text{v},q} = L_{\\text{v}}\\omega I_{d} $$<\/p>\n\n\n\n<p>The corresponding control diagram is as follows:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"334\" height=\"142\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/virtual_impedance_concept.png\" alt=\"Concept of the virtual impedance method\" class=\"wp-image-27311\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/virtual_impedance_concept.png 334w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/virtual_impedance_concept-300x128.png 300w\" sizes=\"auto, (max-width: 334px) 100vw, 334px\" \/><figcaption class=\"wp-element-caption\">Concept of the virtual impedance method<\/figcaption><\/figure>\n<\/div>\n\n\n<p>In contrast to a conventional droop control, an active power variation determines a voltage reference variation through a virtual inductance. Moreover, the virtual voltage drop allows the conceptual decoupling of active and reactive power. Therefore, stability is ensured by using the droop control with virtual inductance. The effect of the \\(L_{\\text{v}}\\) value is studied in the experimental result section.<\/p>\n\n\n\n<p>With the addition of the virtual impedance, the whole diagram of the droop controller becomes:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"646\" height=\"247\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/droop_ctrl_with_virtual_impedance.png\" alt=\"droop control with virtual impedance\" class=\"wp-image-27314\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/droop_ctrl_with_virtual_impedance.png 646w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/droop_ctrl_with_virtual_impedance-300x115.png 300w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><figcaption class=\"wp-element-caption\">Droop control with virtual impedance<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Virtual-impedance-implementation-with-imperix-ACG-SDK\"><\/span>Virtual impedance implementation with imperix ACG SDK<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The control models available here after are implemented in Simulink using the imperix&nbsp;<a href=\"https:\/\/imperix.com\/software\/acg-sdk\/simulink\/\" target=\"_blank\" rel=\"noreferrer noopener\">ACG SDK<\/a>&nbsp;blockset. The models can both simulate the behavior of the system in an offline simulation and generate code for real-time execution on the&nbsp;<a href=\"https:\/\/imperix.com\/products\/power\/programmable-inverter\/\">TPI 8032<\/a>. An introductory guide regarding the TPI is addressed in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/help\/tpi-quick-start-guide\" target=\"_blank\" rel=\"noreferrer noopener\">Getting started with the TPI 8032<\/a>. To run these models, the minimum requirements are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Imperix ACG SDK 2024.2 or newer.<\/li>\n\n\n\n<li>MATLAB Simulink R2016a or newer.<\/li>\n\n\n\n<li>For simulation only: Simscape Electrical<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-file aligncenter\"><a href=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/TN_171_Virtual_impedance_Simulink.zip\" class=\"wp-block-file__button wp-element-button\" download>Download <strong>TN171_Virtual_impedance_Simulink<\/strong><\/a><\/div>\n\n\n\n<p>The Simulink implementation of the virtual impedance is 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=\"902\" height=\"389\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_model_simulink.png\" alt=\"Simulink model for the virtual impedance\" class=\"wp-image-27978\" style=\"width:517px;height:224px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_model_simulink.png 902w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_model_simulink-300x129.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_model_simulink-768x331.png 768w\" sizes=\"auto, (max-width: 902px) 100vw, 902px\" \/><figcaption class=\"wp-element-caption\">Simulink model for the virtual impedance<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Experimental-setup\"><\/span>Experimental setup<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 experimental validation of the virtual impedance method is carried out with a similar setup as in <a href=\"https:\/\/imperix.com\/doc\/implementation\/parallel-operation-of-grid-forming-inverters\">Parallel operation of GFMIs<\/a> with two TPIs running in parallel as GFMIs and one TPI as GFLI as an active load. The three TPIs are used in a master-slave configuration (connected with&nbsp;<a href=\"https:\/\/imperix.com\/products\/control\/accessories\/#cables\" target=\"_blank\" rel=\"noreferrer noopener\">SFP cables<\/a>), meaning that they are programmed from the same Simulink model. The GFMI0 is connected to the PCC through inductors emulating an inductive transmission line, while the GFMI1 is connected through resistors and small inductors emulating a resistive transmission line. A relay controlled by a&nbsp;<a href=\"https:\/\/imperix.com\/doc\/software\/tpi-gpo-helper-block\">GPO port<\/a>&nbsp;is used to connect GFMI1.<\/p>\n\n\n\n<p>The required equipments are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>3x&nbsp;<a href=\"https:\/\/imperix.com\/products\/power\/programmable-inverter\/\" target=\"_blank\" rel=\"noreferrer noopener\">TPI 8032<\/a>&nbsp;three-phase inverter<\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/software\/acg-sdk\" target=\"_blank\" rel=\"noreferrer noopener\">ACG SDK toolbox<\/a>&nbsp;for automated generation of the controller code from Simulink or PLECS<\/li>\n\n\n\n<li>1x bidirectional DC power supply (800V)<\/li>\n\n\n\n<li>6x inductors (3x 2.2mH and 3x 90\u00b5H)<\/li>\n\n\n\n<li>3x resistors (here 1.6\u03a9)<\/li>\n\n\n\n<li>1x three-phase relay<\/li>\n\n\n\n<li>All the necessary cables<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"683\" height=\"473\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/Schematic-TN171-A1.png\" alt=\"virtual impedance exp wiring\" class=\"wp-image-27560\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/Schematic-TN171-A1.png 683w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/Schematic-TN171-A1-300x208.png 300w\" sizes=\"auto, (max-width: 683px) 100vw, 683px\" \/><figcaption class=\"wp-element-caption\">Wiring of the experimental setup<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"469\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Setup_picture_annotated.png\" alt=\"virtual impedance exp setup\" class=\"wp-image-27568\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Setup_picture_annotated.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Setup_picture_annotated-300x180.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Setup_picture_annotated-768x462.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><figcaption class=\"wp-element-caption\">Experimental setup with imperix products<\/figcaption><\/figure>\n<\/div>\n\n\n<p>The following table summarizes the operating conditions:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Value<\/th><\/tr><\/thead><tbody><tr><td>Control and switching frequency<\/td><td>50 kHz<\/td><\/tr><tr><td>Maximum active power P<br>Maximum apparent power S<br>Maximum reactive power Q<\/td><td>16 kW<br>22 kVA<br>15.1 kVar<\/td><\/tr><tr><td>Grid Voltage<br>DC voltage<br>Maximum RoCoF&nbsp;\\(\\rho\\)<\/td><td>400 VRMS<br>800 V<br>1 Hz\/s<\/td><\/tr><tr><td>\\(\\Delta f\\)&nbsp;(1%)<br>\\(\\Delta V\\)&nbsp;(10%)<\/td><td>3.14 rad\/s<br>32.5 V<\/td><\/tr><tr><td>Line inductance of GFMI0<br>Line resistance of GFMI1<br>Line inductance of GFMI1<\/td><td>2.2 mH<br>1.6 \u03a9<br>90 \u00b5H<\/td><\/tr><tr><td>APC droop coefficient \\(m\\)<br>APC \u2013 LPF cut-off frequency<br>APC \u2013 HPF cut-off frequency<br>RPC droop coefficient&nbsp;\\(n\\)<br>RPC \u2013 LPF cut-off frequency<\/td><td>1.9635e-04<br>0.3 Hz<br>0.1 Hz<br>0.0022<br>0.3 Hz<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Experimental conditions<\/figcaption><\/figure>\n\n\n\n<p>Based on typical line parameters taken from [3], the resistance and reactance of PVC-insulated multi-core copper conductor with a cross-sectional area of 4mm<sup>2<\/sup> are:<\/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>$$ R_l = 5.8783 \\quad \\Omega\/\\text{km} $$<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>$$ X_l  \\space @\\, 60 \\text{Hz} = 0.113 \\quad \\Omega\/\\text{km} $$<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>The lumped components used experimentally are approximately equivalent to<sup> <\/sup>a transmission line of 300m, which is realistic in a small low-voltage system.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Experimental-results\"><\/span>Experimental results<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The experiment is performed by running GFMI0 while GFMI1 is still unconnected. Then, GFMI1 is connected with prior pre-synchronization. As the first step, no virtual impedance is implemented on GFMI1. The active and reactive power flow after GFMI1 is connected are shown below. The experiment has to be stopped after 42 seconds to avoid excessive current.<\/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\/04\/TN171_noLv_P.png\" alt=\"Active power variation after the relay is closed\" class=\"wp-image-27937\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_noLv_P.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_noLv_P-300x115.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_noLv_P-768x295.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><figcaption class=\"wp-element-caption\">Active power variation after the relay is closed<\/figcaption><\/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\/04\/TN171_noLv_Q.png\" alt=\"Reactive power variation after the relay is closed\" class=\"wp-image-27938\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_noLv_Q.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_noLv_Q-300x115.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_noLv_Q-768x295.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><figcaption class=\"wp-element-caption\">Reactive power variation after the relay is closed<\/figcaption><\/figure>\n\n\n\n<p>Without the virtual impedance, oscillations of power exchange between the two GFMIs can be observed, leading to instability of the system.<\/p>\n\n\n\n<p>After adding the virtual impedance to GFMI1, the system&#8217;s stability can be ensured. To study the effect of different virtual inductance values, an active power step of 15kW is performed on the load under different virtual inductance values.<\/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\/04\/TN171_Lv1.png\" alt=\"Active power of GFMIs with Lv = 1mH\" class=\"wp-image-27968\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Lv1.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Lv1-300x115.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Lv1-768x295.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><figcaption class=\"wp-element-caption\">Active power of GFMIs with Lv = 1mH<\/figcaption><\/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\/04\/TN171_Lv2.png\" alt=\"Active power of GFMIs with Lv = 2.2mH\" class=\"wp-image-27969\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Lv2.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Lv2-300x115.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Lv2-768x295.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><figcaption class=\"wp-element-caption\">Active power of GFMIs with Lv = 2.2mH<\/figcaption><\/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\/04\/TN171_Lv6.png\" alt=\"Active power of GFMIs with Lv = 6mH\" class=\"wp-image-27972\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Lv6.png 780w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Lv6-300x115.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/04\/TN171_Lv6-768x295.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><figcaption class=\"wp-element-caption\">Active power of GFMIs with Lv = 6mH<\/figcaption><\/figure>\n\n\n\n<p>It can be observed from the results that for smaller virtual inductance value \\(L_{\\text{v}} = 1\\,\\text{mH}, X_l\/R_l = 0.2 \\), the effect of the line resistance cannot be fully eliminated. Oscillations happen when the load changes and still exists in the steady state. Besides, an inaccuracy of active power sharing can be observed. As the virtual inductance value increases, the effect of the line resistance gets mitigated. For large virtual inductance \\(L_{\\text{v}}= 6\\,\\text{mH}, X_l\/R_l = 1.17 \\), the oscillation in the steady state can be almost removed, and accurate active power sharing can be ensured. Obviously, the virtual inductance cannot be increased infinitely, since the induced virtual voltage drop along the line will cause the PCC voltage to decrease.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><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>To address the lack of explicit inertia in the control, the inertial characteristics of synchronous generators can be emulated through a virtual synchronous generator control. This is addressed in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/implementation\/virtual-synchronous-generator\">Virtual synchronous generator<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Academic-reference\"><\/span>Academic reference<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/ieeexplore.ieee.org\/abstract\/document\/4267747\">[1]<\/a> K. De Brabandere, B. Bolsens, J. Van den Keybus, A. Woyte, J. Driesen and R. Belmans, &#8220;A Voltage and Frequency Droop Control Method for Parallel Inverters,&#8221; in&nbsp;<em>IEEE Transactions on Power Electronics<\/em>, Jul. 2007<\/p>\n\n\n\n<p><a href=\"https:\/\/ieeexplore.ieee.org\/document\/5200415\">[2]<\/a> Y. W. Li and C.-N. Kao, \u201cAn accurate power control strategy for power-electronics-interfaced distributed generation units operating in a low-voltage multibus microgrid,\u201d in <em>IEEE Transactions on Power Electronics<\/em>, Dec. 2009.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.alfanar.com\/catalogs\/cables_wires\/LV_power_cables.pdf\">[3]<\/a> Alfanar, \u201cLow voltage power and control cables,\u201d <a href=\"https:\/\/www.alfanar.com\/catalogs\/cables_wires\/LV_power_cables.pdf\">https:\/\/www.alfanar.com\/catalogs\/cables_wires\/LV_power_cables.pdf<\/a>, Accessed Mar. 2024.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This note introduces the virtual impedance method for power decoupling in resistive lines. An implementation example is provided to validate the virtual impedance method with&#8230;<\/p>\n","protected":false},"author":10,"featured_media":28700,"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],"provided-results":[108],"related-products":[50,110],"guidedreadings":[],"tutorials":[127],"user-manuals":[],"coauthors":[72],"class_list":["post-25722","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-implementation","software-environments-matlab","provided-results-experimental","related-products-acg-sdk","related-products-tpi","tutorials-parallel-operation-of-grid-forming-inverters"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Virtual impedance for droop control - imperix power electronics<\/title>\n<meta name=\"description\" content=\"The virtual impedance method for droop control, an implementation example with ACG SDK, and validation on imperix 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\/virtual-impedance-for-droop-control\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Virtual impedance for droop control - imperix power electronics\" \/>\n<meta property=\"og:description\" content=\"The virtual impedance method for droop control, an implementation example with ACG SDK, and validation on imperix TPI 8032.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-12T15:36:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-31T10:43:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/3_2_ratio_TN171_2.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=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control\"},\"author\":{\"name\":\"Shu Wang\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/e57025902e777170f33a7afa4a74afb7\"},\"headline\":\"Virtual impedance for droop control\",\"datePublished\":\"2024-03-12T15:36:50+00:00\",\"dateModified\":\"2025-12-31T10:43:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control\"},\"wordCount\":1490,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/3_2_ratio_TN171_2.png\",\"articleSection\":[\"Technical notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control\",\"name\":\"Virtual impedance for droop control - imperix power electronics\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/3_2_ratio_TN171_2.png\",\"datePublished\":\"2024-03-12T15:36:50+00:00\",\"dateModified\":\"2025-12-31T10:43:43+00:00\",\"description\":\"The virtual impedance method for droop control, an implementation example with ACG SDK, and validation on imperix TPI 8032.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/3_2_ratio_TN171_2.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/3_2_ratio_TN171_2.png\",\"width\":450,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/virtual-impedance-for-droop-control#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\":\"Virtual impedance for droop control\"}]},{\"@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":"Virtual impedance for droop control - imperix power electronics","description":"The virtual impedance method for droop control, an implementation example with ACG SDK, and validation on imperix 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\/virtual-impedance-for-droop-control","og_locale":"en_US","og_type":"article","og_title":"Virtual impedance for droop control - imperix power electronics","og_description":"The virtual impedance method for droop control, an implementation example with ACG SDK, and validation on imperix TPI 8032.","og_url":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control","og_site_name":"imperix","article_published_time":"2024-03-12T15:36:50+00:00","article_modified_time":"2025-12-31T10:43:43+00:00","og_image":[{"width":450,"height":300,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/3_2_ratio_TN171_2.png","type":"image\/png"}],"author":"Shu Wang","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Shu Wang","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control"},"author":{"name":"Shu Wang","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/e57025902e777170f33a7afa4a74afb7"},"headline":"Virtual impedance for droop control","datePublished":"2024-03-12T15:36:50+00:00","dateModified":"2025-12-31T10:43:43+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control"},"wordCount":1490,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/3_2_ratio_TN171_2.png","articleSection":["Technical notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control","url":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control","name":"Virtual impedance for droop control - imperix power electronics","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/3_2_ratio_TN171_2.png","datePublished":"2024-03-12T15:36:50+00:00","dateModified":"2025-12-31T10:43:43+00:00","description":"The virtual impedance method for droop control, an implementation example with ACG SDK, and validation on imperix TPI 8032.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/3_2_ratio_TN171_2.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/3_2_ratio_TN171_2.png","width":450,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/implementation\/virtual-impedance-for-droop-control#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":"Virtual impedance for droop control"}]},{"@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\/25722","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=25722"}],"version-history":[{"count":56,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/25722\/revisions"}],"predecessor-version":[{"id":39482,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/25722\/revisions\/39482"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/28700"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=25722"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=25722"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=25722"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=25722"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=25722"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=25722"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=25722"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=25722"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=25722"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=25722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}