Сгенерируйте функцию MATLAB в Diagnostic Feature Designer

В Diagnostic Feature Designer вы исследуете функции в интерактивном режиме, используя инструменты для обработки сигналов, генерации признаков и рейтинга. Если вы выбираете набор функций, которые работают лучше всего, можно сгенерировать MATLAB® функция, которая воспроизводит вычисления для этих функций. Можно применить эту функцию непосредственно к большему набору данных измерений и увеличить количество представителей в наборе признаков. Можно также изменить функцию в соответствии с вашим приложением и включить часть или всю функцию в другой код.

В этом примере показано, как сгенерировать функцию MATLAB для вычисления набора функций и как проверить эту функцию с помощью исходного набора данных.

Пример предполагает, что вы знакомы с концепциями данных ансамбля и с основными операциями в приложении, такими как импорт данных, обработка сигналов и генерация признаков. Для получения дополнительной информации об этих концепциях и операциях, см., Идентифицируйте индикаторы состояния для проекта алгоритма прогнозирующего обслуживания.

Импорт данных моделей передачи

Этот пример использует данные ансамбля, сгенерированные из модели трансмиссии в Using Simulink для генерации данных о отказе. Выходы модели включают:

  • Измерения вибрации от датчика, контролирующего вибрации корпуса

  • Датчик Тахометра, который выдает импульс каждый раз, когда вал завершает вращение

  • Код отказа, указывающий на наличие смоделированного отказа

В командном окне MATLAB загрузите данные передачи, которые хранятся в таблице dataTable.

load dfd_Tutorial dataTable
dataTable представляет собой ансамблевую таблицу, содержащую 16 представителей, каждый из которых представляет одну имитированную систему передачи. Каждая строка таблицы соответствует одному представителю. Каждый столбец таблицы соответствует одной переменной, такой как Vibration или FaultCode. Все представители ансамбля имеют одинаковые переменные.

Откройте Diagnostic Feature Designer.

diagnosticFeatureDesigner

В приложении импортируйте dataTable. В процессе импорта установите faultCode введите в переменную условия. Когда импорт завершен, браузер сигналов отображает данные о вибрации и тахометре, а браузер набора данных отображает ваш импортированный ансамбль. Для получения информации о процессе импорта смотрите Импорт и визуализация данных Ensemble в Diagnostic Feature Designer.

Вычисление сигнала TSA

Вычислите синхронное среднее значение (TSA) от ваших сигналов вибрации и тахометра. Для этого сначала выберите Vibration/Data на панели Data Browser. Затем на вкладке Feature Designer выберите Filtering & Averaging > Time-Synchronous Signal Averaging. Установите параметры как показано на следующем рисунке и нажатии кнопки OK.

Новый сигнал появляется в браузере данных приложения.

Для получения информации о сигналах TSA см. tsa.

Извлечение функций из сигнала TSA

На вкладке Feature Designer выберите Time-Domain Features > Signal Features, чтобы открыть набор доступных сигнальных функций. Выберите функции для среднего, стандартного отклонения и куртоза.

Просмотрите значения функций. В браузере данных выберите FeatureTable1. Затем в галерее графиков нажмите Feature Table View. Эти шаги открывают таблицу, содержащую значения функций для каждого представителя вместе с переменной условия faultCode.

Сгенерируйте функцию MATLAB

Сгенерируйте функцию MATLAB, которая воспроизводит вычисления для этих функций. На вкладке Feature Designer выберите Export > Generate Function for Features.

При выборе откроется диалоговое окно, в котором можно задать таблицу функций и функции. Опции по умолчанию FeatureTable1 и Use All Features является вашим единственным выбором в этом случае, так как у вас есть только одна таблица функций и вы не выполнили никакого рейтинга.

При нажатии кнопки OK в редакторе 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_stats/Kurtosis
%  Vibration_tsa_stats/Mean
%  Vibration_tsa_stats/Std
%
% Organization of the function:
% 1. Compute signals/spectra/features
% 2. Extract computed features into a table
Преамбула описывает, что вычисляет функция. В этом случае функция вычисляет функции наряду с обработкой TSA, которая произвела источник сигнала для этих функций. Сохраните скрипт как diagnosticFeatures.m.

Для получения дополнительной информации о содержимом кода смотрите Анатомию кода MATLAB, сгенерированного приложением.

Валидация функции с исходными данными

Запустите функцию, используя dataTable для создания новой возможности таблицы featuretable.

featuretable = diagnosticFeatures(dataTable)

Сравните первые восемь значений функций с соответствующими значениями функций в приложении. На уровне отображаемой точности значения идентичны.

  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
       

См. также

| | | | |

Похожие темы