MATLAB Predictive Maintenance Toolbox™ Users Guide (The MathWorks, Inc.) (z-library.sk, 1lib.sk, z-lib.sk)
,
Matlab
No Description
7
Views
Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
Page
1
Predictive Maintenance Toolbox™ User's Guide R2020a
Page
2
How to Contact MathWorks Latest news: www.mathworks.com Sales and services: www.mathworks.com/sales_and_services User community: www.mathworks.com/matlabcentral Technical support: www.mathworks.com/support/contact_us Phone: 508-647-7000 The MathWorks, Inc. 1 Apple Hill Drive Natick, MA 01760-2098 Predictive Maintenance Toolbox™ User's Guide © COPYRIGHT 2018–2020 by The MathWorks, Inc. The software described in this document is furnished under a license agreement. The software may be used or copied only under the terms of the license agreement. No part of this manual may be photocopied or reproduced in any form without prior written consent from The MathWorks, Inc. FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by, for, or through the federal government of the United States. By accepting delivery of the Program or Documentation, the government hereby agrees that this software or documentation qualifies as commercial computer software or commercial computer software documentation as such terms are used or defined in FAR 12.212, DFARS Part 227.72, and DFARS 252.227-7014. Accordingly, the terms and conditions of this Agreement and only those rights specified in this Agreement, shall pertain to and govern the use, modification, reproduction, release, performance, display, and disclosure of the Program and Documentation by the federal government (or other entity acquiring for or through the federal government) and shall supersede any conflicting contractual terms or conditions. If this License fails to meet the government's needs or is inconsistent in any respect with federal procurement law, the government agrees to return the Program and Documentation, unused, to The MathWorks, Inc. Trademarks MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders. Patents MathWorks products are protected by one or more U.S. patents. Please see www.mathworks.com/patents for more information. Revision History March 2018 Online only New for Version 1.0 (Release 2018a) September 2018 Online only Revised for Version 1.1 (Release 2018b) March 2019 Online only Revised for Version 2.0 (Release 2019a) September 2019 Online only Revised for Version 2.1 (Release 2019b) March 2020 Online only Revised for Version 2.2 (Release 2020a)
Page
3
Manage System Data 1 Data Ensembles for Condition Monitoring and Predictive Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Data Ensembles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Ensemble Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Ensemble Data in Predictive Maintenance Toolbox . . . . . . . . . . . . . . . . . . 1-5 Convert Ensemble Data into Tall Tables . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 Processing Ensemble Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 Generate and Use Simulated Data Ensemble . . . . . . . . . . . . . . . . . . . . . . 1-10 File Ensemble Datastore With Measured Data . . . . . . . . . . . . . . . . . . . . . 1-17 File Ensemble Datastore Using Data in Text Files . . . . . . . . . . . . . . . . . . 1-21 Using Simulink to Generate Fault Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25 Multi-Class Fault Detection Using Simulated Data . . . . . . . . . . . . . . . . . 1-46 Preprocess Data 2 Data Preprocessing for Condition Monitoring and Predictive Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Basic Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Time-Domain Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Frequency-Domain (Spectral) Preprocessing . . . . . . . . . . . . . . . . . . . . . . . 2-4 Time-Frequency Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Identify Condition Indicators 3 Condition Indicators for Monitoring, Fault Detection, and Prediction . . . 3-2 Signal-Based Condition Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Time-Domain Condition Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Frequency-Domain Condition Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 iii Contents
Page
4
Time-Frequency Condition Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 Model-Based Condition Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Static Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Dynamic Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 State Estimators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Condition Indicators for Gear Condition Monitoring . . . . . . . . . . . . . . . . 3-10 Extract Gear Condition Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 Evaluate Features and Train Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 Motor Current Signature Analysis for Gear Train Fault Detection . . . . . 3-14 Reconstruct Phase Space and Estimate Condition Indicators Using Live Editor Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29 Detect and Diagnose Faults 4 Decision Models for Fault Detection and Diagnosis . . . . . . . . . . . . . . . . . . 4-2 Feature Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 Statistical Distribution Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 Regression with Dynamic Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Control Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Changepoint Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Rolling Element Bearing Fault Diagnosis . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Fault Diagnosis of Centrifugal Pumps Using Steady State Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30 Fault Diagnosis of Centrifugal Pumps Using Residual Analysis . . . . . . . 4-55 Fault Detection Using an Extended Kalman Filter . . . . . . . . . . . . . . . . . . 4-73 Fault Detection Using Data Based Models . . . . . . . . . . . . . . . . . . . . . . . . 4-85 Detect Abrupt System Changes Using Identification Techniques . . . . . 4-102 Chemical Process Fault Detection Using Deep Learning . . . . . . . . . . . . 4-109 Predict Remaining Useful Life 5 Feature Selection for Remaining Useful Life Prediction . . . . . . . . . . . . . . 5-2 Models for Predicting Remaining Useful Life . . . . . . . . . . . . . . . . . . . . . . . 5-4 iv Contents
Page
5
RUL Estimation Using Identified Models or State Estimators . . . . . . . . . . 5-6 RUL Estimation Using RUL Estimator Models . . . . . . . . . . . . . . . . . . . . . . 5-7 Choose an RUL Estimator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Similarity Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Degradation Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 Survival Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 Update RUL Prediction as Data Arrives . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 Similarity-Based Remaining Useful Life Estimation . . . . . . . . . . . . . . . . 5-15 Wind Turbine High-Speed Bearing Prognosis . . . . . . . . . . . . . . . . . . . . . . 5-37 Condition Monitoring and Prognostics Using Vibration Signals . . . . . . . 5-54 Nonlinear State Estimation of a Degrading Battery System . . . . . . . . . . 5-69 Deploy Predictive Maintenance Algorithms 6 Deploy Predictive Maintenance Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Specifications and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Design and Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Implement and Deploy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Software and System Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Diagnostic Feature Designer 7 Explore Ensemble Data and Compare Features Using Diagnostic Feature Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 Perform Predictive Maintenance Tasks with Diagnostic Feature Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 Convert Imported Data into Unified Ensemble Dataset . . . . . . . . . . . . . . . 7-3 Visualize Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 Compute New Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 Generate Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 Rank Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 Export Features to the Classification Learner . . . . . . . . . . . . . . . . . . . . . . 7-8 Generate MATLAB Code for Your Features . . . . . . . . . . . . . . . . . . . . . . . . 7-9 Prepare Matrix Data for Diagnostic Feature Designer . . . . . . . . . . . . . . . 7-11 Interpret Feature Histograms in Diagnostic Feature Designer . . . . . . . . 7-14 Interpret Feature Histograms for Multiclass Condition Variables . . . . . . 7-15 Generate and Customize Feature Histograms . . . . . . . . . . . . . . . . . . . . . 7-17 v
Page
6
Organize System Data for Diagnostic Feature Designer . . . . . . . . . . . . . 7-20 Data Ensembles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20 Representing Ensemble Data for the App . . . . . . . . . . . . . . . . . . . . . . . . 7-22 Data Types and Constraints for Dataset Import . . . . . . . . . . . . . . . . . . . . 7-23 Analyze and Select Features for Pump Diagnostics . . . . . . . . . . . . . . . . . 7-25 Isolate a Shaft Fault Using Diagnostic Feature Designer . . . . . . . . . . . . 7-40 Model Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-40 Import and Examine Measurement Data . . . . . . . . . . . . . . . . . . . . . . . . . 7-40 Perform Time-Synchronous Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . 7-43 Compute TSA Difference Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-45 Isolate the Fault Without a Tachometer Signal . . . . . . . . . . . . . . . . . . . . 7-48 Extract Rotating Machinery Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-51 Extract Spectral Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-53 Rank Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-57 Perform Prognostic Feature Ranking for a Degrading System Using Diagnostic Feature Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-59 Model Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-59 Import and View the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-60 Separate Daily Segments by Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-61 Perform Time-Synchronous Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . 7-62 Extract Rotating Machinery Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-65 Extract Spectral Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-69 Rank Features with Prognostic Ranking Methods . . . . . . . . . . . . . . . . . . 7-77 Automatic Feature Extraction Using Generated MATLAB Code . . . . . . . 7-80 Generate a Function for Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-80 Generate a Function for Specific Variables, Features, and Ranking Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-81 Save and Use Generated Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-85 Change Computation Options for Generated Code . . . . . . . . . . . . . . . . . 7-85 Generate a MATLAB Function in Diagnostic Feature Designer . . . . . . . . 7-87 Import the Transmission Model Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-87 Compute a TSA Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-88 Extract Features from the TSA Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-89 Generate a MATLAB Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-90 Validate Function with the Original Data . . . . . . . . . . . . . . . . . . . . . . . . . 7-92 Apply Generated MATLAB Function to Expanded Data Set . . . . . . . . . . . 7-93 Anatomy of App-Generated MATLAB Code . . . . . . . . . . . . . . . . . . . . . . . 7-106 Basic Function Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-106 Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-107 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-107 Member Computation Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-108 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-109 Ranking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-110 Ensemble Statistics and Residues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-111 Parallel Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-113 Frame-Based Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-115 vi Contents
Page
7
Diagnostic Feature Designer Help 8 Import Single-Member Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Selection — Select Data to Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Configuration — Configure Ensemble Variables . . . . . . . . . . . . . . . . . . . . 8-2 Review — Review and Import Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Import Multimember Ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 Import Multimember Ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 Ensemble View Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 Group By . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 Ensemble Representation by Members or Statistics . . . . . . . . . . . . . . . . . 8-6 Computation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 Data Handling Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 Results Return Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 Use Parallel Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 Remove Harmonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 Source Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 Filter Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 Time-Synchronous Signal Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11 Filter Time-Synchronous Averaged Signals . . . . . . . . . . . . . . . . . . . . . . . . 8-12 Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 Signals to Generate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 Speed Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 Filter Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 Ensemble Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 Subtract Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 Order Spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 Source Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 Rotation Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 Window Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 Power Spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 Source Signal and Frequency Settings . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 Signal Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 Basic Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 Higher-Order Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 vii
Page
8
Impulsive Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 Signal Processing Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 Rotating Machinery Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 Signals to Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 Metrics Using TSA Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 Metrics Using Difference Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 Metrics Using Regular Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 Metrics Using Mix of Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 Nonlinear Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 Phase-Space Reconstruction Parameters . . . . . . . . . . . . . . . . . . . . . . . . 8-24 Approximate Entropy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 Correlation Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 Lyapunov Exponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26 Spectral Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 Spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 Spectral Peaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 Modal Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 Band Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 Frequency Band for All Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28 Group Distances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29 Feature Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-30 Export Features to MATLAB Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31 More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31 Export Features to Classification Learner . . . . . . . . . . . . . . . . . . . . . . . . . 8-32 More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-32 Export a Dataset to the MATLAB Workspace . . . . . . . . . . . . . . . . . . . . . . 8-33 More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-33 Generate Function for Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-34 viii Contents
Page
9
Manage System Data • “Data Ensembles for Condition Monitoring and Predictive Maintenance” on page 1-2 • “Generate and Use Simulated Data Ensemble” on page 1-10 • “File Ensemble Datastore With Measured Data” on page 1-17 • “File Ensemble Datastore Using Data in Text Files” on page 1-21 • “Using Simulink to Generate Fault Data” on page 1-25 • “Multi-Class Fault Detection Using Simulated Data” on page 1-46 1
Page
10
Data Ensembles for Condition Monitoring and Predictive Maintenance Data analysis is the heart of any condition monitoring and predictive maintenance activity. Predictive Maintenance Toolbox provides tools called ensemble datastores for creating, labeling, and managing the often large, complex data sets needed for predictive maintenance algorithm design. The data can come from measurements on systems using sensors such as accelerometers, pressure gauges, thermometers, altimeters, voltmeters, and tachometers. For instance, you might have access to measured data from: • Normal system operation • The system operating in a faulty condition • Lifetime record of system operation (run-to-failure data) For algorithm design, you can also use simulated data generated by running a Simulink model of your system under various operating and fault conditions. Whether using measured data, generated data, or both, you frequently have many signals, ranging over a time span or multiple time spans. You might also have signals from many machines (for example, measurements from 100 separate engines all manufactured to the same specifications). And you might have data representing both healthy operation and fault conditions. In any case, designing algorithms for predictive maintenance requires organizing and analyzing large amounts of data while keeping track of the systems and conditions the data represents. Ensemble datastores can help you work with such data, whether it is stored locally or in a remote location such as cloud storage using Amazon S3™ (Simple Storage Service), Windows Azure® Blob Storage, and Hadoop® Distributed File System (HDFS™). Data Ensembles The main unit for organizing and managing multifaceted data sets in Predictive Maintenance Toolbox is the data ensemble. An ensemble is a collection of data sets, created by measuring or simulating a system under varying conditions. For example, consider a transmission gear box system in which you have an accelerometer to measure vibration and a tachometer to measure the engine shaft rotation. Suppose that you run the engine for five minutes and record the measured signals as a function of time. You also record the engine age, measured in miles driven. Those measurements yield the following data set. Now suppose that you have a fleet of many identical engines, and you record data from all of them. Doing so yields a family of data sets. 1 Manage System Data 1-2
Page
11
This family of data sets is an ensemble, and each row in the ensemble is a member of the ensemble. The members in an ensemble are related in that they contain the same data variables. For instance, in the illustrated ensemble, all members include the same four variables: an engine identifier, the vibration and tachometer signals, and the engine age. In that example, each member corresponds to a different machine. Your ensemble might also include that set of data variables recorded from the same machine at different times. For instance, the following illustration shows an ensemble that includes multiple data sets from the same engine recorded as the engine ages. In practice, the data for each ensemble member is typically stored in a separate data file. Thus, for instance, you might have one file containing the data for engine 01 at 9,500 miles, another file containing the data for engine 01 at 21,250 miles, and so on. Simulated Ensemble Data In many cases, you have no real failure data from your system, or only limited data from the system in fault conditions. If you have a Simulink model that approximates the behavior of the actual system, Data Ensembles for Condition Monitoring and Predictive Maintenance 1-3
Page
12
you can generate a data ensemble by simulating the model repeatedly under various conditions and logging the simulation data. For instance, you can: • Vary parameter values that reflect the presence or absence of a fault. For example, use a very low resistance value to model a short circuit. • Injecting signal faults. Sensor drift and disturbances in the measured signal affect the measured data values. You can simulate such variation by adding an appropriate signal to the model. For example, you can add an offset to a sensor to represent drift, or model a disturbance by injecting a signal at some location in the model. • Vary system dynamics. The equations that govern the behavior of a component may change for normal and faulty operation. In this case, the different dynamics can be implemented as variants of the same component. For example, suppose that you have a Simulink model that describes a gear-box system. The model contains a parameter that represents the drift in a vibration sensor. You simulate this model at different values of sensor drift, and configure the model to log the vibration and tachometer signals for each simulation. These simulations generate an ensemble that covers a range of operating conditions. Each ensemble member corresponds to one simulation, and records the same data variables under a particular set of conditions. The generateSimulationEnsemble command helps you generate such data sets from a model in which you can simulate fault conditions by varying some aspect of the model. Ensemble Variables The variables in your ensemble serve different purposes, and accordingly can be grouped into several types: • Data variables — The main content of the ensemble members, including measured data and derived data that you use for analysis and development of predictive maintenance algorithms. For example, in the illustrated gear-box ensembles, Vibration and Tachometer are the data variables. Data variables can also include derived values, such as the mean value of a signal, or the frequency of the peak magnitude in a signal spectrum. 1 Manage System Data 1-4
Page
13
• Independent variables — The variables that identify or order the members in an ensemble, such as timestamps, number of operating hours, or machine identifiers. In the ensemble of measured gear- box data, Age is an independent variable. • Condition variables — The variables that describe the fault condition or operating condition of the ensemble member. Condition variables can record the presence or absence of a fault state, or other operating conditions such as ambient temperature. In the ensemble of simulated gear-box data, SensorDrift is a condition variable. Condition variables can also be derived values, such as a single scalar value that encodes multiple fault and operating conditions. In practice, your data variables, independent variables, and condition variables are all distinct sets of variables. Ensemble Data in Predictive Maintenance Toolbox With Predictive Maintenance Toolbox, you manage and interact with ensemble data using ensemble datastore objects. In MATLAB®, time-series data is often stored as a vector or a timetable. Other data might be stored as scalar values (such as engine age), logical values (such as whether a fault is present or not), strings (such as an identifier), or tables. Your ensemble can contain any data type that is useful to record for your application. In an ensemble, you typically store the data for each member in a separate file. Ensemble datastore objects help you organize, label, and process ensemble data. Which ensemble datastore object you use depends on whether you are working with measured data on disk, or generating simulated data from a Simulink model. • simulationEnsembleDatastore objects — Manage data generated from a Simulink model using generateSimulationEnsemble. • fileEnsembleDatastore objects — Manage any other ensemble data stored on disk, such as measured data. The ensemble datastore objects contain information about the data stored on disk and allow you to interact with the data. You do so using commands such as read, which extracts data from the ensemble into the MATLAB workspace, and writeToLastMemberRead, which writes data to the ensemble. Last Member Read When you work with an ensemble, the software keeps track of which ensemble member it has most recently read. When you call read, the software selects the next member to read and updates the LastMemberRead property of the ensemble to reflect that member. When you next call writeToLastMemberRead, the software writes to that member. For example, consider the ensemble of simulated gear-box data. When you generate this ensemble using generateSimulationEnsemble, the data from each simulation run is logged to a separate file on disk. You then create a simulationEnsembleDatastore object that points to the data in those files. You can set properties of the ensemble object to separate the variables into groups such as independent variables or condition variables. Suppose that you now read some data from the ensemble object, ensemble. data = read(ensemble); The first time you call read on an ensemble, the software designates some member of the ensemble as the first member to read. The software reads selected variables from that member into the MATLAB workspace, into a table called data. (The selected variables are the variables you specify Data Ensembles for Condition Monitoring and Predictive Maintenance 1-5
Page
14
in the SelectedVariables property of ensemble.) The software updates the property ensemble.LastMemberRead with the file name of that member. Until you call read again, the last-member-read designation stays with the ensemble member to which the software assigned it. Thus, for example, suppose that you process data to compute some derived variable, such as the frequency of the peak value in the vibration signal spectrum, VibPeak. You can append the derived value to the ensemble member to which it corresponds, which is still the last member read. To do so, first expand the list of data variables in ensemble to include the new variable. ensemble.DataVariables = [ensemble.DataVariables; "VibPeak"] This operation is equivalent to adding a new column to the ensemble, as shown in the next illustration. The new variable is initially populated in each ensemble by a missing value. (See missing for more information.) Now, use writeToLastMemberRead to fill in the value of the new variable for the last member read. newdata = table(VibPeak,'VariableNames',{'VibPeak'}); writeToLastMemberRead(ensemble,newdata); 1 Manage System Data 1-6
Page
15
In the ensemble, the new value is present, and the last-member-read designation remains on the same member. The next time you call read on the ensemble, it determines the next member to read, and returns the selected variables from that member. The last-member-read designation advances to that member. The hasdata command tells you whether all members of the ensemble have been read. The reset command clears the "read" designation from all members, such that the next call to read operates on the first member of the ensemble. The reset operation clears the LastMemberRead property of the ensemble, but it does not change other ensemble properties such as DataVariables or SelectedVariables. It also does not change any data that you have written back to the ensemble. For an example that shows more interactions with an ensemble of generated data, see “Generate and Use Simulated Data Ensemble” on page 1-10. Reading Measured Data Although the previous discussion used a simulated ensemble as an example, the last-member-read designation behaves the same way in ensembles of measured data that you manage with fileEnsembleDatastore. However, when you work with measured data, you have to provide Data Ensembles for Condition Monitoring and Predictive Maintenance 1-7
Page
16
information to tell the read and writeToLastMemberRead commands how your data is stored and organized on disk. You do so by setting properties of the fileEnsembleDatastore object to functions that you write. Set the ReadFcn property to the handle of a function that describes how to read the data variables from a data file. When you call read, it uses this function to access the next ensemble file, and to read from it the variables specified in the SelectedVariables property of the ensemble datastore. Similarly, you use the WriteToMemberFcn property of the fileEnsembleDatastore object to provide a function that describes how to write data to a member of the ensemble. For examples that show these interactions with an ensemble of measured data on disk, see: • “File Ensemble Datastore With Measured Data” on page 1-17 • “File Ensemble Datastore Using Data in Text Files” on page 1-21 Ensembles and MATLAB Datastores Ensembles in Predictive Maintenance Toolbox are a specialized kind of MATLAB datastore (see “Getting Started with Datastore” (MATLAB)). The read and writeToLastMemberRead commands have behavior that is specific to ensemble datastores. Additionally, the following MATLAB datastore commands work with ensemble datastores the same as they do with other MATLAB datastores. • hasdata — Determine whether an ensemble datastore has members that have not yet been read. • reset — Restore an ensemble datastore to the state where no members have yet been read. In this state, there is no current member. Use this command to reread data you have already read from an ensemble. • tall — Convert ensemble datastore to tall table. (See “Tall Arrays for Out-of-Memory Data” (MATLAB)). • progress — Determine what percentage of an ensemble datastore has been read. • partition — Partition an ensemble datastore into multiple ensemble datastores for parallel computing. (For ensemble datastores, use the partition(ds,n,index) syntax.) • numpartitions — Determine number of datastore partitions. Reading from Multiple Ensemble Members By default, the read command returns data from one ensemble member at a time. To process data from more than one ensemble member at a time, set the ReadSize of the ensemble datastore object to a value greater than 1. For instance, if you set ReadSize to 3, then each call to read returns a table with three rows, and designates three ensemble members as last member read. For details, see the fileEnsembleDatastore and simulationEnsembleDatastore reference pages. Convert Ensemble Data into Tall Tables Some functions, such as many statistical analysis functions, can operate on data in tall tables, which let you work with out-of-memory data that is backed by a datastore. You can convert data from an ensemble datastore into a tall table for use with such analysis commands using the tall command. When working with large ensemble data, such as long time-series signals, you typically process them member-by-member in the ensemble using read and writeToLastMemberRead. You process the data to compute some feature of the data that can serve as a useful condition indicator for that ensemble member. 1 Manage System Data 1-8
Page
17
Typically, your condition indicator is a scalar value or some other value that takes up less space in memory than the original unprocessed signal. Thus, once you have written such values to your datastore, you can use tall and gather to extract the condition indicators into memory for further statistical processing, such as training a classifier. For example, suppose that each member of your ensemble contains time-series vibration data. For each member, you read the ensemble data and compute a condition indicator that is a scalar value derived from a signal-analysis process. You write the derived value back to the member. Suppose that the derived value is in an ensemble variable called Indicator and a label containing information about the ensemble member (such as a fault condition) is in a variable called Label. To perform further analysis on the ensemble, you can read the condition indicator and label into memory, without reading in the larger vibration data. To do so, set the SelectedVariables property of the ensemble to the variables you want to read. Then use tall to create a tall table of the selected variables, and gather to read the values into memory. ensemble.SelectedVariables = ["Indicator","Label"]; featureTable = tall(ensemble); featureTable = gather(featureTable); The resulting variable featureTable is an ordinary table residing in the MATLAB workspace. You can process it with any function that supports the MATLAB table data type. For examples that illustrate the use of tall and gather to manipulate ensemble data for predictive maintenance analysis, see: • “Rolling Element Bearing Fault Diagnosis” on page 4-7 • “Using Simulink to Generate Fault Data” on page 1-25 Processing Ensemble Data After organizing your data in an ensemble, the next step in predictive maintenance algorithm design is to preprocess the data to clean or transform it. Then you process the data further to extract condition indicators, which are data features that you can use to distinguish healthy from faulty operation. For more information, see: • “Data Preprocessing for Condition Monitoring and Predictive Maintenance” on page 2-2 • “Condition Indicators for Monitoring, Fault Detection, and Prediction” on page 3-2 See Also fileEnsembleDatastore | generateSimulationEnsemble | read | simulationEnsembleDatastore More About • “Generate and Use Simulated Data Ensemble” on page 1-10 • “File Ensemble Datastore With Measured Data” on page 1-17 • “File Ensemble Datastore Using Data in Text Files” on page 1-21 • “Organize System Data for Diagnostic Feature Designer” on page 7-20 Data Ensembles for Condition Monitoring and Predictive Maintenance 1-9
Page
18
Generate and Use Simulated Data Ensemble This example shows how to generate a data ensemble for predictive-maintenance algorithm design by simulating a Simulink® model of a machine while varying a fault parameter. The example then illustrates some of the ways you interact with a simulation ensemble datastore. The example shows how to read data from the datastore into the MATLAB® workspace, process the data to compute derived variables, and write the new variables back to the datastore. The model in this example is a simplified version of the gear-box model described in “Using Simulink to Generate Fault Data” on page 1-25. Load the Simulink model. mdl = 'TransmissionCasingSimplified'; open_system(mdl) For this example, only one fault mode is modeled. The gear-tooth fault is modeled as a disturbance in the Gear Tooth fault subsystem. The magnitude of the disturbance is controlled by the model variable ToothFaultGain, where ToothFaultGain = 0 corresponds to no gear tooth fault (healthy operation). Generate the Ensemble of Simulated Data To generate a simulation ensemble datastore of fault data, you use generateSimulationEnsemble to simulate the model at different values of ToothFaultGain, ranging from -2 to zero. This function simulates the model once for each entry in an array of Simulink.SimulationInput objects that you provide. Each simulation generates a separate member of the ensemble. Create such an array, and use setVariable to assign a tooth-fault gain value for each run. toothFaultValues = -2:0.5:0; % 5 ToothFaultGain values for ct = numel(toothFaultValues):-1:1 tmp = Simulink.SimulationInput(mdl); 1 Manage System Data 1-10
Page
19
tmp = setVariable(tmp,'ToothFaultGain',toothFaultValues(ct)); simin(ct) = tmp; end For this example, the model is already configured to log certain signal values, Vibration and Tacho (see “Export Signal Data Using Signal Logging” (Simulink)). The generateSimulationEnsemble function further configures the model to: • Save logged data to files in the folder you specify • Use the timetable format for signal logging • Store each Simulink.SimulationInput object in the saved file with the corresponding logged data Specify a location for the generated data. For this example, save the data to a folder called Data within your current folder. If all the simulations complete without error, the function returns true in the indicator output, status. mkdir Data location = fullfile(pwd,'Data'); [status,E] = generateSimulationEnsemble(simin,location); [29-Feb-2020 00:57:57] Running simulations... [29-Feb-2020 00:58:32] Completed 1 of 5 simulation runs [29-Feb-2020 00:58:56] Completed 2 of 5 simulation runs [29-Feb-2020 00:59:30] Completed 3 of 5 simulation runs [29-Feb-2020 01:00:04] Completed 4 of 5 simulation runs [29-Feb-2020 01:00:32] Completed 5 of 5 simulation runs status status = logical 1 Inside the Data folder, examine one of the files. Each file is a MAT-file containing the following MATLAB® variables: • SimulationInput — The Simulink.SimulationInput object that was used to configure the model for generating the data in the file. You can use this to extract information about the conditions (such as faulty or healthy) under which this simulation was run. • logsout — A Dataset object containing all the data that the Simulink model is configured to log. • PMSignalLogName — The name of the variable that contains the logged data ('logsout' in this example). The simulationEnsembleDatastore command uses this name to parse the data in the file. • SimulationMetadata — Other information about the simulation that generated the data logged in the file. Now you can create the simulation ensemble datastore using the generated data. The resulting simulationEnsembleDatastore object points to the generated data. The object lists the data variables in the ensemble, and by default all the variables are selected for reading. ensemble = simulationEnsembleDatastore(location) ensemble = simulationEnsembleDatastore with properties: Generate and Use Simulated Data Ensemble 1-11
Page
20
DataVariables: [4x1 string] IndependentVariables: [0x0 string] ConditionVariables: [0x0 string] SelectedVariables: [4x1 string] ReadSize: 1 NumMembers: 5 LastMemberRead: [0x0 string] Files: [5x1 string] ensemble.DataVariables ans = 4x1 string "SimulationInput" "SimulationMetadata" "Tacho" "Vibration" ensemble.SelectedVariables ans = 4x1 string "SimulationInput" "SimulationMetadata" "Tacho" "Vibration" Read Data from Ensemble Members Suppose that for the analysis you want to do, you need only the Vibration data and the Simulink.SimulationInput object that describes the conditions under which each member was simulated. Set ensemble.SelectedVariables to specify the variables you want to read. The read command then extracts those variables from the first ensemble member, as determined by the software. ensemble.SelectedVariables = ["Vibration";"SimulationInput"]; data1 = read(ensemble) data1=1×2 table Vibration SimulationInput {581x1 timetable} {1x1 Simulink.SimulationInput} data.Vibration is a cell array containing one timetable row storing the simulation times and the corresponding vibration signal. You can now process this data as needed. For instance, extract the vibration data from the table and plot it. vibdata1 = data1.Vibration{1}; plot(vibdata1.Time,vibdata1.Data) title('Vibration - First Ensemble Member') 1 Manage System Data 1-12
The above is a preview of the first 20 pages. Register to read the complete e-book.
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
AI guide
【One-Line Pitch】
A practical, example-driven manual for engineers who want to move from raw sensor data to deployable fault detection and remaining-useful-life prediction using MATLAB's Predictive Maintenance Toolbox. Best suited to practicing engineers and data scientists already comfortable with MATLAB who need a working reference rather than a theory text.
【Book Arc】
- **Opening (~0%–13%)**: Establishes the toolbox's framing — data ensembles as the core organizing unit for condition monitoring, plus how to simulate fault data and structure measurements for analysis. Solves the "how do I even represent multi-condition machine data" problem.
- **Early (~13%–25%)**: Moves into signal-level work — reconstructing phase space, estimating condition indicators, and using the Diagnostic Feature Designer app to import, visualize, compute, and rank features. Solves the feature-engineering bottleneck.
- **Middle (~25%–46%)**: Deepens into fault detection and diagnosis — decision models, statistical distribution fitting, machine learning, control charts, changepoint detection, and worked cases (bearings, centrifugal pumps, Kalman-filter-based detection, deep learning for chemical processes). Solves "which detection method fits my fault."
- **Late (~46%–58%)**: Shifts to prognostics — feature selection for RUL, choosing among similarity, degradation, and survival models, and updating predictions as new data arrives. Solves the "predict, don't just detect" problem.
- **Ending (~58%+)**: Closes with deployment (specifications, prototyping, production integration) and the ensemble datastore mechanics for local and cloud-stored data. Excerpts do not cover the final deployment chapters in depth.
【Key Takeaways】
- **Data ensembles are the toolbox's backbone** (Middle): The manual treats a "family of datasets" — same variables across machines or across time — as the fundamental unit, with ensemble datastores handling local and cloud storage (Amazon S3, Azure Blob, HDFS). Understanding this abstraction early makes everything downstream easier.
- **Feature engineering is treated as a first-class workflow** (Early): The Diagnostic Feature Designer app walks through import → visualize → compute variables → generate features → rank → export to Classification Learner, and can emit reusable MATLAB code. This is the book's most concrete, repeatable contribution.
- **Fault detection offers a menu, not a single method** (Middle): Decision models, distribution fitting, ML, dynamic-model regression, control charts, and changepoint detection are presented as parallel options, each with worked examples. The value is matching method to fault type.
- **Worked case studies anchor the abstractions** (Middle): Rolling-element bearings, centrifugal pumps (steady-state and residual analysis), extended Kalman filters, and deep-learning process fault detection give readers templates to adapt.
- **RUL prediction has three model families** (Late): Similarity, degradation, and survival models are compared, with guidance on choosing one and updating predictions as data streams in — a genuinely practical decision aid.
- **Prognostics extends condition monitoring** (Late): Wind-turbine bearing prognosis, vibration-based monitoring, and battery degradation state estimation show the toolbox reaching beyond detection into forecasting.
- **Deployment is a lifecycle, not a step** (Ending): The manual frames it as specifications → design/prototype → implement → system integration → production, signaling that models must survive real operational constraints.
【Reading Tips】
- **Skim the front matter and revision history** (first ~5%); start real reading at the data-ensemble chapter, which underpins everything else.
- **Deep-read the Diagnostic Feature Designer chapters** if your job is feature work — they are the most actionable and code-generating sections.
- **Treat the fault-detection chapter as a reference menu**: read the method overviews, then jump to the case study closest to your machine type rather than reading linearly.
- **Hard spots**: phase-space reconstruction, nonlinear features (entropy, correlation dimension, Lyapunov exponent), and RUL model selection reward slow reading; the rest is largely procedural.
- **Take away the generated MATLAB code**, not just the concepts — the manual's real payoff is reusable functions you can drop into your own pipeline.
【Coverage Limits】
This guide is built from stratified excerpts weighted toward the table of contents and early-to-middle chapters; the deployment and late-stage RUL chapters are only lightly represented, so specifics there are inferred from headings rather than full text.
Passage locations
Page 2
he Program and Documentation, unused, to The MathWorks, Inc. Trademarks MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathwork...
View in text
Excerpt 2
ng Useful Life . . . . . . . . . . . . . . . . . . . . . . . 5-4 iv Contents RUL Estimation Using Identified Models or State Estimators . . . . . . . . . . 5...
View in text
Page 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Selection — Select Data to Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
View in text
Page 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 Spectral Peaks . . . . . . . . . . . . . . . . . . . . . ....
View in text
Recommended for You
{{#thumbnailUrl}}
{{/thumbnailUrl}}
{{^thumbnailUrl}}
{{/thumbnailUrl}}
Loading recommended books...
Failed to load, please try again later
Tip the Site
Scan the WeChat Pay or Alipay code to tip. No login required.
WeChat Pay
Alipay