# What Kind of Features Can I Extract from a Signal

I want to monitor (automatic-)gearbox failures on some vehicles. For each vehicle I have a captured signal representing the selected gear at each one millisecond. An example of two signals are shown on the figure bellow.

I would like to compute extract some features from each signal (and represent it as a feature vector) in order to compare a specific signal to other signals (compute its distance to other signals) and see if it is deviating from most of the other signals.

Do you have any idea on how to represent this type of signals as feature vectors ? Which kind of features can we extract from those ?

• Could you please mark an answer or specify what's missing? Thank You.
– Royi
Commented Jul 13, 2022 at 4:09
• I don't understand the plots. Do you mean that there are 13 gears and that changes take milliseconds ?
– user67664
Commented Jul 3, 2023 at 19:06
• What are the differences between a good box and a failing one ?
– user67664
Commented Jul 3, 2023 at 19:09

Some Features:

• Mean.
• Variance.
• Skewness.
• Kurtosis.
• Dominant 3 frequencies in the DFT.
• Energy of the 3 dominant frequencies.
• Max Value.
• Min Value.
• Median (Percentile).
• Total Variation.
• Pitch and Pitch Confidence (Audio).
• Spectral Centroid and Spectral Spread.

Usually I'd compute them in running windows.
Another great information is the Histogram of the Derivative.
Or just all the above of the Derivative.

Modern methods might include ideas like in MiniRocket.

Remark: In the above derivative means first order difference.

• For audio, add pitch (fundamental frequency) and pitch-confidence to the list. And maybe spectral centroid and spread (it will have a lot to do with those dominant 3 frequencies). Commented Jul 3, 2023 at 15:20
• @robertbristow-johnson, Thank You. I added them to the list.
– Royi
Commented Jul 3, 2023 at 17:48
• You probably mean first order differences, these signals have no derivative.
– user67664
Commented Jul 3, 2023 at 19:10
• @YvesDaoust, Indeed. Added as a remark. Thank You.
– Royi
Commented Jul 3, 2023 at 19:13

In addition to the features mentioned so far I would like to mention measures of complexity such as:

There are also Fourier Descriptors (as hinted by Drazick already) and their equivalent in Wavelet Analysis and of course simple histogram bins which would return how frequently each gear is engaged en route.

But also, that you will sooner or later need to put these features and the results of analysis involving them in some context relevant to the real world. This will give some sort of meaning to these quantities.

For example, a mean value would provide information about the gears mostly used in the "average" route the vehicle was running on while data capture was taking place (e.g. mostly lower gears, or mostly higher gears). Variance could provide a measure of the range of gears used en route. A simpler measure of gear change could be the amount of different states the gear box seems to be going through, per unit of time. For example 3.5 gear changes per minute. You can use these to cluster the data into frequent and less frequent gear changers and investigate the question of whether or not frequent gear changes have an impact on gearbox failure, if gearbox failure is mostly associated with lower gears (i.e higher load) and other.

Just blindly calculating features off of the waveforms and using them to bundle cases together is not going to be enough, sooner or later you are going to have to ask yourself "What does this mean in the real world?"

Hope this helps.

Hello I will be brief and I hope you understand, due to the shape of your signal I think it is best treated with wavelet transform base HAAR, the reason for using this transform is that it will give a representation in time and frequency where you can get the relevant information of the signal, now an important parameter is that you use the base HAAR (there are other bases as for example the Mexican hat) because your signal has rectangular shapes so the expancion be very compact.

Now if you also need to classify Might signals using MLP or RBF.

Well, this is a known problem, so many works exists on that such as Hilbert Huang transform. However, I guess, if you feed these signals (and various shifted versions) directly into a neural network, you should be able to create such a classifier.

I guess standard MLP would also work in novelty detection mode, but you would be better of with a deep network. Don't forget that at the end, this is a binary classification.