Site Search:

WinDaq™ Direct Waveform Browser Manual Rev 2.5.5

Welcome to the WinDaq Direct Waveform Browser. This application allows you to load, view, and mathematically analyze massive data acquisition files directly in your web browser without installing any software. All data processing happens securely and locally on your own machine.

1. Loading Data Files

You can load files into the browser in two ways:

  • Drag and Drop: Drag a supported data file from your computer and drop it anywhere over the gray channel display area. A drop always loads the file (or file set — see below) as the primary, even if one is already loaded, replacing it (and clearing any active comparisons) — the same as using Choose File.
  • File Browser: Click the Choose File button in the top-left corner of the toolbar — ctrl/shift-click to select more than one file at once, the same way multi-select works anywhere else on your system.

Loading more than one file at once (drag-select or ctrl/shift-click them together) is for exactly two situations:

  • A split WDH recording — NewWinDaq automatically names a rollover-split recording file.wdh, file_1.wdh, file_2.wdh, etc. Select/drop all the pieces together and they're stitched into ONE continuous timeline you can scrub, zoom, and jump across exactly like a single file — nothing about navigating it changes. Every piece must share the exact same channel configuration (channel count, ranges, units); if any piece disagrees, nothing is loaded and an error names which files don't match, rather than silently combining a set that doesn't actually belong together. The pieces don't need to be selected in order — they're automatically sorted by each file's own recorded start time.
  • A file together with its matching .wdx GPS side file (same name, .wdx extension — e.g. test.wdh + test.wdx) — see Section 7, GPS Map. This works for a single WDH file, a CSV file, or each piece of a split WDH recording (select each piece's own matching .wdx alongside it, e.g. file.wdh + file_1.wdh + file.wdx + file_1.wdx).

Supported File Types: .wdq, .wdh, .whc, .wdc, Graphtec .gbd, and standard text .csv / .txt formats.

CSV & Text File Guidelines

The browser includes a smart parser for tabular text data. To ensure successful loading, your file must meet these criteria:

  • Header Row: The file must contain a header row. If the first column is named "Time" or "Date", timestamps will be read directly. If missing, timestamps are synthetically derived.
  • Units & Annotations: You can embed measurement units and channel names by placing them in parentheses within the header row or in a `# Configuration:` metadata line (e.g., CH1 (+/- 500mV, mV)).
  • Gap Markers: The parser natively supports continuous gaps. If it detects a comment like # --- Resumed at 2026-05-14T13:27:31Z ---, it will automatically resynchronize the timeline and add it to the Event Marker dropdown.

2. Navigating the Waveform

  • Zooming: Use the Zoom In slider. Moving it to the right zooms in to see individual data points (circles explicitly appear when points are visually separated by more than 5 pixels on your screen).
  • Panning: Drag the Timeline Scroll slider (located below the chart) left or right to move manually through time.
  • Swipe / Wipe Auto-Scroll: Quickly wipe your finger (or click-and-drag your mouse) left or right across the chart to trigger auto-playback. Wiping left plays the waveform forward, and wiping right plays it backward. Wiping multiple times in the same direction accelerates the playback speed. Tap anywhere on the chart to stop instantly.
  • Keyboard Auto-Scroll: Press Alt + Right Arrow or Alt + Left Arrow on your keyboard to smoothly auto-play the file.
  • Scrubbing (Push-to-Activate): To view exact values, click and hold your mouse button down over the chart, then drag horizontally to actively scan readouts across data points.

3. Channel Management & Statistics

By default, all recorded analog channels are displayed.

  • Toggle Visibility: Click the checkbox next to a channel's name to hide or show it.
  • Run Statistics: Click directly on the underlined Channel Name (e.g., CH1). This opens a live statistics panel displaying metrics like Area (Integral), RMS, Standard Deviation, and Trend Slope for the data currently visible on your screen.
  • Export Stats: Click the blue Copy button on the statistics window to instantly copy a tab-delimited summary perfectly formatted for pasting into Excel.
  • Trace Colors: Click the small color square next to a channel's name to pick its own trace color — it's used everywhere that channel appears (the main chart, FFT plot, Statistics header, and the cursor readout). Your choice is remembered automatically and restored the next time you open this page, even for a different file. A ↺ icon appears next to a channel once you've customized it — click that to go back to its default color.

4. Display Modes & Y-Axis Scaling

The browser offers two distinct ways to display your data: Standard (Overlaid) and Separate Waveforms (Oscilloscope Mode).

Standard Mode (Overlaid)

  • Manual Scaling: Enter your desired minimum and maximum values in the Y-Axis Scale inputs and click Apply. All traces share this global scale.
  • Return to Auto: Click the Auto button to force the Y-Axis to perfectly hug the highest and lowest data points currently on your screen — this also clears any per-channel adjustment made with Alt+click below.
  • Adjusting one channel individually: Overlaid channels share a single Y-axis, so there's no band to scroll/drag on the way there is in Separate Waveforms mode. Instead, Alt+click a channel's name (in the Display list) to select it — it highlights in yellow. With a channel selected, scroll the mouse wheel anywhere over the chart to zoom that channel's amplitude in or out (around its own center line), and click-and-drag vertically to nudge it up or down — both leave every other channel untouched. Alt+click the same name again to deselect it. This only changes where/how big the trace is drawn; the numeric readout always shows the real measured value.

Separate Waveforms (Oscilloscope Mode)

Check the Separate Waveforms box to split the chart into isolated horizontal bands, separated by light gray dividers. WinDaq files will automatically scale to their hardware ADC limits.

  • Bank Size & Navigation: Because a screen can get cluttered, you can limit the display to 8, 4, or 2 Channels at a time using the dropdown. Use the Prev/Next Bank buttons to instantly page through large channel counts.
  • Mouse Wheel Scaling: Hover your mouse over any specific channel's band and scroll your mouse wheel to independently zoom that specific channel's Y-Axis limits.
  • Vertical Panning: Click and drag your mouse vertically inside a band to pan the Y-offset of that specific waveform up or down.

5. Event Markers

If your data file contains embedded event markers, time gaps, or comments, the Event Marker dropdown will activate. Selecting an event will instantly jump your timeline and drop the cursor precisely on the event marker.

6. Data Extraction, Time Markers, FFT & XY Plots

Image Extraction

Right-click anywhere on the waveform chart and select Copy Image to Clipboard to copy a clean .png screenshot of the view.

Time Markers

Press the F4 key (or right-click the chart / use the mobile toolbar) to Set a Time Marker. This drops a vertical green dashed line at your cursor position. You can press F4 again to Update or Remove the marker.

Exporting Data

Once a Time Marker is set, right-click the chart (or use the mobile toolbar) to extract all the raw data between the green marker and your current cursor position. You can choose to:

  • Copy to Clipboard: Instantly copy as tab-delimited text.
  • Download as CSV: Save as a standard comma-separated file.
  • Download as Excel: Save as a native .xlsx spreadsheet.
  • Download as SQL: Save as a structured database insertion script.

Note: When downloading, you will be prompted to enter a custom filename. If you leave out the file extension, the system will append it automatically.

Live FFT

Click the FFT button in the top toolbar to reveal a draggable Base-10 Logarithmic Fast Fourier Transform window.

Live XY Plot

Click the XY button to open a draggable XY scatter plot. It automatically graphs the first visible channel against the second visible channel.

7. GPS Map

Position data comes from either of two sources — a loaded CSV/TXT file with a column literally named GPS holding "lat, lon" or "lat, lon, alt" per row, OR a .wdx side file (same name as the primary, .wdx extension) selected/dropped alongside a WDH or CSV file — see Section 1 for how to load one. Either way, a Map button appears in the toolbar; click it to open a draggable map showing the full recorded path, with a dot that tracks the current scrub/hover position — the same position shown in the live value readout. The sync works both ways: drag the dot (or just click anywhere on the map) to jump the waveform to the nearest recorded GPS point instead. A scan with no GPS fix at that moment (the receiver commonly updates slower than the other channels) holds the last known position rather than showing a gap. GPS position is never plotted as a waveform itself.

The Map button requires two things to appear at all:
  • An internet connection — the map's street/satellite imagery is fetched live.
  • This page opened from a real web server, not as a local file on your own computer (double-clicking it, or a file:// address in the URL bar).
If either isn't true, the button simply stays hidden rather than showing a broken map.

A split WDH recording (Section 1) can have its route span every piece continuously — select each piece's own matching .wdx alongside it and the combined route covers the whole stitched timeline, same as the waveform itself.

Elevation Profile

If the GPS data includes an altitude value, a small elevation-vs-distance chart appears below the map automatically. Its X-axis is cumulative distance traveled along the route, not time, so stationary stretches don't stretch the profile out. A marker tracks the same scrub/map position live, and — just like the map itself — clicking or dragging anywhere on the profile jumps the waveform to the nearest recorded point. 2D-only GPS (no altitude) simply omits this chart.

8. Calculated Math Channels (DSP)

You can create a custom, real-time calculated channel (displayed as a solid black line) by entering an equation in the Math (CHx) input box. You can also specify a custom unit label using the small Unit text box next to it. Click Apply to generate the waveform.

Time-Domain Variable Syntax:
  • CH1 or CH1(T) evaluates the channel at the current time step.
  • CH1(T-X) looks backward in time by 'X' scans.
Example (Derivative): CH1(T) - CH1(T-1)

Moving Average Syntax:
  • AVG(CHx, N) creates a rolling average over the last 'N' data points.
Example (100-Point Smoothing): AVG(CH1, 100)

Digital Filters (Rev 2 or higher)

Four built-in IIR digital filters are available. All filter coefficients are automatically computed from the file's actual sample rate, so the specified frequencies are always exact regardless of how the data was recorded.

LP(CHx, cutoffHz) — Lowpass filter
Passes signals below the cutoff frequency; attenuates everything above it. 4th-order Butterworth (two cascaded biquads): maximally flat passband, −3 dB at cutoffHz, rolls off at −80 dB/decade (24 dB/octave).
Example: LP(CH1, 50) — remove noise above 50 Hz from CH1
HP(CHx, cutoffHz) — Highpass filter
Passes signals above the cutoff frequency; blocks DC bias and slow drift. Same 4th-order Butterworth design, −3 dB at cutoffHz, −80 dB/decade rolloff.
Example: HP(CH2, 0.5) — remove DC offset and drift below 0.5 Hz
BP(CHx, centerHz, bandwidthHz) — Bandpass filter
Passes only the frequency band centered on centerHz with a 3 dB bandwidth of bandwidthHz. 2nd-order biquad design. Q = center / bandwidth — narrower bandwidth = higher Q = steeper rolloff.
Example: BP(CH1, 60, 5) — isolate a 5 Hz band around 60 Hz (Q = 12)
NOTCH(CHx, centerHz, bandwidthHz) — Band-reject (notch) filter
Deeply attenuates a narrow band centered on centerHz while passing everything else at full gain. Same 2nd-order biquad design. Ideal for removing a specific interference frequency such as 60 Hz power-line hum.
Example: NOTCH(CH2, 60, 10) — cancel 60 Hz hum with a 10 Hz-wide notch (Q = 6)
Example: NOTCH(CH1, 50, 5) — cancel 50 Hz mains noise (Europe/Asia)

Filters can be combined in a single expression. Each unique (channel, frequency) combination maintains independent state:

LP(CH1, 100) - LP(CH1, 10)  — manual bandpass: pass 10–100 Hz band
NOTCH(CH1, 60, 5) * 2  — notch result scaled by 2
LP(CH1, 50) + LP(CH2, 50)  — independently filtered sum of two channels

Frequency & RMS Measurement

These functions analyze the currently displayed window and return a single scalar value repeated across the plot — useful for displaying a live measurement alongside the waveform.

FREQ(CHx) or FREQ(CHx, level) — Frequency measurement
Counts upward zero-crossings of the signal over the visible window and converts to Hz. With no level specified, the crossing threshold defaults to the signal's own mid-point (min + max) / 2. Specify level to use a fixed threshold.
Example: FREQ(CH1) — measure the dominant frequency of CH1
Example: FREQ(CH1, 0) — count zero-crossings explicitly at 0 V
RMS(CHx) or RMS(CHx, level) — True RMS measurement
Computes the root-mean-square value of the signal over complete cycles within the visible window. Cycle boundaries are detected using the same upward-crossing threshold as FREQ. If fewer than two crossings are found, RMS is computed over the full window.
Example: RMS(CH1) — compute true RMS of CH1
Example: RMS(CH2, 0) — RMS aligned to zero-crossing cycles

Interactive Frequency Response

Use the controls below to preview how each filter will behave at your recording's sample rate. Adjust the sample rate to match your file, then tune the frequency parameters.

LP — Lowpass
HP — Highpass
BP — Bandpass
NOTCH — Band-reject

Scientific Math Functions: You can also use standard JavaScript Math operations. You do not need to type "Math.", just use the function name directly:

abs(x) — Absolute value
sqrt(x) — Square root
sin(x) — Sine (radians)
cos(x) — Cosine (radians)
tan(x) — Tangent (radians)
log(x) — Natural logarithm (ln)
log10(x) — Base-10 logarithm
exp(x) — e^x
pow(x, y) — x to the power of y
round(x) — Round to nearest integer
ceil(x) — Round up
floor(x) — Round down
PI — Constant π (~3.14159)
E — Euler's number (~2.718)

Complex combination example: AVG(abs(CH1(T) - CH2(T)), 10) * sqrt(CH3)