Applying Butterworth filtering to an X–Y data object

Use the butterworthFilter function to apply a Butterworth filtering operation to a previously saved X–Y data object (a collection of ordered pairs) to produce a new X–Y data object. This filtering operation can be used, for example, to remove high-frequency noise.

Related Topics
Understanding X–Y data interpolation and extrapolation
Using X–Y data operations
Applying sine-Butterworth filtering to an X–Y data object
Smoothing an X–Y data object
In Other Guides
Filtering output and operating on output in Abaqus/Explicit

Context:

The transfer function of a Butterworth filter is shown in Filtering output and operating on output in Abaqus/Explicit.

Figure 1 illustrates the type of X–Y plot that can be produced using the butterworthFilter operation.

Figure 1. X–Y plot produced using the butterworthFilter operation.

The butterworthFilter function requires two arguments: the name of the X–Y data object (name) and the cutoff frequency (cutoffFrequency), which is the frequency above which the filter attenuates at least half of the input signal. A description of the optional arguments follows:

  • The order of the filter you want to use (filterOrder). This argument must be a positive, even integer value; the default value is 2.

  • A symbolic constant specifying the method for computation of the projection and pre-charge to be applied at the start of the data signal (startCondition). Valid values for this argument are ZERO, which applies a constant projection and pre-charge of zero; CONSTANT, which applies a constant projection and pre-charge equal to the first data point in the X–Y data object; MIRROR, which applies a projection and pre-charge equivalent to reflecting the X–Y data object about a vertical line passing through the first data point; REVERSE_MIRROR, which applies a projection and pre-charge equivalent to reflecting the X–Y data object about both a vertical line and a horizontal line passing through the first data point; and TANGENTIAL, which applies a linear projection and pre-charge that is tangential to the first two data points. The default value is CONSTANT.

  • A symbolic constant specifying the method for computation of the projection and pre-charge to be applied at the end of the data signal (endCondition). Valid values for this argument are ZERO, which applies a constant projection and pre-charge of zero; CONSTANT, which applies a constant projection and pre-charge equal to the last data point in the X–Y data object; MIRROR, which applies a projection and pre-charge equivalent to reflecting the X–Y data object about a vertical line passing through the last data point; REVERSE_MIRROR, which applies a projection and pre-charge equivalent to reflecting the X–Y data object about both a vertical line and a horizontal line passing through the last data point; and TANGENTIAL, which applies a linear projection and pre-charge that is tangential to the last two data points. The default value is CONSTANT.

  • A symbolic constant that specifies the interpolation scheme (interpolation). Valid values for this argument are QUADRATIC, specifying a Lagrange second-order interpolation scheme; CUBIC_SPLINE, specifying a cubic spline interpolation scheme; and LINEAR, specifying a linear interpolation scheme. The default value is QUADRATIC.

  • The slope of the raw data curve leading up to the first data point (startslope). This argument's default value is 0.0 (for a level slope), and it is used only when interpolation=CUBIC_SPLINE.

  • The slope of the raw data curve continuing past the final data point (endslope). This argument's default value is 0.0 (for a level slope), and it is used only when interpolation=CUBIC_SPLINE.

  • A Boolean specifying whether a backward pass (backwardPass) is to be performed on the filtered data. The default value for this argument is True. When this argument is set to False, the endCondition argument is ignored.

Your X–Y data object must have a constant time step for it to be filtered. If the time step is not constant, Abaqus/CAE computes additional points at constant intervals by interpolation. The constant time step for Butterworth filtering is defined by the smallest time step in the X–Y data object to be filtered.

  1. Locate the Operate on XY Data dialog box.

    From the main menu bar, select ToolsXY DataCreate. Click Operate on XY data in the dialog box that appears; then click Continue. The Operate on XY Data dialog box appears.

  2. From the Operators listed, click butterworthFilter(X,F).

    The butterworthFilter function appears in the expression window.

  3. From the XY Data choices, click the name of the X–Y data object on which to operate and click Add to Expression. You can choose from all X–Y data objects previously saved within this session (listed alphabetically in the XY Data field).

    The X–Y data object name appears within the butterworthFilter function parentheses in the expression window.

  4. Position the cursor in the expression window before the second comma, and type in a value for the cutoff frequency.

  5. To continue to build your expression, position the cursor in the expression window and type in or select the functions, operators, and X–Y data you want to include.

  6. To evaluate and display your expression, click Plot Expression.

  7. To save your new X–Y data object, click Save As and then provide a name in the dialog box that appears.

    Saving your data object makes it available for future operations within this session and for inclusion in X–Y plots containing multiple data objects.

  8. When you are finished, click Cancel to close the dialog box.