Difference between revisions of "File format:Tektronix WFM"
Jump to navigation
Jump to search
Uwe Hermann (talk | contribs) |
(add resources, link to Tektronix manual and github repos) |
||
Line 3: | Line 3: | ||
== Header == | == Header == | ||
TODO The table may need an update, Tektronix documents at least three file format versions, with some fields added and others changing data types in more recent versions. | |||
{| border="0" class="alternategrey sigroktable sortable" | {| border="0" class="alternategrey sigroktable sortable" | ||
Line 108: | Line 110: | ||
y = data[i] * vertgain / 25 / 256 + vertoffset - vertposition * vertgain | y = data[i] * vertgain / 25 / 256 + vertoffset - vertposition * vertgain | ||
x = (i - (reclength*trigpos/100)) * horizscaleperpoint | x = (i - (reclength*trigpos/100)) * horizscaleperpoint | ||
== Resources == | |||
* [https://download.tek.com/manual/Waveform-File-Format-Manual-077022011.pdf Tektronix instructions] on the WFM file format | |||
* [https://github.com/MorganAskins/tektronix_wfmreader github Morgan Askins wfm reader] | |||
* [https://github.com/vongostev/tekwfm2 github Pavel Gostev wfm2 reader] | |||
[[Category:File format]] | [[Category:File format]] |
Latest revision as of 19:38, 2 June 2022
The Tektronix WFM format is a special format used by the Tektronix TDS series scopes. It uses less space than the CSV/Matlab export functions provided.
Header
TODO The table may need an update, Tektronix documents at least three file format versions, with some fields added and others changing data types in more recent versions.
Bytes | Field |
---|---|
0 - 1 | Magic bytes |
2 - 5 | Format code |
6 | Length of data, unsigned integer (so far always 4) |
7 - 11 | Number of bytes following |
12 - 15 | Another magic |
16-20 | Length of header + data (big endian, signed integer) |
21 - 28 | Vertical position (double) |
29 - 36 | Horizontal position (double) |
37 - 43 | Vertical zoom (double) |
44 - 51 | Horizontal zoom (double) |
52 - 53 | Acquisition mode (signed integer, currently unknown) |
54 - 55 | Min max (unknown) |
56 - 63 | Duration in seconds (double) |
63 - 64 | Vertical coupling (signed integer) |
65 - 66 | Horizontal unit (signed integer) |
67 - 74 | Horizontal time per point (double) |
75 - 76 | Vertical unit (signed integer) |
77 - 84 | Vertical offset (double) |
85 - 92 | Vertical position (double) |
93 - 100 | Vertical gain (double) |
101 - 105 | Record length (unsigned integer) |
106 - 107 | Trigger position (signed integer), possibly in points |
108 - 109 | Header version (signed integer) |
110 - 111 | Sampling density (??) (signed integer) |
112 - 113 | Burst segment length (signed integer) |
114 - 115 | Waveform source (signed integer) |
116 - 121 | 3x Video 1 (signed integer) |
122 - 129 | Video 2 (double) |
130 - 131 | Video 3 (signed integer) |
131 - 163 | Preamble (???) |
Data
Waveform data. Length of this segment is stored in Record length.
To reconstruct the waveform use the following:
y = data[i] * vertgain / 25 / 256 + vertoffset - vertposition * vertgain x = (i - (reclength*trigpos/100)) * horizscaleperpoint
Resources
- Tektronix instructions on the WFM file format
- github Morgan Askins wfm reader
- github Pavel Gostev wfm2 reader