2015-10-15 1 views
0

Мне нужно сделать блок Simulink, который получает конкатенацию нескольких сигналов шины и выполняет те же математические операции по сигналам, содержащимся в шине, для каждой пары последовательных шин. Сигналы шины одного типа и не являются виртуальными.Симуляционные математические операции по двум сигналам шины

Для решения вопроса предположим, что имеется 4 простых автобуса, каждая из которых содержит x и поле y. Шина сигналов, состоящая из a=x1+x2 и b=y1-y2, должна быть сделана из входов 1,2 и 3,4 шин. Таким образом, выход блока должен быть конкатенацией двух шин, первая из которых содержит информацию из первой пары входных шин, а вторая - второй.

Несложный способ сделать это следующим образом.

Example of implementation

Есть ли встроенные Автобусов математических операций возможность, или более эффективные способы реализации этого? Я не мог найти ничего в документации Mathworks, а простой блок операций генерирует ошибки несовместимости.

+0

Вы не хотите использовать функцию «MATLAB» и выполнять эту операцию в ее теле? –

+0

@Mikhail_Sam, я бы предпочел поддерживать проект как можно «графический», чтобы показывать распечатки и обсуждать их с коллегами. В любом случае, я рассмотрю этот вариант. Спасибо за вход – raggot

ответ

2

Вам необходимо использовать For Each Subsystem Блок. Как показано в этом примере. Обратите внимание, что я назвал автобус BusTest и сделал размер и тип данных сигналов видимого:

enter image description here

Теперь установите сигнала Ширина параметра этого блока к двум, так он делит входной массив на куски длиной 2:

enter image description here

Затем переместите вашу логику в этом блоке:

enter image description here

Смежные вопросы