Page 1
1
CIS 632/EEC 687/EEC 787 Fall 2016 Mobile Computing
Design Project Final Report 7
Of
BioRadio
Version 1
Project Group Name:
EPIC
Project Members:
Qing Wu
Himanshu Sharma
Coordinator:
Dr. Chansu Yu
Dept. Of Electrical Engineering and Computer Science
2016-12-14
Page 2
2
1. Introduction
Electroencephalographic (EEG) technique is well established and widely used in the
field of clinical and neuroscience. Digital signal process is widely utilized in EEG for
signal analysis in both time and frequency domains for several biomedical applications,
such as cognitive analysis, seizure detection, and so on. In this paper, we applied a
wearable biomedical device by utilizing BioRadio 150 set from Great Lakes
NeuroTechnologies Company as a data transmitter [1], and a Cleveland State University
EEG cap (CEC) for four-channel EEG data acquisition with gold cup electrode sensors
(Figure 1). The BioRadio 150 is a wireless data acquisition system capable of recording,
displaying, and analyzing physiological signals in real time [1]. Furthermore, we
implemented a data acquisition and processing platform (named as “BioRadio EPIC”) to
analyze real-time human EEG feed-backs from CEC, as an entertainment application for
movie trailer quality evaluation and research purpose for human learning process (Figure
3).
(a) (b) (c) (d)
Figure 1 BioRadio set 150 of User Unit (a) and USB Receiver (b); Cleveland State University
EEG cap (CEC), which is capable of 4 different EEG channels data acquisition: the outside look
of CEC (c), the inner side of CEC which attaches 4 gold cups electrodes EEG sensors (d)
2. Methods
Our work can be divided into two parts, where one is for some functional EEG tests
and the other stands for a structural platform implementation.
In the functional part, we tested several simple/typical human gestures and facial
movements. In this section, we mainly used BioCapture software offered by Great Lakes
NeuroTechnologies Company (i.e. for EEG data acquisition once captured by BioRadio
devices [2]). First, we tried the old set BioRadio150 with 2 attachments on human’s
forehead, known as Fp1 and Fp2 shown in Figure 2. We developed our experiments up
to 4 channels (i.e. Fp1, Fp2, O1, O2 shown in Figure 2) using the new BioRadio set. Later
on, we tried our CEC with volunteers while they were watching different types of movies.
In the structure platform implementation, we developed our own user-defined
interface for CEC as 4 channel EEG data acquisition application. We also applied several
EEG analysis algorithms both in time and frequency domains to develop software
functions in Matlab. Finally, we integrated both Data Acquisition and Analysis Platform
Page 3
3
together called “BioRadio EPIC” demo for this project.
(a) (b)
Figure 2 System of EEG Electrode Placement: Top Down View (a), and Left Side View (b)
2.1. Subjects
Eight young subjects (five men and three woman all over 21 years) with a mean age
of 28 participated in the tests. All participants voluntarily joined in the research. Each
signed a consent form and did a short survey after tests. Table 1 provides an overview
about the recorded tests under certain task guidelines.
EEG
Channels
Electrode
Placement
Testing Tasks with Set No.
(BioRadio Set 150/New Set)
Sensors
Applied
2 Fp1, Fp2 Set 1: Eye blinks; Breath; Hand
movement
(BioRadio Set 150)
Galvanic Skin
Response (GSR)
2
Fp1, Fp2
Set 2: Eye blinks; Regular phone
speaking; Watch different types of
movies; (BioRadio New Set)
Advanced
Medical Cables
(AMC)
4 Fp1, Fp2, O1, O2 Set 3: Eye blinks; Watch different types
of movies. (BioRadio New Set)
Gold Cups
Electrode (GCE)
4 Fp1, Fp2, O1, O2 Set 4: Watch a real funny movie
(BioRadio New Set)
CSU EEG Cap
(CEC)
4 Fp1, Fp2, O1, O2 Set 5: Watch two funny movie trailer
(BioRadio Set 150)
CSU EEG Cap
(CEC)
4 Fp1, Fp2, O1, O2 Set 6: Watch two funny movie trailer
(BioRadio Set 150)
CSU EEG Cap
(CEC)
Table 1 EEG Signal Recorded related to Diversity of Tasks
2.2. Electroencephalographic (EEG) data acquisition
EEG is an electrophysiological monitoring method to record electrical activity of the
brain. It is typically noninvasive, with the electrodes placed along the scalp. EEG usually
Page 4
4
measures voltage fluctuations resulting from ionic current within the neurons of the brain.
In this project, we used BioRadio 150, shown as in Figure 1 and Table 1. It is a wireless
12-channel lightweight programmable monitor (RF Band: 2.4-2.484 GHz. 2-Way link)
for viewing and recording physiological signals, which contains four functional parts:
user unit, sensors, USB receiver, snap electrodes. In addition, we tested the new BioRadio
for only one-week trailer. It is an updated wireless data acquisition system based on the
old set 150 [1]. It can also be configured with a variety of sensors to acquire physiological
signals. Wireless streaming and recording is done over a Bluetooth 2.4 to 2.484 GHz band
and approximately 100 feet range. The main functionality of transferring data (from User
Unit to Computer Unit to PC) is handled in the background by the device object, which
buffers the acquired data for retrieval by the calling application [1].
Data from the BioRadio is collected periodically and arrives as a stream of data
points, interleaved by input. In general, these data points can be acquired either un-scaled
analog-to-digital counts, 2-byte WORDs, or as double-precision floating-point values,
scaled to the device. Our proposed data acquisition process and analysis platform is
shown as below in Figure 3, where we implement different kinds of bio-tests on EEG (i.e.
test the electrical activity from brain) signals through these devices [5]. Details are shown
as in Table 1, using sampling frequency as 500 Hz.
Different kinds of sensors are also under tested in this project. Generally speaking,
as long as the two front leads of the sensors touch the scalp of the subjects, EEG signals
are able to be read and transferred to computer for analysis during majority of the tests.
Because hooking up to the BioRadio via touch proof connectors, the signals that we’re
looking to acquire would all be possible by way of electrodes. Among all kinds of sensors,
gold cups electrode sensor commonly offers a better conductance for measuring EEG,
even if through hair. It is made of 10 mm gold disc EEG electrodes, multi-colored, 60-
inch lead wires that are Teflon insulated and end in touch-proof connectors. It is reusable
as the other sensors [3].
For BioRadio EPIC, we implemented a user-defined interface for CEC under 4
channel data acquisition. Furthermore, we also applied EEG data analysis functions by
Matlab coding, such as figure display, filters applied, normalized energy calculated from
different frequency bands as shown in Table 2 [5].
Figure 3 BioRadio EPIC System Graph
Page 5
5
EEG Segment Frequency Band (Hz) Normal Functions Other Notes
Delta (δ) 0 - 4 Sleep Stationary
Theta (θ) 4 - 8 Idling Stationary
Alpha (α) 8 - 12 Eye movements Seizures
Beta (β) 12 - 30 Medication, Focus Drug Effect, Anxious
Gamma (γ) 30 - 70 Learning, Memory Seizures
Table 2 EEG Segments in Different Frequency Bands
2.3. EEG system and analysis tools
The human brain is a part of the central nervous system and is comprised of more
than 100 billion nerve cells. The neurons in the brain are connected to ascending and
descending tracts of nerve fibers in the spinal cord. These tracts contain the afferent
(sensory) and efferent (motor) nerves that communicate information between the brain
and the rest of the body. EEG is typically described in terms of rhythmic activity and
transients. Using different bands by frequency, we can categorize EEG signal into some
certain biological events. Basically, five major categories are used to describe EEG signal
bands, such as δ, θ, α, β, γ [6]. In table 2, we list a classic category divided by different
frequencies. This calling application, then, can display, archive, or otherwise process the
data.
Several tools are available to provide quantitative analysis of temporal and spectral
components of the EEG signal. BioCapture is applied for EEG Data acquisition. Its
related configurations are displayed as in Figure 4 and Figure 5, where we presented for
both 2 channels EEG and 4 channels EEG. Figure 6 elaborates a 4 channel-EEG data
configuration using gold cups sensors.
In addition, we also applied Matlab coding for a normalized energy summed by
different frequency bands. The power spectrum density (PSD) of a specific channel c
with sampling frequency of fs is calculated as:
where xcn represents the time domain data of channel c with N samples. Pw
c is defined to
compute the PSD of channel c signal in frequency band w = [w1, w2] as follows:
(2)
where w1 and w2 are starting and end points of the frequency band [4].
Page 6
6
(a) (b)
-
(c) (d)
Figure 4 Configuration of BioRadio set 150 (a), (b), (c) and EEG data of eye blink (d)
(a) (b)
(c) (d)
Figure 5 Configuration of new BioRadio set (a), (b), (c) using 2 channels (i.e. FP1, and
FP2) and EEG Data of movie test (d)
Page 8
8
Figure 6 Configuration of new BioRadio with Gold Cups Sensors in 4 Channels (i.e.
FP1, FP2, O1, and O2) (a), and Recording and EEG data of watching a horror movie
(b)
2.4. User Interface Design in C++ SDK of BioRadio 150
A user interface defined for subject is implemented in this chapter based on C++
SDK of BioRadio 150 device set. In this section, we will introduce the ideally GUI
representation by C#, the progresses of utilizing SDK, and final GUI demonstration in
C++. Among these processes, we also listed our challenges in software development and
related solve solutions.
Firstly, we can read the device through a C++ console application and evaluate the
data using graphical representation but in a different C# application. The following work
progressed us to make those two application in one single GUI application as our user
defined interface. We have created a demo application which can connect and can read
the device. Here the challenge is to do all the coding in C++/CLI (C++ modified for
Common Language Infrastructure) environment. It is a complete revision that aims to
simplify the older Managed C++ syntax, which is now deprecated. We were bound to use
this environment as the libraries of BioRadio 150 were created only for C++ (Figure 3 &
Figure 4). Some experiences of deploying the SDK to conquer related error reports will
be attached in Appendix.
We will display the recorded EEG data by using our own platform based on BioRadio
SDK (Figure 2). In this project, we are using C++ to capture data into a text file. Then,
we processing the text file to generate our outputs in a graphical format. Initially, to
capture the data we are using different functions which first creates an instance of bio-
radio, and then it uses FindDevices() to find the bio radio.
Page 9
9
Figure 7 BioRadio set 150 SDK Function FindDevices()
After recognizing the device StartCommunication() function is called with
development handle and port name as parameter which then starts the communication.
Figure 8 BioRadio set 150 SDK Function StartCommunication ()
If the communication was created properly then StartAcq() is called which then
start the data acquisition.
Figure 9 BioRadio set 150 SDK Function StartAcq ()
Before doing any acquisition, we use the configuration file () to call
configurations for the Bioradio, named ProgramConfig().
Figure 10 BioRadio set 150 SDK Function ProgramConfig()
After the configuration of device, actual data can be read by using one of the read
data function. Here I am using ReadScaledFastAndSlowData(), which reads fast (i.e. real
time data after every half a second) and slow data, which is kind of stable data. This stable
data is acquired 1/10 to the rate of fast data. Here we are not using Slow Data for now.
This acquisition of data is stored in an array with a fixed buffer size.
Figure 11 BioRadio set 150 SDK Function ReadScaledFastAndSlowData()
After getting data in four different text files, we process the data and spit out the
bad data. Here the bad data can be defined as any unwanted data in out text file, which
do not represent the actual data. For example, the array we used in C++ program may
have empty blocks, if not all the array was utilized while capturing data. This may result
in getting false data in text file.
Page 10
10
After processing the data, we use that data to plot in x-y coordinated in a C#
application. Here to plot this graph we are using windows form application in visual
studio 2015. Below is an example graph which states number is total samples on x-axis
and the electric analog signals on the y-axis.
Figure 12 Graphical Representation of Data Acquired by BioRadio set 150 Implemented by C#
When we first tried to implement, we started it by running the example program
provided by the manufacturers. The challenges we faced while running the example
program was only related to the configuration of system, using the correct settings in
configuration file and choosing the correct platform. Later on we planned to create a user
friendly application using C#. We invested a lot of time to make a windows form
application using C# but eventually we realized the library in SDK only support C++
platform.
Figure 13 A look at our workspace in Visual Studio C++
Page 11
11
After getting known about the libraries support to C++, we choose C++/CLR
windows form application as our platform form development as our main goal was to
create a UI based application which have buttons to start and stop the application and
graphs to display the data. The figure below shows our one the main errors, although the
fix to this problem was very easy but to figure out this it took us couple of days. The fix
was to move #include <Windows.h> to the top of program i.e. before writing anything in
code we moved this to very beginning.
Figure 14 Numbers of Error Reports
We encountered other errors such as HRESULT: 0x8000000A, this the error which
generally occur on a corrupted system. There are two option to fix this error either to
clean the system on which you are running the application or to close that window and
open it again from the solution explorer.
Figure 15 Challenges for our software development
Here below shows the Configuration file we used in our program.
Page 12
12
Figure 16 Configuration File
Here below shows the final BioRadio EPIC data acquisition platform development.
(a)
(b)
Page 13
13
(c) (d)
(e)
Figure 17 BioRadio EPIC Data Acquisition Platform designed in Starting & Searching Device
Stage (c), Device Unreachable & Exit Stage (d), and Device Connected Stage (e) based on
previous one channel EEG data Acquisition Platform (a)-(b)[5] implemented in C++
3. Experiment & Results
In Table 1, the Set No. 1 experiments (also named after “Qing’s morning exercise”)
were held with related software configurations and results shown in Figure 4b and Figure
8a. In Figure 8a, we have done tasks as below [5]:
The first (1) Watch front & think nothing with stay still;
(2) Fast eye move once & stay still;
(3) Fast eye move several times & stay still;
(4) Look right side & back in middle & stay still;
(5) Look right side & deep breath & stay still;
(6) Look right side & Fast eye move & deep breath.
In Table 1, the Set No. 1 experiments (also named as “Sharma’s EEG work
Page 14
14
experiment”) were under guidelines as below [5], shown as in Figure 8b-8c:
1. Breathing:
(1) Gently breath once& hold breath
(2) Deep breathonce& hold breath
2. Idling with hand movement:
(1) One blink of eye & hold
(2) Hand forward movement
(a) Qing’s morning exercises: (1)Watch front & think nothing with stay still; (2) Fast eye move
once & stay still; (3)Fast eye move several times & stay still; (4)Look right side & back in
middle & stay still; (5)Look right side & deep breath & stay still; (6)Look right side & Fast eye
move & deep breath
(b) Sharma’s EEG work experiment Breathing:
(1) Gently breath once & hold (2) Deep breathonce & hold
(c) Sharma’s EEG work experiment Breathing: Idling with hand movement:
(1) One blink of eye (2) Hand forward movement
Figure 18 BioRadio Set 150 Tests on 2 Channels EEG on Subjects’ Foreheads (i.e. Fp1, Fp2)
For rest testing sets in Table 1, we summarize our tasks as below.
Set 2 (7 tests in all):
Page 15
15
1. Breath smoothly, eye blink test
2. Watch Movie Trailer: Guardians of the Galaxy Vol. 2 Official Trailer
https://www.youtube.com/watch?v=wX0aiMVvnvg
3. Watch Movie Trailer in Indian Language: Befikre Official Trailer
https://www.youtube.com/watch?v=p7X7mwcEJ-w
4. Watch a kid movie: SpongeBob SquarePants(Subject never laughed)
5. Speaking in phone
6. Watch a horror Movie Trailer (1)
7. Watch a horror Movie Trailer (2)
Set 3 (4 tests in all):
1. Sit still, began a wildly hands movements, started with one time eye blinks,
rest, together with several eye blinks
2. Sit still, started with one time eye blinks, rest, together with several eye blinks
3. Watched a serial of funny movies (Subject laughed a little bit)
Set 4:
Watch a real funny movie, subject laughed loudly for a while.
Set 5:
Watch two funny movies for comparisons.
Set 4:
Watch two horror movies for comparisons.
3.1. Results
Among all the movements, a quick eye blink gives the highest amplitude impulse
signal. As we discussed above, some typical movements of the subject can be detected
by the device with some higher signal amplitude and frequency. Using the detection data,
we could propose a computer data signal analysis (DSP) platform, which could categorize
these sign movements and translated into certain instructions as control signals, as in
Figure 8a.
In Figure 8b-8c, we can see from the brain wave energy we calculated from Sharma’s
experiments, hand moving has more high frequency in EEG than breath. In the opposite
side, breath presents more low frequency EEG waves comparing to hand movement test,
shown as in Figure 6.
Page 16
16
(a) Breath Data
(a) Hand Movement Data
Figure 19 BioRadio Set 150 Tests on 2 Channels EEG on Subjects’ Foreheads (i.e. Fp1, Fp2)
Figure 20 EEG data for movie 1 analyzed by BioRadio EPIC system
Figure 20 shows the EEG data obtained and analyzed by our user-defined software,
BioRadio EPIC system. Figure 21a demonstrates that the EEG high frequency bands (i.e.
Alpha, Beta, Gamma) average energy (i.e. average in related EEG channels, such as
Avg_Fp1&Fp2=(Fp1+Fp2)/2, Avg_O1&O2=(O1+O2)/2) of movie trailer number 4 is
overall lower higher than that of movie trailer number 3. It implies that the volunteer is
under much more stress or anxiety with interactions to movie trailer 4 compares to movie
trailer 3. To point out, movie trailer 3 and 4 are horror movie type trailers, while movie 1
and 2 are as funny ones. Figure 20b demonstrates the opposite side that the volunteer
feels more relaxed to watch movie trailer 1 than movie trailer 2. Hence, we can conclude
the movie 1 is more funny than movie 2. Results match our survey/observations files (i.e.
ground truth: not show in this report).
Page 17
17
(a) Two horror movie trailers comparisons (M4 implies movie number 4)
(b) Two funny movie trailers comparisons
Figure 21 High Frequency Bands Energy (i.e. Average Normalized Energy of Fp1, Fp2)
Comparisons of EEG for different tasks by BioRadio Set 150
4. Discussions & Future Work
We have already implemented a demo program for volunteers to evaluate a movie
trailer quality by using CEC as a human EEG application system. We also invited more
volunteers for experiments on our demo platform demonstration. Our future work is to
design more metrics for EEG data analysis. Hopefully, we can extend this work to more
fields.
0 0.1 0.2 0.3 0.4 0.5 0.6
M3.Alpha
M3.Beta
M3.Gamma
P2
M4.Alpha
M4.Beta
M4.Gamma
M3.Alpha M3.Beta M3.Gamma P2 M4.Alpha M4.Beta M4.Gamma
Avg_O1&O2 0.001381504 0.002969769 0.011813668 0 0.023735348 0.043752058 0.145929464
Avg_FP1&FP2 0.000356288 0.001363035 0.214086344 0 6.06895E-05 0.000791568 0.491136073
High Frequency Bands Energy of EEG in 2 Horror Movies
M1.Alpha M1.Beta M1.Gamma P2 M2.Alpha M2.Beta M2.Gamma
Avg_O1&O2 0.000298439 0.011610946 0.474497632 0 0.01254609 0.014136495 0.026101931
Avg_FP1&FP2 4.96845E-06 9.72765E-05 0.470067544 0 0.00046958 0.002608086 0.453136535
High Frequency Bands Energy of EEG in 2 Funny Movies
Page 18
18
Acknowledgment
The authors thank Bryan Szwec and Bernard Tarver at Great Lakes
NeuroTechnologies Company for their valuable input and support.
References
[1] BioRadio, https://glneurotech.com/about-us/
[2] BioRadio 150 Software Development Kit, https://glneurotech.com/bioradio/bioradio-150/
[3] Gold Cups Sensor, https://glneurotech.com/bioradio/store/?model_number=116-0035
[4] J. Birjandtalab; M. Baran Pouyan; M. Nourani., Nonlinear dimension reduction for EEG-
based epileptic seizure detection, 2016 IEEE-EMBS
[5] Qing Wu, Himanshu Sharma, Chansu Yu, Design Project Progress Mid-term Report 3 Of
BioRadio (Version 1), 2016-10-26
[6] Electroencephalography, https://en.wikipedia.org/wiki/Electroencephalography
[7] Qing Wu, Characterization of Impulse Noise and Hazard Analysis of Impulse Noise Induced
Hearing Loss using AHAAH Modeling, 2014
Qing Wu is a PhD candidate in the Department of Electrical and
Computer Engineering at Cleveland State University. Her current
research focuses on data computation and analysis for
electroencephalogram (EEG) applications, and cloud distributed system.
Himanshu Sharma is a graduate student in the Department of
Electrical and Computer Engineering at Cleveland State University. His
current research focus is to study big data using HDFS and NoSQL
systems. His is also studying various aspects of using this NoSQL system
using cloud.
Chansu Yu is Professor and Chairman in the Department of Electrical
and Computer Engineering Cleveland State University. His general
research interests include wireless networks, sensor networks, mobile
computing, and parallel and distributed systems. He leads the Mobile
Computing Research Laboratory (MCRL) at Cleveland State University.