Strip Chart ► Inspector Editors ► Derived
Derived attributes maps data from the Mapping range space to predefined representations. For example, it can map voltage to a moving averaged speed. The following describes the Derived inspector editor. For a general discussion about derived mappings see Derived Support Note.
Derived Channel Mappings
Derived Type : Sets the operation type. See the table below.
Domain : Sets the channel index of the mapping domain. The mapping will map data from the domain index to the range index. The range index is the row index of the derived mapping. Note that the derived mappings can be chained (cascaded) which results in a composite mapping. The domain index may be the amplitude index (channel index) but if the mapping is chained then the domain index will be the range index of a previous derived mapping. Note: please make sure to chain mapping sequentially from lowest to highest domain index because chaining is not forward referencing (which can theoretically produce mapping cycles (infinite recursion).
Average : Sets the average type as described in the table below.
Length : Sets the number of samples used for the average.
Constant : Some operations require a constant.
Low Trigger : The low trigger as described below.
High Trigger : The high trigger as described below.
Each row defines the derived parameter values for a channel. Each column is now explained:
Derived Type
The Derived Type is one of:
Raw | Outputs the raw data signal, remapped to physical units per the specifications in the Mapping inspector editor, but otherwise not altered. |
Average | Outputs the averaged raw data. Raw will not average, so if you need to average the raw data choose this derived type. Other derive types average also, but that is a derived-average not a raw-average. This setting sets a raw-average. |
Up Trigger | Outputs the up-trigger result in terms of 0 for no trigger and 1 for trigger. Using this along with an average produces smoothed event information. |
Down Trigger | Outputs the down-trigger result in terms of 0 for no trigger and 1 for trigger. Using this along with an average produces smoothed event information. |
Bi Trigger | Outputs the trigger result in terms of 0 for no trigger, 1 for up-trigger and -1 for down trigger. Using this along with an average produces smoothed event information. |
Up Counter | Adds one to the derived value each time the up-trigger is detected. |
Down Counter | Adds one to the derived value each time the down-trigger is detected. |
Bi Counter | Adds one to the derived value each time the up-trigger is detected and adds -1 each time the down-trigger is detected. |
Up Window | The range is initially 0 until the up-trigger is encountered and then the range changes to 1. |
Down Window | The range is initially 1 until the low-trigger is encountered and then the range changes to 0. |
Bi Window | The range is initially 0, changes to 1 when the domain value reaches the up-trigger and then changes back to 0 when the domain value reaches the low-trigger. |
Add | The domain value is added with the previous channel's derived value. |
Subtract | The domain value is subtracted by the previous channel's derived value. |
Multiply | The domain value is multiplied with the previous channel's derived value. |
Divide | The domain value (numerator) is divided by the previous channel's derived value (denominator). If the denominator is zero then in order to prevent a NaN condition the result (range) is set to zero. |
Speed | Outputs the speed, which is the distance between pulses divided by the time between pulses. The distance is defined by the constant. This is triggered off the leading edge of the pulse (up-trigger). |
Integration | Outputs the integration, which is the area under the curve where the data points are interpolated by a line segment to form the area boundary. |
Optional | Outputs a Raw signal only if one of the other derived quantities outputs. This is very useful for minimizing output. It is strongly suggested that you set all unused channels to Optional. That way data is output only when a derived event occurs. |
Channel Index
Defines the data channel from which the derived channel is computed from. For example: If you have one channel of data and want to see that channel's raw data signal and the derived value at once then you can set channel one's derived type as Raw and channel two's derived type as what you want and the channel index to one.
You can also use this to graph a derived channel and the same derived channel, but with an averaging. It can also be used to separate up and down triggers and define different trigger values for up v.s. down triggers. There are many ways to use this index mapping. Note: Sometimes this type of index mapping is referred to as a scatter map.
Averages
Averages take the derived signal and remap it into a average with length specified in the Average Length field. Note that, for example, if the average length is 100 then the first average signal will not be output for 100 events, after that the moving average outputs at each event while the bin average accumulates average length number of events and then outputs again.
The bin average is good for high sample rate in order to reduce white noise and the volume of output. The moving average smoothes the signal out without reducing the amount of data.
The model fit, velocity and acceleration averages are based on a real-time adaptive non-linear model to the data. The model is most accurate while interpolating and for that the centered type fit is provided. But a centered fit is not good when the average needs to reflect the data immediately. For that a forward type fit is provided which uses only previous data to compute a fit to the data at the current time value.
The Average Type is one of:
None | No average is applied. |
MC-Mean | A moving centered arithmetic mean is computed. This is good for smoothing white noise and it is certainly a well known thing to do. However, the average output is delayed in time which is not always a good thing. |
MC-Fit | A moving centered model fit to the data. This fit has high fidelity, however since it is a centered fit it also is a delayed average. |
MC-V | A moving centered velocity of the data. |
MC-A | A moving centered acceleration of the data. |
MF-Fit | A moving forward model fit to the curve. This is best for real-time curves because the average reflects the leading edge of the data. However, the MC-Fit may actually be better for post processing purposes. |
MF-V | A moving forward velocity fit to the curve. |
MF-A | A moving forward acceleration fit to the curve. |
BC-Mean | A bin centered arithmetic mean is computed. Since bin values are only output every average length number of samples this is really good for high-speed acquisition where the sampling is oversampled and the intent of the average is to average out white noise. |
BC-Fit | Bin centered fit to the data. |
BC-V | Bin centered velocity fit to the data. |
BC-A | Bin centered acceleration fit to the data. |
BF-Fit | Bin forward fit to the data. |
BF-V | Bin forward velocity fit to the data. |
BF-A | Bin forward acceleration fit to the data. |
Velocity is the first derivative of the model to the data. Acceleration is the second derivative of the model to the data. A Centered fit is the fit at the midpoint of the average interval. A forward fit is the fit at the latest time value of the average interval.
How to pick an average length? A general model fit, no matter how good, can not perform a miracle. There must be some overriding orthogonality to the fit v.s. unfit nature of the signal. Usually that orthogonality is white noise v.s. a low-frequency signal compared to the noise. The fit averages the white noise and outputs its mean, which is theoretically zero thus leaving the superimposed signal. A problem occurs because, due to the average, the signal reflects past data as well as present. To overcome this the forward adaptive non-linear model fit algorithm is used to effect a predictive computation of the value at the current time the signal is being sampled. The length of the fit should be about 6 times less than the instantaneous period of the signal. In practice, a length of 20 seems to be good, but for very noisy or corrupt signals a higher length may be needed. Note that by sampling faster you can increase the average length because the desired signal quantity should be invariant with sample rate.
Constant
Some derived types require an additional constant. The speed type is the only one requiring a constant at this time. For speed, the constant is the distance between pulses in the speed computation.
Trigger Amplitudes
Triggers are changes in a signal that indicate an event. The signal model for the event is based on a pulse as diagrammed below. The low and high states are implemented to reduce and theoretically eliminate sensitivity to noise. Given an ideal signal only one trigger value would be needed, however in practical use that is not reliable enough, hence the two trigger values.
The up-trigger event occurs at the high-trigger-value and has seconds collocated at the high-trigger. The down-trigger event occurs at the low-trigger-value and has seconds collocated at the low-trigger. For the pulse shown below, the up-trigger is on the leading edge and the down-trigger is on the trailing edge of the pulse. Had the pulse been reversed-vertically then the edge detection v.s. down and up would also be reversed.
Note that this signal processing is done in software so the signal resolution (sample time) must have high enough fidelity (resolution or small enough sample time) to resolve the pulse's features.