STAT – Statistics

On this page

STAT – Statistics#

Overview#

Concept#

Workflow#

The statistics module STAT is a post-processing tool for Klippel database (*.kdbx) files. It collects curve and scalar data from the operations of the input databases. All measures of one test object are kept in relation to that test object itself. The test objects may be organized in pools (e.g. to separate good, bad and borderline objects).

The general work flow is as follows:

workflow

Test objects#

The measurement results are always assigned to test objects. The entity of a test object depends on the application and may be defined within the STAT module. It is recommended to use the most atomic choice (operations before objects, objects before databases).

Possible choices with the example of five test objects:

One operation#

Test objects are organized as operations. The operations may also be organized in separate objects or databases (default for QC).

image3

One object#

Test objects are organized in database objects and may comprise multiple operations.

image4

One database#

Test objects are organized in separate databases and may comprise multiple objects.

image5

Pools#

Test objects are organized in pools. Each pool can be named and be given a special color. The curves of all visible pools are plotted in one chart for one measure.

For each measure, one pool is selected to be the reference pool. This reference may be used for the normalized views and for limit calculation.

Note

From STAT v1.870 the initial pool colors are not randomized anymore. When creating a pool a separate file is scanned for the initial color of a pool. The file location is %programdata%\Klippel\<dB-Lab-Instance>\Scripts5\Klippel\STAT\colors_new_pool_rgb.txt. If any syntax errors in the hex color definition are detected or the file is not found, a random color is chosen.

New test objects (newly extracted) are always assigned to the general pool. Test objects are moved from one pool to another

  • manually in the window Pool Assignment

  • by comparison of measurement data to defined limits.

System Requirements#

  • Working installation of dB-Lab version 210.430 or later

  • License device and STAT license

  • 4 GB of free RAM (recommended: 8 GB)

  • Recommended: fast hard drive (e.g. SSD) for %TEMP% folder

  • db extract version 3.142 or later

Tutorial#

Setting up a new statistic#

Open an existing database or create a new, select object image6 and create a new STAT operation.

image7

image8

After the initialization is finished, open the property page image9 (Source Data tab) and open the dialog to select the input data.

image10

Add separate files or a folder.

image11

When the input data is added, it is time to select the results to be extracted. To do so, open the results selection dialog.

image12

image13

Now it’s time to start the extraction.

image14

Note

A parallel instance of db extract is started which prepares the data for the STAT module. While db extract is still open, the STAT module will read and clean the data parallel. The progress bar in dB-Lab indicates how much data has been read compared to the (currently) extracted data.

When the extraction is finished, change to the Processing tab and category Select measure and inspect the parameter Select … - you should have multiple measures available.

image15

Please keep the choice All measures and check the parameter – Activate measure. After using the > Refresh charts < button

image16

the charts are created.

image17

When the calculation is finished, the statistical overview is visible: each window contains the statistical representation of the measurement data of the test objects. They can now be arranged in separate pools.

Note

The STAT is designed to collect the entire common x-range and restrict all data to that range. Ensure you use a similar x-range for all databases; otherwise, any extended range will be excluded.

Working with pools#

Arranging the test objects of your statistic requires a possibility to group them. The STAT module calls this pooling.

Hand-pick test objects#

The pool assignment of test objects may be done manually (e.g. sorting by prefix or by known serial numbers). For identifying outliers by serial number, it may be beneficial to activate the plot of individual data.

image20

Note

Showing huge amounts of data in one or multiple charts will slow down the STAT module. If you end up with thousands of curves for a measure, it’s not recommended to activate the base data.

The window for the frequency response contains the individual curves after using the Update charts button.

image21

The serial number of the outlier is highlighted after selecting the curve with the mouse.

image22

After we know the serial number we want to move, we can open the window Pool Assignment, create a new pool and move the test object:

image23

image24

We’re giving the new pool a proper name (outlier), select the serial number of the test object we want to move and hit the button for the target pool.

image25

Let’s say we want to move the first five serial numbers from the General pool to another pool named Good stuff. First create a new pool and rename it. Then click the first serial number with the mouse. Then hold SHIFT and click on the fifth serial number to mark the range.

new_pool

The button below the new pool assigns all marked objects to that pool.

image29

image30

Move objects based on thresholds#

Note

This tutorial presents the definition of absolute limits in absolute view mode. Please make sure you don’t have a normalized view (uncheck - Normalize data to a reference) and you’re defining absolute limits (set Absolute limit as limit calculation mode. Please refer to section Interpolation of limit definitions and Interactive limit definition for defining other limit types in absolute and normalized view modes.

Moving objects by hand might not be the fastest way to separate the objects in sensible groups. This chapter describes the work flow for moving the objects by thresholds. We’re starting with the pool configuration from the last chapter. Since the pool with test object “THIB0031” is not valid, we can rename the pool to NotProperlySetup. The pool Good stuff is deleted, which moves all test objects back to the general pool:

image31

image32

Let’s assume that we want to separate good objects from bad objects and borderline objects. We already identified the obvious outlier, we’re renaming that pool to NotProperlySetup. Since this is not a valid measurement, we don’t want to be distracted by this and we’re disabling the visibility of that pool.

image33

Now let’s focus on the Rub&Buzz measure. We’re enabling the individual data for this measure to view the complete raw pool. This is not necessary but provides a better relation to the actual data. Additionally we’re disabling the mean curve.

image34

Now let’s separate objects with obvious Rub&Buzz defects by using visual limit. The red line shows an educated guess of a first threshold that we want to use for the separation of good and bad objects.

image35

Activate the maximum limit for Rub&Buzz and select the absolute limit calculation mode.

image36

Now we start to approximate the red line with points and enter the matrix in the parameter ‑ Absolute max limit.

20   70
130  77
2000 50

image37

Before moving the objects, adjust the parameters Select pool… and Target pool… setting that defines what the source and target pool of the moving is. We want to move everything from the general pool (and leave the pool NotProperlySetup as it is) to a new pool.

OK, now let’s move every object from general that is violating the limit to a new pool.

image38

Note

the current pool assignment is also visible in the HTML window Pool Assignment.

image39

We’ll give the new pool a name and the color red:

image40

We want to continue to find our good pool, so let’s hide the RBz pool as well.

Now let’s do another sorting on the RBz to catch the borderline objects:

20   60
50   62
130  70
700  50
1000 44
2000 42

image41

For now we’re also not interested in examining the Borderline pool (it will definitely be interesting to compare out limits that we define later against this pool) and disable the visibility.

Note

Section Calculating and Exporting Limits introduces limit setting in greater detail and shows the (more comfortable) interactive mouse input of limits.

Statistical Investigations#

After selecting our good pool, we can investigate how several measures spread.

Normalization view#

Looking at the frequency response does not really give a good impression on the spread.

image42

We can activate the normalization mode to subtract the mean of the measure from all displayed curves. After using the Update charts button, the differences are plotted.

image43 image44

For linear measures, a relative normalization is available, displaying the deviation from the reference curve in percent. This is not available for measures in dB or %.

image45

Cross section view#

The cross section view generates a scalar distribution of curve data at a selected position on the abscissa (x-axis). After activation of the cross section, parameters for scalar values are shown also for curves.

image46

After using the Update charts button another chart is shown in the list, right below the default chart of the corresponding measure.

image47

In the default chart of the measure a horizontally movable cursor defines the position on the abscissa.

image48

All settings applied of the measure (e.g. normalization or show flags) also applies for the cross section chart.

Factorizing standard deviation#

Under the assumption that the data is normal distributed, the factorized standard deviation factor may be plotted along with the other statistical or individual data.

If All measures or a scalar measure is selected (parameter Available measures), a scalar value is allowed as standard deviation factor.

image49

image50

If the selected measure is a curve, the standard deviation factor may be a two-column curve definition (factor dependent on abscissa) or a scalar (constant factor versus abscissa).

image51

image52

The factorized standard deviation plots are shown in absolute view and normalized views.

Calculating and Exporting Limits#

Please make sure you’re defining absolute limits

Note

For beginners it is recommended to use the same view mode (absolute, normalized) as the limit definition. Different limit and viewing modes may be confusing for unexperienced users, especially for curve data. Please always check the defined limits also in absolute view mode.

Activating limit calculation#

First, select the measure for which you want to calculate a limit.

image53

Then choose the limits that shall be calculated.

image54

The limit definition may be entered as a two-column vector for curves and scalars for scalar measures. The limits may be entered in the corresponding parameters (depending on the limit calculation mode).

image55

An alternative is the mouse input with left mouse button LMB in the chart of the measure: Activating the maximum limit activates the mouse input with the SHIFT key. The min limit activates mouse input with the CTRL key.

Limits for scalar measures#

Using LMB + SHIFT / CTRL in the chart defines the max/min limit for the measure. Clicking again with the same key, re-defines the limit.

image56

The limit curves are also dragable with the mouse.

image57

The limit definition is directly entered into the corresponding parameter.

image58

Limits for curve measures#

As for scalar measures, limits for curve measures may be entered directly in the parameter fields (as two-column matrices) or entered with LMB + SHIFT / CTRL.

An example for defining the minimum limit as an absolute curve:

And so forth….

Eventually, we’re defined the complete max/min limit curves.

image65

Correcting limit points is possible by defining a new point at the same x-position of a point, but this depends on the resolution of your source data. Another possibility is to edit the matrix definition and erase or correct lines.

image66

Another limit parameter for curves is the jitter which widens the limits horizontally. The definition is again a two-column matrix (or a scalar for constant jitter).

Note

Jitter is defined as a percentage of the frequency. At 380 Hz, a 10% jitter will look around 38 Hz and relay the limit for 380 Hz to the minimum/maximum of that range.

image67

Export limits#

To export the calculated limits, change to tab Export and select the measure frequency response.

image68

Then, go to category Text export and select calculated limits to be exported.

image69

Repeat this step for all limits that you want to export and use the export button.

image70

Reference#

User interface#

Tab source data#

Data Acquisition#

The source data (Klippel .kdbx databases) needs to be extracted and converted. This extraction is performed by db extract. The individual buttons call different parts of the configuration dialog of db extract.

Please refer to the db extract manual for detailed descriptions of the user interface.

Note

Changes in these dialogs have no impact on data that is already inside the statistics. If data is added to the statistic, it is recommended to remove input data that was previously added to the statistic.

Select files

Opens the dialog to manage the input data.

Set filter

Specifies filters for including only a filtered set of operations.

Select data

Opens the dialog for selecting the measurement results that are under statistical observation.

> Start import <

Runs the extraction and reads the extracted data and converts them into the statistic format.

Note

Extracted test objects that are re-read during another extraction are ignored based on an internal ID. This ID changes when a database is copied to another location.

Settings#

The parameters in this category define general settings that apply to all test objects.

Test object

Defines the unit of a test object. For QC data this is usually an operation image71 (one operation comprises a set of test for one object). For RnD Data or special QC cases a test object might be an object image6 or a database image72 .

Serial number

Test objects are identified by serial numbers. The serial number may be used directly from the module (currently only QC modules) or the serial number may be generated from the source data’s location. The choice depends on the organization of the data and the test object definition.

Possible choices are dependent on the test object definition.

Note

Please note that changing the test object definition causes a recalculation of the data and hence discards the current pool definitions and measure settings.

Serial number definition

Available for test object definition

Module SN (QC only)
Only applicable for QC operations. If no serial number is available, a unique serial number is generated.

ico-dblab-operation Operation

Operation name

ico-dblab-operation Operation

Operation path

ico-dblab-operation Operation

Operation path + database name

ico-dblab-operation Operation

Object name

ico-dblab-object Object

Object name + database name

ico-dblab-object Object

Database name

ico-dblab-database Database

Generated
A unique serial number is generated
ico-dblab-operation Operation
ico-dblab-object Object
ico-dblab-database Database
Example#

We have two databases with TRF operations where we want to extract the Fundamental curve:

ico-dblab-database SN00001.kdbx

database-trf-example1

ico-dblab-database SN00002.kdbx

database-trf-example2

The definition for a test object defines the number of test objects and the number of measures. Assuming that the Fundamental curve is extracted from all operations, we get different number of measures and test objects.

Database

Number of test objects: two, because we have two databases

Number of measures: eight, because we have eight different operation paths for the Fundamental in our test objects:

  • \In1-8 dB 48 kHz

  • \In1+20 dB 48 kHz

  • \In2-8 dB 48 kHz

  • \In2+20 dB 48 kHz

  • \In3-8 dB 48 kHz

  • \In3+20 dB 48 kHz

  • \In4-8 dB 48 kHz

  • \In4+20 dB 48 kHz

The first four measures are not available in the second database, hence it contains only data from the first database.

Object

Number of test objects: six, because we have four different object names in all our databases. The second database does only contribute two test objects.

Number of measures: two, because in each test object there are only two different operation names of the same type.

  • -8 dB 48 kHz

  • +20 dB 48 kHz

Operation

Number of test objects: 12, because in all our databases 12 operations of the same type exist.

Number of measures: one, because we have only one operation type (and use only one curve).

Tab Processing#

Apply settings…#

The only parameter in this category is a button that triggers a chart update. Changes in the category Data processing have to be applied with this button.

Select measure#

The only parameter in this category selects the measure of which the settings are changed with the remaining parameters in this tab (categories Settings, Statistics and Limit calculation).

If All measures is selected, changes are applied to all measures.

The list reflects also the active status flag of the individual measures.

image77

The entry All measures refers to all measures in the list. If measures are configured individually, checkboxes are set to undetermined and other parameters are set to (varying).

Settings#
Activate

This checkbox activates a measure. When a measure is activated, a dedicated window in created to show the graphical representation of that measure. The active status is also shown in the measure list in parameter Available measures.

Normalize

This checkbox enables the normalization view.

Relative deviation (%)

If this checkbox is set, the normalization is calculated as deviation from the reference in %. Otherwise it is the difference to the reference.

This parameter is disabled for curves in dB or %.

Reference

Defines the reference for the normalization.

Available references:

  • Mean of each pool: Every pool is normalized to its own mean curve or value. Please note that this forces all mean curves to be equal (at y = 0). If test objects are compared to limits (e.g. when moving based on limits), this setting might show results that are visually unexpected (please refer to section Limit Calculation and Export).

  • Mean of reference pool: All pools are normalized to the mean curve or value of the reference pool.

  • Imported data: All pools are normalize to the curve or value defined as – Reference data.

Imported reference

This parameter is only shown if reference is set to Imported data. This parameter defines a single value (for curve and scalar measures) or a two-column curve (for curve measures) that is used as a reference. Here the measurement data of a golden unit may be pasted.

Reference pool

This select list defines the reference pool for the selected measure. Available are all pools, including the general pool. The reference pool is used for normalization views (if the reference is defined as Mean of reference pool) and for limit calculation.

Reduce resolution

This parameter reduces the original resolution of curve data to a defined target resolution. The entered value is interpreted as a relative resolution (points per octave) for frequency axis and as a total number of points for all other axis types.

This feature is applicable to:

  • Linear and logarithmic frequency spacing

  • Linear and dB scale values

  • Full resolution spectra (correct power summation)

Two additional parameters Mode and Data type control the processing (automatically configured for common data types).

Mode

The Mode defines how the original data points are combined:

  • Mean - arithmetic mean

  • Max – max value

  • RMS – root mean square

  • Energy – level addition (energy sum) for spectrum

Data Type parameter is considered for calculation (e.g. data is delogarithmized).

Data type

This switch defines whether the curve y-axis data is interpreted as linear or logarithmic level (dB) data.

Statistics#
Minimum

Shows the total minimum for each pool. Only available for curves.

Maximum

Shows the total maximum for each pool. Only available for curves.

Mean

This checkbox activates the plot of the mean curve/value for both, curve and scalar measures.

Base data

Shows the individual test objects for the selected measure. Applied to all pools.

Standard deviation

Activates the factorized standard deviation plot for the selected measure.

Factor

Factor for the standard deviation that defines the factorized standard deviation plot. Single value for scalar measures or constant values (curves). Two column format for curve entry.

Cross section

Activates cross section view for the selected measure. Enables distribution parameters (Histogram, Histogram type, Normal distribution, Boxplot) for curve measures.

Histogram

Shows the histogram plot

Type

Type of histogram. Either as density or absolute count.

Normal distribution

Activates the fitted normal distribution plot.

Boxplot

Shows the measure divided in quartiles.

Plot Measure Versus

This option is available for all single value features (and cross sections). If activated, a separate plot is generated that plots the single value versus an independent variable. The most common usage is plotting a time-couse.

Limit calculation#
Limits …

Selects which limits shall be calculated for the selected measure. Available choices:

  • None

  • Min + Max

  • Max

Calculation mode

Defines the calculation mode for the limits. Available modes:

  • Shift mask

  • Sigma factor mask

  • Absolute limit

  • Factor mask

Absolute/Shift for/Sigma for/Factor for min

Definition for minimum limit (Absolute, Shift limit or Sigma factor).

Absolute/Shift for/Sigma for /Factor for max

Definition for maximum limit (Absolute, Shift limit or Sigma factor).

Jitter

Jitter definition. Only available for curve measures versus frequency.

Tab Pooling#

Modify pool#
Select pool…

Selects the (source) pool for all actions

> Delete Pool <

Deletes the selected pool

Target pool…

Selects a target pool for the limit-based pooling

> Merge Pools <

Merges the source and target pool

Limit-based pooling#

The only button in this category runs the limit-based pooling. All test objects of the selected pool that violate the defined limits are moved to the selected target pool.

Automatic classification#

This feature is not yet available.

Tab Export#

Text export#
Export …

Defines the export.

File name

Defines the filepath for the text export. Absolute and relative (referring to the database location) paths are allowed.

> Start text export <

Starts the text export

Statistical plot options#

Minimum and maximum curve#

If the minimum and maximum curves are activated, the total minimum and maximum for each pool is plotted. If both, the minimum and maximum curve, are active, the area between the minimum and maximum curves colored to show the range of the pool.

image78

Note

The minimum and maximum values of scalar measures can be visualized with the boxplot.

Mean curve/value#

If the mean is activated, a mean curve for scalar and curve data is plotted. The mean of a measure in a pool \(p\) is calculated as the linear average of a pool

\[y_{p}(x) = \frac{\sum_{N}^{}{y_{p,n}(x)}}{N}\]

resp.

\[y_{p} = \frac{\sum_{N}^{}y_{p,n}}{N}\]

Units are not considered in the calculation of the mean, hence the mean is the visual mean of the pool. The mean of scalar measures is plotted as a dashed line. The mean of the curve measures is plotted as a solid thick line.

Base data#

If the base data plot for a measure is active, the data for each test object is (interpolated on a common abscissa). This enables point&click to identify the serial number of a (visually selected) test object.

Note

Showing huge amounts of data in one or multiple charts will slow down the STAT module. If you end up with thousands of curves for a measure, it’s not recommended to activate the base data.

Cross sections#

The cross-section view is only available for curves. It represents the scalar representation of curve data at a specific position on the abscissa. If the cross-section view is activated, a dedicated chart is created below the standard chart of this measure.

image83

If the cross section is active for a measure, configuration parameters are shown that refer to scalar measures (flags for bar distribution, distribution type, fitted normal distribution, boxplot).

A horizontally movable cursor is generated in the default window of the measure to define the position of the cross section.

All flags (e.g. normalized view) for the measure apply also for the cross-section view.

Limits may also be defined and changed in the cross-section view.

Factorized standard deviation#

If the factorized standard deviation is active, a normal distribution of the measure is assumed and the factorized standard deviation is plotted. For scalars the factor is defined as single value, for curves measures single values (constant factor versus x) or curve definition are allowed.

The resulting curves are the mean plus/minus the factorized standard deviation.

Example: Showing the 3σ distribution of a measure:

image86

A abscissa-depending factor for curves is defined as a two-column matrix, e.g.:

20    3
200   3
400   6
20000 6

image89

Distribution plots#

Histograms#

Histograms are show a bar-plot for scalar measures (and cross-section view).

image90

The bars are distributed equally between the minimum and maximum of a pool. The number of bars is defined with 20.

The histogram type can either be set to Histogram or Density.

In a histogram, the absolute count defines the height of each distribution plot. This may be used to display the absolute number of test objects in a distribution plot.

image91

In this plot, classes with comparatively few objects may be visually underrepresented.

The density plot normalizes the height to the number of objects on a pool. The summed bar height of each bar distribution plot is 100%.

image92

Fitted normal distribution#

If the curve is activated, a normal distribution of the measure is assumed and the normal distribution is plotted for each pool.

image93

Boxplot#

The boxplot shows the distribution of a value in quartiles which divide the data into four equal groups of 25% of the objects.

image94

Normalize plots#

If the normalization for a measure is active, the measure is not plotted in its original ordinate, normalized to a reference. The reference is subtracted of each curve in the charts, if the normalization is not defined as relative deviation (%).

\[y_{\text{norm}}\left( x \right) = y\left( x \right) - \ y_{\text{ref}}(x)\]

For the relative deviation, the resulting curve is defined as

\[y_{\text{norm,rel}}\left( x \right) = \ \left( \frac{y(x)}{y_{\text{ref}}(x)} - 1 \right) \cdot 100\%\]

This also applies for scalar and cross section plots.

Reference definition#

For each measure a reference is defined that is used for

  • Normalize plots

  • Limit calculation

  • Detection of Golden Units

The reference is defined as \(y_{\text{ref}}(x)\) for curves and as \(y_{\text{ref}}\) for single values, respectively. The data is one of the following:

  • Mean of each pool

  • Mean of the reference pool

  • Imported data

The selection is defined in tab Processing, category Settings for the selected measure or all measures.

image95

Time- and other Dependencies#

The option Plot Measure Versus

image96

provides the possibility for showing the dependence of a single value feature (or cross section data) versus an independent feature. Two options show the time-dependency:

The option Time shows the feature versus the absolute measurement time. The option Statistical Sample shows the feature versus subsequent statistical samples.

  • Versus Time and

  • Versus Objects

All active features that are either single values or cross sections may be used as independent variable. For example:

image97

To show the dependency of a single value versus temperature, the temperature information needs to be extracted from the source data.

It is possible to identify the serial number of single test objects in the dependency plots. For that use ALT and click on the data point of the test object in the dependency plot. The serial number of the object is displayed as a text annotation.

image98

To select another object just use ALT + LMB again. To remove the annotation, use ALT + right mouse button ( RMB ).

Note

this feature does not work in a time-dependency chart.

Limit calculation#

If limits are enabled for a measure, relative and absolute limits are defined by matrix or interactive input.

Modes#

The parameter - Calculation mode defines the mode of limit calculation. The following options are available:

  • Shift mask: This limit calculation mode defines the limits by taking the mean curve of the reference pool and opening the tolerance by the defined shift.

  • Sigma factor mask: This limit calculation mode defines the limits by applying a factor (for curves depending on the abscissa) to the standard deviation of a pool.

  • Absolute limit: Limits are defined with absolute values.

  • Factor mask (mul): By defining a factor, the limit is calculated by multiplying the factor with the mean of the reference pool. This mode is only available if the measure is not in dB or %.

Depending on the parameters Limits for “…” and – Calculation mode the parameters for defining the minimum and maximum limit are shown. For scalar and curve measures a single value can be used to define a limit.

Jitter#

The parameter – Jitter (only shown for curve measures) defines a jitter mask to widen the limits horizontally. Jitter may be specified as a single value (constant jitter versus the abscissa) or as two-column curve.

The jittered limit is calculated from the unjittered limit \(y_{\text{Min/MaxLim}}\left( x \right)\) and the jitter definition \(j(x)\).

\[y_{\text{MaxLim,jitter}}\left( x \right) = \ \text{max}\left( y_{\text{MaxLim}}\{ x - j\left( x \right)\text{.. }x + j\left( x \right)\} \right)\]
\[y_{\text{MinLim,jitter}}\left( x \right) = \ \text{min}\left( y_{\text{MinLim}}\{ x - j\left( x \right)\text{.. }x + j\left( x \right)\} \right)\]

If a jitter definition is defined, the unjittered limit definition (thin dashed) and the calculated (jittered) limit (thick dashed) are both shown.

image99

Note

Even if limits are not defined absolutely (shift, sigma factor, factor), the jitter is applied to the calculated absolute limit.

Interpolation of limit definitions#

For curve measures, limits are often not defined on the original abscissa. However, the resulting limit is always calculated on the full abscissa. Data points in between the limit definition are interpolated. The defined limit is interpolated, not the calculated limit. Logarithmic axes are taken into account.

Examples#

Examples (frequency response, logarithmic abscissa, linear ordinate) to illustrate the effect:

Curve without limits#
Absolute limit#

Max

20   115
200  130
2000 125

Min

20   110
200  115
2000 115

image102

The absolute limits are interpolated, which is understandable in absolute limit mode. Definition points are highlighted.

image103

The absolute limits are interpolated as shown in the absolute view. Now, the calculated curves are normalized (mean is subtracted).

Shift limit#

Max

20   6
200  6
2000 6

Min

20   -3
200  -6
2000 -0.1

image104

As the shift definition is interpolated (and not the calculated limit at the defined abscissa definitions), the resulting limit follows the mean curve with varying distance

image105

The shift definition is interpolated to the required abscissa. This looks also reasonable in normalized view.

Shift limit with constant 10% jitter#

image106

The jitter algorithm widens the limit horizontally which is quite straightforward in the absolute view. The unjittered limits are shown as thin lines to visualize the effect of jitter.

image107

In the normalized view, the unjittered limit is still a straight line. The absolute limit is jittered and normalized (mean subtracted). Since the distance between jittered limit and reference curve (mean) varies, the normalized limit is not a straight line anymore. The effect is illus-trated with the thin lines which represent the unjittered limits.

Sigma factor limit#

Min

20     1
200    10
2000 3

Max

20     1
200    10
2000   3

In this example, the area plot shows the ±σ distribution around the mean curve.

image108

The sigma factor is interpolated and the resulting absolute limit spreads with the standard deviation of the pool.

image109

The normalized plot shows the effect of the factorized standard deviation clearly. Still the limit is not a straight line.

Interactive limit definition#

Once a measure is set up to have limits, the default charts (not cross section charts) of the measures are sensitive to mouse input.

image110

Using left mouse button (LMB) and SHIFT / CTRL limits may be defined directly in a chart.

  • LMB + SHIFT defines the maximum limit as the current xy position

  • LMB + CTRL defines the minimum limit at the current xy position

Limits for scalar measures#

For scalar measures the limit is defined by only one value. Using the input again, will overwrite the limit. For scalar measures, the limits are also dragable.

The limit definition is directly entered into the corresponding parameter.

image111

Limits for curve measures

An example for defining the minimum limit as an absolute curve:

And so forth….

Defining a limit at an abscissa position that is already defined overwrites the old data point. This depends on the resolution of the data points. It may be viewed by right-click Mark data points.

The curve definition is automatically entered in the matrix as for scalar limits.

Example: Adding absolute limits in normalized view#

Adding limits in a different view mode than the actual limit calculation mode may result in unexpected results.

  1. Defined first point of max limit 1 dB above the mean curve at 20 Hz:

image112

  1. Defined second point of max limit at 1 dB above the mean curve at 2000 Hz:

image113

The result might look strange but a look at the data in the absolute view mode along with the information from section Interpolation of limit definitions brings clarity: The two data points that were defined were defined as absolute limit, hence interpolated as absolute measure, which results in a straight line in absolute view:

image114

Text export#

The text export is an open interface provided by the STAT module. It is the basis for importing Limits into Klippel QC.

Export file#

The parameter Export file defines the absolute or relative path to the plain-text file containing all exported data. The file is not reset on export. Existing data is overwritten, though. Data that is not exported is kept in the file.

Export for “…”#

For each measure the export may be defined:

  • Nothing:

    Nothing is exported for the selected measure.

  • Calculated limits:

    The absolute calculated limits (including jitter) are exported in full abscissa resolution.

  • Limit definition without reference data:

    The limit definitions (minimum/maximum limit definition) and jitter are exported as defined. No reference data is exported.

  • Limit definition with reference pool statistic:

    The limit definitions are exported as defined along with the statistical representation of the reference pool. If shift and factor are selected as limit calculation mode, this is the mean of the reference pool. If sigma factor is selected as limit calculation mode, this is the mean and the standard deviation of the reference pool.

  • Limit definition with full reference pool:

    The limit definitions are exported as defined along with the full reference pool.

  • Reference pool statistic:

    Mean and standard deviation of the reference pool are exported – limits or limit definitions are not exported.

  • Full reference pool:

    The full reference pool is exported – limits or limit definitions are not exported.

File format#

The file format is compatible to Klippel QC. However, the file is in plain text and can be evaluated in any 3rd party software. The data is exported with the following variable names:

  • <meas>

    Prefix for the exported variable names which represents the internal variable name of the measure. The variable names are documented in the individual manuals of the QC system.

  • <meas>ImportMin

    Absolute calculated minimum/maximum limit or absolute limit definition representing the limit.

  • <meas>ImportMax

    Format for each variable:

    • [2,N] – xy representation with N lines for curve measures

    • [1] – single value for scalar measures

  • <meas>Shift

    Shift limit definition

    Format:

    • [2, N] – xyMax representation with N lines for curve measure if only max limit is defined

    • [3, N] – xyMaxyMin representation with N lines for curve measure if min and max limits are defined

    • [1,1] - yMax representation for scalar measure if only max limit is defined

      [1,2] - yMaxyMin representation for scalar measure if min and max limits are defined

  • <meas>Mul

    Factor limit definition - format as for shift.

  • <meas>Sigma

    Sigma factor limit definition - format as for shift.

  • <meas>Jitter

    Jitter definition (if limit definition is exported) – only exported for curve measures

    Format:

    [2, N] - xyJitter representation with N lines

  • <meas>ImportMeas Reference data or mean data of the reference pool (depending in export setting)

    Format:

    • [2,N] – xy representation with N lines for curve measure if mean is exported

    • [1] – single value for scalar measure if mean is exported

    • [M+1,N] – xy1y2…yM representation with N lines for curve measure if the full reference pool is exported with M test objects

    • [M] – y1y2…yM representation for scalar measure if the full reference pool is exported with M test objects

  • <meas>ImportStDev Standard deviation of the reference pool

    Format:

    • [2,N] – xy representation with N lines for curve measures

    • [1] – single value for scalar measures

Pooling#

Move by limits#

Test objects may be moved to another pool. The button

image115

moves all test objects outside of the calculated limits from the source pool(s) to the target pool. All defined limits of all active measures are considered in this evaluation.

Please note that the current pool assignment may be viewed and changed in the window Pool Assignment.

Pool Selector#

This window presents the current pool assignment of test objects. The configuration of pools and the assignment may be changed manually.

Elements of the Pool Selector#

image116

Selecting a Pool#

By clicking on a pool (e.g. object list, a button or the header) the pool gets selected (frame changes from gray to blue). This enables the keyboard shortcut CTRL + A to select all objects on the shown page of the pool.

The current and total page number are shown in the paging section.

image117

Clicking on the current page opens a select list to jump to a page.

image118

The button left of the current page goes to the previous page, the one right of the current page goes to the next page.

Paging#

The test objects are shown in pages. The total number of test objects (all pages) is shown in the header of the pool.

Renaming a Pool#

Use the button image119 to rename a pool. Windows are updated automatically. It is not possible to rename the pool General because it is a fallback pool for deleted test objects.

Change the Pool Color#

The button image120 opens the color picker dialog to change the pool color.

Hiding/Showing a Pool#

Use the button image121 to hide a pool from all plots and tables. Use the button image122 to show the pool again. Windows are updated automatically.

Delete a Pool#

Use the button image123 to delete a pool. All contained test objects are moved to the General pool.

Select Test Objects#

Clicking on test objects with the left mouse button selects single objects. To add test objects to the selection, use the CTRL key.

Range select is also supported: select one test object with the left mouse button (e.g. the first in the list), press the SHIFT key and select the desired end of the range with the left mouse button.

To select all test objects in one pool, select the pool and the use CTRL + A.

Move Test Objects#

Every pool has a move button at the bottom. All selected test objects (from all pools) are moved to a pool if the button is used. The tooltip shows some additional information.

image124

Manually Create a New Pool#

Use the button image125 to create a new empty pool.

Windows#

Pool Assignment#

This HTML window shows the pools and test objects in their assigned pool. Please refer to the section Pool Selector.

Default result charts of measures#

The result charts are named after the measures they show. The charts are shown if a measure is active, they are destroyed if a measure is deactivated.

Cross section charts#

If the cross section view is active for a curve measure, a dedicated chart for the cross section view is created.

Measure Overview Table#

This HTML table shows a statistical overview of measures and pools. For scalar measures (and curve measures with cross-sections) the maximum, minimum, mean and standard deviation are shown.

For all measures, the number of test objects for a measure is shown.

image126

The table can be exported with via the button below the table.

image127

Yield Statistics#

This window shoes the percentage of pass objects compared to all objects for each measure of each pool. It may be used to see how many objects would be moved with limit-based pooling.

image128

Golden Unit Ranking#

This window shows the golden unit ranking (sorted by distance to the reference). The individual measures may be selected/deselected for the global ranking with the checkbox.

image129

Detection of Golden Units#

The STAT module features a detection of golden units, which means that the test objects are detected that fit best to the reference curve/value.

Including Measures#

Each measure may be included in the calculation of the global ranking of the golden units. The setting may be defined for all active measures or for the active measures individually.

image130

Additionally, the checkboxes in the window Golden Unit Ranking may be used to include measures in the global ranking.

image131

Restrict x-range for detection#

If limits are defined, the STAT module restricts the abscissa (x-axis) of curve measures for the golden unit detection to the overall range of the limits. If no limits are defined, the complete abscissa is used. The used x-range is displayed in the header row of the golden unit ranking.

image132

Ranking Calculation Details#

The ranking bases on the distance of the individual test objects to the reference data (e.g. the mean of the data pool). The calculation method for the distance is depending on the input data’s unit either in a logarithmic or linear metric. The calculation method may be changed if the advanced parameters are shown. The default (and recommended) method for different measures are shown in the next table.

Logarithmic metric

All values in decibel, e.g.:

  • Frequency response

  • Absolute THD

  • Relative THD in dB

  • Voltage in dB(rel. 1 V)

  • Current in dB(rel. 1 A)

Relative THD in percent

Linear metric

Measures with linear units

  • Ohm

  • V

  • mm …

Other measures in percent (e.g. voice coil offset – if not presented in mm)

The distance between a data set \(y_{i\text{,}m}\lbrack x\rbrack\) to a reference \(y_{\text{ref,}m}\left\lbrack x \right\rbrack\) is calculated for each data point \(k\) of each measure \(m\) for each test object \(i\).

For each measure \(m\) of every test object \(i\) the distance of the all data points \(x\) between a data set \(y_{i\text{,}m}\lbrack x\rbrack\) and a reference \(y_{\text{ref,}m}\left\lbrack x \right\rbrack\) is calculated. The reference data

ranking2

Trigger Detection of Golden Units#

Trigger the detection of golden units via the according in the property page (tab Processing, category Actions).

image136

Export of Golden Unit Ranking#

The export of the golden unit ranking can be triggered via the HTML link in the window Golden Unit Ranking.

image137

The export could also be triggered via the button in the property page (tab Export, category Golden Unit Ranking).

image138

Peculiarities for special measures#

Phase measures#

Phase measures are always plotted unwrapped (not limited to values +/- 180°) to ensure a meaningful statistical analysis. Please note that the unwrapping algorithm assumes a phase difference in between data points below 360°.

Frequently Asked Questions#

General#

Do I need a license to view a statistic from a colleague?#

A license is not necessary for just viewing a statistics operation. Operating the module will not work though.

The statistics module is very slow at first change.#

The first parameter change triggers the preparation of the work space (extraction of raw data, work data and configuration files. This might take a while. Unless the operation is unloaded, the module should operate smoothly.

Data Acquisition#

What is db extract again?#

The software db extract is only used for data extraction and triggered via the buttons in the category data acquisition.

image139

The progress bar during the extraction of data decreases sometimes, this can’t be right, can it?#

The STAT module reads in the data from db extract, whereas db extract reads the KDBX files. Both processes are running parallel.

When the progress bar message reads Reading data (parallel extraction) … the STAT progress bar shows the ratio of read data to extracted data (by db extract). In this case it might happen that db extract adds more data than the STAT reads – then the ratio decreases.

Once db extract is finished, the progress bar message reads Reading data… and the progress bar should be strictly monotonic increasing.

What is the difference between General and QC Results?#

image140

“General” refers to a general way to obtain the data. This works for RnD and QC data. The QC Results are specific access for results of the QC module. If QC results are to be analyzed, it is recommended to use the special way to select the data. This allows important meta data (e.g. serial number) to be extracted parallel. This meta information is fed to the STAT automatically.

Setting of measures#

What the does the checkbox status image141 stand for? I was expecting only image142 and image143 .#

This status stands for “undetermined”. Every checkbox can be defined as either set (image142 ) or unset (image143 ). If parameters are configured differently for different measures (e.g. if the flag – Show Mean is set for the fundamental, but not set for Rub&Buzz) and the measure selection is switched to All measures, the flag status is undetermined.

How can I set a checkbox to undetermined status?#

You can’t. Please let us know your use-case.

What does (varying) mean?#

The entry signals that individual measures are configured differently when All measures is selected in parameter Available measures. This is the equivalent for the undetermined checkbox status.

Limit Calculation and Export#

When switching between limit calculation modes, the displayed limits are completely different.#

The limit definitions are completely independent. When switching between the modes, the corresponding limits are shown which do not have to be related necessarily.

How can I calculate the shift mask based on absolute limits then?#

When switching into normalization mode, you can get the shift mask calculated from an absolute limit definition. Please note that in relative normalization mode, the factorized mask is shown, not the shift mask.

When I define limits with mouse input, the thick limit is not drawn at my mouse position.#

If a jitter definition is defined, the thin line represents the limit without jitter. Mouse input always inputs the jitter definition, regardless of the jitter definition. The thick line stands for the final limit, including jitter.

The limit that I define (e.g. with mouse) does not at all look like I expected. I expect a straight line in between the points I define.#

The points in between the limit definition are interpolated. When defining an absolute limit in a normalized view, the connection in between two points is not a line in most cases. Please refer to section Interpolation of limit definitions.

I want to move test objects based on defined limits. When I use the trigger button to move the test objects, objects that do not violate the limit are still moved.#

One possibility is that another measure is violating the limits. Make sure you considered all defined limits.

If e.g. only one measure has limits, maybe a normalized view is misleading. This may happen, if the normalization mode is set to mean of each pool, this leads to different references for each pool. Let’s make a reduced example with only two pools (in each only one test object):

image144

Now, let’s set a +/- 0.5 dB shift limit and normalize the plot with reference “Mean of each pool”, the mean of pool A and B are forced to 0 dB. Everything looks fine, but in fact pool B violates the limit (and would therefore be moved when using the defined limits as criterion).

image145

It becomes clear, when we normalize the plots to the mean of the reference pool A:

image146

Pooling#

I want to compare how two batches compare statistically. How can I do that?#

Separate the test objects in two different pools (e.g. manually in the window Pool Assignment by using different prefixes or different serial number ranges for the two batches).

I already have the two batches as databases and I didn’t use special prefixes or serial number ranges to identify the batches.#

In that case you probably have the database files in two different locations. Just run two extraction after another for the different batches. After the first is extracted, move all test objects to a pool. Then run the extraction for the second batch. They will be assigned to the general pool and may be moved to a separate pool once the second extraction finished.