Recently, EventIDE has got a new feature extension for real-time signal processing. It may sound complicated, but the new features are very simple to use. For example, with a few mouse clicks, you can launch monitoring and analysing EEG channels at the background of any experimental task. This post gives an overview of the new features, but first, you may watch our demo video:
The working logic of the new extension (see the figure below) is based on two classes of elements: the elements for signal acquisition and the elements for signal processing. You would normally use these elements in pairs, combining specific hardware and chosen processing method. The signal acquisition elements read real-time signals provided by EEG amplifiers, DAQ boards or other devices and collect the data into runtime buffers.
The signal processing elements pick up the buffered signals and perform various forms of signal analysis. For example, you can use the Signal Analyzer element to apply a band-pass filter and get descriptive statistics of the resulting signal. The PSD Analyzer element calculates a power spectrum and searches for the dominant frequencies in a signal. All signal processing elements returns numerical results and generate live plots that can monitored on the status screen. Finally, you can read the raw signal values in code and implement your own processing procedures.
In order to see the new features in action, check the demo experiment attached to this post.
Other facts about the new features:
- The signal processing in EventIDE can be run at the background of an experiment, without spoiling performance and timing accuracy of the foreground task.
- The analysis and plotting procedures are optimized for a speed. For example, the Signal Analyzer element needs about only 2 ms. to process 5000 signal samples and another 8 ms. to plot them.
- You can process multiple signals from one or several devices at the same time.
Real-time signal processing can be helpful in designing experiments with a direct neurofeedback control, where you use certain signal characteristics to adjust an ongoing stimulus presentation. Check the last part in our youtube video - the stimulus presentation there is locked to a selected phase of the alpha rhythm of EEG signal.
Another possible application of signal processing would be designing of mental games and activities, in which you register bio-signals as a form of participant response.
The signal sources in EventIDE are not bound to the bio-amplifiers only. You can engage a wide range of recording devices for signal processing, e.g. eye-trackers, sensors, meters or any custom hardware.
We made out implementation for the signal processing very adaptive for further developments and extensions. If you have an idea about new processing methods or hardware, we will be glad to receive your suggestions.