对2个总线信号进行Simulink数学运算

时间:2015-10-15 10:08:55

标签: matlab simulink bus

我需要制作一个Simulink模块,它接收多个总线信号的串联,并对每对后续总线的总线中包含的信号执行相同的数学运算。总线信号是相同类型的并且是非虚拟的。

为了解决这个问题,我们假设有4个简单总线的串联,每个总线包含xy字段。由a=x1+x2b=y1-y2组成的信号总线需要由总线输入1,2和3,4组成。因此,块的输出应该是2个总线的串联,第一个包含来自第一对输入总线的信息,第二个包含来自第二对总线的信息。

难以扩展的方法如下:

Example of implementation

是否有任何内置的Bus Math操作可能性,或更好的实现方法?我在Mathworks文档中找不到任何内容,简单的操作块会生成不兼容错误。

1 个答案:

答案 0 :(得分:2)

您需要使用For Each Subsystem阻止。如本例所示。请注意,我调用总线BusTest并使信号的维度和数据类型可见:

enter image description here

现在将该块的信号宽度参数设置为2,以便将输入数组划分为长度为2的块:

enter image description here

然后将您的逻辑移到该块中:

enter image description here