主要内容

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

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

介绍

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

声学波束形成

该示例显示了使用麦克风的均匀线性阵列(ULA)的声学波束成形。该模型模拟了在10元件均匀间隔的线性麦克风阵列上的不同方向的三个音频信号的接收。在接收器处添加热噪声之后,对不同的源角施加波束成形,并且在声音设备上播放结果。可以使用从选择源块中的对话框中选择需要在音频播放器中播放的音频源。

设置DataFlow子系统

这个例子使用Simulink中的数据流域来利用桌面中的多核来提高模拟性能。金宝app本模型中数据流子系统的Domain参数设置为数据流.您可以通过选择子系统然后进行选择来查看查看>物业检查员.数据流域自动对模型进行分区,并使用多线程模拟系统,以获得更好的模拟性能。一旦将Domain参数设置为Dataflow,就可以使用Dataflow Simulation Assistant分析模型以获得更好的性能。单击。可以打开数据流模拟助手数据流助理按钮下方自动计算帧大小参数。

分析DataFlow子系统的并发

DataFlow Simulation Assistant建议更改模型设置以获得最佳仿真性能。接受所提出的模型设置,旁边模拟性能的建议模型设置, 点击接受所有的.或者,您可以展开该部分以单独更改设置。在此示例中,模型设置已经是最佳的。在DataFlow Simulation Assistant中,单击分析按钮开始分析DataFlow域进行仿真性能。分析完成后,DataFlow Simulation Assistant显示数据流子系统将在模拟期间使用的线程数。

在分析模型后,助手显示三个线程。这是因为三个波束形成器块是计算密集的,并且可以并行运行。然而,三个波束形成器块取决于麦克风阵列和接收器块。管道延迟可用于打破这种依赖性并提高并发性。DataFlow Simulation Assistant显示推荐的管道延迟数量,如建议的延迟。建议的延迟值计算为提供最佳性能。

下图显示了DataFlow仿真助理助手,其中数据流子系统当前指定零期零点值,系统的建议延迟是一个。点击接受按钮旁边建议延迟在DataFlow仿真助手中使用DataFlow子系统的推荐延迟。也可以直接在“延迟”参数中的属性检查器中输入延迟值。金宝appSimulink显示延迟参数值$ z ^ { -  n} $在DataFlow子系统的输出端口处标记。

多核模拟性能

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

多线程模型的仿真执行时间= 2.74s单线程模型的仿真执行时间= 5.66s

总结

此示例显示了使用DataFlow域的多线程如何使用桌面上的多个核心在单声雷达系统仿真模型中提高性能。