This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

DSP Algorithm Acceleration

Acceleration using dataflow multithreading or generated MEX functions

You can improve simulation throughput for MATLAB® functions using the dspunfold function to generate a multi-threaded MEX file.

In Simulink®, Dataflow domains automatically partition your model and simulate the system using multiple threads. By adding algorithmic latency to your system, you can further increase concurrency and improve simulation throughput of your model.

Functions

dspunfoldGenerates a multi-threaded MEX file from a MATLAB function
codegenGenerate C/C++ code from MATLAB code

Blocks

Dataflow SubsystemSubsystem whose execution domain is set to Dataflow

Topics

Unfolding

Workflow for Generating a Multithreaded MEX File using dspunfold

This section discusses the recommended workflow of generating the multithreaded MEX and verifying the results using the analyzer

Multithreaded MEX File Generation

This example shows how to use the dspunfold function to generate a multithreaded MEX file from a MATLAB function using unfolding technology.

Signal Processing Algorithm Acceleration in MATLAB

Accelerate signal processing algorithm with codegen and dspunfold.

How Is dspunfold Different from parfor?

This page should detail the users on when to use dspunfold and when to use parfor

Dataflow

Dataflow Domain

Simulate a subsystem using synchronous dataflow

Multicore Simulation and Code Generation of Dataflow Domains

Types of parallelism. Simulation and code generation of dataflow domains using multiple threads

Model Multirate Signal Processing Systems Using Dataflow

Use a Dataflow Subsystem to automatically calculate frame sizes in multirate systems

Troubleshooting

Why Does the Analyzer Choose the Wrong State Length?

This section discusses the example where the state length depends on the input which causes verification failure. Debugging steps are also included

Why Does the Analyzer Choose a Zero State Length?

This section discusses the example where the input does not have an immediate effect on the output. Hence, state length of 0 is considered inspite of the algorithm containing states.

Featured Examples