Import Kistler MDF (KiBox) File by Drag&Drop or via menu File->Import Values->Kistler MDF (KiBox). In the dialog, click Open.  Exemplary, we use PCYL_1 signal to show how it can be splitted into cycles and to apply a filter for a specific cycle selection. When we look at the signal and the corresponding PCYL_1-angle-rel we can see that the cycles are clearly marked by the sawthooth of the angle signal.  To split the signal, we use the Split a Channel into Matrix calculation (menu Math->Curve Calculations). In the dialog, select the Input signal AD/PCYL_1 and set AD/PCYL_1-angle-rel as Trigger Channel. The trigger condition can be entered under Difference of 2 consecutive values of the trigger channel, e.g. 360°. Activate the option Common Xoff for all columns.  The result is a matrix with as many columns as cycles and as many rows as values per cycle. From all these cycles we want to extract a number of cycles according to a filter condition. As an example, we search for all cycles where knocking is indicated. Knocking shall be defined where KPEAK is bigger than 2 bar. We will make this threshold configurable via a Value Input field.  The threshold value can be made modifiable via Value Input field (menu Graph Editor->Controls). Enter a suitable Name and Unit to better identify the value later on.  
The following 3 steps will create a matrix which only contains cycles with knocking. For this, we first create a channel containing only the relevant cycle indices and use this later as filter criterion in a Cuts through Matrix calculation. To filter the cycles, start with identifying the cycles with knocking. Open the Formula Editor for numeric Objects (menu Math->Arithmetic). Enter a speaking name in Result Data and select the Input Data CD/KPEAK_1 and KnockingThreshold-V. The formula if(A > B; Index(A); -1) sets all cycle numbers without knocking to -1 which can later be distinguished from the knocking cycle numbers.  Now we need to filter out all other cycles (-1) to receive a list of all cycles with knocking. Open the Value Filter (menu Math->Data Filters). Select the just calculated result SetKnockingCycles as Channel to be filtered. In this case, the Input Data for the Filter Condition is the same. Set Relation to all values greater than -1. Then Add filter to actually set the filter condition.  The resulting channel we can use as control channel for cutting out the interesting columns of the cycle matrix. Open the Cuts through Matrix calculation (menu Math->Conversions) and select the cycle matrix CycleSplit as Data-Object. For the X-values, select all values.  For the Y-values, select the filter result SetKnockingCycles_Filtered as Control-Channel.  The resulting matrix only contains cycles with knocking. To analyse the cycles further, we create a cycle control to shift through the cycles one after another. To display the curves, find the CycleSelection matrix in the Explorer window and drag it into the Graphic window. Then, double-click the graph (anywhere except on axes or curves) to open the dialog. Enter a custom Name, e.g. CycleGraph. As workaround for an inconsistency of matrix configuration we need to set the X-values to CycleSplit-X. To display only a single cycle, replace the * by a specific column index, e.g. 1, in the input field.  After applying the changes and closing the dialog, you can further adjust the graph, e.g. change the line width or zoom the X-axis to approx. 270 .. 450° via scroll wheel over the axis. Next, we add a control to navigate through the cycles. Create an Iterable Graph Input Controller (menu Graph Editor->Controls) and select the graph created before under Commands. [CycleGraph-C1] MatrixColumnSelect is the command provided by the Universal 2D-Graph to select a specific column of a matrix.  The result should look like this: 
|