File Exchange

image thumbnail

isfread

version 1.0 (1.79 KB) by

imports isf files generated by Tektronix oscilloscopes.

4.72727
11 Ratings

4 Downloads

Updated

View License

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);
plot(data.x,data.y)

Comments and Ratings (12)

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

Alex

Alex (view profile)

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

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.

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);

Kang Xiaowen

Thanks a million

Shruthi Raj

Very helpful! Thanks John Lipp.

Dan Haeg

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

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');""

Elaine Tan

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.

JINWOOK CHO

Thank you very much !!! Mr. John Lipp

MATLAB Release
MATLAB 7 (R14)
Acknowledgements

Inspired: IsfRead, isfread: updated, isfread

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

» Watch video