Stream Processing in MATLAB

  • 联系销售
  • 试用版

Process streaming signals and large data with System objects

Most real-time signal processing applications use stream processing, a memory-efficient technique for handling large amounts of data. Stream processing divides incoming data into frames and fully processes each frame before the next one arrives. Examples of applications that use stream processing include audio enhancement, wireless baseband processing, object tracking, and radar beamforming.

The just-in-time and memory-sensitive nature of stream processing presents special challenges. Streaming algorithms must be efficient and keep up with the rate of data updates. To handle large data sets, the algorithms must also manage memory and state information, store previous data buffers only as needed, and update each buffer and state frame-by-frame.

Stream processing in MATLAB, including dividing the stream source into frames, and processing each frame in a loop with the efficient use of memory and computations.
Figure 1. Stream processing in MATLAB, including dividing the stream source into frames, and processing each frame in a loop with the efficient use of memory and computations.

Algorithm components called System objects simplify stream processing in MATLAB. System objects provide a workflow for developing streaming algorithms and test benches for a range of streaming applications, which involve just a few lines of MATLAB code.

Example MATLAB code for a stream processing test bench, using System objects. This example plays back and graphically displays an audio spectrum frame by frame.
Figure 2. Example MATLAB code for a stream processing test bench, using System objects. This example plays back and graphically displays an audio spectrum frame by frame.

For developing efficient, readable stream processing programs in MATLAB, System objects:

  • process frames and then overwrite past frames with incoming data
  • initialize parameters only once as they are created
  • manage buffer updates, state updates, and indexing automatically, which speeds algorithm development
  • support MATLAB code generation and parallel computing workflows
System objects included in several system toolboxes.
Figure 3. System objects included in several system toolboxes.

System objects are included in four MATLAB products: DSP System Toolbox, Communications System Toolbox, Phased Array System Toolbox, and Computer Vision System Toolbox. You can also define your own System objects to create new streaming algorithms.

Examples and How To

General

Communication System Toolbox

Computer Vision System Toolbox

DSP System Toolbox

Phased Array System Toolbox

Software Reference

See also: MATLAB GPU computing, radar system design, communications systems