Waterfall (CSD) Plots with APx

Created on 2014-03-13 20:39:00

APx CSD Utility

The APx500 CSD Utility is a Windows application for making a Cumulative Spectral Decay (CSD) plot, sometimes referred to as a waterfall plot, from the measured impulse response of a loudspeaker. The utility, which runs in a small window outside the APx500 software, uses impulse response data measured with APx to calculate and plot a CSD.

To use the APx CSD utility, a matching version of the APx500 measurement software must be installed on the PC. For example, if APx500 v3.4 is being used, v3.4 of the CSD utility is also required.

The APx CSD utility also requires the SPK-RD software option to be installed on the connected APx audio analyzer. If you require a SPK-RD software option, please contact your Audio Precision sales representative.

Note: The CSD Utility will run when the APx500 software is in Demo mode. However, the only data set that can be analyzed is a sample impulse response that is built in for demonstration purposes.


To install the APx CSD Utility, run setup.exe in the installer folder. The utility application was created using LabVIEW. Therefore, the installer will also install the LabVIEW runtime engine. In addition, it will install the default APx project file used and this instruction document.

Using the Utility
The APx CSD Utility has a small user interface window that can be positioned beside the APx500 UI for convenience (Figure 1). If the corresponding version of APx is already running, the utility will work with it. If APx is not running, the utility will launch it once it is opened.

Fig 1 Figure 1. APx CSD Utility UI window.

When first run, the utility offers to load the default APx project file. This is optional; the utility works with any APx project that includes an Acoustic Response measurement, or it can convert impulse response data that has been exported from APx to CSV.

The controls and indicators on the CSD Utility main window are described below.

Item Description
Signal Path Used to select a measurement in the currently loaded APx project file.
Measurement Used to select a measurement in the currently loaded APx project file.
Help button Opens a PDF version of this instruction document.
Refresh button Used to refresh the pertinent APx settings if a change has been made in the APx project file.
Load Project button Loads a different project file.
Loaded Project File Displays the currently loaded project file.
IR Data Source Used to specify the source of the impulse response data to be analyzed: (New Acquisition, Last Acquisition or CSV file).
Start Starts the measurement and/or analysis depending on the selected IR Data Source.

The Utility automatically selects the first Acoustic Response measurement in any signal path, if one is present. Thereafter, you can use the Signal Path and Measurement controls in the Utility to select which Acoustic Response measurement in the APx500 project to use.

If you add new measurements or signal paths to the APx project after opening the utility, or if you open a different project file, use the Refresh button to refresh the utility’s Signal Path and Measurement controls. This will ensure that the Utility is in sync with the APx UI.

Use the IR Data Source button to choose the source of the measured impulse response data to be analyzed. Choices are:

Item Description
New Acquisition: Runs the measurement and analyzes the impulse response data.
Last Acquisition: Analyzes the last data set measured.
CSV File: Reads the data from an exported Impulse Response result.

Once the data source is selected, use the Start button to acquire and/or analyze the data and plot the CSD.

Initially, the specify time window dialog (Figure 2) is displayed. Tools on the graph palette, below the lower left corner of the impulse response graph, can be used to zoom and pan the graph, or to select the cursor. Once the graph has been zoomed to the desired extents, click on the button with the crosshair icon on the left of the graph palette. This will change the mouse pointer to a crosshair and will enable you to drag the cursor to the desired position. As the cursor is dragged, the value in the Time Window indicator updates to show the time window cursor position.

Fig. 2 Figure 2. The specify time window dialog.

The time window cursor is used to select the end point of the data to be analyzed (usually before any undesired reflections) and has the following restriction: it must be a minimum of 512 samples after the peak in the impulse response, to allow for an FFT length of at least 1k (1024 samples) in subsequent data processing. There is an interaction between the selected time window and subsequent FFT lengths; a larger time window allows larger FFT lengths.

The Channel control in the lower left corner of the Specify Time Window dialog can be used to select a different channel from a multi-channel data set. The Highpass Filter control can be used to specify the cutoff frequency of a high-pass filter to be applied to the impulse response before FFT processing, to reduce the effect of any low frequency noise artifacts in the signal.

Once the Specify Time Window dialog is completed, the utility calculates and plots the CSD as follows: It starts with a data set centered on the peak in the impulse response and calculates its FFT. It then creates a number of “slices” by shifting a number of samples to the right, adding zero padding to the end of the data and calculating the FFT for each slice’s data set. It then displays the analyzed data in a 2-dimensional FFT spectrum view (Figure 3) and a 3-dimensional CSD plot (Figure 4).

Fig. 3 Figure 3. Spectrum view.

Fig. 4 Figure 4. The Plot CSD window.

The controls and indicators on the CSD Plot window are described below:

Item Description
FFT Length Type Select between Maximum and Standard 2x
FFT Length Used to select the FFT acquisition length in samples when FFT Length Type = Standard 2x
Max slices Indicates the maximum number of slices that can be computed, based on FFT Length and Samples/Shift
Samples/Shift Used to specify the number of samples to be shifted per slice.
Recalculate button Used to recalculates the CSD after one or more of the above control settings have changed.
Time Window button Invokes the Specify Time Window dialog (Figure 2) so the time window can be changed.
Adjust Axes button Displays a dialog wherein the Frequency, Time and Level axes can be adjusted (Figure 5).
Export Image button Used to save an image of the CSD plot as a .png file.

Note: The CSD plot can be rotated by clicking inside the plot window and dragging the plot in the desired direction of rotation. The outline of the plot rotates with as the cursor is dragged and once the mouse button is released, the 3-dimensional plot is repainted.

To adjust any of the three axes (Level, Frequency or Time), click the Adjust Axes button to display the axis control dialog shown in Figure 5.

Fig. 5 Figure 5. Adjust axes dialog.