Векторизация скалярного алгоритма с для каждой подсистемы

Этот пример показывает, как использовать Для Каждой Подсистемы. В этом примере операции выполняются на векторе для простоты.

Откройте модель sldemo_foreach_vectorized в качестве примера. Эта модель содержит Для Каждой Подсистемы, которая обрабатывает входные сигналы один за другим.

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

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

Поскольку размерность выходного сигнала, как ожидают, будет совпадать с размерностью входного сигнала, размерность конкатенации установлена равная размерности раздела. Если вы предпочитаете изменять размерность сигнала (транспонирование в этом случае), можно выбрать 2 в качестве размерности конкатенации.

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

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