Main Content

진단 특징 디자이너에서 MATLAB 함수 생성하기

진단 특징 디자이너에서는 신호 처리, 특징 생성, 순위 지정 툴을 사용하여 대화형 방식으로 특징을 탐색합니다. 가장 좋은 성능을 보이는 특징 세트가 선택되면 해당 특징에 대한 계산을 재현하는 MATLAB® 함수를 생성할 수 있습니다. 이 함수를 더 큰 측정 데이터 세트에 직접 적용하고 특징 세트의 멤버 개수를 늘릴 수 있습니다. 응용 사례에 맞게 함수를 수정하고 함수의 일부 또는 전체를 다른 코드에 통합할 수도 있습니다.

이 예제에서는 특징 세트를 계산하는 MATLAB 함수를 생성하는 방법과 원본 데이터 세트를 사용하여 해당 함수를 검증하는 방법을 보여줍니다.

이 예제에서는 사용자가 앙상블 데이터의 개념을 알고 있으며 데이터 가져오기, 신호 처리, 특징 생성과 같은 앱의 기본 작업에 익숙하다고 가정합니다. 이러한 개념과 작업에 대한 자세한 내용은 예측 정비 알고리즘을 위한 상태 지표 설계하기 항목을 참조하십시오.

변속기 모델 데이터 가져오기

이 예제에서는 Simulink를 사용하여 결함 데이터 생성하기의 변속기 시스템 모델에서 생성된 앙상블 데이터를 사용합니다. 모델의 출력값은 다음과 같습니다.

  • 케이싱 진동을 모니터링하는 센서의 진동 측정값

  • 축이 회전을 완료할 때마다 펄스를 발생시키는 회전속도계 센서

  • 모델링된 결함이 있음을 나타내는 결함 코드

MATLAB 명령 창에서 dataTable 테이블에 저장된 변속기 데이터를 불러옵니다.

load dfd_Tutorial dataTable
dataTable은 16개의 멤버를 포함하는 앙상블 테이블이며 각 멤버는 하나의 시뮬레이션된 변속기 시스템을 나타냅니다. 테이블의 각 행은 하나의 멤버에 대응됩니다. 테이블의 각 열은 Vibration 또는 FaultCode와 같은 하나의 변수에 대응됩니다. 모든 앙상블 멤버는 동일한 변수를 갖습니다.

진단 특징 디자이너를 엽니다.

diagnosticFeatureDesigner

앱에서 dataTable을 가져옵니다. 가져오기 과정 중에 faultCode 유형을 상태 변수로 설정합니다. 가져오기가 완료되면 변수 창의 신호 목록에 진동 및 회전속도계 데이터가 표시됩니다. 가져오기 과정에 대한 자세한 내용은 진단 특징 디자이너에서 앙상블 데이터 가져오기 및 시각화하기 항목을 참조하십시오.

TSA 신호 계산하기

진동 및 회전속도계 신호에서 시간-동기 평균(TSA) 신호를 계산합니다. 그러려면 먼저 변수 창에서 Vibration/Data를 선택합니다. 그런 다음 특징 디자이너 탭에서 필터링 및 평균화 > 시간-동기 평균화를 선택합니다. 다음 그림과 같이 파라미터를 설정하고 확인을 클릭합니다.

새로운 신호가 변수 창에 나타납니다.

TSA 신호에 대한 자세한 내용은 tsa를 참조하십시오.

TSA 신호에서 특징 추출하기

변수 창에서 TSA 신호를 선택합니다. 그런 다음 특징 디자이너 탭에서 시간 영역 특징 > 신호 특징을 선택하여 사용 가능한 신호 특징 세트를 엽니다. 평균, 표준편차, 첨도를 특징으로 선택합니다.

특징 값을 표시합니다. 변수 창에서 FeatureTable1을 선택합니다. 그런 다음 플롯 갤러리에서 특징 테이블 보기를 클릭합니다. 이러한 단계를 따르면 상태 변수 faultCode와 함께 각 멤버의 특징 값이 포함된 테이블이 열립니다.

MATLAB 함수 생성하기

이러한 특징에 대한 계산을 재현하는 MATLAB 함수를 생성합니다. 특징 디자이너 탭에서 내보내기 > 특징에 대한 함수 생성을 선택합니다.

특징 테이블과 특징을 지정할 수 있는 대화 상자가 열립니다. 순위 지정을 하지 않았으므로, 3개의 특징을 모두 내보내도록 대화 상자가 구성됩니다.

확인을 클릭하면 MATLAB 편집기에서 다음 라인으로 시작하는 함수 스크립트가 열립니다.

function [featureTable,outputTable] = diagnosticFeatures(inputData)
%DIAGNOSTICFEATURES recreates results in Diagnostic Feature Designer.
%
% Input:
%  inputData: A table or a cell array of tables/matrices containing the
%  data as those imported into the app.
%
% Output:
%  featureTable: A table containing all features and condition variables.
%  outputTable: A table containing the computation results.
%
% This function computes signals:
%  Vibration_tsa/Data
%
% This function computes features:
%  Vibration_tsa_sigstats/Kurtosis
%  Vibration_tsa_sigstats/Mean
%  Vibration_tsa_sigstats/Std
%
% Organization of the function:
% 1. Compute signals/spectra/features
% 2. Extract computed features into a table
%
% Modify the function to add or remove data processing, feature generation
% or ranking operations.
프리앰블은 함수가 계산하는 내용을 설명합니다. 이 경우 함수는 이러한 특징에 대한 신호 소스를 생성한 TSA 처리와 함께 특징을 계산합니다. 스크립트를 diagnosticFeatures.m으로 저장합니다.

코드 내용에 대한 자세한 정보는 앱에서 생성한 MATLAB 코드 분석하기 항목을 참조하십시오.

원본 데이터를 사용하여 함수 검증하기

dataTable을 사용하여 함수를 실행하고 새 특징 테이블 featuretable을 만듭니다.

featuretable = diagnosticFeatures(dataTable)

처음 8개의 특징 값을 앱의 대응되는 특징 값과 비교합니다. 표시된 정밀도 수준에서 값은 동일합니다.

  16×4 table

    faultCode    Vibration_tsa_stats/Kurtosis    Vibration_tsa_stats/Mean    Vibration_tsa_stats/Std
    _________    ____________________________    ________________________    _______________________

        0                   2.2516                       0.022125                    0.99955        
        1                   2.2526                      -0.027311                      0.999        
        1                   2.2571                       -0.45475                    0.99629        
        1                   2.2526                        0.47419                      0.999        
        1                   2.2529                        0.37326                      0.999        
        1                   2.2526                       -0.14185                      0.999        
        1                   2.2529                        0.40644                      0.999        
        1                   2.2529                       -0.47485                    0.99915
       

참고 항목

| | | | |

관련 항목