View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

4.7 | 11 ratings Rate this file 17 Downloads (last 30 days) File Size: 1.79 KB File ID: #6247 Version: 1.0
image thumbnail



John Lipp (view profile)


12 Nov 2004 (Updated )

imports isf files generated by Tektronix oscilloscopes.

| Watch this File

File Information

A command line tool which can import the binary files generated by Tektronix TDS series oscilloscopes.

Example useage:

filename = 'TEK00000.ISF';
[data, header] = isfread (filename);


This file inspired Isfread: Updated, Isfread, and Isf Read.

MATLAB release MATLAB 7 (R14)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (12)
26 Jun 2015 Damien Moureaux

Hi everybody,

I use a DPO 4034B TEKTRONIX oscilloscope.
I tried to use the code but it does not work. Could you help me to find what I have to change?

I precise that I am not very good at matlab.

Thanks your help

Comment only
17 Sep 2013 Alex

Alex (view profile)

18 Nov 2010 Stephan SCHMITT

Thank you John, but I agree with David. Line 31 must be changed for my TDS3014B.

24 Oct 2007 Michal Breznicky

Very helpful, but has some potential flaws that should be fixed:
1) The header length is _variable_ (it is enough for a text parameter to change value in the header). In my case, the header ends with a string "#520000", so I just regexp this one.
2) The data are big endian!!! At least this is true on TDS3024B, where the header contains a string "BYT_OR MSB". This can be fixed by opening the file in the following way:
fileID = fopen(filename,'r','b'); % big endian

I myself spent a few hours trying to figure out why the data in the isf format don't match the same data in the spreadsheet format until I found a "decryption algorithm" which simply shifted the data offset by 1 and changed the endian. Silly me.

07 Aug 2007 Nicholas Harknett

This program proved to be a great help to me. I had to make a few modifications for it to work with the MSO4034 scope.

For reference:
When reading the header, I had to increase the amount read by adjusting the fread line as follows:
header_tmp = fread(fileID,383)';

Also when parsing the head I had to add two more "getNextStr" operations prior to reading the data due to the way the MSO4034 duplicates some data when saving:

%Peform Type definition three times to get to right spot for MSO4034
[headData.TYPE,rem] = strtok(header,':');
[headData.TYPE,rem] = getNextNum(rem);
[headData.TYPE,rem] = getNextNum(rem);

14 Apr 2007 Kang Xiaowen

Thanks a million

13 Feb 2007 Shruthi Raj

Very helpful! Thanks John Lipp.

09 Feb 2006 Dan Haeg

This program works great. My TDS 3014B saves waveforms to .ISF 2 minutes faster than .CSV.

05 Sep 2005 orange blue

Great Program John Lipp. Thanks.

I followed David Jones suggestion and
changed line 31 to
""inData = fread(fileID, headData.NR_PT, 'int16', 'ieee-be');""

09 Jun 2005 Elaine Tan

08 Feb 2005 David Jones

This helped a great deal!

Note: to use with the TDS3054B, I had to add 'ieee-be' to the fread statement on line 31.

22 Nov 2004 JINWOOK CHO

Thank you very much !!! Mr. John Lipp

Contact us