Before beginning, you may consult the general XDAQ Self-Test Guide and Neuropixels manual for basic procedures, including grounded-noise measurements and built-in self-tests performed in a saline bath.
Ensure that the setup is properly shielded and grounded. All shanks, as well as the external GND and REF, should be fully immersed in the saline bath, and the appropriate reference should be selected in the acquisition software.
The experimental setup is illustrated in the diagram below.
As the probe is gradually immersed in saline, the peak-to-peak amplitude decreases. This reduction reflects the grounding of noise that originates from floating conditions once the probe is placed in a conductive environment.
Onboard Signal GenerationIn the onboard waveform generation mode, sine, square, and triangle waveforms are generated directly by the BWS. The frequency and amplitude can be adjusted to verify that the signals are delivered as expected.The spectrum plugin can be used to monitor changes in frequency and power and to confirm that they correspond to the selected parameters.
External Source PlaybackIn external signal input mode, customized audio waveforms can be delivered from an external device, such as a PC or an audio player, via a 3.5 mm stereo jack cable connected to the BWS and transmitted through the saline bath.
Examples of the settings interface in Open Ephys (OE) using the Neuropixels plugin for a Neuropixels 2.0 probe are shown below.
Video 1:The Neuropixels probe is gradually immersed in a saline bath. As immersion depth increases, the signal amplitude decreases, demonstrating the reduction of noise as the probe transitions from a floating condition to a properly grounded, conductive environment.
Video 2:The onboard signal generator of the BrainWave Simulator (BWS) is used to change the output frequency. The selected frequency is confirmed by observing the corresponding peak in the power spectrum window.
Videos 3 & 4:Different waveforms generated by the BWS are demonstrated to validate system performance: a sine wave (10 Hz) to assess frequency response and gain, a square wave to test slew rate and transient response, and a triangle wave to verify signal linearity and symmetry.In simulation mode, beyond power spectrum analysis, randomly generated spikes can also be processed through a complete spike analysis pipeline, including the probe viewer, spike detection, and sorting.
Video 5:A broadband virtual signal is delivered through an external audio source. Spike-band activity is extracted using a band-pass filter, and the same analysis procedures described above can be applied to verify system performance.
Customized ephys data can be converted to a compatible audio format using MATLAB or Python for use with external signal mode.
MATLAB
% signal: your neural data (vector)
% fs: original sampling rate, e.g., 30000 Hz
audioFs = fs; % keep the original sampling rate
% Normalize the signal to [-1, 1] range (WAV requirement)
signal_norm = signal / max(abs(signal));
% Write to WAV file
audiowrite('neural_original_waveform.wav', signal_norm, audioFs);
Python (recommended for float data)
import numpy as np
import soundfile as sf
# signal: your neural data (numpy array)
# fs: original sampling rate, e.g., 30000 Hz
audio_fs = fs # keep the original sampling rate
# Normalize the signal to [-1, 1] (WAV requirement for float)
signal_norm = signal / np.max(np.abs(signal))
# Write to WAV file
sf.write('neural_original_waveform.wav', signal_norm, audio_fs)
Python (requires integer data)
from scipy.io import wavfile
import numpy as np
# signal: your neural data (numpy array)
# fs: original sampling rate, e.g., 30000 Hz
# Normalize and convert to int16
signal_int16 = np.int16(signal / np.max(np.abs(signal)) * 32767)
# Write WAV
wavfile.write('neural_original_waveform.wav', fs, signal_int16)
We also provide an example Neuropixels configuration file for the XDAQ–Open Ephys software. This example includes all required plugins in the signal chain and is fully configured for immediate use. By opening the example file, users can start signal acquisition and verify system performance using the real-time analysis functions described above. The signal chain can also be freely modified as needed. [Download here]