{"id":47044,"date":"2026-09-14T12:38:07","date_gmt":"2026-09-14T12:38:07","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=47044"},"modified":"2026-09-14T12:00:00","modified_gmt":"2026-09-14T12:00:00","slug":"system-identification-module","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/help\/system-identification-module","title":{"rendered":"System Identification Module"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 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\/help\/system-identification-module\/#System-Identification-module-basics\" >System Identification module basics<\/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\/help\/system-identification-module\/#Interacting-with-Sys-Id-module-graphs-and-plots\" >Interacting with Sys. Id. module graphs and plots<\/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\/help\/system-identification-module\/#Sys-Id-application-examples\" >Sys. Id. application examples<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/help\/system-identification-module\/#Python-scripting\" >Python scripting<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/help\/system-identification-module\/#Identifying-the-plant-of-a-buck-converter\" >Identifying the plant of a buck converter<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">This article describes how to use the\u00a0<a href=\"https:\/\/imperix.com\/software\/cockpit\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cockpit<\/a>\u00a0System Identification module to interact with the user code running on\u00a0<a href=\"https:\/\/imperix.com\/products\/power-electronic-controllers\/\">imperix controllers<\/a>. This page provides a detailed explanation of all of the module\u2019s features. For users seeking getting-started assistance with Cockpit itself, a separate article is available in <a href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\" target=\"_blank\" rel=\"noreferrer noopener\">PN300<\/a>. System identification experiments can also be automated with a Python script, as described in the <a href=\"https:\/\/imperix.com\/doc\/?p=50776&amp;preview=true&amp;_thumbnail_id=49977&amp;currentThread=imperix-cockpit#python-scripting\">Python scripting<\/a> section at the end of this page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"System-Identification-module-basics\"><\/span>System Identification module basics<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The System Identification (Sys. Id.) module allows the user to launch a system identification experiment and examine the resulting frequency response estimate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To perform the system identification experiment, the module injects an excitation signal at the control task rate and records the system response. The excitation is a<a href=\"https:\/\/en.wikipedia.org\/wiki\/Pseudorandom_binary_sequence\" data-type=\"link\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Pseudorandom_binary_sequence\"> pseudorandom binary sequence (PRBS)<\/a> signal, and it is injected using the <a href=\"https:\/\/imperix.com\/doc\/help\/scope-module#Transient-generator-configuration\" data-type=\"link\" data-id=\"https:\/\/imperix.com\/doc\/help\/scope-module#Transient-generator-configuration\">Scope transient generator<\/a> and the <a href=\"https:\/\/imperix.com\/doc\/software\/system-identification-injector\">System Identification Injector block<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The data acquired by the Scope is then used by the Sys. Id. module to calculate frequency-response estimates and display their Bode plots. More details on the estimation technique are given in <a href=\"https:\/\/imperix.com\/doc\/software\/system-identification-injector#operation-principles\">SD041<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-success\" role=\"alert\">To start displaying frequency response estimates, add a Sys. Id. Injector block to the user code, make sure the Scope module is open in Cockpit, and press <em>Inject excitation<\/em> in the Sys. Id. module right-bar menu.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Transfer functions in the module are represented by enumerated curves (<em>TF_0<\/em>,<em> TF_1<\/em>,<em> TF_2<\/em>, &#8230;). The module always has at least one transfer function present (<em>TF_0<\/em>). The Scope data used to estimate the frequency response for a transfer function is selected by setting its numerator and denominator. Any <a type=\"post\" href=\"https:\/\/imperix.com\/doc\/software\/probe-variable\" id=\"1698\">Probe variable<\/a> defined in the user code can be set as either the numerator or the denominator.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sys. Id. module interface<\/h4>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"811\" height=\"764\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/sys_id_module_annoted-1.png\" alt=\"\" class=\"wp-image-51322\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/sys_id_module_annoted-1.png 811w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/sys_id_module_annoted-1-300x283.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/sys_id_module_annoted-1-767x723.png 767w\" sizes=\"auto, (max-width: 811px) 100vw, 811px\" \/><\/figure>\n\n\n<style>.kt-accordion-id47044_9e4b74-44 .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:1px;}.kt-accordion-id47044_9e4b74-44 .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background:#ffffff;padding-top:20px;padding-right:20px;padding-bottom:20px;padding-left:20px;}.kt-accordion-id47044_9e4b74-44 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background:#ffffff;font-size:16px;line-height:24px;letter-spacing:0px;font-weight:bold;text-transform:none;color:var(--global-palette3, #1A202C);padding-top:12px;padding-right:10px;padding-bottom:8px;padding-left:16px;}.kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette3, #1A202C);}.kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger{background:var(--global-palette3, #1A202C);}.kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}.kt-accordion-id47044_9e4b74-44 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id47044_9e4b74-44 .kt-blocks-accordion-header:focus-visible{color:#444444;background:#ffffff;border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}.kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion--visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:#444444;}.kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger, body:not(.hide-focus-outline) .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger{background:#444444;}.kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}.kt-accordion-id47044_9e4b74-44 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id47044_9e4b74-44 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{color:var(--global-palette3, #1A202C);background:var(--global-palette9, #ffffff);border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}.kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette3, #1A202C);}.kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger{background:var(--global-palette3, #1A202C);}.kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id47044_9e4b74-44:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:var(--global-palette9, #ffffff);}@media all and (max-width: 1024px){.kt-accordion-id47044_9e4b74-44 .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}}@media all and (max-width: 1024px){.kt-accordion-id47044_9e4b74-44 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;}}@media all and (max-width: 1024px){.kt-accordion-id47044_9e4b74-44 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id47044_9e4b74-44 .kt-blocks-accordion-header:focus-visible{border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}}@media all and (max-width: 1024px){.kt-accordion-id47044_9e4b74-44 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id47044_9e4b74-44 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}}@media all and (max-width: 767px){.kt-accordion-id47044_9e4b74-44 .kt-accordion-inner-wrap{display:block;}.kt-accordion-id47044_9e4b74-44 .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:1px;}.kt-accordion-id47044_9e4b74-44 .kt-accordion-panel-inner{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}.kt-accordion-id47044_9e4b74-44 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:2px solid #f2f2f2;border-right:2px solid #f2f2f2;border-bottom:2px solid #f2f2f2;border-left:2px solid #f2f2f2;}.kt-accordion-id47044_9e4b74-44 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id47044_9e4b74-44 .kt-blocks-accordion-header:focus-visible{border-top:2px solid #eeeeee;border-right:2px solid #eeeeee;border-bottom:2px solid #eeeeee;border-left:2px solid #eeeeee;}.kt-accordion-id47044_9e4b74-44 .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id47044_9e4b74-44 > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top:2px solid var(--global-palette6, #718096);border-right:2px solid var(--global-palette6, #718096);border-bottom:2px solid var(--global-palette6, #718096);border-left:2px solid var(--global-palette6, #718096);}}<\/style>\n<div class=\"wp-block-kadence-accordion alignnone\"><div class=\"kt-accordion-wrap kt-accordion-id47044_9e4b74-44 kt-accordion-has-22-panes kt-active-pane-0 kt-accordion-block kt-pane-header-alignment-left kt-accodion-icon-style-arrow kt-accodion-icon-side-left\" style=\"max-width:none\"><div class=\"kt-accordion-inner-wrap\" data-allow-multiple-open=\"false\" data-start-open=\"0\">\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-9 kt-pane47044_d95ac9-e5\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><strong>1 &#8211; Bode plot<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">The two plot areas show the magnitude and phase of the transfer functions displayed in the module.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-22 kt-pane47044_799e79-13\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">2<strong> <strong>&#8211; Injector setting<\/strong><\/strong>s<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">This menu provides options to configure the excitation before injecting it. The available settings are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Injector name<\/em>, which allows the user to set the active injector. The available names correspond to the injector names set in the <a href=\"https:\/\/imperix.com\/doc\/software\/system-identification-injector\" data-type=\"link\" data-id=\"https:\/\/imperix.com\/doc\/software\/system-identification-injector\">Sys. Id. Injector<\/a> block while building the user code<\/li>\n\n\n\n<li><em>Injector mode,<\/em> which can be:\n<ul class=\"wp-block-list\">\n<li>&#8216;<em>Pass<\/em>&#8216;, meaning that the excitation will be added to the Injector block input signal<\/li>\n\n\n\n<li>&#8216;<em>Hold<\/em>&#8216;, meaning that the excitation will be added to the estimated average value of the Injector block input signal<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><em>Peak-to<\/em>&#8211;<em>peak<\/em>, which sets the difference between the high and low state values of the PRBS<\/li>\n\n\n\n<li><em>Advanced PRBS settings<\/em> that include:\n<ul class=\"wp-block-list\">\n<li><em>Order<\/em>, which determines the length of one period of the PRBS. For an order \\(N\\), the length of a period is \\(L=2^N-1\\)<\/li>\n\n\n\n<li><em>Repetitions<\/em>, which configures how many periods of the PRBS will be injected. For \\(R\\) repetitions, \\(R\\) transfer functions are estimated using data recorded during each period. The final estimate displayed in the module is then calculated as the average of these estimates<\/li>\n\n\n\n<li><em>Pre-excitation [s]<\/em>, which sets the duration of the PRBS injected before the \\(R\\) full periods. The data recorded over this interval is not used for estimation. Instead, the pre-excitation samples are used to transition the system to the new steady state induced by the injected PRBS input<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">For a pre-excitation time \\(T_{pre}\\) and a control period of \\(T_s\\), the duration of the configured excitation becomes \\(T_{PRBS}= T_{pre}+L\\cdot R\\cdot T_s \\). The total duration for the given settings is shown above the <em>Inject excitation<\/em> button.<\/div>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-21 kt-pane47044_a30293-7e\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><strong>3 <strong>&#8211; <\/strong><\/strong><em><strong><strong>Inject<\/strong><\/strong> excitation<\/em> button<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">Clicking on this button will initiate the Scope module transient sequence and inject the configured excitation. After the system response is captured and transferred from the Scope to the Sys. Id. module, the added transfer functions are automatically estimated and plotted.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-17 kt-pane47044_644dad-0c\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><strong>4 &#8211; <\/strong>Transfer function settings<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">The <em>Numerator<\/em> and <em>Denominator<\/em> fields allow the user to select probe variables whose data will be used as inputs to the transfer function estimate. Changing the <em>Numerator<\/em> or <em>Denominator<\/em> recalculates the estimate, if the probe data was captured in a Scope during the last excitation.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">Scope data is captured for all probes selected as the <em>Numerator<\/em> or <em>Denominator<\/em>, even if they are not added to the Scope module.<\/div>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-16 kt-pane47044_fd43ae-9e\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><strong>5 &#8211; Add\/remove a transfer function<\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">These two buttons allow the removal or the addition of transfer functions. The remove button always removes the last transfer function. There is no upper limit to the number of transfer functions but <em>TF_0<\/em> can not be removed.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-15 kt-pane47044_7ee53a-50\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><strong>6 &#8211; Ver<\/strong>tical cursor options<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">When switched on, a slidable vertical cursor is shown. The magnitude and phase values at the cursor position are displayed in the bottom bar for all transfer functions.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">The first time the cursor is switched on, it is positioned at the first 0dB crossover of <em>TF_0<\/em>. To automatically reposition your cursor to the first 0dB crossover of any transfer function in the module, select this option in the plotted curve right-click menu.<\/div>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-13 kt-pane47044_85dcd4-d6\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><strong>7 &#8211; <strong>X-axis scaling options<\/strong><\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">Besides the fields that allow the precise definition of the displayed x-axis range, the Sys. Id. module offers the option to switch between linear and log-scaling for the frequency axis.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-14 kt-pane47044_05f331-4b\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><strong>8 &#8211; <strong>Magnitude plot <strong>Y-axis scaling options<\/strong><\/strong><\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">Besides the fields that allow the precise definition of the displayed y-axis range, the Sys. Id. module offers the option to set different <em>Scale<\/em> settings for the y-axis magnitude:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>&#8216;Absolute, linear&#8217;<\/em>, which displays the magnitudes of the estimated transfer function, without any visual or mathematical rescaling<\/li>\n\n\n\n<li><em>&#8216;Absolute, log10&#8217;<\/em>, which arranges the magnitude values in a log-scale<\/li>\n\n\n\n<li><em>&#8216;Relative, dB&#8217;<\/em>, which transforms the magnitude values according to the Amplitude dB formula: \\(20\\text{log}_{10}\\big(\\frac{|X|}{X_{ref}}\\big)\\), where \\(|X|\\) is the estimated transfer function magnitude and \\(X_{ref}\\) is set in the <em>Ref. val.<\/em> input field below the <em>Scale<\/em> menu<\/li>\n\n\n\n<li><em>&#8216;Relative, log10&#8217;<\/em>, which divides all of the magnitude values with \\(X_{ref}\\) and arranges the resulting values in a log-scale<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">\\(X_{ref}\\) can be set manually in the <em>Ref. val.<\/em> input field, or automatically if the button next to the field is toggled on. In this case, \\(X_{ref}\\) will be set to the biggest magnitude value seen since the option was turned on.<\/div>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-12 kt-pane47044_b035dc-29\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><strong>9 &#8211; Phase plot <strong>Y-axis scaling options<\/strong><\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">Besides the fields that allow the precise definition of the displayed y-axis range, the Sys. Id. module offers additional settings for the phase plot value axis:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <em>Wrap phase<\/em> setting, which when toggled on, restricts all phase plots between \\(-180^{\\circ}\\) and \\(180^{\\circ}\\)<\/li>\n\n\n\n<li>The <em>Units<\/em> option, which allows switching between using degrees and radians for the phase plot<\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-11 kt-pane47044_a6a733-1d\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><strong>10 &#8211; <strong>Bottom bar<\/strong><\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">Transfer functions added to the module are displayed in the <em>SYS.ID.<\/em> tab of the bottom bar. The bottom bar <em>SYS.ID.<\/em> tab menus allow the user to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Modify each transfer functions&#8217; display style<\/li>\n\n\n\n<li>Toggle a transfer functions&#8217; visibility&nbsp;without removing it<\/li>\n\n\n\n<li>Remove a transfer function from the module<\/li>\n\n\n\n<li>Change the transfer function numerator or denominator<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In addition to this, if the vertical cursor is enabled, the magnitude and phase value of the transfer functions at the position of the vertical cursor are displayed here.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-10 kt-pane47044_7dd38f-15\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\"><strong>11 &#8211; <strong>Annotation mode toggle<\/strong><\/strong><\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<p class=\"wp-block-paragraph\">When switched on, clicking on the plot shows an annotation box for the closest plotted point. The annotation contains the x- and y-axis position of the point, as well as the name of the corresponding transfer function.<\/p>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Interacting-with-Sys-Id-module-graphs-and-plots\"><\/span>Interacting with Sys. Id. module graphs and plots<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Sys. Id. module consists of two plot areas that display graphs of the transfer functions. This section lists tips and tricks for manipulating the plotted transfer functions and areas in the module.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Managing plotted transfer functions<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Added transfer function will appear as rows in a table in the bottom bar tab for the corresponding module. Here, they can be removed, and their style, visibility, and plotting order can be managed. If the vertical cursor is enabled, the magnitude and phase values at the cursor position are also shown.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All of these actions can also be accessed from&nbsp;<strong>context menus<\/strong>&nbsp;by right-clicking on a plotted transfer function or on the empty space in the plots.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1221\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/sys_id_menus-scaled.png\" alt=\"\" class=\"wp-image-47162\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/sys_id_menus-scaled.png 2560w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/sys_id_menus-300x143.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/sys_id_menus-1024x488.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/sys_id_menus-768x366.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/sys_id_menus-1536x733.png 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/sys_id_menus-2048x977.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">Transfer function context menu and plot area context menu<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Managing plot areas<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The total module height can be freely distributed between the magnitude and phase plots. To&nbsp;<strong>resize plot heights<\/strong>,&nbsp;click on the border between the plot areas and drag.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1380\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/07\/resize_sys_id.gif\" alt=\"\" class=\"wp-image-47444\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>To&nbsp;<strong>zoom in and out along the horizontal axis<\/strong>, place the mouse cursor over the area of interest. Then use the mouse wheel to zoom in or out around the cursor.<\/li>\n\n\n\n<li>To <strong>zoom in and out along the vertical axis<\/strong>, place the mouse cursor over the area of interest. Then press the Ctrl key and use the mouse wheel to zoom in or out around the location of the mouse cursor.<\/li>\n\n\n\n<li>To&nbsp;<strong>zoom in on a specific area<\/strong>, click and drag to draw a blue rectangle over the area you want to zoom in on.<\/li>\n\n\n\n<li>To achieve a&nbsp;<strong>horizontal auto-scale<\/strong>, right-click and drag horizontally. A light grey horizontal strip will appear. Release the mouse button to perform the horizontal auto-scale.<\/li>\n\n\n\n<li>To achieve a&nbsp;<strong>vertical auto-scale<\/strong>, right-click and drag vertically. A light grey vertical strip will appear. Release the mouse button to perform the vertical auto-scale.<\/li>\n\n\n\n<li>To enter&nbsp;<strong>panning mode<\/strong>,&nbsp;press and hold the middle mouse button or Ctrl + Left mouse button, then move the mouse.<\/li>\n\n\n\n<li>To prevent a plot from changing the displayed range of values, hover over the y-axis and click the lock icon that shows up. The same can be done from the y-axis pane menu in the right bar.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Sys-Id-application-examples\"><\/span>Sys. Id. application examples<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>This example explains parametric identification of a buck converter. Further details are given in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/uncategorized\/parametric-system-identification-using-the-imperix-sys-id-toolbox\">PN215<\/a>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"563\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit_cursors-1-1024x563.png\" alt=\"\" class=\"wp-image-49760\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit_cursors-1-1024x563.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit_cursors-1-300x165.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit_cursors-1-767x422.png 767w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit_cursors-1-1536x845.png 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit_cursors-1.png 1587w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>This example shows how to tune an inductor current controller of a buck converter. Further details are provided in <a href=\"https:\/\/imperix.com\/doc\/help\/controller-tuning-in-the-frequency-domain-using-imperix-sys-id-toolbox\">PN216<\/a>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"575\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit1-1024x575.png\" alt=\"\" class=\"wp-image-49622\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit1-1024x575.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit1-300x168.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit1-768x431.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/cockpit1.png 1489w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 id=\"python-scripting\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Python-scripting\"><\/span>Python scripting<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The imperix Python library can be used to configure the Sys. Id. module, launch identification experiments, and export the resulting frequency response estimates directly from a Python script. A typical use case is the identification of a converter at several operating points, where the same experiment is repeated for each of them. More information on getting started with the library is given in <a href=\"https:\/\/imperix.com\/doc\/help\/getting-started-with-python-scripting\">PN204<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-24292-e-color has-text-color\"><span class=\"ez-toc-section\" id=\"Identifying-the-plant-of-a-buck-converter\"><\/span>Identifying the plant of a buck converter<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"has-24292-e-color has-text-color wp-block-paragraph\">In the following script, a PRBS excitation is injected through the Sys. Id. Injector block named <code>sys_id_input<\/code>. The freqIn the following script, the duty-cycle reference <code>duty_ref<\/code> is set to 0.3, 0.4, and 0.5 in turn. At each operating point, a PRBS excitation is injected through the Sys. Id. Injector block named <code>sys_id_input<\/code>, and the frequency response from the duty cycle <code>duty<\/code> to the inductor current <code>I_L<\/code> is exported to a CSV file.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-lang-python\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#24292e;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>from imperix import Cockpit, ModuleType, SysIdInjectionMode\n\nwith Cockpit() as cockpit:\n    # 1. Retrieve the open project, stop any code on its target, then connect and start the user code.\n    project = cockpit.projects&#091;\"My project\"&#093;\n    project.stop_code()\n    project.connect(auto_start_code=True, bypass_warnings=True)\n\n    # 2. Add a Scope module. It acquires the data used for the estimation.\n    scope = project.modules.create(ModuleType.SCOPE)\n\n    # 3. Add a Sys. Id. module and configure the excitation of the injector.\n    sys_id = project.modules.create(ModuleType.SYS_ID)\n    sys_id.set_injector(\"sys_id_input\", mode=SysIdInjectionMode.INPUT_HOLD, \n    peak_to_peak=0.2, order=12, repetitions=10, pre_excit_time_s=0.1)\n\n    # 4. Set I_L as the numerator and duty as the denominator of the transfer function.\n    tf = sys_id.list_transfer_functions()&#091;0&#093;\n    tf.set_transfer_function(\"I_L\", \"duty\")\n\n    # 5. Enable the PWM outputs.\n    project.enable_pwm()\n\n    try:\n        for duty in &#091;0.3, 0.4, 0.5&#093;:\n            # 6. Set the operating point and wait for steady state.\n            project.variables&#091;\"duty_ref\"&#093;.write(duty)\n            cockpit.wait(delay_ms=500.0)\n\n            # 7. Inject the excitation and wait for the end of the acquisition.\n            sys_id.inject_excitation()\n            cockpit.wait_until(sys_id.is_capture_done)\n\n            # 8. Export the frequency response estimate of this operating point.\n            sys_id.export(f\"C:\/imperix\/bode_duty_{duty:.1f}.csv\")\n    finally:\n        # 9. Disable the PWM outputs and reset the duty cycle, even if an error occurred.\n        project.disable_pwm()\n        project.variables&#091;\"duty_ref\"&#093;.write(0.0)<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-light\" style=\"background-color: #fff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D73A49\">from<\/span><span style=\"color: #24292E\"> imperix <\/span><span style=\"color: #D73A49\">import<\/span><span style=\"color: #24292E\"> Cockpit, ModuleType, SysIdInjectionMode<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D73A49\">with<\/span><span style=\"color: #24292E\"> Cockpit() <\/span><span style=\"color: #D73A49\">as<\/span><span style=\"color: #24292E\"> cockpit:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #6A737D\"># 1. Retrieve the open project, stop any code on its target, then connect and start the user code.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    project <\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #24292E\"> cockpit.projects&#091;<\/span><span style=\"color: #032F62\">&quot;My project&quot;<\/span><span style=\"color: #24292E\">&#093;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    project.stop_code()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    project.connect(<\/span><span style=\"color: #E36209\">auto_start_code<\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #005CC5\">True<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #E36209\">bypass_warnings<\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #005CC5\">True<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #6A737D\"># 2. Add a Scope module. It acquires the data used for the estimation.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    scope <\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #24292E\"> project.modules.create(ModuleType.<\/span><span style=\"color: #005CC5\">SCOPE<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #6A737D\"># 3. Add a Sys. Id. module and configure the excitation of the injector.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    sys_id <\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #24292E\"> project.modules.create(ModuleType.<\/span><span style=\"color: #005CC5\">SYS_ID<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    sys_id.set_injector(<\/span><span style=\"color: #032F62\">&quot;sys_id_input&quot;<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #E36209\">mode<\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #24292E\">SysIdInjectionMode.<\/span><span style=\"color: #005CC5\">INPUT_HOLD<\/span><span style=\"color: #24292E\">, <\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #E36209\">peak_to_peak<\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #005CC5\">0.2<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #E36209\">order<\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #005CC5\">12<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #E36209\">repetitions<\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #005CC5\">10<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #E36209\">pre_excit_time_s<\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #005CC5\">0.1<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #6A737D\"># 4. Set I_L as the numerator and duty as the denominator of the transfer function.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    tf <\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #24292E\"> sys_id.list_transfer_functions()&#091;<\/span><span style=\"color: #005CC5\">0<\/span><span style=\"color: #24292E\">&#093;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    tf.set_transfer_function(<\/span><span style=\"color: #032F62\">&quot;I_L&quot;<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #032F62\">&quot;duty&quot;<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #6A737D\"># 5. Enable the PWM outputs.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    project.enable_pwm()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #D73A49\">try<\/span><span style=\"color: #24292E\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        <\/span><span style=\"color: #D73A49\">for<\/span><span style=\"color: #24292E\"> duty <\/span><span style=\"color: #D73A49\">in<\/span><span style=\"color: #24292E\"> &#091;<\/span><span style=\"color: #005CC5\">0.3<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #005CC5\">0.4<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #005CC5\">0.5<\/span><span style=\"color: #24292E\">&#093;:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">            <\/span><span style=\"color: #6A737D\"># 6. Set the operating point and wait for steady state.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">            project.variables&#091;<\/span><span style=\"color: #032F62\">&quot;duty_ref&quot;<\/span><span style=\"color: #24292E\">&#093;.write(duty)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">            cockpit.wait(<\/span><span style=\"color: #E36209\">delay_ms<\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #005CC5\">500.0<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">            <\/span><span style=\"color: #6A737D\"># 7. Inject the excitation and wait for the end of the acquisition.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">            sys_id.inject_excitation()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">            cockpit.wait_until(sys_id.is_capture_done)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">            <\/span><span style=\"color: #6A737D\"># 8. Export the frequency response estimate of this operating point.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">            sys_id.export(<\/span><span style=\"color: #D73A49\">f<\/span><span style=\"color: #032F62\">&quot;C:\/imperix\/bode_duty_<\/span><span style=\"color: #005CC5\">{<\/span><span style=\"color: #24292E\">duty<\/span><span style=\"color: #D73A49\">:.1f<\/span><span style=\"color: #005CC5\">}<\/span><span style=\"color: #032F62\">.csv&quot;<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #D73A49\">finally<\/span><span style=\"color: #24292E\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        <\/span><span style=\"color: #6A737D\"># 9. Disable the PWM outputs and reset the duty cycle, even if an error occurred.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        project.disable_pwm()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        project.variables&#091;<\/span><span style=\"color: #032F62\">&quot;duty_ref&quot;<\/span><span style=\"color: #24292E\">&#093;.write(<\/span><span style=\"color: #005CC5\">0.0<\/span><span style=\"color: #24292E\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"has-24292-e-color has-text-color wp-block-paragraph\">Here, the excitation is injected in <em>Hold<\/em> mode. The <em>Pass<\/em> mode and other settings of the module are documented in the <a href=\"https:\/\/imperix.com\/doc\/python-library\/api\/sys_id.html\">Sys. Id. API reference<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article describes how to use the\u00a0Cockpit\u00a0System Identification module to interact with the user code running on\u00a0imperix controllers. This page provides a detailed explanation of&#8230;<\/p>\n","protected":false},"author":18,"featured_media":49977,"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":[12,3],"tags":[],"software-environments":[105,103,104],"provided-results":[],"related-products":[50,31,32,92,166,51,110],"guidedreadings":[],"tutorials":[],"user-manuals":[140],"coauthors":[93],"class_list":["post-47044","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-getting-started-acg-sdk","category-help","software-environments-c-plus-plus","software-environments-matlab","software-environments-plecs","related-products-acg-sdk","related-products-b-board-pro","related-products-b-box-rcp","related-products-b-box-micro","related-products-b-box-rcp-3-0","related-products-cpp-sdk","related-products-tpi","user-manuals-imperix-cockpit"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>System Identification Module - imperix<\/title>\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\/help\/system-identification-module\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"System Identification Module - imperix\" \/>\n<meta property=\"og:description\" content=\"This article describes how to use the\u00a0Cockpit\u00a0System Identification module to interact with the user code running on\u00a0imperix controllers. This page provides a detailed explanation of...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/help\/system-identification-module\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-14T12:38:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/sys_id_module_thumbnail.png\" \/>\n\t<meta property=\"og:image:width\" content=\"815\" \/>\n\t<meta property=\"og:image:height\" content=\"545\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Mateja Ili\u0107\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mateja Ili\u0107\" \/>\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\\\/help\\\/system-identification-module#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module\"},\"author\":{\"name\":\"Mateja Ili\u0107\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/d1ee9a0e69f5f9e0e7a17f73a43c7558\"},\"headline\":\"System Identification Module\",\"datePublished\":\"2026-09-14T12:38:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module\"},\"wordCount\":1796,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/sys_id_module_thumbnail.png\",\"articleSection\":[\"Getting started with ACG SDK\",\"Product notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module\",\"name\":\"System Identification Module - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/sys_id_module_thumbnail.png\",\"datePublished\":\"2026-09-14T12:38:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/sys_id_module_thumbnail.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/sys_id_module_thumbnail.png\",\"width\":815,\"height\":545},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/system-identification-module#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knowledge base\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product notes\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/category\\\/help\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"System Identification Module\"}]},{\"@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\\\/d1ee9a0e69f5f9e0e7a17f73a43c7558\",\"name\":\"Mateja Ili\u0107\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7936a0da3bab4f34015836e0c69e60b99617dd1982500a0d2e9f3d21837fb50b?s=96&d=mm&r=g5d0e4c6de0072da89ac175b57e90b3f1\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7936a0da3bab4f34015836e0c69e60b99617dd1982500a0d2e9f3d21837fb50b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7936a0da3bab4f34015836e0c69e60b99617dd1982500a0d2e9f3d21837fb50b?s=96&d=mm&r=g\",\"caption\":\"Mateja Ili\u0107\"},\"description\":\"Mateja is a software development engineer at imperix. He is working mainly on the Cockpit monitoring software.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/mateja-ilic-29ba52229\\\/\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/ilic\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"System Identification Module - imperix","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\/help\/system-identification-module","og_locale":"en_US","og_type":"article","og_title":"System Identification Module - imperix","og_description":"This article describes how to use the\u00a0Cockpit\u00a0System Identification module to interact with the user code running on\u00a0imperix controllers. This page provides a detailed explanation of...","og_url":"https:\/\/imperix.com\/doc\/help\/system-identification-module","og_site_name":"imperix","article_published_time":"2026-09-14T12:38:07+00:00","og_image":[{"width":815,"height":545,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/sys_id_module_thumbnail.png","type":"image\/png"}],"author":"Mateja Ili\u0107","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Mateja Ili\u0107","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/help\/system-identification-module#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/help\/system-identification-module"},"author":{"name":"Mateja Ili\u0107","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/d1ee9a0e69f5f9e0e7a17f73a43c7558"},"headline":"System Identification Module","datePublished":"2026-09-14T12:38:07+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/system-identification-module"},"wordCount":1796,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/system-identification-module#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/sys_id_module_thumbnail.png","articleSection":["Getting started with ACG SDK","Product notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/help\/system-identification-module#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/help\/system-identification-module","url":"https:\/\/imperix.com\/doc\/help\/system-identification-module","name":"System Identification Module - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/system-identification-module#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/system-identification-module#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/sys_id_module_thumbnail.png","datePublished":"2026-09-14T12:38:07+00:00","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/help\/system-identification-module#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/help\/system-identification-module"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/help\/system-identification-module#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/sys_id_module_thumbnail.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2026\/09\/sys_id_module_thumbnail.png","width":815,"height":545},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/help\/system-identification-module#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Knowledge base","item":"https:\/\/imperix.com\/doc\/"},{"@type":"ListItem","position":2,"name":"Product notes","item":"https:\/\/imperix.com\/doc\/category\/help"},{"@type":"ListItem","position":3,"name":"System Identification Module"}]},{"@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\/d1ee9a0e69f5f9e0e7a17f73a43c7558","name":"Mateja Ili\u0107","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7936a0da3bab4f34015836e0c69e60b99617dd1982500a0d2e9f3d21837fb50b?s=96&d=mm&r=g5d0e4c6de0072da89ac175b57e90b3f1","url":"https:\/\/secure.gravatar.com\/avatar\/7936a0da3bab4f34015836e0c69e60b99617dd1982500a0d2e9f3d21837fb50b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7936a0da3bab4f34015836e0c69e60b99617dd1982500a0d2e9f3d21837fb50b?s=96&d=mm&r=g","caption":"Mateja Ili\u0107"},"description":"Mateja is a software development engineer at imperix. He is working mainly on the Cockpit monitoring software.","sameAs":["https:\/\/www.linkedin.com\/in\/mateja-ilic-29ba52229\/"],"url":"https:\/\/imperix.com\/doc\/author\/ilic"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/47044","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\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=47044"}],"version-history":[{"count":143,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/47044\/revisions"}],"predecessor-version":[{"id":50382,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/47044\/revisions\/50382"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/49977"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=47044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=47044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=47044"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=47044"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=47044"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=47044"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=47044"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=47044"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=47044"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=47044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}