{"id":706,"date":"2021-03-25T15:25:16","date_gmt":"2021-03-25T15:25:16","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=706"},"modified":"2025-11-03T10:06:10","modified_gmt":"2025-11-03T10:06:10","slug":"fictive-axis-emulation-fae-for-single-phase-inverter","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter","title":{"rendered":"Fictive axis emulation (FAE) for single-phase inverter"},"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\/fictive-axis-emulation-fae-for-single-phase-inverter\/#Software-resources\" >Software resources<\/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\/fictive-axis-emulation-fae-for-single-phase-inverter\/#Operating-principles-of-FAE\" >Operating principles of FAE<\/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\/fictive-axis-emulation-fae-for-single-phase-inverter\/#Emulating-the-beta-component\" >Emulating the beta component<\/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\/fictive-axis-emulation-fae-for-single-phase-inverter\/#Academic-references\" >Academic references<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter\/#Implementation-of-fictive-axis-emulation\" >Implementation of fictive axis emulation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter\/#FAE-for-grid-tie-inverter-in-Simulink\" >FAE for grid-tie inverter in Simulink<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter\/#FAE-in-CC-code\" >FAE in C\/C++ code<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p>Fictive axis emulation is a vector control technique that is mostly used in <a href=\"https:\/\/imperix.com\/doc\/implementation\/introduction-to-single-phase-inverter\">single-phase inverter<\/a> applications, where the second axis \u03b2 of a rotating reference frame needs to be emulated in order to support all vector computations.<\/p>\n\n\n\n<p>Generally, the control of single-phase systems significantly differs from that of three-phase systems. Notably, numerous well-known concepts such as the separation of direct and quadrature axes &#8211; linked to active and reactive power flows &#8211; cannot be easily derived from coordinate transformations, simply because only one phase is available! This difference often justifies a preference for specific control techniques such as the use of <a href=\"https:\/\/imperix.com\/doc\/implementation\/proportional-resonant-control\">Proportional Resonant (PR) controllers<\/a>, rather than <a href=\"https:\/\/imperix.com\/doc\/implementation\/vector-current-control\">conventional vector control<\/a> in a rotating (also called synchronous) reference frame.<\/p>\n\n\n\n<p>That said, vector control techniques can also be used in single-phase applications, provided that a second axis \u03b2 is emulated in order to support all vector computations (even though \u03b2-related references and quantities may be disregarded at the end of the control process). The benefit of such an approach is that, since coordinate transformations can be used, active and reactive power flows can be manipulated&nbsp;<em>as usual&nbsp;<\/em>(i.e. within a rotating reference frame).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Software-resources\"><\/span>Software resources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/cdn.imperix.com\/doc\/wp-content\/uploads\/2021\/03\/FAE_2015a.slx\">FAE_2015a.slx<\/a><a href=\"https:\/\/cdn.imperix.com\/doc\/wp-content\/uploads\/2021\/03\/FAE_2015a.slx\" class=\"wp-block-file__button wp-element-button\" download>Download<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/cdn.imperix.com\/doc\/wp-content\/uploads\/2021\/03\/FAE_subsystem_2015a.slx\">FAE_subsystem_2015a.slx<\/a><a href=\"https:\/\/cdn.imperix.com\/doc\/wp-content\/uploads\/2021\/03\/FAE_subsystem_2015a.slx\" class=\"wp-block-file__button wp-element-button\" download>Download<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Operating-principles-of-FAE\"><\/span>Operating principles of FAE<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Emulating-the-beta-component\"><\/span>Emulating the beta component<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The most obvious technique for emulating the \u03b2 axis is to delay the available \u03b1 axis by a quarter period. This results in a simple, yet robust implementation, but which unavoidably impacts the overall control chain due to the said delay. An alternative approach was first proposed by [1], essentially consisting of using an estimator for emulating the current that would flow on the \u03b2 axis. In practice, this estimator can be easily derived from the plant model, which is needed anyway for the purposes of the control design.<\/p>\n\n\n\n<p>This approach can be easily understood by observing the following figure, taken from [1], which highlights:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The\u00a0<em>Physical Axis<\/em>\u00a0(\u03b1 axis), which can be modeled as a first-order system where the current can be physically measured as\u00a0\\(\\begin{array}{l}\\displaystyle I_\\alpha=\\frac{1}{sL+R}(V_{g,\\alpha}-E_{g,\\alpha})\\end{array}\\).<\/li>\n\n\n\n<li>The\u00a0<em>Emulated Axis<\/em>\u00a0(\u03b2 axis), which can re-use the same model for estimating the current that would flow into the system, such as\\(\\begin{array}{l}\\displaystyle I_\\beta=\\frac{1}{sL+R}(V_{g,\\beta}-E_{g,\\beta})\\end{array}\\).<\/li>\n<\/ul>\n\n\n\n<p>where&nbsp;Vg&nbsp;is the utility grid voltage and&nbsp;Eg&nbsp;is the converter voltage produced between the two phase-legs. In practice,&nbsp;\\({l}V_{g,\\alpha}\\)&nbsp;and&nbsp;\\({l}V_{g,\\beta}\\)&nbsp;are often directly made available by the PLL block, which is implemented using a <a href=\"https:\/\/imperix.com\/doc\/implementation\/sogi-pll\">Second-Order Generalized Integrator (SOGI)<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"939\" height=\"995\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-102.png\" alt=\"Principle of fictive axis emulation on a single-phase inverter\" class=\"wp-image-713\" style=\"width:470px;height:498px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-102.png 939w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-102-283x300.png 283w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-102-768x814.png 768w\" sizes=\"auto, (max-width: 939px) 100vw, 939px\" \/><figcaption class=\"wp-element-caption\">Principle of fictive axis emulation on a single-phase inverter<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Academic-references\"><\/span>Academic references<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>[1] B. Bahrani, A. Rufer, S. Kenzelmann and L. Lopes, \u201cVector control of single-phase voltage-source<br>converters based on fictive-axis emulation,\u201d in IEEE Trans. Ind. Appl., Vol. 47, N\u00b0 2, Apr. 2011.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"TN124:FictiveAxisEmulation(FAE)-B-Box\/B-Boardimplementation\"><span class=\"ez-toc-section\" id=\"Implementation-of-fictive-axis-emulation\"><\/span>Implementation of fictive axis emulation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"TN124:FictiveAxisEmulation(FAE)-Simulink\"><span class=\"ez-toc-section\" id=\"FAE-for-grid-tie-inverter-in-Simulink\"><\/span>FAE for grid-tie inverter in Simulink<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The provided Simulink file implements the inverter grid current control as shown below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"256\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-103-1024x256.png\" alt=\"Fictive axis emulation for a grid-tie inverter in Simulink\" class=\"wp-image-714\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-103-1024x256.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-103-300x75.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-103-768x192.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-103.png 1307w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Fictive axis emulation for a grid-tie inverter in Simulink<\/figcaption><\/figure>\n\n\n\n<p>The implementation of the FAE estimator itself is:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"810\" height=\"206\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-104.png\" alt=\"Simulink implementation of a FAE estimator\" class=\"wp-image-715\" style=\"width:405px;height:103px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-104.png 810w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-104-300x76.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-104-768x195.png 768w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><figcaption class=\"wp-element-caption\">Simulink implementation of a FAE estimator<\/figcaption><\/figure>\n<\/div>\n\n\n<p>With&nbsp;$$\\begin{array}{l}\\displaystyle K_1=\\frac{T_s}{L_g+R_gT_s}\\end{array}&nbsp;and&nbsp;\\begin{array}{l}\\displaystyle K_2=\\frac{L_g}{L_g+R_gT_s}\\end{array}$$<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"TN124:FictiveAxisEmulation(FAE)-C\/C++code\"><span class=\"ez-toc-section\" id=\"FAE-in-CC-code\"><\/span>FAE in C\/C++ code<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The imperix IDE provides numerous pre-written and pre-optimized functions. Dedicated routines for fictive axis emulation exist as such within the&nbsp;<code>controllers.h\/.cpp<\/code>&nbsp;files.<\/p>\n\n\n\n<p>As for controllers, FAE-related routines are based on:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A pseudo-object\u00a0<code>FAEparameters<\/code>, which contains pre-computed parameters as well as state variables.<\/li>\n\n\n\n<li>A configuration function, meant to be called during\u00a0<code>UserInit()<\/code>, named\u00a0<code>ConfigFAE()<\/code>.<\/li>\n\n\n\n<li>A run-time function, meant to be called during the user-level ISR, such as\u00a0<code>UserInterrupt()<\/code>, named\u00a0<code>RunFAE()<\/code>.<\/li>\n<\/ul>\n\n\n\n<p>The necessary parameters are documented within the&nbsp;<code>controller.h<\/code>&nbsp;header file. They are namely:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>L<\/code>\u00a0and\u00a0<code>R<\/code>, the parameter values of the grid inductor (plant).<\/li>\n\n\n\n<li><code>tsample<\/code>, the sampling (interrupt) period.<\/li>\n<\/ul>\n\n\n\n<p>The source code of the related routines is given below.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">ConfigFAE<\/span><span class=\"hljs-params\">(FAEParameters* me, <span class=\"hljs-keyword\">float<\/span> R, <span class=\"hljs-keyword\">float<\/span> L, <span class=\"hljs-keyword\">float<\/span> tsample)<\/span><\/span>{\n  <span class=\"hljs-comment\">\/\/ Precompute the parameters offline:<\/span>\n  me-&gt;a = tsample\/(L + R * tsample);\n  me-&gt;b = L\/(L + R * tsample);\n\n  <span class=\"hljs-comment\">\/\/ Initialize the state quantities:<\/span>\n  me-&gt;state = <span class=\"hljs-number\">0.0<\/span>;\n}\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">float<\/span> <span class=\"hljs-title\">RunFAE<\/span><span class=\"hljs-params\">(FAEParameters *me, <span class=\"hljs-keyword\">float<\/span> delta)<\/span><\/span>{\n  <span class=\"hljs-comment\">\/\/ Apply the first-order transfer function:<\/span>\n  me-&gt;state = me-&gt;a * delta + me-&gt;b * me-&gt;state;\n\n  <span class=\"hljs-keyword\">return<\/span> me-&gt;state;\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The code below gives a use case example of both routines:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp\"><span class=\"hljs-meta\">#<span class=\"hljs-meta-keyword\">include<\/span> <span class=\"hljs-meta-string\">\"..\/API\/controllers.h\"<\/span>             <span class=\"hljs-comment\">\/\/ Discrete-time controllers<\/span><\/span>\nFAEParameters FAE;                          <span class=\"hljs-comment\">\/\/ Pseudo-object containing the FAE parameters<\/span>\n\n<span class=\"hljs-keyword\">float<\/span> R = <span class=\"hljs-number\">0.015<\/span>;                            <span class=\"hljs-comment\">\/\/ Grid inductor ESR (Ohm)<\/span>\n<span class=\"hljs-keyword\">float<\/span> L = <span class=\"hljs-number\">0.0025<\/span>;                           <span class=\"hljs-comment\">\/\/ Grid inductor value (H)<\/span>\n\n<span class=\"hljs-function\">tUserSafe <span class=\"hljs-title\">UserInit<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">void<\/span>)<\/span><\/span>{\n  ConfigFAE(&amp;FAE, R, L, SAMPLING_PERIOD);\n}\n\n<span class=\"hljs-function\">tUserSafe <span class=\"hljs-title\">UserInterrupt<\/span><span class=\"hljs-params\">(<span class=\"hljs-keyword\">void<\/span>)<\/span><\/span>{\n  <span class=\"hljs-comment\">\/\/ ... some code<\/span>\n  Ig.<span class=\"hljs-built_in\">imaginary<\/span> = RunFAE(&amp;FAE, Eg.<span class=\"hljs-built_in\">imaginary<\/span> - Ug.<span class=\"hljs-built_in\">imaginary<\/span>);\n  <span class=\"hljs-comment\">\/\/ ... some code<\/span>\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fictive axis emulation is a vector control technique that is mostly used in single-phase inverter applications, where the second axis \u03b2 of a rotating reference&#8230;<\/p>\n","protected":false},"author":3,"featured_media":3048,"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":[105,103],"provided-results":[],"related-products":[50,32,92,166,51,112,111],"guidedreadings":[],"tutorials":[],"user-manuals":[],"coauthors":[69,65],"class_list":["post-706","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-implementation","software-environments-c-plus-plus","software-environments-matlab","related-products-acg-sdk","related-products-b-box-rcp","related-products-b-box-micro","related-products-b-box-rcp-3-0","related-products-cpp-sdk","related-products-peb","related-products-pm"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fictive axis emulation (FAE) for single-phase inverter - imperix<\/title>\n<meta name=\"description\" content=\"Fictive axis emulation is a vector control technique that is mostly used in single-phase applications, where the second axis \u03b2 of a rotating reference frame needs to be emulated in order to support all vector computations.\" \/>\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\/fictive-axis-emulation-fae-for-single-phase-inverter\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fictive axis emulation (FAE) for single-phase inverter - imperix\" \/>\n<meta property=\"og:description\" content=\"Fictive axis emulation is a vector control technique that is mostly used in single-phase applications, where the second axis \u03b2 of a rotating reference frame needs to be emulated in order to support all vector computations.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-25T15:25:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-03T10:06:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN124.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=\"Nicolas Cherix, Gabriel Fernandez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nicolas Cherix, Gabriel Fernandez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter\"},\"author\":{\"name\":\"Nicolas Cherix\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/44e7187157f1379207dce2b570f63f86\"},\"headline\":\"Fictive axis emulation (FAE) for single-phase inverter\",\"datePublished\":\"2021-03-25T15:25:16+00:00\",\"dateModified\":\"2025-11-03T10:06:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter\"},\"wordCount\":690,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_TN124.png\",\"articleSection\":[\"Technical notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter\",\"name\":\"Fictive axis emulation (FAE) for single-phase inverter - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_TN124.png\",\"datePublished\":\"2021-03-25T15:25:16+00:00\",\"dateModified\":\"2025-11-03T10:06:10+00:00\",\"description\":\"Fictive axis emulation is a vector control technique that is mostly used in single-phase applications, where the second axis \u03b2 of a rotating reference frame needs to be emulated in order to support all vector computations.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-inverter#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_TN124.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_TN124.png\",\"width\":450,\"height\":300,\"caption\":\"Fictive axis emulation for a grid-tie inverter in Simulink\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/fictive-axis-emulation-fae-for-single-phase-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\":\"Fictive axis emulation (FAE) for single-phase inverter\"}]},{\"@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\\\/44e7187157f1379207dce2b570f63f86\",\"name\":\"Nicolas Cherix\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/07fe58bb65e7c65d6f4c53854ee4045d0c6cb2eb7b2cd3f58f03c926fab246c7?s=96&d=mm&r=gaafd9afe469fe587a71b66de1b538283\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/07fe58bb65e7c65d6f4c53854ee4045d0c6cb2eb7b2cd3f58f03c926fab246c7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/07fe58bb65e7c65d6f4c53854ee4045d0c6cb2eb7b2cd3f58f03c926fab246c7?s=96&d=mm&r=g\",\"caption\":\"Nicolas Cherix\"},\"description\":\"Nicolas is the chief engineer and product director at imperix. On the knowledge base, he is the author, co-author, or reviewer of numerous notes.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/nicolas-cherix-268a2b83\\\/\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/cherix\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fictive axis emulation (FAE) for single-phase inverter - imperix","description":"Fictive axis emulation is a vector control technique that is mostly used in single-phase applications, where the second axis \u03b2 of a rotating reference frame needs to be emulated in order to support all vector computations.","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\/fictive-axis-emulation-fae-for-single-phase-inverter","og_locale":"en_US","og_type":"article","og_title":"Fictive axis emulation (FAE) for single-phase inverter - imperix","og_description":"Fictive axis emulation is a vector control technique that is mostly used in single-phase applications, where the second axis \u03b2 of a rotating reference frame needs to be emulated in order to support all vector computations.","og_url":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter","og_site_name":"imperix","article_published_time":"2021-03-25T15:25:16+00:00","article_modified_time":"2025-11-03T10:06:10+00:00","og_image":[{"width":450,"height":300,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN124.png","type":"image\/png"}],"author":"Nicolas Cherix, Gabriel Fernandez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Nicolas Cherix, Gabriel Fernandez","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter"},"author":{"name":"Nicolas Cherix","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/44e7187157f1379207dce2b570f63f86"},"headline":"Fictive axis emulation (FAE) for single-phase inverter","datePublished":"2021-03-25T15:25:16+00:00","dateModified":"2025-11-03T10:06:10+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter"},"wordCount":690,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN124.png","articleSection":["Technical notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter","url":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter","name":"Fictive axis emulation (FAE) for single-phase inverter - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN124.png","datePublished":"2021-03-25T15:25:16+00:00","dateModified":"2025-11-03T10:06:10+00:00","description":"Fictive axis emulation is a vector control technique that is mostly used in single-phase applications, where the second axis \u03b2 of a rotating reference frame needs to be emulated in order to support all vector computations.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-inverter#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN124.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN124.png","width":450,"height":300,"caption":"Fictive axis emulation for a grid-tie inverter in Simulink"},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/implementation\/fictive-axis-emulation-fae-for-single-phase-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":"Fictive axis emulation (FAE) for single-phase inverter"}]},{"@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\/44e7187157f1379207dce2b570f63f86","name":"Nicolas Cherix","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/07fe58bb65e7c65d6f4c53854ee4045d0c6cb2eb7b2cd3f58f03c926fab246c7?s=96&d=mm&r=gaafd9afe469fe587a71b66de1b538283","url":"https:\/\/secure.gravatar.com\/avatar\/07fe58bb65e7c65d6f4c53854ee4045d0c6cb2eb7b2cd3f58f03c926fab246c7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/07fe58bb65e7c65d6f4c53854ee4045d0c6cb2eb7b2cd3f58f03c926fab246c7?s=96&d=mm&r=g","caption":"Nicolas Cherix"},"description":"Nicolas is the chief engineer and product director at imperix. On the knowledge base, he is the author, co-author, or reviewer of numerous notes.","sameAs":["https:\/\/www.linkedin.com\/in\/nicolas-cherix-268a2b83\/"],"url":"https:\/\/imperix.com\/doc\/author\/cherix"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/706","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\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=706"}],"version-history":[{"count":7,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/706\/revisions"}],"predecessor-version":[{"id":36445,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/706\/revisions\/36445"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/3048"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=706"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=706"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=706"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=706"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=706"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=706"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=706"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=706"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=706"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}