UDP 与可变长度信号
UDP 子库不直接支持可变大小的信号。UDP Send 模块的输入端口仅接受固定长度的信号。
若要通过 UDP 发送可变大小的信号,请确定预计连接到该模块的固定大小输入信号的最大元素个数。使用第二个输入 Length 来指定要通过 UDP 发送的该输入信号的元素个数。
此示例配置了 MATLAB Function 模块,使其能够接收可变长度的信号,并将该信号映射到固定长度的输出信号。它输出相关元素的数量。您可以将固定长度的输出信号和元素个数输出到 UDP Send 模块的输入端。
要接收可变大小的输入信号,请创建一个 MATLAB Function 模块。MATLAB Function 模块的输入会继承其大小,该大小可以是可变的。
在 MATLAB Function 模块中,输入如下所示的代码。在此代码中,可变大小输入信号的最大大小为
9。function [y,y_length] = fcn(u) %#codegen y = uint8(zeros(9,1)); y_length = length(u); for a = 1:y_length y(a) = u(a); end
指定输出
y的最大大小。打开 Symbols 窗格。在 Modeling 选项卡的 Design 部分中,点击 Symbols Pane。
右键点击变量
y,然后点击 Inspect 以打开“属性检查器”。将输入信号的最大大小输入到
y的相应 Size 属性中。例如,大小值是9。
向 MATLAB Function 模块提供一个可变大小的信号源。
