DSO Data Recorder

DDR Reset

The BitScope DSO includes an integrated "DSO Data Recorder" (DDR). DDR records selected analog and logic channels to an internal buffer for immediate playback, review and comparison with newly captured data.

Most importantly it also allows captured data to be recorded to DDR Files which may be reopened by the DSO for replay or analyzed with third party numerical analysis tools such as a spreadsheet or software such as MatLab.

DSO Data Recorder Control

DDR operation is integrated with the main DSO controls, so other than choosing when to record and which file to record to, you should not need to pay it much attention.

DDR commands are available via a pop-up menu selected by right-clicking the DDR status.

The example to the left shows DDR commands available when reviewing recorded data from the internal buffer.

Other commands are available in other modes such as when recording to a file or replaying captured data.

The selection of which channels to record is automatic; if the channels are visible on the main display they will be recorded by DDR when Record or Listen commands are selected and capture is commenced.

Likewise for replay; if the DDR file or buffer has data available for the channels selected for the main display they will be replayed when Replay or Review commands are selected.

The recorder's "transport controls", that is the controls that start DDR actually recording or replaying, are the same as those used by the DSO itself; the timebase TRACE and REPEAT.

Basic Operation


DDR exists in one of four states: RECORDER (reset), PAUSED, RECORDING or REPLAYING.

The RECORDING and REPLAYING states have two "alter egos": LISTENING and REVIEWING.

DDR Reset

These are the same as RECORDING and REPLAYING except no DDR file is specified and one can flip between them at will to compare new data with previously captured data.

DDR Reset Commands

When the DSO is first started, DDR reports RECORDER, meaning "reset".

This is indicated with the word RECORDER appearing in the DDR status (as shown on the right).

In this state, three DDR commands are available; Listen, New and Open, as shown on the left.

Of these, Listen is the default and will be selected automatically if you click the DDR status.

Listen mode


Clicking the DDR status or selecting Listen from the menu puts DDR into listening mode as indicated by the word Listen which replaces RECORDER in the DDR status.

The next time TRACE or REPEAT is selected, the captured waveform and logic data is recorded to a buffer as well as displayed and the DDR status shows the word LISTEN (i.e. upper case) showing data has been recorded.

Listening mode records selected waveform and logic data to an internal circular buffer. It does not requir a DDR file and is a convenient mode to have enabled just in case "something interesting" happens. If it does, the recorded data can then be saved to a file.

Because the listen buffer is finite and circular, previously captured data frames will eventually be overwritten with new ones unless you save them to a DDR file.

DDR PAUSE Commands

Pause mode

While listening (or recording, reviewing or replaying) clicking the DDR status or selecting Pause from the menu puts DDR into pause mode.

Pause mode stops DDR from listening (or recording, reviewing or replaying).

Clicking TRACE (or REPEAT) operates the DSO as usual, but has no effect on DDR which remains idle but data previously recorded (or loaded from a file) remains loaded and available.

When paused, you can continue to listen to more data by selecting Listen from the menu or review what you have already recorded by selecting Review.


Review mode

Review means to replay previously recorded data from the DDR frame buffer. When paused, clicking the DDR status selects Review mode (indicated by the word REVIEW). Clicking it again reselects PAUSE.

In this way it is simply a matter of repeatedly clicking the DDR status to toggle between viewing previously recorded data replayed by DDR and live data newly captured by the DSO.

File Operations


Listening and reviewing analog waveforms and logic data is very useful in its own right but the main purpose of DDR is to record captured waveforms to data files for export to other analysis tools or for replay via another BitScope DSO.

When DDR is PAUSED, REVIEWING or LISTENING and has buffered data available, these data may be saved to a new file by selecting New from the menu. This opens a standard file dialog:

DDR File Dialog

By default the data is saved in the BitScope WaveData directory to a file named as you choose. If a file of that name already exists DDR will ask if you want to overwrite it.

Alternatively, if you want to append the captured data to an existing file, choose Append from the DDR menu instead of New. If an existing file is selected, the new data will not overwrite data already existing in that file. If no file of that name exists one will be created.

The standard file name extension for DDR files is .CSV but you can choose a different extension if you prefer. Note that CSV is used for a reason; DDR files are ASCII encoded as CSV formatted data files so they are (with some care) suitable for direct import into spreadsheets, databases and any other software tool capable of importing CSV files.

To open a previously recorded DDR file for replay, choose Open from the menu. The file must exist and be a suitable DDR formatted CSV file, otherwise DDR will ignore the file.

Data Recording (aka Data Logging)


In addition to saving a finite duration of previously captured data stored in the buffer to a file, it is also possible to stream captured frames continuously to an open DDR file for as long as you have disk space available for the file as it grows in size.


Record mode

Record mode is effectively "listening directly to a DDR file" except that it is not possible to review recorded data until the file is closed and reopened for replay.

It is however possible to pause a recording (by clicking status or selecting Stop from the menu) and restart it without closing the file so you can make DSO setup changes without recording the interim junk data.


Record Pause mode

Record pause mode is similar to Pause mode but allows only the resumption of recording or closing of the DDR file. The default is to resume recording so toggling between recording and paused modes is simply a matter of clicking DDR status.

When a recording is closed, all remaining data in the buffer is flushed to disk to ensure no data is lost.

Data Replay


One of the most useful features of DDR in collaborative or educational environments is its ability to replay previously recorded data to the display, even if no BitScope is connected to the PC.

With this feature it is possible to record reference waveforms and/or logic traces and distribute them to colleagues to compare with live data collected with other BitScopes. It is also possible to synthesize DDR files directly with a spreadsheet for replay via the DSO.


Replay mode

Replay mode is effectively "reviewing data directly from a DDR file" except that it is not possible to record more data until the replay file is closed and a new file opened for recording. It is however possible to pause replay (by clicking status or selecting Pause from the menu).

Replay Pause mode


Replay pause mode is similar to Pause mode but allows only the resumption of replay or closing of the DDR file. The default is to resume replay, so toggling between the replay of a data file and display of live capture data is simply a matter of clicking DDR status.

Data Format and Size


DDR records whatever channels and data formats you select for display.

Data Modes

This ensures it can open and display a file without information loss.

However, if your intention is to export data to another application you may wish to record the raw data (as captured by BitScope itself) or you may need to limit the amount data recorded per frame so it can be imported to Excel.

Display Modes

Use the data mode to choose the format of the data to be captured (and displayed). In particular choose Raw Data to record the raw data captured by BitScope but choose Decimated or Enhanced if you need a more compact encoding format.

Similarly, to maximize the amount of data recorded per frame in data modes other than Raw Data, choose the Dot/Vector or Dots display mode. These modes have twice the display (and recording) resolution of the alternative Vector display mode.

File Format and Encoding


DDR files are simply lists of data records encoded as ASCII values recorded to files in CSV format suitable for import into a spreadsheet or database (so long as certain conditions are met).

When recording, each data frame for every selected channel (both analog and logic) is appended the DDR file as a discrete CSV data record. This makes continuous data logging possible.

Metadata definitions

In addition to the capture data itself each record includes the following meta data:

  • Trigger: a sequence number identifying the trigger event that produced the record.
  • Stamp: a "time of day" time stamp recording when the record was captured.
  • Channel: the index of the channel that captured the data.
  • Index: an index identifying all records belonging to the same frame.
  • Type: the capture data type (analog, logic, decimated, filtered etc).
  • Delay: the post trigger delay applied to the capture (if any).
  • Factor: the decimation/oversample factor applied to the capture (if any).
  • Rate: the sample rate at which the data was captured.
  • Count: the number of samples captured in this record.

As all fields are ASCII encoded, it is possible to open a DDR file with a simple text editor, word processor or spreadsheet to examine it.

Using a Spreadsheet

While CSV files are standard for spreadsheets, many (including Microsoft Excel) do not take kindly to being given too much data to load, and when using DDR it is very easy to produce vast quantities of data so there's a potential problem.

Specifically, if a CSV row contains more than 256 fields (i.e. columns) Excel will refuse to load it. Similarly if it has more than 65k rows it will truncate it.

DDR File Opened with Excel

If you're using DDR to produce files for import into Excel and similar spreadsheets you will need to ensure that the data records you produce are shorted than 256 fields and that you don't attempt to load more than 65k of them.

Because DDR is designed to avoid information loss (so you can reload a file and play it), it records as many samples per frame as the display requires to display the waveforms correctly. Further, if you record raw data you potentially get every sample captured by BitScope (which can be more than 130k samples per frame per channel).

Clearly most raw data DDR files will be big and completely overwhelm most spreadsheets !

To use DDR files with Excel you must configure DDR to record fewer samples per frame. This will produce files which may be replayed via DDR but there will be some information loss so replayed waveforms will not be as precise as the originals and spectra produced from replayed data may be lower resolution.

Waveform Intuitive Display Engine (WIDE)


DDR was added to the DSO with another enhancement called Waveform Intuitive Display Engine (WIDE). WIDE replaces the old display engine to enable replay of DDR waveforms.

Unlike live capture, replaying previously recorded waveforms means you do not control how the waveform is triggered; instead this information is embedded in the recording.

Consequently, if you are comparing new waveforms with previously recorded ones the trigger setup, waveform offset and delay may be different. However, in most cases you will be interested to see both waveforms referenced to the same relative time (i.e. a common trigger point).

WIDE Display Example

DDR waveform replay (zoomed out by 2)

This is what WIDE does. It displays waveforms relative to the trigger, timebase, zoom and offset, given the waveform data that is actually available for replay.

Truncated Display

In practice, this means is that replayed waveforms may be longer or shorter than the current display duration, or they may be offset to one side or the other (or not shown at all).

This screenshot shows one example. In this case the waveform was recorded at 50uS/Div but replayed at 100uS/Div.

As a consequence, data before the left edge and after the right edge of the display as recorded is not shown upon replay.

This is because it was not recorded in the first place.

DDR records whatever is displayed on screen at the time of the recording only.

Full Capture Recording

It is, however, easy to have DDR record as much data as BitScope can capture, regardless of the displayed time duration to be used upon replay; simply choose the widest zoom and slowest timebase required to capture all the data of interest when recording.

If you need to maintain the highest time resolution (i.e. sample rate) as well, choose the largest buffer size you can and capture Raw Data. Be warned though; doing this can produce very large DDR files and they will certainly not be suitable for import into a spreadsheet.

Variable Frame Rates

Another benefit of the WIDE engine, especially when used with DDR recordings is that you can change the rate at which multi-frame captures are replayed. If for example, you recorded 200 frames over 24 hours you can replay them at whatever frame rate you like to make looking at frame-to-frame differences or transient features easier.

A related feature is that if you are using a BitScope via a slow link (e.g. a remote Network BitScope via a dial-up link) but choose a fast frame rate, WIDE ensures that already displayed (i.e. cached) waveform data is redisplayed immediately upon a relevant parameter change (such as timebase or waveform offset) and new data is then appended dynamically when it finally arrives.