Precision Toolbox

Note

This section only gives an overview on the Precision Toolbox, for all details, see the dedicated doc.

Analog Devices Precision Toolbox For MATLAB and Simulink is a set of tools to model, interface, and target with ADI precision devices within MATLAB and Simulink. These are combined into a single Toolbox which contains a set of Board Support Packages (BSP). The list of supported converters is provided below.

Quick Start with Toolbox

The current stable Toolbox can be downloaded from the ADI PrecisionToolbox repository (releases). Download the latest .mltbx file then open that file within MATLAB. Opening the file will automatically install the Toolbox, adding the necessary components to your MATLAB path. The “Analog Devices, Inc. Precision Toolbox” will appear in your Add-Ons Explorer within MATLAB.

To interface and stream data with hardware will require installation of Libiio and one of two Hardware Support Packages from MathWorks. The libiio library can be obtained from the ADI libiio repository.

Libiio Installers

Download

Stable releases are available at ADI libiio repository (releases).

These support packages provide the necessary libIIO MATLAB bindings used by ADI’s system objects. Starting in R2024a, the functionality of Communications Toolbox Support Package for Xilinx Zynq-Based Radio is included in SoC Blockset Support Package for AMD Devices.

Important

Skip the Zynq SDR or ADALM-PLUTO post-installation steps. They are not used. See Kuiper documentation for the FPGA carrier board SD card images.

Toolbox Dependencies

Depending on your needs, different toolboxes will be required. For basic data streaming into MATLAB or Simulink only the following MathWorks toolboxes are required:

For HDL code generation the following are required:

Building the Toolbox Manually

The toolbox can only be built under Linux or with Cygwin on a Windows platform. Conveniently, the entire process is automated with a Makefile located in the CI/scripts folder of the repository. The following is required on the system before the build process can be run:

  • A supported MATLAB version installed in the default location (/usr/local/MATLAB)

  • Packages: git zip unzip tar make wget sed

Warning

You should only manually build the toolbox if you require a custom branch or no toolbox installer is available

First clone the repo and move into it:

git clone https://github.com/analogdevicesinc/PrecisionToolbox.git
cd PrecisionToolbox

To build the toolbox run the following:

make -C CI/scripts build

To create an installable tlbx file run:

make -C CI/scripts gen_tlbx

Device Control and Data Streaming

Device interfaces which provide control and data streaming are implemented with MATLAB System Objects and Simulink Blocks. These System Objects can be accessed under the “adi” namespace in MATLAB and are followed by their part number or board name and finally Tx or Rx:

adi.<Part or Board Name>.<Tx or Rx>

To get a list of currently available objects with the BSP installed simply run:

help adi

To get more information on a given object run:

help adi.<Part or Board Name>

or

doc adi.<Part or Board Name>

Common Attributes

There are some common attributes that need to be set for system objects and parts.

  • uri Context address of IIO device.

    • IP with usage ‘’bf.uri = ‘ip:192.168.2.1’ ‘’

Extending Interfaces

If a driver attribute or setting is not available in the standard objects it can be easily extended to cover more IIO attributes. See this guide.

Examples

Examples for streaming data and targeting FPGAs are listed within the Toolbox documentation itself. To view run the following with MATLAB:

doc adi

They can also be viewed on GitHub:

Supported Boards

The following have device-specific implementations in MATLAB and Simulink. If a device has an IIO driver, MATLAB support is possible, but a device-specific MATLAB or Simulink interface may not exist yet.

Table 1 Supported Parts

Evaluation Card

Controller Board

Streaming Support

Targeting

Variants and Minimum Supported Release

AD7380

Zedboard

Yes

No

ADI (2021b)

AD7381

Zedboard

Yes

No

ADI (2021b)

AD7383

Zedboard

Yes

No

ADI (2021b)

AD7384

Zedboard

Yes

No

ADI (2021b)

AD7386

Zedboard

Yes

No

ADI (2021b)

AD7387

Zedboard

Yes

No

ADI (2021b)

AD7388

Zedboard

Yes

No

ADI (2021b)

AD7380-4

Zedboard

Yes

No

ADI (2021b)

AD7381-4

Zedboard

Yes

No

ADI (2021b)

AD7383-4

Zedboard

Yes

No

ADI (2021b)

AD7386-4

Zedboard

Yes

No

ADI (2021b)

AD7387-4

Zedboard

Yes

No

ADI (2021b)

AD7388-4

Zedboard

Yes

No

ADI (2021b)

ADAQ4370-4

Zedboard

Yes

No

ADI (2021b)

ADAQ4380-4

Zedboard

Yes

No

ADI (2021b)

AD7768

Zedboard

Yes

No

ADI (2021b)

AD7768-1

Zedboard

Yes

No

ADI (2021b)

AD4030-24

Zedboard

Yes

No

ADI (2021b)

AD4630-16

Zedboard

Yes

No

ADI (2021b)

AD4630-24

Zedboard

Yes

No

ADI (2021b)

ADAQ4224

Zedboard

Yes

No

ADI (2021b)

AD4858

Zedboard

Yes

No

ADI (2021b)

AD2S1210

Zedboard

Yes

No

ADI (2021b)

AD4000

Zedboard

Yes

No

ADI (2021b)

AD4001

Zedboard

Yes

No

ADI (2021b)

AD4002

Zedboard

Yes

No

ADI (2021b)

AD4003

Zedboard

Yes

No

ADI (2021b)

AD4004

Zedboard

Yes

No

ADI (2021b)

AD4005

Zedboard

Yes

No

ADI (2021b)

AD4006

Zedboard

Yes

No

ADI (2021b)

AD4007

Zedboard

Yes

No

ADI (2021b)

AD4008

Zedboard

Yes

No

ADI (2021b)

AD4010

Zedboard

Yes

No

ADI (2021b)

AD4011

Zedboard

Yes

No

ADI (2021b)

AD4020

Zedboard

Yes

No

ADI (2021b)

AD4021

Zedboard

Yes

No

ADI (2021b)

AD4022

Zedboard

Yes

No

ADI (2021b)

AD5760

Zedboard

Yes

No

ADI (2021b)

AD5780

Zedboard

Yes

No

ADI (2021b)

AD5781

Zedboard

Yes

No

ADI (2021b)

AD5790

Zedboard

Yes

No

ADI (2021b)

AD5791

Zedboard

Yes

No

ADI (2021b)

AD7124-4

Zedboard

Yes

No

ADI (2021b)

AD7124-8

Zedboard

Yes

No

ADI (2021b)

AD3530r

SDP-K1

Yes

No

ADI (2021b)

AD4050

SDP-K1

Yes

No

ADI (2021b)

AD4052

SDP-K1

Yes

No

ADI (2021b)

AD4060

SDP-K1

Yes

No

ADI (2021b)

AD4062

SDP-K1

Yes

No

ADI (2021b)

AD4170

SDP-K1

Yes

No

ADI (2021b)

AD7190

SDP-K1

Yes

No

ADI (2021b)

AD7192

SDP-K1

Yes

No

ADI (2021b)

AD7193

SDP-K1

Yes

No

ADI (2021b)

AD7194

SDP-K1

Yes

No

ADI (2021b)

AD7195

SDP-K1

Yes

No

ADI (2021b)

AD4190

SDP-K1

Yes

No

ADI (2021b)

AD5592r

SDP-K1

Yes

No

ADI (2021b)

AD5593r

SDP-K1

Yes

No

ADI (2021b)

AD5710r

SDP-K1

Yes

No

ADI (2021b)

AD5706r

SDP-K1

Yes

No

ADI (2021b)

Further Reading

For more information, check out the dedicated documentation which contains useful information such as:

Help & Support

Questions? Ask Help & Support.