{"id":8320,"date":"2021-10-11T07:17:29","date_gmt":"2021-10-11T07:17:29","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=8320"},"modified":"2025-05-07T14:09:39","modified_gmt":"2025-05-07T14:09:39","slug":"ss-pwm-for-mmc","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc","title":{"rendered":"Implementation of the imperix SS-PWM for MMC"},"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\/ss-pwm-for-mmc\/#Background-and-motivations\" >Background and motivations<\/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\/ss-pwm-for-mmc\/#Sort-select-balancing-and-PWM-for-MMC\" >Sort-&amp;-select balancing and PWM for MMC<\/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\/ss-pwm-for-mmc\/#Algorithm-of-the-imperix-SS-PWM-for-MMC\" >Algorithm of the imperix SS-PWM for MMC<\/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\/ss-pwm-for-mmc\/#Operating-principles\" >Operating principles<\/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\/ss-pwm-for-mmc\/#Modulator\" >Modulator<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc\/#Sorter\" >Sorter<\/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\/ss-pwm-for-mmc\/#Balancer\" >Balancer<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc\/#Open-loop-operation-of-SS-PWM-for-MMC\" >Open-loop operation of SS-PWM for MMC<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc\/#Software-resources\" >Software resources<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc\/#Hardware-and-sofware-configuration\" >Hardware and sofware configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc\/#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-12\" href=\"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc\/#References\" >References<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>This technical note offers insights into the SS-PWM peripheral block, which is part of the standard firmware of imperix controllers. The SS-PWM block provides multilevel Pulse Width Modulation (PWM) as well as an integrated submodule balancing mechanism derived from the Sort-&amp;-Select approach initially proposed in [1].<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-background-and-motivations\"><span class=\"ez-toc-section\" id=\"Background-and-motivations\"><\/span>Background and motivations<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The generation of modulated multilevel waveforms is a long-established topic for multilevel converters. Historically, cascaded converters mostly used modulation techniques that rely on multiple carriers. The latter are then carefully arranged (e.g. phase-shifted) so that the resulting waveform features multiple voltage steps as well as an increased apparent switching frequency [1].<\/p>\n\n\n\n<p>In this first case, the balancing of the submodule voltages is a separate concern, entirely distinct from the modulation, which is addressed using dedicated control loops (e.g. local voltage control loops). This approach has been used since the late &#8217;90 for cascaded converters with separate DC sources [2]. It was first applied to Modular Multilevel Converters as well in 2008 [3].<\/p>\n\n\n\n<p>Independently from these conventional approaches, Modular Multilevel Converters were immediately proposed with a special modulation and balancing approach, which dynamically attributes the switching actions to suitable submodules, as a function of their relative capacitor voltage and power flow direction [4].<\/p>\n\n\n\n<p>The elegance of the Sort-&amp;-Select PWM technique lies in its simplicity and hence robustness. For balancing, only the relative ranking and the arm current polarity are required. The strategy can be hence easily applied to various converter topologies and modulation techniques (conventional PWM, nearest level modulation, selective harmonic elimination, etc.).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-sort-select-balancing-and-pwm-for-mmc\"><span class=\"ez-toc-section\" id=\"Sort-select-balancing-and-PWM-for-MMC\"><\/span>Sort-&amp;-select balancing and PWM for MMC<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>One of the challenges associated with MMCs is to balance the capacitor voltages among all submodules. Adequate balancing ensures that the total blocking voltage is equally spread among submodules so that individual ratings are not exceeded. To some extent, submodule voltages balancing also contributes to the quality of the output voltage waveform. The overall balancing problem can generally be split into three distinct sub-problems:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Submodule-level balancing, namely between submodules of the same arm.<\/li>\n\n\n\n<li>Converter-level balancing, namely balancing between the different arms.<\/li>\n\n\n\n<li>Overall energy control.<\/li>\n<\/ul>\n\n\n\n<p>The Sort-&amp;-Select modulation deals exclusively with submodule-level balancing. As such, the converter-level balancing and overall energy control are left as further control problems. The latter fall outside the scope of this note and are addressed in dedicated articles.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-algorithm-of-the-imperix-ss-pwm-for-mmc\"><span class=\"ez-toc-section\" id=\"Algorithm-of-the-imperix-SS-PWM-for-MMC\"><\/span>Algorithm of the imperix SS-PWM for MMC <span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-operating-principles\"><span class=\"ez-toc-section\" id=\"Operating-principles\"><\/span>Operating principles<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>This section details the operation of the SS-PWM hardware as implemented within imperix controllers. The diagram below introduces the main blocks and gives an overview of the FPGA implementation. Documentation regarding how to use the SS-PWM blocks is given in <a href=\"https:\/\/imperix.com\/doc\/software\/sort-select-multilevel-pwm\">SS-PWM \u2013 Multilevel PWM with Sort-&amp;-Select balancing<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"693\" height=\"406\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Block_diagram_V2-4.png\" alt=\"Structure and main data paths of the imperix SS-PWM peripheral.\" class=\"wp-image-8650\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Block_diagram_V2-4.png 693w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Block_diagram_V2-4-300x176.png 300w\" sizes=\"auto, (max-width: 693px) 100vw, 693px\" \/><figcaption class=\"wp-element-caption\">Structure and main data paths of the imperix SS-PWM peripheral.<\/figcaption><\/figure>\n<\/div>\n\n\n<p>The FPGA-based SS-PWM for MMC essentially contains three subsystems:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <strong>Modulator<\/strong> is responsible for generating\/synthesizing the multilevel waveform. Its output is the exact desired waveform, defined with a very small sampling period (here 4ns).<\/li>\n\n\n\n<li>The <strong>Sorter<\/strong> is aimed at ranking the submodules as a function of their charge level (capacitor voltage). Its output is a list of indices.<\/li>\n\n\n\n<li>The <strong>Balancer<\/strong> is tasked to identify the level transitions within the desired multilevel waveform and to dynamically assign the corresponding switching events to suitable submodules. <\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-modulator\"><span class=\"ez-toc-section\" id=\"Modulator\"><\/span>Modulator<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The input of the modulator is the modulation index <code>m<\/code>. Its range is [0;N] for operation half-bridge submodules, respectively [-N;N] for operation with full-bridge submodules. N is the number of usable submodules par arm.<\/p>\n\n\n\n<p>Based on the real-valued index <code>m<\/code>, the modulator generates the discrete value <code>requested_lvl<\/code>, which is modulated with the configured <code>carrier<\/code> signal. This defines, at every instant, how many modules are inserted (and apply their voltage) to the arm. <\/p>\n\n\n\n<p>As shown in the diagram below, the output waveform is in fact the sum of two parts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The lower integer part of <code>m<\/code> represent modules that are inserted all along a given switching period.<\/li>\n\n\n\n<li>The fractional part of <code>m<\/code> is equivalent to a duty-cycle that is applied to an additional module, only inserted during part of the switching period. <\/li>\n<\/ul>\n\n\n\n<p>This way, the average number of modules inserted during a given switching period is equal to the modulation index <code>m<\/code>. Interestingly, this approach is also compatible with staircase modulation, provided that <code>m<\/code> is an integer staircase waveform by itself.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"581\" height=\"156\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Modulation-3.png\" alt=\"Implementation of the multilevel modulation\" class=\"wp-image-8661\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Modulation-3.png 581w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Modulation-3-300x81.png 300w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><figcaption class=\"wp-element-caption\">Implementation of the multilevel modulation<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-sorter\"><span class=\"ez-toc-section\" id=\"Sorter\"><\/span>Sorter<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The sorter has direct access to the digitally-converted values of the capacitor voltages. By sorting their values from the highest to the lowest, the sorter is able to generate a list of submodule indices, ranked in descending order.<\/p>\n\n\n\n<p>When a large number of submodules must be compared and sorted, the algorithmic complexity of the sorting algorithm may become a challenge. In this case, it may be sufficient to only identify the (few) most, respectively least charged submodules. However, as the number of available I\/Os on imperix controllers is limiting the number of submodules to N\u2264 8 per arm anyway, the implemented sorting algorithm is a full sort (namely a simple even and odd sorting algorithm).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-balancer\"><span class=\"ez-toc-section\" id=\"Balancer\"><\/span>Balancer<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The balancer is responsible for identifying the submodule to be switched (i.e. inserted or bypassed) as a function of the sorting results, arm current polarity, and current switching states. This process has multiple steps:<\/p>\n\n\n\n<p>First, four candidate submodules are identified: <br>&#8211; The least charged module that can be inserted, ie. accept a voltage rising switching event <code>smallest_can_rise<\/code><br>&#8211; The least charged one that can be bypassed, i.e. accept a voltage falling event <code>smallest_can_fall<\/code><br>&#8211; The most charged one that can be inserted <code>largest_can_rise<\/code><br>&#8211;  The most charged one that can be bypassed <code>largest_can_fall<\/code>. <\/p>\n\n\n\n<p>Second, according to the arm current polarity <code>current_sign<\/code>, only one submodule is selected for each type of switching transition (voltage rising or falling event).<\/p>\n\n\n\n<p>In parallel, the current module states are decoded to identify the current level, i.e. the number of submodules that are currently inserted inside the arm.  For half-bridge submodules, <code>current_lvl<\/code> is comprised within the range [0;N], respectively [-N;N] for operation with full-bridge submodules.<\/p>\n\n\n\n<p>In parallel also, by comparing the instantaneous values of <code>current_lvl <\/code>and <code>requested_lvl<\/code>, the subsequent sampling period can be flagged with a transition type: <code>rise <\/code>if the requested level is higher, respectively <code>fall<\/code> if the requested level is lower. In case <code>current_lvl <\/code>and <code>requested_lvl<\/code> are equal, the transition type is &#8211; (none).<\/p>\n\n\n\n<p>Third, based on the detected transition type, only one submodule is eventually selected among the two that were previously identified during the second step. This final candidate submodule is the only one that will see its state modified during the sampling period.<\/p>\n\n\n\n<p>Finally, after defining the new state for the selected submodule, the PWM encoder defines the gate-driving signals for each power semiconductor using a basic truth table following table. When transitions occur, a configurable dead-time is introduced between complementary signals.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"797\" height=\"334\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Balancer-5.png\" alt=\"Implementation of the Balancer within the SS-PWM algorithm\" class=\"wp-image-8658\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Balancer-5.png 797w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Balancer-5-300x126.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Balancer-5-768x322.png 768w\" sizes=\"auto, (max-width: 797px) 100vw, 797px\" \/><figcaption class=\"wp-element-caption\">Implementation of the Balancer within the SS-PWM algorithm<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"591\" height=\"181\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Cell_states-1.png\" alt=\"MMC submodule topology.\" class=\"wp-image-8659\" style=\"width:591px;height:181px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Cell_states-1.png 591w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Cell_states-1-300x92.png 300w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><figcaption class=\"wp-element-caption\">PWM generation from the submodules switching states<\/figcaption><\/figure>\n<\/div>\n\n\n<p>A few remarks are worth noting regarding the operation of the Balancer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Since only one submodule is switched at once, it is guaranteed that there are no &#8220;effectiveless&#8221; switching events, i.e. switching actions that result in no direct change of the arm voltage. <\/li>\n\n\n\n<li>This principle also guarantees that the ratio between the average switching frequency seen by each submodule and the apparent switching frequency is optimum.<\/li>\n\n\n\n<li>Due to this also, in case the <code>current_lvl <\/code>and <code>requested_lvl<\/code> differ by more than one level (such as in case of a very fast transient) only one change of the output level can be achieved per sampling period (4ns). Therefore, switching from the level -8 to +8 would require 48ns, which remains almost instantaneous for most applications.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-open-loop-operation-of-ss-pwm-for-mmc\"><span class=\"ez-toc-section\" id=\"Open-loop-operation-of-SS-PWM-for-MMC\"><\/span>Open-loop operation of SS-PWM for MMC<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>As an exemplary use case, Sort-&amp;-Select modulation is applied to a <a href=\"https:\/\/imperix.com\/products\/modular-multilevel-converter\/\">Modular Multilevel Converter<\/a> connected to a passive three-phase load. No converter-level balancing or energy control is performed, which also means that the so-called <em>circulating currents<\/em> are not shaped in a specific manner. Overall, this system is therefore controlled in a purely open-loop manner in the sense that there are no P, PI, or PID controllers regulating quantities explicitly.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"357\" height=\"408\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/System_schematics.png\" alt=\"Modular Multilevel Convert in basic DC\/AC inverter configuration.\" class=\"wp-image-8519\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/System_schematics.png 357w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/System_schematics-263x300.png 263w\" sizes=\"auto, (max-width: 357px) 100vw, 357px\" \/><figcaption class=\"wp-element-caption\">Schematic of the use case example<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 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><\/h3>\n\n\n\n<p>The provided Simulink files contain the control algorithm and a model of the plant, allowing for both simulation and automated code generation for this scenario.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/cdn.imperix.com\/doc\/wp-content\/uploads\/2021\/10\/MMC_SSPWM_Rload.zip\">MMC_SSPWM_Rload<\/a><a href=\"https:\/\/cdn.imperix.com\/doc\/wp-content\/uploads\/2021\/10\/MMC_SSPWM_Rload.zip\" class=\"wp-block-file__button wp-element-button\" download>Download<\/a><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-hardware-and-sofware-configuration\"><span class=\"ez-toc-section\" id=\"Hardware-and-sofware-configuration\"><\/span>Hardware and sofware configuration<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The control model is organized using three main blocks, one for each phase-leg, which contain all the ADC and PWM configurations. In addition, the control model includes a basic &#8220;open-loop&#8221; waveform generation block that produces the requested AC voltages as a function of the available DC bus voltage.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"548\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Closed_loop-1024x548.png\" alt=\"\" class=\"wp-image-8551\" style=\"width:768px;height:411px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Closed_loop-1024x548.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Closed_loop-300x161.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Closed_loop-768x411.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Closed_loop-1536x823.png 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Closed_loop.png 1544w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Simulink model overview<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"821\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Phase_ctrl-1024x821.png\" alt=\"Simulink implementation of the balancing and modulation for MMC.\" class=\"wp-image-8552\" style=\"width:768px;height:616px\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Phase_ctrl-1024x821.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Phase_ctrl-300x241.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Phase_ctrl-768x616.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Phase_ctrl.png 1364w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Simulink implementation of the balancing and modulation for each MMC phase-leg.<\/figcaption><\/figure>\n<\/div>\n\n\n<p>As seen above, one SS-PWM block is used for each MMC arm (meaning two blocks per phase-leg). They are configured as shown below:<\/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<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"457\" height=\"768\" src=\"https:\/\/cdn.imperix.com\/doc\/wp-content\/uploads\/2021\/11\/SSPWM_mask.png\" alt=\"\" class=\"wp-image-9033\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/11\/SSPWM_mask.png 457w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/11\/SSPWM_mask-179x300.png 179w\" sizes=\"auto, (max-width: 457px) 100vw, 457px\" \/><figcaption class=\"wp-element-caption\">Block mask of the SS-PWM (configuration tab)<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"457\" height=\"768\" src=\"https:\/\/cdn.imperix.com\/doc\/wp-content\/uploads\/2021\/11\/SSPWM_mask1.png\" alt=\"\" class=\"wp-image-9034\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/11\/SSPWM_mask1.png 457w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/11\/SSPWM_mask1-179x300.png 179w\" sizes=\"auto, (max-width: 457px) 100vw, 457px\" \/><figcaption class=\"wp-element-caption\">Block mask of the SS-PWM (modulation tab)<\/figcaption><\/figure>\n<\/div>\n\n\n<p><\/p>\n<\/div>\n<\/div>\n\n\n\n<p>The <code>Submodules analog input channel<\/code> corresponds to the analog inputs and PWM outputs to which the submodules are connected. The block is configured to work with half-bridge modules and the <code>invert sorting logic<\/code> parameter is enabled since the modules used are PEH2015 (for further details on the configuration, please refer to the software documentation: <a href=\"https:\/\/imperix.com\/doc\/software\/sort-select-multilevel-pwm\">SS-PWM<\/a>). <\/p>\n\n\n\n<p>Also, note that the inverted carrier is configured in all the modulators driving the lower arms. This way, a 2N+1 waveform is produced on the AC side which results in less filtering required, with the downside of having larger current ripples on the DC side. <\/p>\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<p>The typical performance of the SS-PWM for MMC peripheral block is shown below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Vsm-1.png\" alt=\"Balancing of the submodule voltages of a MMC.\" class=\"wp-image-8596\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Vsm-1.png 800w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Vsm-1-300x113.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Vsm-1-768x288.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Balancing of the submodule voltages of an MMC.<\/figcaption><\/figure>\n\n\n\n<p>It is however clear that the submodules belonging to the upper and lower arms are not well balanced together. Elementary techniques for converter-level balancing are introduced on the <a href=\"https:\/\/imperix.com\/doc\/implementation\/mmc-converter\">Three-phase MMC converter<\/a> page.<\/p>\n\n\n\n<p>The following plots show the PWM output waveforms of the MMC inverter. As expected, phase-to-neutral voltages show 2N+1 voltage levels, which results in very low ripple load currents.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Waveforms-2.png\" alt=\"Voltage and current waveforms for open-loop operation of a Modular Multilevel Converter\" class=\"wp-image-8663\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Waveforms-2.png 800w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Waveforms-2-300x113.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/Waveforms-2-768x288.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Voltage and current waveforms for open-loop operation of a Modular Multilevel Converter.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-references\"><span class=\"ez-toc-section\" id=\"References\"><\/span>References<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>[1] D.G. Holmes, T. Lipo &#8220;Pulse Width Modulation for Power Converters&#8221;, Wiley, ISBN 0471208140, 2003.<br>[2] P. W. Hammond, \u201cMedium voltage PWM drive and method,\u201d U.S. Patent 5625545, March 1994.<br>[3] M. Hagiwara and H. Akagi, \u201cPWM Control and Experiment of Modular Multilevel Converters,\u201d in Proc. PESC Conference, Rhodes, Greece, 2008 (read <a href=\"https:\/\/ieeexplore.ieee.org\/document\/4591917\">here<\/a>).<br>[4] R. Marquardt, \u201cStromrichterschaltungen mit verteilten Energiespeichern,\u201d German Patent DE10103031A1, Jan. 24, 2001.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This technical note offers insights into the SS-PWM peripheral block, which is part of the standard firmware of imperix controllers. The SS-PWM block provides multilevel&#8230;<\/p>\n","protected":false},"author":11,"featured_media":9962,"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":[52,20],"software-environments":[103],"provided-results":[108],"related-products":[50,32,166,113,111],"guidedreadings":[],"tutorials":[],"user-manuals":[],"coauthors":[64],"class_list":["post-8320","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-implementation","tag-mmc","tag-multilevel-converters","software-environments-matlab","provided-results-experimental","related-products-acg-sdk","related-products-b-box-rcp","related-products-b-box-rcp-3-0","related-products-mmc","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>Implementation of the imperix SS-PWM for MMC - imperix<\/title>\n<meta name=\"description\" content=\"The imperix SS-PWM modulator block supports balancing and PWM for MMC and other cascaded multilevel converter topologies.\" \/>\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\/ss-pwm-for-mmc\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Implementation of the imperix SS-PWM for MMC - imperix\" \/>\n<meta property=\"og:description\" content=\"The imperix SS-PWM modulator block supports balancing and PWM for MMC and other cascaded multilevel converter topologies.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-11T07:17:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-07T14:09:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/3_2_ratio_TN160.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=\"Jessy An\u00e7ay\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jessy An\u00e7ay\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc\"},\"author\":{\"name\":\"Jessy An\u00e7ay\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/53bdc49b53b03a52afee023feef62ea4\"},\"headline\":\"Implementation of the imperix SS-PWM for MMC\",\"datePublished\":\"2021-10-11T07:17:29+00:00\",\"dateModified\":\"2025-05-07T14:09:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc\"},\"wordCount\":1709,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/3_2_ratio_TN160.png\",\"keywords\":[\"Modular Multilevel Converter\",\"Multilevel converters\"],\"articleSection\":[\"Technical notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc\",\"name\":\"Implementation of the imperix SS-PWM for MMC - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/3_2_ratio_TN160.png\",\"datePublished\":\"2021-10-11T07:17:29+00:00\",\"dateModified\":\"2025-05-07T14:09:39+00:00\",\"description\":\"The imperix SS-PWM modulator block supports balancing and PWM for MMC and other cascaded multilevel converter topologies.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/3_2_ratio_TN160.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/3_2_ratio_TN160.png\",\"width\":450,\"height\":300,\"caption\":\"Sort and select balancer for MMC converter\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/ss-pwm-for-mmc#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\":\"Implementation of the imperix SS-PWM for MMC\"}]},{\"@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\\\/53bdc49b53b03a52afee023feef62ea4\",\"name\":\"Jessy An\u00e7ay\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g3826f6cf12d7359812a917063d7db3c1\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g\",\"caption\":\"Jessy An\u00e7ay\"},\"description\":\"Jessy is a power electronics engineer. At imperix, he is mostly involved with sales and project engineering. On the knowledge base, he is an active contributor to numerous notes and examples on a broad variety of topics.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jessy-ancay-a47615237\\\/\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/ancay\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Implementation of the imperix SS-PWM for MMC - imperix","description":"The imperix SS-PWM modulator block supports balancing and PWM for MMC and other cascaded multilevel converter topologies.","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\/ss-pwm-for-mmc","og_locale":"en_US","og_type":"article","og_title":"Implementation of the imperix SS-PWM for MMC - imperix","og_description":"The imperix SS-PWM modulator block supports balancing and PWM for MMC and other cascaded multilevel converter topologies.","og_url":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc","og_site_name":"imperix","article_published_time":"2021-10-11T07:17:29+00:00","article_modified_time":"2025-05-07T14:09:39+00:00","og_image":[{"width":450,"height":300,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/3_2_ratio_TN160.png","type":"image\/png"}],"author":"Jessy An\u00e7ay","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jessy An\u00e7ay","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc"},"author":{"name":"Jessy An\u00e7ay","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/53bdc49b53b03a52afee023feef62ea4"},"headline":"Implementation of the imperix SS-PWM for MMC","datePublished":"2021-10-11T07:17:29+00:00","dateModified":"2025-05-07T14:09:39+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc"},"wordCount":1709,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/3_2_ratio_TN160.png","keywords":["Modular Multilevel Converter","Multilevel converters"],"articleSection":["Technical notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc","url":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc","name":"Implementation of the imperix SS-PWM for MMC - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/3_2_ratio_TN160.png","datePublished":"2021-10-11T07:17:29+00:00","dateModified":"2025-05-07T14:09:39+00:00","description":"The imperix SS-PWM modulator block supports balancing and PWM for MMC and other cascaded multilevel converter topologies.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/3_2_ratio_TN160.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/10\/3_2_ratio_TN160.png","width":450,"height":300,"caption":"Sort and select balancer for MMC converter"},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/implementation\/ss-pwm-for-mmc#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":"Implementation of the imperix SS-PWM for MMC"}]},{"@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\/53bdc49b53b03a52afee023feef62ea4","name":"Jessy An\u00e7ay","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g3826f6cf12d7359812a917063d7db3c1","url":"https:\/\/secure.gravatar.com\/avatar\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g","caption":"Jessy An\u00e7ay"},"description":"Jessy is a power electronics engineer. At imperix, he is mostly involved with sales and project engineering. On the knowledge base, he is an active contributor to numerous notes and examples on a broad variety of topics.","sameAs":["https:\/\/www.linkedin.com\/in\/jessy-ancay-a47615237\/"],"url":"https:\/\/imperix.com\/doc\/author\/ancay"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/8320","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\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=8320"}],"version-history":[{"count":102,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/8320\/revisions"}],"predecessor-version":[{"id":32549,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/8320\/revisions\/32549"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/9962"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=8320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=8320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=8320"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=8320"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=8320"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=8320"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=8320"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=8320"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=8320"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=8320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}