exponenta event banner

Создание блока фильтра скользящего среднего с системным объектом

В этом примере показано, как расширить movingAverageFilter Системные object™ для использования в Simulink™. Чтобы использовать объект System в Simulink, включите объект System в блок MATLAB System.

movingAverageFilter Системный объект

Этот пример расширяет movingAverageFilter Системный объект, созданный в системном объекте «Создание скользящего среднего». movingAverageFilter Системный объект вычисляет невзвешенное среднее указанного количества предыдущих входов. Используйте WindowLength , чтобы указать, сколько предыдущих образцов использовать.

Использование в Simulink

Объект уже готов к использованию в Simulink. Создайте модель Simulink и добавьте системный блок MATLAB. Определить movingAverageFilter в качестве имени объекта System. Например, эта модель использует фильтр скользящего среднего для исключения шума из сигнала.

model = 'movingaveragefilter_sl';
open_system(model);

В диалоговом окне блока отображаются общедоступные, настраиваемые параметры:

Настройка системного блока MATLAB

Дополнительно можно настроить внешний вид блока и диалоговое окно блока для блока MATLAB System путем добавления методов к объекту System.

Добавление метода настройки значка блока Simulink

По умолчанию значок блока показывает имя объекта System, в данном случае movingAverageFilter. Настройте значок блока «Фильтр скользящего среднего» с именем очистителя. На панели инструментов редактора выберите раскрывающуюся кнопку «Системный блок», затем выберите «Добавить значок текста». getIconImpl метод добавлен к movingAverageFilter. Внутри getIconImpl, комплект icon равно строковому массиву ["Moving","Average","Filter"];

function icon = getIconImpl(~)
    % Define icon for the System block.
    icon = ["Moving","Average","Filter"];
end

Диалоговое окно «Адаптация блока»

Диалоговое окно блока также можно настроить путем добавления методов и комментариев к объекту System. Дополнительные сведения о настройке диалогового окна блока см. в разделе Настройка внешнего вида системного блока. В этом примере переименуйте WindowLength в диалоговом окне и добавьте метод для настройки описания.

По умолчанию все общие свойства отображаются в диалоговом окне блока как параметры с именами свойств. В этом примере добавьте комментарии перед WindowLength таким образом, оно отображается в диалоговом окне как «Перемещение длины окна». Добавьте комментарии над свойством в форме: PropertyName Name in dialog

 % WindowLength Moving window length
 WindowLength (1,1){mustBeInteger,mustBePositive} = 5

Чтобы задать заголовок и описание в диалоговом окне блока, на панели инструментов выберите «Системный блок» > «Указать заголовок диалогового окна». Эта опция добавляет getHeaderImpl метод для movingAverageFilter. Изменение вызова на matlab.system.display.Header к этому:

methods(Access = protected, Static)
    function header = getHeaderImpl
        % Define header panel for System block dialog
        header = matlab.system.display.Header('movingAverageFilter',...
            'Title','Moving Average Filter',...
            'Text', 'Unweighted moving average filter of 1- or 2D input.');
    end
end

Для просмотра диалогового окна блока нажмите кнопку на панели инструментов над элементом «Системный блок».

Настраиваемый блок в Simulink

Это блок с добавленными настройками:

model = 'movingaveragefilter_sl_extended';
open_system(model);

Чтобы просмотреть завершенный объект System с помощью методов настройки Simulink, введите:

edit movingAverageFilter_extended.m