我需要制作一个Simulink模块,它接收多个总线信号的串联,并对每对后续总线的总线中包含的信号执行相同的数学运算。总线信号是相同类型的并且是非虚拟的。
为了解决这个问题,我们假设有4个简单总线的串联,每个总线包含x
和y
字段。由a=x1+x2
和b=y1-y2
组成的信号总线需要由总线输入1,2和3,4组成。因此,块的输出应该是2个总线的串联,第一个包含来自第一对输入总线的信息,第二个包含来自第二对总线的信息。
难以扩展的方法如下:
是否有任何内置的Bus Math操作可能性,或更好的实现方法?我在Mathworks文档中找不到任何内容,简单的操作块会生成不兼容错误。
答案 0 :(得分:2)
您需要使用For Each Subsystem阻止。如本例所示。请注意,我调用总线BusTest并使信号的维度和数据类型可见:
现在将该块的信号宽度参数设置为2,以便将输入数组划分为长度为2的块:
然后将您的逻辑移到该块中: