В этом примере показано, как расширить movingAverageFilter Системные object™ для использования в Simulink™. Чтобы использовать объект System в Simulink, включите объект System в блок MATLAB System.
movingAverageFilter Системный объектЭтот пример расширяет movingAverageFilter Системный объект, созданный в системном объекте «Создание скользящего среднего». movingAverageFilter Системный объект вычисляет невзвешенное среднее указанного количества предыдущих входов. Используйте WindowLength , чтобы указать, сколько предыдущих образцов использовать.
Объект уже готов к использованию в Simulink. Создайте модель Simulink и добавьте системный блок MATLAB. Определить movingAverageFilter в качестве имени объекта System. Например, эта модель использует фильтр скользящего среднего для исключения шума из сигнала.
model = 'movingaveragefilter_sl';
open_system(model);

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

Дополнительно можно настроить внешний вид блока и диалоговое окно блока для блока MATLAB System путем добавления методов к объекту System.
По умолчанию значок блока показывает имя объекта 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
Для просмотра диалогового окна блока нажмите кнопку на панели инструментов над элементом «Системный блок».


Это блок с добавленными настройками:
model = 'movingaveragefilter_sl_extended';
open_system(model);
Чтобы просмотреть завершенный объект System с помощью методов настройки Simulink, введите:
edit movingAverageFilter_extended.m