NDT.net • Aug 2004 • Vol. 9 No.08

CSSP Pulse Simulator Version 3.1
Shareware software tool for generating pulse propagation images for ultrasonic probes.

Philippe Rubbers
Corresponding Author Contact:
Email: Philippe.Rubbers@eskom.co.za

CSSP Pulse Simulator Version 3.1
pulsesimulator_v3-1.zip [7.4 MB]


Visualising how an ultrasonic pulse or wave-front propagates through a material can give valuable insight for the design of new ultrasonic inspection procedures. This visualisation can also assist in the validation of existing procedures, and the identification of problem areas. Since the late 1960's, visualisation of ultrasound has been achieved by Photo-elastic techniques. A number of commercial software packages exist, for simulating a wave front, however none of these packages have the capability of also simulating complex plane split spectrum processing.

Complex plane Split Spectrum Processing is a broadband processing technique that can be used to improve the signal to noise ratios of ultrasonic signals. The benefits of CSSP have been discussed and demonstrated in a number of published papers, however for the technique to be accepted by industry, a rigorous validation exercise is required. As shown in numerous PISC programs, validation based on subjective samples, equipment, operators and interpretation will never be conclusive, and only a mathematical proof would end controversy.

CSSP_Pulse_Sim v3.1 is a shareware software package developed for the visualisation of ultrasound signals with the intention of simulating CSSP and therefore demonstrating the capabilities of CSSP mathematically. This software tool requires the diffraction pattern of the probe/shoe/material to be loaded from file. These diffraction patterns can be generated using CSSP_Diff_Sim (version 3.3 and higher required and is available here).


The software generates images of pulses from the diffraction pattern for selected probe, shoe, material and viewing cross section settings as specified when generating the diffraction patterns with CSSP_Diff_Sim. This software allows the user to select the pulses frequency band, such that the signal characteristics of the setup under investigation can be simulated. This software displays the ultrasonic signal as well as the signal envelope, both in the form of 'A-Scans' and in the form of images. The phase difference in a selected frequency band can also be displayed such that CSSP can be evaluated. In addition to CSSP, this software also allows CSSP with truncation, and can display the resulting (or effective) wave-front.


    1. Install CSSP_Diff_Sim (ver 3.3 or higher) and CSSP_Pulse_Sim.
    2. Run CSSP_Diff_Sim to create diffraction patterns of the setup under investigation.
    3. Run CSSP_Pulse_Sim
    4. Select the frequency response of the setup using the blue cursors in the 'UT Pulse frequency response' display
    5. Select the CSSP frequencies using the red cursors.
    6. Select the CSSP truncation values using the Phase dial.
If required, a new diffraction file can be loaded by pressing the 'Load' button.


The display has three main components:

Fig. 1: Display layout

The user can set four pulse characteristics:

Fig. 2: Pulse frequency characteristics

The high and low cutoff frequencies specify the -6dB cutoff. Note that the frequency settings are limited by the settings used when generating the diffraction patterns. Refer to CSSP_Diff_Sim.doc for techniques for increasing the frequency range, or changing the frequency resolution.

The input pulse can then be created by an inverse FFT of this frequency spectrum, and is then displayed. This input pulse is normalised to 100% signal amplitude, and shifted in the time domain (depth) as per the current depth setting. In addition to the input pulse, its envelope and Hilbert transform are also displayed. The Envelope and Hilbert transform can also be hidden if required (see next section)

Fig. 3: Generated input pulse

Fig. 4: CSSP phase setting
The CSSP truncation values can be changed by either dragging the dial needles, or by typing in new values into the control box. Note that the phase is a function of , i.e. the dial ranges from 0.3 to 2 . To maintain consistency with the Eskom SPUTS system (Signal Processing Ultrasonic Testing system) the range has been limited to 0.7 to 2 .

This tab has three settings:
Amplitude: Shows the pulse propagation images, and selects the pulse depth
Settings: Shows the settings used in the creation of the diffraction patterns.
Waveforms: Shows A-Scans (reversed) extracted from the propagation images.

The amplitude tab displays the pulse propagation images in two separate display windows. The display windows are automatically sized to show the complete image as specified when creating the diffraction patterns (see CSSP_Diff_Sim). In addition to this, the position of the probe is displayed with a red block at the top of the windows, with the signal exit point marked with a vertical line on the red block. If the exit point is outside the boundaries of the window, the block changes color to black, and if the whole probe is outside the boundaries of the window, the block is not displayed at all.

Fig. 5: Pulse propagation tab: Amplitude Window controls
The window controls control the current display. The options for each dialog ring are shown in Figure 6.

Fig. 6: Window controls

Depending on the display type, the waveform representation and subsequent controls may be invalid and greyed out. For example the 'Amplitude' setting gives the total diffraction amplitude pattern. Since this is already an envelope display, the Waveform representation is greyed out. By the same token, the Truncation switch is only valid for CSSP pulse, Noise and Phase display types. Pulse position control
The depth of the pulse can be controlled using this slide. The topmost position is 0mm depth (the delay caused by the shoe is accounted for), while the bottom most position is the maximum depth possible using the current diffraction patterns. Since CSSP_Diff_Sim generates optimised diffraction patterns, this depth is the depth as specified by the probe angle and the limits of the window display. The current depth is shown in digital format below the slide. This digital display can also be edited manually.

By switching the Auto increment button, the pulse depth will increase automatically.

As the current pulse depth is changed, the pulse images as well as the pulse waveforms will be updated. Due to the large processing requirements of this package, a large diffraction file may take a few seconds to update. Merge control
This control is used to combine subsequent images. A number of merge algorithms are available:

  • Integrated: adds images (note that rectification may be required first)
  • Maximum: Combines the maximum of each image.
  • Minimum: Combines the minimum of each image (Note RF may be required)
  • None: Images are not combined. Window displays
The two windows can be controlled independently.
The colors of the windows are selected from the amplitude control, however right clicking on the color scales and moving the markers or selecting a color can also edit these settings. To save a color setup, the color record button may be pressed. Window B may now be changed to the same amplitude control to obtain the saved colors. Note that the color settings are not saved to disk.

Fig. 7: Window display A

This tab simply displays the current settings, and the settings used in creating the diffraction pattern file.

Fig. 8: Settings tab

A-Scan's resulting from a cross section of the images can be seen on this tab.
The three A-Scans show the results from different processing:
No processing
CSSP processing
CSSP with truncation.

In all three A-Scans, the original signal, its Hilbert transform and the resulting signal envelope can be displayed, as selected by the display control buttons. The cross section used represents the signal from the exit point of the probe, at an angle specified by the user in the Angle control box.
The 1st A-Scan (Pulse A-Scan) can be zoomed in, auto scaled, panned etc with the controls to the right of the display. The other two A-Scans will change to match the same settings.

Fig. 9: Waveform tab


Requires a diffraction file as input, as generated by CSSP_Diff_Sim version 3.3 or higher. (available here)
Requires extensive processing power as well as memory capacity.
Further development expected:

  • Combining of signals (multiple geometries overlaid).
  • Combining of modes (long wave and transverse wave shown together)

Please e-mail me on Philippe.Rubbers@eskom.co.za if you come across any bugs. Assistance, requests or suggestions are most welcome.


Thank you to Eskom Resources and Strategy for support funding.
Thank you to Konrad Hartmann and Manfred Johannes for our many discussions and for their insight, which has enabled this software to get this far.

© NDT.net |Top|