Objectives: NeuroWiz is a software system to obtain neural signal from micro electrode array implanted in brain for real time processing and visualization. It is an essential tool in Brain Machine Interface application systems. Methods: Using Universal Serial Radio Protocol (USRP) interface to read raw data from USRP B210 board, we developed algorithms and exploited technologies to process huge amount of raw data, consisting 100 channels at 30k hertz. These algorithms include raw data parsing with error checking and correction, common average reference (CAR) and band-pass filtering, threshold calculation for individual channel and spike detection for all channels. We utilized advanced modern CPU multiple core technologies to adapt our algorithms for parallel processing via simultaneous multi task running to overcome the possible CPU processing speed limits, to
make it possible to run the system on moderate PC. GUI is designed in multiple views to display detail raw data, filtered data, spike train data for multiple channels, and spike waveform and detail spike train for a specific selected channel. System provides controls for viewer to manipulate the display windows, such as zooming in and zooming out of brainwaves, changing display page, saving to data file, simultaneous reading of Joystick data, etc. A replay function is implemented to simulate real-time data input with recorded data file, for system debugging or to assist the analyzer to preview and study recorded data files. In order to save data, a SSD hard disk is preferred for system to write data on it, to make sure the system runs smoothly. Results: The final system is tested on a moderate modern laptop PC with USB 3.0 port connecting USRP B210 board and ADC hardware, feed with simulation data created in the form of audio file playing on PC/headphone
outputting from audio jack. It is already used in the experiment lab to collect neural data from monkey, and will be used on locked-in human patients. Conclusions: Algorithms developed for offline neural data analysis need to be modified for real time system processing. The technics and algorithms developed in this system achieved our design goal, and can be employed to use in similar system developments in this field.