Benutzer-Werkzeuge

Webseiten-Werkzeuge


modellingcomponents:filter

Filter

Filtering can be used as a preprocessing step and can be applied to the raw measurment data or at the end of the processing, applied to the resulting time series. The filter types and characteristics can be defined in the XML markerset/labelset files.

The filter-elements can be used at different positions in the hierarchie:

<?xml version="1.0" encoding="UTF-8"?>
<LabelSet>
 <Filter name="butter2" implName="default" cutOffFrequency="20"
         windowWidth="" stepWidth="" noisyData="true" samplingFrequency="1211"
         zeroPhase="true" sectionMinLength="3"/>  
 <Labels fileSuffix="c3d" mimeType="application/c3d-vicon">
    <Filter name="butter2" implName="default" cutOffFrequency="20"
            windowWidth="" stepWidth="" noisyData="true" samplingFrequency="1211"
            zeroPhase="true" sectionMinLength="3"/>  
    <Label name="ABC" comment="" flag="" firstDerivative=""
           secondDerivative="" thirdDerivative="" differentiations=""
           optional="" unchangeable="" mathType="">
       <Filter name="butter2" implName="default" cutOffFrequency="20"
               windowWidth="" stepWidth="" noisyData="true" samplingFrequency="1211"
               zeroPhase="true" sectionMinLength="3"/>  
    </Label>
 </Labels>
</LabelSet>

Defined as the first child of the labelset-element it is applied to all timeseries, as a child of an label-element it is only applied to the timeserie the label corresponds to.

There is a default set of filters implemented. The available filter are explained in the following chapters.

Every filter can have attributes. Some attributes are used from most of the filters. For some of these attributes default values are defined:

stepWidth        =1/120
samplingFrequency="120"
windowWidth      ="12"
noisyData        ="true"
cutOffFrequency  ="5"
zeroPhase        ="true"
sectionMinLength ="10" 

Further filters can be added by an plugin architecture.

Poly4Diff

General

A differentiation method that simultaneously smoothes the data by application of a 4-th order interpolation polynom (5 points). Minimum trial length is four.

Attributes

Attribute Default Description Required
stepWidth 1/120 [s] No
samplingFrequency 120 [Hz] No

References

  • Hildebrand, F.B. (1974). Introduction to Numerical Analysis, 2nd Edition, pp.111
  • Kreyszig, Erwin (1983). Advanced Engineering Mathematics, 5th Edition, pp.793
  • Yakowitz Sydney and Szidarovsky, Ferenc (1989). An Introduction to Numerical Computations, 2nd Edition, pp.18

SmoothDiff

A differentiation method that simultaneously smoothes the data. This method is based on a sliding window technique. The data is approximated within the window with a quadratic polynomial. The coefficients of the quadratic polynomial were then used for calculating the derivative at the window's center (Rand and Stelmach, 2005).

Attributes

Attribute Default Description Required
samplingFrequency 120 [Hz] Scaling coeffiecient (In our case : sampling frequency) No
windowWidth 5 Number of points in sliding window No
noisyData false Ways to treat ends - false ⇒ Not so good for noisy waveforms, but good (best) for smooth ones. true ⇒ For noisy waveforms is better than 1; Flattens ends for smooth ones. No

References

  • The original C++ implementation is from Dr. Yuri Shimansky.
  • Thanks for Laetitia Fradet for the idea to use this filter and to have a look in a Matlab implementation of this filter.

ChunkMean

WeightedAverage

ButterDiff

ButterOrder2

modellingcomponents/filter.txt · Zuletzt geändert: 2017/03/13 14:51 von oliver