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