matlab-extract-rotating-machinery-features

Extract predictive features from rotating machinery sensor signals for condition monitoring and fault detection.

995|122|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-extract-rotating-machinery-features
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: matlab-extract-rotating-machinery-features
Source: https://github.com/matlab/matlab-agentic-toolkit/tree/main/skills-catalog/control-systems/matlab-extract-rotating-machinery-features
Command: npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-extract-rotating-machinery-features

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Building condition monitoring and fault detection systems for rotating machinery requires specialized signal processing knowledge—envelope analysis, time-synchronous averaging, fault-band computation, and feature ranking—that is easy to get wrong. This Skill guides an AI agent through the complete MATLAB feature extraction workflow for vibration, electrical, and environmental sensor data from motors, pumps, gears, bearings, and shafts.

Core Features & Use Cases

  • End-to-End Feature Extraction Workflow: Five guided steps covering data preprocessing (TSA, envelope demodulation), time-domain and spectral feature extraction, feature ranking with monotonicity/trendability/prognosability, health indicator construction, and deployment including RUL models and C/C++ code generation.
  • Component-Specific References: Dedicated references for bearing faults (bearingFaultBands, envelope spectrum), gear faults (gearMeshFaultBands, gearConditionMetrics), time-synchronous averaging, spectral processing, and vibration signal conditioning.
  • Batch Processing Support: Uses fileEnsembleDatastore to extract features across many measurement files in run-to-failure datasets.
  • Use Case: Given a run-to-failure dataset of bearing vibration files, extract kurtosis and envelope-spectrum fault-band metrics per file, rank features by monotonicity, and build a health indicator that tracks degradation over time.

Quick Start

Ask the agent to extract condition monitoring features from your rotating machinery vibration data, providing the shaft speed and bearing or gear geometry parameters.

Frequently Asked Questions about matlab-extract-rotating-machinery-features

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract features from bearing vibration data in MATLAB?

Use envelope analysis: bandpass-filter the signal around a structural resonance (selected with kurtogram or spectralKurtosis), compute the envelope spectrum with envspectrum, then extract fault-band metrics with bearingFaultBands and faultBandMetrics using the bearing geometry and shaft speed.

How do I process run-to-failure datasets with many files in MATLAB?

Use a fileEnsembleDatastore configured with DataVariables, IndependentVariables, and a custom ReadFcn to iterate over measurement files. Extract per-member features in a read/hasdata loop and persist them with writeToLastMemberRead after adding the feature names to DataVariables.

Can I use time-synchronous averaging without a tachometer signal?

No. TSA requires rotation-phase information such as tachometer pulse times or an RPM profile. Without it, use alternatives like bandpass filtering, spectral averaging with pwelch, or statistical features on the raw signal.

What MATLAB toolboxes are required for rotating machinery feature extraction?

The workflow requires Predictive Maintenance Toolbox, Signal Processing Toolbox, and Statistics and Machine Learning Toolbox, with MATLAB R2024a or later recommended. Key functions include envspectrum, tsa, bearingFaultBands, gearConditionMetrics, and monotonicity.

When should I not use this feature extraction workflow?

Avoid it for non-time-series data like images or unordered tables, for multi-class fault classification (use classificationLearner instead), for general anomaly detection (use timeSeriesAnomalyDetector), and for very low-frequency data unsuited to spectral analysis.

Why does monotonicity fail on my feature vector in MATLAB?

The monotonicity function requires lifetime data as a table, timetable, cell array, or fileEnsembleDatastore, not a bare numeric vector. Assemble features into a table with one row per measurement and pass the lifetime variable name, such as monotonicity(featTbl, "Day").