Table of Contents
This article describes how to use the Cockpit System Identification module to interact with the user code running on imperix controllers. This page provides a detailed explanation of all of the module’s features. For users seeking getting-started assistance with Cockpit itself, a separate article is available in PN300.
System Identification module basics
The System Identification (Sys. Id.) module allows the user to launch a system identification experiment and examine the resulting frequency response estimate.
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 pseudorandom binary sequence (PRBS) signal and it is injected using the Scope transient generator and the System Identification Injector block.
The data acquired by the Scope is then used by the Sys. Id. module to calculate the frequency response estimates and display their Bode plots. More details on the estimation technique are given in SD041.
Transfer functions in the module are represented with enumerated variables (TF_0, TF_1, TF_2,…). The module always has at least one transfer function variable present (TF_0). The Scope data used to estimate the frequency response corresponding to a transfer function variable is chosen by setting its numerator and denominator. Any Probe variable defined by the user code can be set as the numerator and denominator.
Sys. Id. module interface

Interacting with Sys. Id. module graphs and plots
The Sys. Id. module consists of two plot areas that display graphs of the transfer function variables. This section lists out the tips and tricks for manipulating plot variables and plot areas in the module.
Managing plot variables
Added transfer function variables will show up as rows in a table in the bottom bar tab corresponding to the module. Here, variables can be removed and their style and visibility and plotting order can be managed. If the vertical cursor is enabled, the magnitude and phase values at the cursor position are shown as well.
All of these actions can also be accessed from context menus by right-clicking on a plotted variable or on the empty space in the plots.

Managing plot areas
The total module height can be freely distributed between the magnitude and phase plots. To resize plot heights click on the border between the plot areas and drag.

- To zoom in and out along the horizontal axis, place the mouse cursor over the area of interest. Then, use the mouse wheel to zoom in or out around the location of the mouse cursor.
- To zoom in and out along the vertical axis, 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.
- To zoom on a specific area, click and drag to draw a blue rectangle over the zoom area.
- To achieve a horizontal auto-scale, right-click and drag horizontally. A light grey horizontal strip will appear. Release the mouse button to perform the horizontal auto-scale.
- To achieve a vertical auto-scale, right-click and drag vertically. A light grey vertical strip will appear. Release the mouse button to perform the vertical auto-scale.
- To enter panning mode press and hold the mouse middle button or Ctrl + Left mouse button and move the mouse.
- 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.
Sys. Id. application examples
- This example implements . Further details are provided in PN215.
- This example implements . Further details are given in PN216.



