File Exchange

image thumbnail

Agilent Infiniium and InfiniiVision Oscilloscopes – MATLAB Example

version (259 KB) by Vinod
MATLAB application example for Agilent Infiniium and InfiniiVision oscilloscopes


Updated 01 Sep 2016

View Version History

View License

MATLAB is a software environment and programming language with over 1,000,000 users and supports Agilent oscilloscopes through its Instrument Control Toolbox.
MATLAB is used with Agilent oscilloscopes for important tasks including filtering acquired signals, analyzing and visualizing oscilloscope data, automating oscilloscope measurements, and generating reports. This example works with Instrument Control Toolbox V2.7 and higher.

This MATLAB application acquires signals from an Agilent oscilloscope and performs digital filtering or other mathematical analysis on those signals - as well as visualization of the pre-processed and post-processed data. This example provides several analysis routines in order to demonstrate how MATLAB can be used to acquire and analyze your data including making measurements unique to your application. In one application, you now have direct access to reliable scope measurements as well as advanced data analysis and report generation capabilities.

This example has been tested with an Agilent Infiniium 90000 Series oscilloscope and an Agilent InfiniiVision oscilloscope. It requires the instrument’s respective IVI-COM instrument driver to be installed in order to operate. This driver can be downloaded for free at:

This example is based on a similar application created by Tom Gaudette, also available on MATLAB Central.

This example also requires VISA software to be installed in order to connect to the instrument using IVI-COM drivers and common interfaces like TCP/IP, USB, GPIB, etc. Agilent IO Libraries is available for download at:

Information on using MATLAB and Instrument Control Toolbox for configuring and controlling instruments is available at:

For additional information on using MATLAB with Agilent instruments, including MATLAB examples, demos, drivers, and videos, visit:

Comments and Ratings (9)

Ben Nemeth

On line 74 of 'MFigure.m', line 64 of 'MUIControl.m', line 58 of 'MPanel.m' and 'line 57 of 'Maxes.m' (in GUI/hgComponents), replace:
varargout = [];
varargout = {};


I get this error when I run ScopMath in Matlab 2018a:
"Variable output array "varargout" must be a cell array.
Error in MFigure/setPosition (line 71)
function varargout = setPosition(pos)

Error in ScopeMath (line 17)

I have checked almost everything from drivers to toolboxes. It seems the issue is related to new Matlab versions. Would be great if anyone can help.


There are multiple issues with the Matlab 2017a which i tried to test. It is not possible to run ScopeMath.
It would be great if a revision be done to make the code usefull again.

Waqas Maqsud

This program is giving live view of signal as in oscilloscope. Can we save the data points waveform in MATLAB file.


Awesome example!




How can I change the sampling rate? I need to set a cutoff frequency to 500 Hz, but this frequency is normalized!

Thanks in advanced


Very good job!

I just have a problem...My scope is a DSO-X-2002A infiniivision. The application recognize the equipment very well but when we will acquire the wave, appears a message saying: "Error in the timer callback"

(Obs: I created a .mdd with "makemid")
Do you now how a fix it?

kiwoong kang

first time

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!