使用系统对象处理流信号和大数据

大多数实时信号处理应用程序都使用流处理,这是一种处理大量数据的内存有效技术。流处理将传入的数据分成帧,并在下一帧到来之前完整地处理每一帧。使用流处理的应用程序示例包括音频增强、无线基带处理、对象跟踪和雷达波束形成。

流处理的即时和内存敏感特性带来了特殊的挑战。流式算法必须是高效的,并跟上数据更新的速度。为了处理大型数据集,算法还必须管理内存和状态信息,仅在需要时存储以前的数据缓冲区,并逐帧更新每个缓冲区和状态。

图1所示。MATLAB中的流处理,包括将流源分成帧,并在一个循环中处理每一帧,有效利用内存和计算。

在MATLAB中,称为System objects的算法组件简化了流处理®。系统对象提供了一个工作流,用于开发流算法和一系列流应用程序的测试工作台,这只涉及到几行MATLAB代码。

图2。一个流处理测试平台的MATLAB示例代码,使用系统对象。此示例逐帧回放并以图形方式显示音频频谱。

为了在MATLAB中开发高效、易读的流处理程序,系统目标:

  • 处理帧,然后用传入的数据覆盖过去的帧
  • 在创建参数时初始化它们一次
  • 自动管理缓冲区更新、状态更新和索引,从而加快算法的开发
  • 金宝app支持MATLAB代码生成和并行计算工作流程
系统对象包含在五个MATLAB产品中:下载188bet金宝搏音频工具箱™,DSP系统工具箱™,通信工具箱™,相控阵系统工具箱,计算机视觉工具箱™。您还可以定义自己的系统对象来创建新的流算法。

例子及如何

一般

音频工具箱

通信系统工具箱

计算机视觉的工具箱

DSP系统工具箱

相控阵系统工具箱


软件参考

参见:MATLAB GPU计算,雷达系统设计,无线通信,逻辑分析仪,参量均衡器,频谱分析仪的软件,音频信号处理,示波器软件

试验可用

获得试用软件