В этом примере показано, как расширить MovingAverageFilter
Система object™ для использования в Simulink™. Чтобы использовать Системный объект в Simulink, включайте Системный объект в блок MATLAB System.
MovingAverageFilter
Системный объектЭтот пример расширяет MovingAverageFilter
Системный объект встроил, Создают Системный объект Скользящего среднего значения (MATLAB). MovingAverageFilter
Системный объект вычисляет невзвешенное среднее значение конкретного количества предыдущих входных параметров. Используйте WindowLength
свойство задать, сколько предыдущих выборок, чтобы использовать.
Объект уже готов использовать в Simulink. Создайте модель Simulink и добавьте блок MATLAB System. Задайте MovingAverageFilter
как имя Системного объекта. Например, эта модель использует фильтр скользящего среднего значения, чтобы устранить шум из сигнала.
model = 'movingaveragefilter_sl';
open_system(model);
Диалоговое окно блока показывает общественность, настраиваемые параметры:
Опционально, можно настроить внешний вид блока и блокировать диалоговое окно для блока MATLAB System путем добавления методов в Системный объект.
По умолчанию значок блока показывает имя Системного объекта, в этом случае MovingAverageFilter
. Настройте значок блока Moving Average Filter с более чистым именем. В панели инструментов Редактора выберите Системную кнопку раскрытия списка Блока, затем выберите Add Text Icon. getIconImpl
метод добавляется к MovingAverageFilter
. В getIconImpl
, установите icon
равняйтесь массиву строк ["Moving","Average","Filter"];
function icon = getIconImpl(~) % Define icon for the System block. icon = ["Moving","Average","Filter"]; end
Можно также настроить диалоговое окно блока путем добавления методов и комментариев к Системному объекту. Для получения дополнительной информации о диалоговой индивидуальной настройке блока, смотрите, Настраивают Системный Внешний вид Блока. В этом примере переименуйте WindowLength
свойство в диалоговом окне и добавляет метод, чтобы настроить описание.
По умолчанию все публичные свойства появляются как параметры в диалоговом окне блока с их именами свойства. В этом примере добавьте комментарии перед WindowLength
свойство так, чтобы это появилось как длина окна Moving в диалоговом окне. Добавьте комментарии выше свойства в форме: PropertyName Name in dialog
% WindowLength Moving window length
WindowLength (1,1){mustBeInteger,mustBePositive} = 5
Чтобы задать заголовок и описание в диалоговом окне блока, в панели инструментов выбирают System Block> Specify Dialog Header. Эта опция добавляет 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);
Чтобы видеть завершенный Системный объект с методами индивидуальной настройки Simulink, введите:
edit MovingAverageFilter_extended.m