主要内容

音频波束形成系统的多核仿真

这个例子展示了在Simulink®中的音频波束形成系统仿真模型如何使用数据流域提高性能。金宝app它使用Simulink中的数据流域自动将通信系统的数据驱动部分金宝app划分为多个线程,从而通过在桌面的多核上执行模拟来提高模拟的性能。

简介

数据流执行域允许您在模拟计算密集型系统时使用多个核。这个例子展示了作为子系统执行域的数据流如何提高模型的仿真性能。要了解更多关于数据流和如何使用多线程运行Simulink模型的信息,请参见金宝app使用数据流域的多核执行

声波束形成

这个例子展示了使用麦克风的均匀线性阵列(ULA)的声波束形成。该模型模拟了一个10元均匀间距线性麦克风阵列上三个不同方向的音频信号的接收。在接收端加入热噪声后,对不同的声源角进行波束形成,并在声音装置上播放结果。需要在音频播放器中播放的音频源可以使用选择源块中的对话框进行选择。

设置数据流子系统

本例使用Simulink中的数据流域来利用桌面上的多个核来提高仿真性能。金宝app的该模型中数据流子系统的参数设置为数据流.您可以通过选择子系统然后访问Property Inspector来查看这一点。要访问属性检查器,请在Simulink工具条中的“建模”选项卡中,在“设计金宝app”图库中选择“属性检查器”,或在“模拟”选项卡中的“准备”图库中,选择“属性检查器”。

数据流域自动将您的模型划分为多个线程以获得更好的性能。一旦你设置参数数据流,你可以使用多核TAB分析来分析您的模型以获得更好的性能。的多核当模型中有数据流域时,在工具条中可以使用TAB。要了解更多关于多核选项卡,查看对数据流执行多核分析

数据流子系统并发性分析

对于本例,多核TAB模式设置为仿真分析用于仿真性能分析。

建议优化模型设置以获得最佳的仿真性能。接受建议的模型设置,在多核选项卡上,单击优化.控件下面的下拉菜单也可以优化按钮分别更改设置。在本例中,模型设置已经是最优的。

多核选项卡,单击运行分析按钮,用于启动数据流域的分析以获得模拟性能。一旦分析完成,分析报告和建议窗口将显示在模拟过程中数据流子系统使用了多少线程。

在分析模型之后,“分析报告和建议”窗口显示了3个线程。这是因为三个波束形成器块计算密集,可以并行运行。然而,这三个波束形成器块依赖于麦克风阵列和接收器块。管道延迟可以用来打破这种依赖关系并增加并发性。“分析报告和建议”窗口显示了为增加并发性建议的管道延迟数量。计算建议的延迟值以获得最佳性能。

下图显示了分析报告和建议窗口,其中数据流子系统的建议延迟为1。

单击接受按钮,以使用数据流子系统的推荐延迟。的属性检查器中也可以直接输入此值延迟参数。金宝appSimulink用美元Z ^ {n} $标记在数据流子系统的输出端口上。

分析报告和建议窗口现在显示线程数为4,这意味着数据流子系统中的块使用4个线程并行模拟。突出的线程控件中所示的基于线程分配的颜色突出显示块线程高亮图例显示管道延迟显示在数据流子系统中插入管道延迟的位置美元Z ^ {n} $标签。

多核仿真性能

我们通过比较使用和不使用数据流运行模型所花费的执行时间来衡量使用数据流域的性能改进。使用sim命令测量执行时间,该命令返回模型的模拟执行时间。这些数据和分析发布在Windows®桌面计算机上,采用Intel®Xeon®CPU W-2133 @ 3.6 GHz 6核12线程处理器。

多线程模型的模拟执行时间= 4.03s单线程模型的模拟执行时间= 6.26s数据流的实际加速:1.6x

总结

此示例展示了使用数据流域的多线程如何在使用桌面多核的音频波束形成仿真模型中提高性能。