杰克·法拉利,MathWorks
学习如何在Simulink中使用基于帧的处理金宝app®加速仿真和模拟实时系统行为的模型。与DSP System Toolbox™配合使用,您可以配置信号处理块来创建和操作数据帧,允许在单个时间步内处理多个样本。了解如何使用Simulink图金宝app形化功能(包括信号尺寸标签和颜色编码的采样时间)来检查和调试系统模型。您还可以使用Simulink Profil金宝apper来评估不同数据帧大小对模拟性能的影响。
在Simulink模型中将信号数据作为帧进行分组和处理通常可以提高仿真性能。金宝app它还能更精确地模拟实时数字信号处理系统处理信号数据流的方式,从而在硬件上更准确地模拟真实世界的行为。在本视频中,我们将介绍在Simulink中使用帧的基础知识,包括将它们引入模型,启用基于帧的处理块,以及评估不同帧大小的效果。金宝appSimulink中的金宝app框架类似于MATLAB中的向量。矢量化的MATLAB代码通常比包含循环的相应代码运行得更快。
这是因为调用MATLAB解释器的次数减少了,从而减少了代码执行的开销。类似地,在Simulink中将数据作为帧处理,可以减少调用Simulink调度器金宝app的开销,从而实现更快的模拟。配合DSP系统工具箱,Simulink提供了一系列模块来建模和模金宝app拟信号处理系统。信号处理块可以配置为处理由其块参数指定的样本或数据帧。在基于样本的处理中,一次从一个或多个通道中阻塞一个样本的处理信号。
例如,这里有两个通道输入正方形块,但是每个时间步只处理每个通道中的一个样本。另外,当块启用基于帧的处理时,它们以称为帧的连续采样组处理信号。这里显示的帧有两个通道,每个通道有五个连续的样本。列数表示每帧的通道,而行数表示每个通道的样本。相同的多通道信号现在以基于帧的方式处理。
在单个时间步长中,处理来自一个或多个通道的多个样本。为了演示基于帧的处理所能实现的性能改进,让我们看一个音频信号处理中的应用示例。在该模型中,导入并处理立体声音频文件,以添加一系列声音效果。模型停止时间设置为10秒。音频信号被From Multimedia File块读取后,通过三级级联二次滤波器、边缘效应块、混响块,最后写入MATLAB工作空间。
进一步检查by二次滤波器,我们可以看到每个滤波器部分都被设置为基于帧的处理。边缘区和混响区配置为继承信号采样率。为了确认该模型将使用正确大小的数据帧进行模拟,让我们首先将From Multimedia Block的音频帧大小参数设置为每帧256个样本。现在让我们打开调试菜单,在信息叠加下启用信号尺寸和采样时间颜色。正如我们所看到的,模型中的每个块都按预期对大小为256x2的信号输入进行操作。
我们期望在帧中看到两列,因为立体声音频信号有两个通道用于左右声音。现在我们准备开始模拟。为了评估模型的性能,我们将使用Debug菜单中的Simulink Profiler。金宝app首先,如前所述,让我们用256个样本的帧大小来模拟示例模型。让我们用分析器运行模型,生成包含性能结果的分析器报告。
现在,让我们将源块的音频帧大小参数增加到每帧1024个样本,并再次运行Profiler。让我们添加第二个报告面板,以便我们可以并排比较两个分析器报告。与每帧1024个样本的第二个模拟相比,我们可以看到,每帧256个样本的模拟运行需要更多的时间和对模型中块的调用次数来完成。通过使用来自分析器报告的数据绘制模拟时间和每个模拟对块的调用数量,可以快速识别性能和帧大小之间的关系。由于每帧处理大量样本的信号需要更少的块调用,仿真从减少的Simulink调度器开销中受益,需要提高性能。金宝app
然而,需要权衡的是,较大的帧也会消耗更多的内存,这可能会对复杂模型的性能产生负面影响。一般来说,值得尝试不同的帧大小,以找到一个最大限度地提高模型模拟性能的帧大小。总之,在Simulink模型中引入帧可以减少开销,提高仿真性能。金宝app基于帧的处理还密切模仿实时系统收集和操作数据流的方式。金宝appSimulink提供了建模、设计和测试信号处理系统的功能,这些模块支持基于帧的信号。金宝app
在我们使用的例子中,我们只需要改变源块的音频帧大小参数,就可以在整个模型中试验不同帧大小的影响。信号尺寸和彩色编码采样时间等图形化特征可用于快速查看和检查系统架构中的信号,有助于设计和测试。有关Simulink中基于帧的处理的示例和更多信息,请访问我们的文档。金宝app
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。