主要内容

生成独立的可执行文件,并使用UDP与之交互

这个例子展示了如何使用MATLAB Coder™为流统计生成一个独立的可执行文件,并使用在MATLAB (TM)中运行的用户界面(UI)优化生成的可执行文件。

简介

DSP System Toolbox™中的大多数算法都支持使用MATLAB C金宝appoder生成C代码。

MATLAB Coder的选项之一是通过直接从终端或命令提示符启动可执行文件来生成可在MATLAB环境之外运行的独立可执行文件。

对于可调算法,最好在运行时使用UI与算法交互。实现这一点的一种方法是通过UDP发送/接收信息。

本例在运行时使用UDP在MATLAB和生成的独立可执行文件之间进行交换。方差、偏差和指数加权值从MATLAB发送到可执行文件。实际随机信号连同均值、均方根和方差估计从独立可执行文件发送回MATLAB绘图。

示例架构

示例的架构由两个主要部分组成:

  1. streamingStatsCodegenExampleApp:一个MATLAB函数,创建用户界面(UI)来更改方差,偏差和指数权重值。该函数还绘制从独立可执行文件接收到的数据。

  2. HelperStreamingStatsEXEProcessing:这是用来生成独立可执行文件的函数。这个函数生成一个给定偏置和方差的随机信号,并计算这样一个信号的均值、均方根和方差估计。噪声信号连同计算的统计数据通过UDP发送,用于绘图(或任何进一步处理)。在仿真过程中,还可以随时响应MATLAB界面滑块的变化。

生成代码和构建可执行文件

您可以使用MATLAB Coder从流统计算法代码生成可读和独立的c代码。由于使用UDP,生成的代码和可执行文件之间存在额外的依赖关系。这些文件可以在MATLAB安装的/bin目录中找到。

运行脚本HelperStreamingStatsGenerateEXE将调用MATLAB编码器自动生成c代码和一个独立的可执行的算法代码在HelperStreamingStatsEXEProcessing

运行示例

生成可执行文件后,运行函数streamingStatsCodegenExampleApp启动可执行文件和设计用于与模拟交互的用户界面(UI)。UI允许您调整参数,结果立即反映在模拟中。例如,在模拟运行时移动“方差”的滑块,将影响噪声信号以及绘制的均方根和方差估计值。

在用户界面上还有两个按钮——“暂停模拟”按钮将保持模拟,直到你再次按下它。点击“停止模拟”按钮可以终止模拟。

线程

独立可执行文件作为一个单独的进程执行。这意味着图形可以与统计计算并行运行。对于涉及图形的高性能计算来说,这是一种很有吸引力的方法。

手动调用可执行文件

代替系统命令从MATLAB中启动可执行文件,可执行文件可以从终端或命令提示符手动启动。因为这个可执行文件包括UDP调用,所以dll必须处于正确行为的路径上。看到如何在MATLAB之外运行生成的可执行文件获取更多信息。