В этом примере показано, как продлить movingAverageFilter
Системные object™ для использования в Simulink™. Чтобы использовать Системный объект в Simulink, включите Системный объект в блок MATLAB System.
movingAverageFilter
Системный объектЭтот пример расширяет movingAverageFilter
Системный объект, созданный в объекте Create Moving Average System. The movingAverageFilter
Системный объект вычисляет невзвешенное среднее заданное количество предыдущих входов. Используйте WindowLength
свойство, чтобы указать, сколько предыдущие выборки использовать.
Объект уже готов к использованию в Simulink. Создайте модель Simulink и добавьте блок MATLAB System. Задайте movingAverageFilter
как имя системного объекта. Для примера эта модель использует фильтр скользящего среднего, чтобы исключить шум от сигнала.
model = 'movingaveragefilter_sl';
open_system(model);
Диалоговое окно блока показывает общие настраиваемые параметры:
Вы можете настроить внешний вид блока и диалоговое окно блоков для блока MATLAB System путем добавления методов к системному объекту.
По умолчанию значок блока показывает имя Системного объекта, в данном случае movingAverageFilter
. Настройте значок блока фильтра скользящего среднего с именем очистителя. На панели инструментов Editor нажмите кнопку выпадающего списка System Block, затем выберите Add Text Icon. The getIconImpl
метод добавляется к movingAverageFilter
. Внутренние getIconImpl
, задать icon
равны строковые массивы ["Moving","Average","Filter"];
function icon = getIconImpl(~) % Define icon for the System block. icon = ["Moving","Average","Filter"]; end
Можно также настроить диалоговое окно блока путем добавления методов и комментариев к системному объекту. Дополнительные сведения о диалоговых индивидуальных настройках блоков см. в разделе Настройка внешнего вида системных блоков. В этом примере переименуйте WindowLength
свойство в диалоговом окне и добавить метод для настройки описания.
По умолчанию все общественная собственность появляются как параметры в диалоговом окне блоков с их именами свойства. В этом примере добавьте комментарии перед WindowLength
свойство так, что оно появляется как Длина окна перемещения в диалоговом окне. Добавить комментарии над свойством в форме: 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