Time-synchronous signal average

`ta = tsa(x,fs,tp)`

`ta = tsa(x,t,tp)`

`ta = tsa(xt,tp)`

`ta = tsa(___,Name,Value)`

`[ta,t,p,rpm] = tsa(___)`

`tsa(___)`

specifies additional options for any of the previous syntaxes using name-value
pair arguments. For example, you can specify the number of tachometer pulses per
shaft rotation or choose to average the signal in the time domain or the
frequency domain.`ta`

= tsa(___,`Name,Value`

)

`tsa(___)`

with no output arguments plots the
time-synchronous average signal and the time-domain signals corresponding to
each signal segment in the current figure.

Given an input signal, a sample rate, and a set of tachometer pulses,
`tsa`

performs these steps:

Determines cycle start and end times based on the tachometer pulses and the value specified for

`'PulsesPerRotation'`

.Resamples the input signal based on the value specified for

`'ResampleFactor'`

.Averages the resampled signal based on the option specified for

`'Method'`

.If

`'Method'`

is set to`'fft'`

, the function:Breaks the signal into segments corresponding to the different cycles.

Computes the discrete Fourier transform of each segment.

Truncates the longer transforms so all transforms have the same length.

Averages the spectra.

Computes the inverse discrete Fourier transform of the average to convert it to the time domain.

If

`'Method'`

is set to one of the time-domain methods, the function:Using the specified method, interpolates the signal onto grids of equally spaced samples corresponding to the different cycles.

Concatenates the resampled signal segments based on the value specified for

`'NumRotations'`

.Computes the average of all the segments.

[1] Bechhoefer, Eric, and Michael Kingsley. "A Review of Time-Synchronous Average
Algorithms." *Proceedings of the Annual Conference of the Prognostics and
Health Management Society*, San Diego, CA, September-October,
2009.