Engee documentation

ordertrack

Tracking and extracting magnitude orders from the vibration signal.

Library

EngeeDSP

Syntax

Function call

  • mag,rpm,time = ordertrack(x,fs,rpm,orderlist) — returns the matrix mag, containing time - dependent RMS estimates of the amplitudes of a given set of orders orderlist present in the input signal x, and also returns vectors of values rpm And time time corresponding to the columns of the array mag.

    Input argument x It is measured at a given input rotation speed rpm expressed in rpm . Argument fs — the sampling rate of measurements in Hz.

  • mag,rpm,time = ordertrack(___,Name,Value) — sets additional parameters using arguments like «name-value». Some of these parameters are applicable only to the Wold—Kalman tracking algorithm.

  • ordertrack(___,out=:plot) — plots the dependence of the values of the rotation orders and frequencies on time.

Arguments

Input arguments

# x — input signal

+ vector

Details

The input signal is specified as a row vector or column vector.

Типы данных

Float32, Float64

# fs — sampling rate
scalar

Details

The sampling rate, set as a positive scalar, expressed in Hz.

Типы данных

Float32, Float64

# rpm — rotation speed

+ vector | the matrix

Details

The rotation speed, set as a vector or matrix of positive values expressed in rpm. If the argument is rpm is a vector, its length must match the length of the argument. x. If the argument is rpm it is a matrix and an argument is specified rpmrefidx, then it must have at least two columns, and each column must contain as many elements as the argument x.

  • If there is a pulse signal of the tachometer, use the function tachorpm for direct extraction rpm.

  • If there is no pulse signal of the tachometer, use the function rpmtrack to extract rpm from the vibration signal.

Типы данных

Float32, Float64

# orderlist — list of orders

+ vector

Details

A list of orders specified as a vector. Argument Values orderlist must not exceed fs / (2 × max(rpm / 60)).

Типы данных

Float32, Float64

# rpmrefidx — indexes of rotation speed columns

+ vector

Details

Indexes of rotation frequency columns, set as a vector of the same size as orderlist. The presence of this argument indicates the use of the Wold—Kalman algorithm.

Типы данных

Float32, Float64

# map — a map of the rotation order and frequency

+ the matrix

Details

A map of the rotation order and frequency, defined as a matrix. Use the function rpmordermap to calculate rotation order and frequency maps.

Типы данных

Float32, Float64

# order — orders in the syntax of the rotation order and frequency map

+ vector

Details

The orders in the syntax of the rotation order and frequency map, specified as a vector. Vector length order must be equal to the number of lines in the map map.

Типы данных

Float32, Float64

# time — points in time

+ vector

Details

Time points specified as a vector.

Типы данных

Float32, Float64

Input arguments «name-value»

Specify optional argument pairs as Name,Value, where Name — the name of the argument, and Value — the appropriate value. Type arguments «name-value» they should be placed after the other arguments, but the order of the pairs does not matter. You can specify multiple pairs «name-value».

Use commas to separate the name and value, and Name put it in quotation marks.

# Amplitude — type of amplitude

+ "rms" (by default) | "peak" | "power"

Details

The type of amplitude specified by one of the following values:

  • "rms" — returns the RMS amplitude for each estimated order;

  • "peak" — returns the peak amplitude for each estimated order;

  • "power" — returns the power level for each estimated order.

# Scale — scale of values

+ "linear" (by default) | "dB"

Details

A scale of values set by one of the following values:

  • "linear" — returns values of quantities scaled in linear units;

  • "dB" — returns values of values scaled logarithmically and expressed in dB.

# Bandwidth — approximate bandwidth at half power

+ fs/100 (by default) | scalar | vector

Details

Approximate half-power bandwidth, specified as a real scalar or vector with the same number of elements as the argument orderlist. Lower values Bandwidth provide smooth narrowband output signal. However, such an output signal may not accurately reflect rapid changes in the amplitude of the order. This argument applies only to the Wold—Kalman algorithm.

Типы данных

Float32, Float64

# Decouple — mode separation parameter

+ false (by default) | true

Details

The mode separation parameter, set as a boolean value. If this argument is set to true, then the function ordertrack simultaneously extracts the values of orders, which allows you to separate closely spaced or overlapping orders. This argument applies only to the Wold—Kalman algorithm.

Типы данных

Bool

# SegmentLength — length of overlapping segments

+ scalar

Details

The length of the overlapping segments, set as an integer. If the segment length is set, then the function ordertrack splits the input signal into segments. It then calculates the orders of magnitude for each segment and combines the results to produce an output signal. If the segments are too short, the function may not handle localized events correctly, such as order overlap. This argument applies only to the Wold—Kalman algorithm.

Типы данных

Int32, Int64

# out — type of output data

+ :data (by default) | :plot

Details

Type of output data:

  • :data — the function returns data;

  • :plot — the function returns a graph.

For this argument, the name and value are separated by an equal sign (=).

Output arguments

# mag is a matrix of magnitudes of orders

+ the matrix

Details

Values of orders of magnitude returned as a matrix.

# rpm — rotation speed

+ vector

Details

The rotation speed returned as a vector of positive values, expressed in rpm.

# time — points in time

+ vector

Details

The time points returned as a vector.

Literature

  1. Brandt, Anders. Noise and Vibration Analysis: Signal Analysis and Experimental Procedures. Chichester, UK: John Wiley & Sons, 2011.

  2. Feldbauer, Christian, and Robert Höldrich. «Realization of a Vold-Kalman Tracking Filter — A Least Squares Problem.» Proceedings of the COST G-6 Conference on Digital Audio Effects (DAFX-00). Verona, Italy, December 7–9, 2000.

  3. Vold, Håvard, and Jan Leuridan. «High Resolution Order Tracking at Extreme Slew Rates Using Kalman Tracking Filters.» Shock and Vibration. Vol. 2, 1995, pp. 507–515.

  4. Tůma, Jiří. «Algorithms for the Vold-Kalman Multiorder Tracking Filter.» Proceedings of the 14th International Carpathian Control Conference (ICCC), 2013, pp. 388–94. https://doi.org/10.1109/CarpathianCC.2013.6560575.