主要内容

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

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

简介

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

声波束形成

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

设置数据流子系统

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

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

数据流子系统并发性分析

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

建议优化模型设置以获得最佳仿真性能。要接受所建议的模型设置,就多核选项卡上,单击优化.的下拉菜单优化按钮单独更改设置。在这个例子中,模型设置已经是最优的了。

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

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

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

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

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

多核仿真性能

我们通过比较使用数据流和不使用数据流运行模型所花费的执行时间来衡量使用数据流域的性能改进。执行时间是使用sim命令测量的,该命令返回模型的模拟执行时间。这些数据和分析是在一台搭载英特尔至强处理器W-2133 @ 3.6 GHz 6核12线程处理器的Windows®台式电脑上发布的。

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

总结

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

Baidu
map