by alex sanford thesis submitted in partial ful llment of

84
EEG DATA COMPRESSION by Alex Sanford Thesis submitted in partial fulfillment of the requirements for the Degree of Bachelor of Computer Science with Honours Acadia University March 2012 © Alex Sanford, 2012

Upload: others

Post on 09-Jan-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: by Alex Sanford Thesis submitted in partial ful llment of

EEG DATA COMPRESSION

by

Alex Sanford

Thesis

submitted in partial fulfillment of the

requirements for the Degree of

Bachelor of Computer Science

with Honours

Acadia University

March 2012

© Alex Sanford, 2012

Page 2: by Alex Sanford Thesis submitted in partial ful llment of

This thesis by Alex Sanford

is accepted in its present form by the

School of Computer Science

as satisfying the thesis requirements for the degree of

Bachelor of Computer Science with Honours

Approved by the Thesis Supervisor

Dr. Jim Diamond Date

Approved by the Head of the Department

Dr. Danny Silver Date

Approved by the Honours Committee

Date

ii

Page 3: by Alex Sanford Thesis submitted in partial ful llment of

I, Alex Sanford, grant permission to the University Librarian at Acadia University toreproduce, loan, or distrubute copies of my thesis in microform, paper or electronicformats on a non-profit basis. I, however, retain the copyright in my thesis.

Signature of Author

Date

iii

Page 4: by Alex Sanford Thesis submitted in partial ful llment of

iv

Page 5: by Alex Sanford Thesis submitted in partial ful llment of

Contents

Abstract xi

Acknowledgments xiii

1 Introduction 1

2 Background 7

2.1 EEG Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 EEG Data Characteristics . . . . . . . . . . . . . . . . . . . . 10

2.1.2 EEG Data Capture . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2 Data Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 Compression Performance . . . . . . . . . . . . . . . . . . . . 13

2.2.2 Lossy vs. Lossless Compression . . . . . . . . . . . . . . . . . 14

Lossless Techniques . . . . . . . . . . . . . . . . . . . . . . . . 14

Lossy Techniques . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.3 Audio Compression . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.4 FLAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Predictor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Residual Encoding . . . . . . . . . . . . . . . . . . . . . . . . 20

2.3 Digital Signal Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.3.1 FIR Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3.2 Types of FIR Filters . . . . . . . . . . . . . . . . . . . . . . . 23

2.3.3 FIR Filter Design . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

v

Page 6: by Alex Sanford Thesis submitted in partial ful llment of

3 Theory and Approach 29

3.1 Converting EEG Data to Audio Data Format . . . . . . . . . . . . . 30

3.2 EEG Data Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4 Data 33

4.1 Hand Motion Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2 Real and Imagined Motion Data . . . . . . . . . . . . . . . . . . . . . 34

4.3 P300 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.4 Sleep Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5 Method and Results 39

5.1 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.1.1 Quantization . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Smallest Difference . . . . . . . . . . . . . . . . . . . . . . . . 40

Maximum Amplitude . . . . . . . . . . . . . . . . . . . . . . . 41

5.1.2 Filtering EEG Data . . . . . . . . . . . . . . . . . . . . . . . . 41

5.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.2.1 Compression of Unfiltered EEG . . . . . . . . . . . . . . . . . 43

5.2.2 Compression of Low-pass Filtered EEG . . . . . . . . . . . . . 45

5.2.3 Compression of Notch Filtered EEG . . . . . . . . . . . . . . 47

6 Conclusions and Future Work 57

6.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

A Fourier Transform 61

B Fixed Polynomial Predictor 63

C Linear Predictive Coding 67

Bibliography 69

vi

Page 7: by Alex Sanford Thesis submitted in partial ful llment of

List of Tables

5.1 Average compression ratios of unfiltered data . . . . . . . . . . . . . . 44

5.2 Average compression ratios of unfiltered data with generic compression

programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.3 Some subframe information from audio and EEG data . . . . . . . . 46

5.4 Average compression ratios of low-pass filtered data . . . . . . . . . . 47

5.5 Average compression ratios of hand motion data after notch filtering . 50

5.6 Compression performance of hand motion data with various low-pass

filters (15 Hz width and 50 dB attenuation) . . . . . . . . . . . . . . 50

5.7 Compression performance of sleep data with various low-pass filters

(15 Hz width and 50 dB attenuation) . . . . . . . . . . . . . . . . . . 53

5.8 Average compression ratios of low-pass filtered data with generic com-

pression programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.9 Average compression ratios of low-pass filtered data before and after

adding high-order fixed polynomial prediction . . . . . . . . . . . . . 53

vii

Page 8: by Alex Sanford Thesis submitted in partial ful llment of

viii

Page 9: by Alex Sanford Thesis submitted in partial ful llment of

List of Figures

1.1 One minute of EEG data . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 EEG data zoomed in to less than a second . . . . . . . . . . . . . . . 3

1.3 Recording from the Emotiv EPOC device . . . . . . . . . . . . . . . . 4

2.1 Illustration of applying PCM to a sine wave . . . . . . . . . . . . . . 8

2.2 A compound signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 The frequency components of a compound signal . . . . . . . . . . . . 10

2.4 Calculating a residual based on the original sample value and a prediction 17

2.5 Example impulse response plot . . . . . . . . . . . . . . . . . . . . . 22

2.6 Example frequency response plot . . . . . . . . . . . . . . . . . . . . 23

2.7 Frequency response of an ideal low-pass filter . . . . . . . . . . . . . . 25

2.8 Specification parameters of a low-pass filter . . . . . . . . . . . . . . . 26

4.1 Sample of hand motion data . . . . . . . . . . . . . . . . . . . . . . . 34

4.2 Sample of real and imagined motion data . . . . . . . . . . . . . . . . 36

4.3 Sample of P300 data . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.4 Sample of sleep data . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.1 Unfiltered EEG data . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.2 EEG data of Figure 5.1 with low-pass filter applied . . . . . . . . . . 43

5.3 FFT of unfiltered EEG data . . . . . . . . . . . . . . . . . . . . . . . 48

5.4 FFT of low-pass filtered EEG data . . . . . . . . . . . . . . . . . . . 49

5.5 FFT of notch filtered hand motion data . . . . . . . . . . . . . . . . . 51

5.6 FFT of hand motion data with harmonics of 50 Hz filtered . . . . . . 52

ix

Page 10: by Alex Sanford Thesis submitted in partial ful llment of

5.7 Compression ratio vs. cutoff frequency of hand motion data . . . . . . 54

5.8 Compression ratio vs. cutoff frequency of sleep data . . . . . . . . . . 55

x

Page 11: by Alex Sanford Thesis submitted in partial ful llment of

Abstract

Electroencephalography (EEG) is the recording of the brain’s electrical activity at

the scalp. EEG data is widely used by physicians and researchers for several types of

medical tests and psychological research. EEG is also very popular in the emerging

field of Brain Computer Interfaces, as evidenced by the current availability of several

consumer-level EEG recording devices.

EEG recordings can produce a lot of data. This data requires a lot of storage

space and transmission time. One solution to this problem is data compression. This

thesis presents a new approach to EEG data compression using audio compression

techniques. Digital signal filtering is used as a way of increasing the performance of

the compression at the cost of losing some information. The results are compared to

the compression results obtained when using some generic compression software.

When an appropriate filter is used, audio compression provides very good com-

pression performance for EEG data, especially data recorded at high sampling rates.

This method produced compressed EEG files which were 15–30% of the original size.

This is superior to the generic compression algorithms which produced files which

were 50–100% of the original size.

xi

Page 12: by Alex Sanford Thesis submitted in partial ful llment of

xii

Page 13: by Alex Sanford Thesis submitted in partial ful llment of

Acknowledgments

First, I would like to thank Jim Diamond for being a great supervisor and professor.

His experience and knowledge have made this research possible, and his encourage-

ment and patience has helped me to get this far. I greatly respect him as a teacher

and as a friend, and have learned more from him than I’ve learned from many others.

I would also like to thank the Faculty and Staff in the Jodrey School of Computer

Science. The friendly, personal atmosphere of the school has made my research and

education here a really great experience.

Finally, a big thank you goes out to my family and friends for being there for me

and seeing me through. Their love, understanding, and support are very valuable to

me, and I couldn’t have done this without them.

xiii

Page 14: by Alex Sanford Thesis submitted in partial ful llment of

xiv

Page 15: by Alex Sanford Thesis submitted in partial ful llment of

Chapter 1

Introduction

Electroencephalography (EEG) is the recording of the brain’s electrical activity at the

scalp. This information is useful for several applications, such as medical diagnosis,

psychological research, and increasingly, it is being used in the field of Brain Computer

Interfaces, or BCI (described further below). EEG is a popular way of recording

electrical brain activity because it is non-invasive (i.e., it doesn’t require subjects to

have surgical implants in order to collect the data).

EEG data is collected by placing electrodes on a subject’s scalp. The electrodes are

typically spread out over the head and there can be anywhere from a single electrode

to over a hundred, depending on the application. For example, the MindSet1 EEG

gaming device by Neurosky has only a single electrode, whereas the g.GAMMAsys2

EEG research device by g.tec may have up to 86. Electrodes are often placed in

standard locations across the scalp based on the “10-20” system (see page 140 of

[NL05]).

In the past, EEG data was stored by being written onto paper. The earliest

EEG devices were analog rather than digital (as mentioned in the introduction of

[Hug08]). Modern EEG, however, is recorded and stored digitally on a computer.

The data from each electrode on an EEG device is typically viewed or recorded as a

separate channel, similar to how stereo audio data is stored in a left channel and a

1http://neurosky.com/Products/MindSet.aspx2http://www.gtec.at/Products/Electrodes-and-Sensors/g.GAMMAsys-Specs-Features

1

Page 16: by Alex Sanford Thesis submitted in partial ful llment of

2 CHAPTER 1. INTRODUCTION

right channel. See Figure 1.1 for one minute of data from a single channel of EEG

and Figure 1.2 for the same data zoomed in to under one second. Also, see Figure

1.3 for a multi-channel recording from the Emotiv EPOC device3. This device has 14

channels of data corresponding to its 14 electrodes. The channels are named based

on the standard placement according to the 10-20 system. The channel names for the

EPOC, which are listed on the left hand side of the figure, are AF3, F7, F3, FC5, T7,

P7, O1, O2, P8, T8, FC6, F4, F8, and AF4. Each name specifies the location of the

corresponding electrode on the subject’s head. As can be seen, the recorded channels

are stacked vertically.

Figure 1.1: One minute of EEG data

A very interesting application of EEG technology which was mentioned above

3http://emotiv.com/store/hardware/epoc-bci/epoc-neuroheadset/

Page 17: by Alex Sanford Thesis submitted in partial ful llment of

3

Figure 1.2: EEG data zoomed in to less than a second

is BCI. A great deal of research has been done around BCI, and some affordable

consumer level products are emerging. The Emotiv EPOC device, for example, is a

simple EEG device which can be used to detect mental states, facial expressions, and

particular cognitive thoughts. For example, a game which accesses the device could

detect when a user starts to get bored and present more difficult challenges. Also, the

user could think “push” or “pull” to activate particular functions in the game, such

as opening or closing a door. The Emotiv software API has three types of detections:

• The Expressiv detections capture facial expressions, such as winks, eyebrow

position, and a smile or frown.

• The Affectiv detections capture emotional state, such as boredom, excitement,

and frustration.

Page 18: by Alex Sanford Thesis submitted in partial ful llment of

4 CHAPTER 1. INTRODUCTION

Figure 1.3: Recording from the Emotiv EPOC device

• The Cognitiv detections capture thoughts such as “push”, “pull”, “lift”, “drop”,

“left”, and “right”. These detections require the user to provide training data

to the software so it can learn the EEG patterns of the particular user.

However, BCI is not limited to games, and has also been used for such tasks as letting

paralyzed people move robotic limbs (see [Eav11]).

As mentioned above, EEG is preferred over other forms of brain data collection

because of it’s non-invasiveness. However, the electrical signal at the scalp is very

weak and the electrodes must be very sensitive in order to detect the signal. This

causes the EEG data to contain a lot of electrical “noise”, which occurs when elec-

trical activity from sources other than the brain interfere with the EEG signal in

the electrodes and in the wires. This noise includes artifacts from electronic devices,

AC power lines, and any other electrical activity which may be present. Thus, for

some applications, more invasive methods such as electrocorticography (ECoG) are

preferred. ECoG involves surgically placing electrodes just inside the skull, but not

Page 19: by Alex Sanford Thesis submitted in partial ful llment of

5

touching the brain matter itself. This decreases the amount of interference and thus

the level of noise, giving a much cleaner signal. However, this is not appropriate for

applications such as consumer level BCI, because of the surgery involved.

Since EEG is so widely used, it is inevitable that problems begin to occur as

the amount of data recorded, stored, and transmitted accumulates. Some medical

procedures require EEG data to be recorded for a very long period of time, such as

24 hours. Even with just a single electrode, this could generate from 15 MB to over

400 MB of data, depending on the required quality of the recording. This means that

a lot of disk space is required to store it, and transmitting it to others can take a

long time. Furthermore, there may be several electrodes, several patients, and several

trials of each. If each electrode for each trial of each patient stores 15–400 MB of

data, the size of the data can increase dramatically.

One solution to this problem is to employ data compression. Data compression

is the art and science of representing data in a compact form. In the context of

computing, this means representing, storing, or transmitting an object, such as a

file or message, using fewer bits than the usual representation. This has several

widespread practical uses which computer users see every day. For example, image,

video, and audio data are seldom stored or transferred uncompressed because doing

so would take a great deal of storage space and time. Another example of compression

is “zipping” a directory. Zipping is a common action which involves archiving the

contents of the directory into a single file and then compressing the resulting file. Data

compression is a very common method for solving the problem of managing very large

collections of data. Thus, one way to deal with increasing storage requirements and

lengthy transmission times of EEG data is to compress it.

This thesis explores the problems associated with compressing EEG data, develops

a novel approach to solve this problem, and presents the results of applying this

solution to actual EEG data. The next chapter presents some required background

material.

Page 20: by Alex Sanford Thesis submitted in partial ful llment of

6 CHAPTER 1. INTRODUCTION

Page 21: by Alex Sanford Thesis submitted in partial ful llment of

Chapter 2

Background

This chapter will provide the necessary background in the areas of EEG, data com-

pression and digital signal filtering.

2.1 EEG Details

EEG signals are typically stored in a computer using Pulse Code Modulation (PCM).

PCM is a technique which is used in many applications for producing a digital repre-

sentation of an analog signal. The analog signal is analyzed at regular intervals and

the magnitude of the signal at each of the points is converted to an integer. This is

done by applying a linear mapping to the analog value and then rounding the result

to the nearest integer. The linear mapping is constructed such that it converts all

real-valued data in some desired range to integers in a range which can be represented

by some predetermined number of bits, such as 16 (i.e., two bytes). The resulting

integers are called samples, and the number of samples which are recorded per second

is called the sampling rate. The sampling rate is usually expressed in units of Hz,

which is equal to the number of samples per second. These samples provide a close

approximation to the analog signal. Hardware components which perform the detec-

tion of analog signal levels and convert them into integers are called analog-to-digital

(A/D) converters.

See Figure 2.1 for an illustration of PCM applied to a portion of a sine wave.

7

Page 22: by Alex Sanford Thesis submitted in partial ful llment of

8 CHAPTER 2. BACKGROUND

In this illustration, the range of the sine wave is −7 to 7, so no linear mapping is

necessary if 4-bit signed integers are to be used, as in this case. Each tick on the

horizontal axis represents the time when a sample is taken. Each time a sample

is taken, the value of the sine wave at that point is determined. This is shown in

Figure 2.1 for the first five points (starting at sample x = 1). Afterward, these values

are rounded to the nearest integer. The first five integer sample values would be 2,

4, 5, 6, and 7.

Figure 2.1: Illustration of applying PCM to a sine wave

Any analog or digital signal, including EEG, can be analyzed in the time domain or

the frequency domain. The time domain represents the signal as a varying magnitude

of some measurement (such as voltage) over time. This is how signals are often

viewed. However, in some cases, it is more practical to study or discuss signals in

Page 23: by Alex Sanford Thesis submitted in partial ful llment of

2.1. EEG DETAILS 9

the frequency domain. Fourier analysis is a well-studied subject area which treats

all signals as a sum of sinusoids at various frequencies and magnitudes. In practical

terms, a signal can be broken into several components at various frequencies, where

each component has its own magnitude. These components are called frequency

components. Figure 2.2 shows an example of a compound signal which is made up of

the frequency components shown in Figure 2.3. All frequency components in a digital

signal with a given sampling rate fs have frequency strictly less than fs/2 (according

to the Nyquist Sampling Theorem; see Appendix A).

Figure 2.2: A compound signal

Page 24: by Alex Sanford Thesis submitted in partial ful llment of

10 CHAPTER 2. BACKGROUND

Figure 2.3: The frequency components of a compound signal

2.1.1 EEG Data Characteristics

Some characteristics of EEG signals are linked to particular activities of the brain.

For example, the EEG signal from a given subject who is sleeping will be different

than the EEG signal of the same subject while trying to solve a math problem (the

discussion here is limited to human subjects). The frequency components of EEG

data are typically characterized into the following frequency ranges:

• Delta waves are in the frequency range 0–4 Hz. They are dominant when the

subject is sleeping.

• Theta waves are in the range 4–8 Hz. They are typically dominant when the

subject is drowsy or meditating.

Page 25: by Alex Sanford Thesis submitted in partial ful llment of

2.1. EEG DETAILS 11

• Alpha waves are in the range 8–13 Hz. They are dominant when the subject

is relaxing, and there are also some characteristic patterns in this range which

emerge over the sensorimotor cortex (the part of the brain responsible for phys-

ical movement) when the subject moves part of their body, such as an arm.

• Beta waves are in the range 13–30 Hz. They are associated both with physical

movement and concentration.

• Gamma waves are in the range 30–100 Hz and are believed to be associated

with particular cognitive or motor functions.

These definitions are widely used among EEG researchers, although the exact

frequencies may vary. See [Bio12] for a summary of Delta, Theta, Alpha, and Beta

waves. See [Hug08] for a lengthy discussion on a study of Gamma waves.

In general, medical EEG applications are limited to activity in the 0–30 Hz range.

Signals in the Gamma range have gained more research interest recently with digital

EEG capture, but haven’t gained widespread medical use. This is because early

analog EEG systems could only capture EEG data up to around 25 Hz and so Gamma

waves are not as well understood (see [Hug08]). Thus, many EEG applications do

not use them, and in most cases they can be ignored.

2.1.2 EEG Data Capture

EEG data is captured using specialized hardware, which includes an A/D converter

as well as other components. The specialized hardware includes the following (see

[GPR+03]):

• Electrodes which are placed on the subject’s head. Usually a conductive gel

or liquid is applied to the electrodes to facilitate the detection of the electrical

signals.

• An amplifier which boosts the weak electrical signals from the scalp making it

possible to detect them. It is extremely important to have protective circuitry

at this stage, since a fault could apply a direct electrical shock to the subject’s

head and brain, which could have severe consequences.

Page 26: by Alex Sanford Thesis submitted in partial ful llment of

12 CHAPTER 2. BACKGROUND

• An A/D converter which converts the EEG data to integer samples.

• A recording device, which is usually a computer. The integer samples are stored

and/or viewed on this device.

As mentioned above, A/D converters convert the real-valued voltages into integer

samples. However, in many cases these integer samples are best interpreted by humans

by converting them into floating point values to represent an approximation of the

voltages which were detected. Thus some EEG data, especially data stored in the

MATLAB file format, is stored on the computer as floating point values, rather than

the original integer values which were generated by the A/D converter.

2.2 Data Compression

The goal of data compression is to represent an object (such as a file) using a smaller

number of bits than the usual representation. There are several techniques which are

used to compress files, most of which are application specific; for example, a com-

pression technique which works well on image files may not work well on audio files.

However, all data compression techniques follow some common theoretic principles.

Data compression is tied to the mathematical study of information theory. In-

formation theory involves the quantification of information. Usually we talk about

information being inherent in a particular event. The definition of an event is appli-

cation specific, and in the case of data compression, is usually some part of the object

we’re trying to represent. For example, a pixel in an image file which has a particular

color may be considered an event. The amount of information this pixel contains

depends on its color, as well as the color of surrounding pixels. In the study of data

compression, the goal is to assign a smaller number of bits to the representation of

an event which contains less information, and consequently a larger number of bits

to an event containing more information.

Events which occur often contain less information, since they are less “surprising”.

To illustrate this point, consider words in English containing the letter q. The letter

q is almost always followed by the letter u in English words. Thus, one method of

Page 27: by Alex Sanford Thesis submitted in partial ful llment of

2.2. DATA COMPRESSION 13

compressing English words would be to remove all u’s which occur after a q, given

the understanding that every q is followed by a u by default. Then, whenever a word

occurs which contains a q with no subsequent u, output some character after the q

which represents the fact that there is no u after the q. This is an example of using

more representation (or more bits) for events which contain more information (or are

more surprising). Thus, if we assign less bits to the more common events, we can

benefit from using a small representation for many events, even if that means we have

to use a larger representation for the less common events.

An early form of data compression which takes advantage of commonly occurring

letters in the English language is Morse Code (see page 2 of [Say00]). This code uses

short sequences for commonly used letters (such as e and a) and long sequences for

uncommon letters (such as q and j ). This allows people to send messages quickly, since

they spend little time transmitting common letters. Even though they consequently

have to spend more time to transmit uncommon letters, the gain almost always

outweighs the loss.

A similar form of data compression which is very common today is known as

Huffman coding (Chapter 3 of [Say00]). The Huffman coding algorithm encodes

a sequence of characters (such as a text file) one character at a time. Given the

probability of each character occurring in the file, an encoding is created such that

characters with a high probability are encoded using fewer bits, and characters with a

low probability are encoded using more bits. Similar to Morse Code, the gains usually

outweigh the losses, making Huffman coding a moderately good data compression

technique for most files.

2.2.1 Compression Performance

There are several standard ways to measure the performance of a compression tech-

nique. Two very common measures are the time complexity of the compression algo-

rithm, and the amount by which a file’s size decreases after compression. The latter

is usually of the most interest, although other measurements are also very important

(for example, if a compression technique compresses audio data better than any other

Page 28: by Alex Sanford Thesis submitted in partial ful llment of

14 CHAPTER 2. BACKGROUND

technique but the algorithm takes several hours to run on typical audio files, then

it is not a good technique to use in general). In this thesis, we will use the term

compression performance to mean the amount by which the file is compressed. A

high compression performance means that the compression technique performed well,

and the compressed file is much smaller than the original. There are several com-

mon ways to measure compression performance. We will use the measurement of the

compression ratio to determine the compression performance of an experiment. The

compression ratio may be defined in a number of ways, but the following definition

is used in thesis:

Compression Ratio =Compressed File Size

Original File Size

Thus a small compression ratio implies high compression performance. The com-

pression ratio will be expressed as a percentage. For a more detailed discussion of

compression performance, see Section 1.1.3 of [Say00].

2.2.2 Lossy vs. Lossless Compression

There are two fundamental categories of data compression techniques, namely “loss-

less” and “lossy” techniques. As the name implies, lossless techniques compress the

data without losing any information. However, lossy techniques involve the loss of

information in order to increase compression performance. More formally, assume a

data string S is compressed yielding an encoded string C using some compression

technique. C is then decompressed yielding the decoded string S ′. If a lossless com-

pression technique is used, the string S ′ will exactly equal the original string S. If a

lossy compression technique is used, S ′ will not be equal to S in general.

Lossless Techniques

Huffman coding, as described earlier, is an example of a lossless compression tech-

nique; i.e., when a string is encoded using Huffman coding, and the result is then

decoded, the final decoded string will be identical to the original string before it was

Page 29: by Alex Sanford Thesis submitted in partial ful llment of

2.2. DATA COMPRESSION 15

encoded. Lossless compression is important for applications where alterations in the

data can cause problems. Text compression is one such example, since changing a

character in a word can make the word meaningless or change its meaning.

Lossy Techniques

The problem with lossless techniques is that they usually do not compress the data

as well as lossy techniques. In other words, lossy techniques can usually represent

the original data using fewer bits than a lossless technique (at the cost of losing

some information). In many cases, an exact reproduction of the original data is not

necessary, as a close approximation will do. For example, some audio compression

algorithms remove sounds from the audio file which cannot be perceived by the human

ear. Since information has been removed from the file, it can be represented using a

smaller number of bits, resulting in higher compression performance. Obviously, this

is only appropriate if the purpose of the audio file is to be listened to by a human. If

the audio file contains data such as sonar signals to be inspected visually, removing

inaudible portions of the signal is not acceptable.

Lossy compression techniques raise the issue of acceptable loss vs. compression

performance. The amount of acceptable loss is very application specific (as discussed

above) and can be subjective. Some lossy compression techniques, such as JPEG

image compression and MP3 audio compression, allow the user to specify the amount

of compression necessary. The user can inspect the file after compression to ensure

that only an acceptable amount of information has been lost (e.g., an image still looks

good and is not too grainy).

2.2.3 Audio Compression

There have been various studies into the performance of data compression techniques

when applied to EEG data. An overview of some of these studies is given in Sec-

tion 2.4. A technique which is not employed in any of the mentioned studies is audio

compression. Audio data is stored as multi-channel PCM and is recorded using an

A/D converter, after converting the acoustic sound waves into an electrical signal

Page 30: by Alex Sanford Thesis submitted in partial ful llment of

16 CHAPTER 2. BACKGROUND

using hardware such as a microphone. Since EEG is stored as multi-channel PCM

data, it has several similarities with audio data. Because of these similarities, it is

possible to compress EEG data using audio compression techniques.

Many audio compression algorithms exist, both lossless and lossy. Since audio

data and EEG data are perceived differently and have different properties, it doesn’t

make sense to use lossy audio compression techniques on EEG data. As stated in

Section 2.2.2, the acceptable amount of loss is very dependent on the application.

For example, removing frequencies which are not perceivable by the human ear is

not acceptable for EEG data since most of the meaningful information is in very low

frequency waves, outside the range of human hearing. Thus the audio compression

algorithms used in this thesis will be lossless algorithms. In particular, the use of

FLAC, the Free Lossless Audio Codec (see [Coa08]), will be discussed.

Audio compression is like text compression in that the compressor attempts to

encode events which contain less information using a smaller number of bits. In

the case of text compression, the relevant events are the occurrences of particular

characters. Huffman coding determines the amount of information contained in the

character occurrence by calculating the probability of occurrence of each character.

For audio data, the relevant events are audio samples.

A common method of determining the amount of information contained in an

audio sample is to use a predictor. A predictor is a mathematical function which

predicts the expected value for a sample given some number of previous samples.

This prediction is then subtracted from the actual value of the sample being predicted.

This difference is known as the residual. See Figure 2.4 for an example of a predictor

and residual. The black data points represent the sample values and the dotted line

is the predictor. This particular predictor uses the first two black points to generate

a prediction for the third one. The prediction is shown by the white data point. The

residual of this calculation is the value of the black data point at x = 3 minus the

value of the diamond shaped data point, giving a residual value of 9− 8 = 1.

Assuming we have a good predictor, we can say that the information contained

in a sample is related to the magnitude of the residual. For sequences of samples

containing little information, in principle it should be possible to build a predictor

Page 31: by Alex Sanford Thesis submitted in partial ful llment of

2.2. DATA COMPRESSION 17

Figure 2.4: Calculating a residual based on the original sample value and a prediction

whose predictions are very close to the actual sample values, resulting in residuals

with low magnitude. For samples containing more information, the predictor may not

produce predictions which are as close to the actual values, thus yielding residuals

with larger magnitude.

After these residuals are produced they are encoded. Ideally, the encoded residuals

each take up fewer bits then their corresponding audio samples, and so the compressed

file is smaller than the original. Residuals with low magnitude (corresponding to

predictions which are very close to the sample value) can be encoded with fewer

bits than residuals with high magnitude. As with text compression, some samples

may contain more information and thus may produce residuals with higher magnitude

(resulting in a greater number of bits after encoding), but typically the gains outweigh

Page 32: by Alex Sanford Thesis submitted in partial ful llment of

18 CHAPTER 2. BACKGROUND

the losses.

2.2.4 FLAC

FLAC is a software package which uses the concepts described above (among oth-

ers) to compress audio files. The operation of FLAC includes partitioning the audio

file, building the predictors, computing the residuals, and encoding the residuals, all

of which is described in this section. This thesis uses the terminology and spelling

which is used by the author of FLAC. This terminology, at the time of this writ-

ing, is defined at http://flac.sourceforge.net/format.html#definitions and

is discussed below.

Before compression, FLAC partitions the audio file into several sections called

blocks. Each block is made up of several subblocks. There is one subblock for each

channel of audio data. Each subblock contains N consecutive samples of the corre-

sponding audio channel. The number N is configurable and is known as the blocksize.

By default, the blocksize is 4096 samples. Each subblock is encoded independently

using, in general, a different predictor with different parameters. This is beneficial

because the nature of the audio data varies throughout the data file, and also varies

between channels, making different predictors perform better on different sections of

the audio. A compressed subblock is called a subframe, and the collection of com-

pressed subblocks within a block is called a frame.

Predictor

FLAC uses one of four methods for encoding a subblock to produce a subframe:

constant, verbatim, fixed, and LPC :

• A constant subframe is one for which each sample in the original subblock had

the same value. This can be compressed trivially, and so FLAC simply stores

the value of the samples and the blocksize. No further encoding is necessary for

this type of subframe.

Page 33: by Alex Sanford Thesis submitted in partial ful llment of

2.2. DATA COMPRESSION 19

• A verbatim subframe is one for which no attempted compression algorithm de-

livered any benefit. In other words, every attempted compression algorithm

produced a representation of the subframe which used more bits than the origi-

nal subblock, rather than less. In this case, FLAC will simply store the original

data in the subframe without predicting or encoding.

• A fixed subframe is a subframe which uses a fixed polynomial predictor to com-

pute the residuals for the audio samples. Fixed polynomial predictors usually

do not perform as well as the more powerful LPC method described below, but

they require much less overhead space. The only parameter which needs to

be stored is the predictor order. For details on the mathematics behind fixed

polynomial predictors, see Appendix B.

• An LPC subframe uses linear predictive coding (LPC) as a predictor. LPC is

much more flexible than fixed polynomial prediction, and consequently often

provides better compression performance, at the cost of requiring more over-

head space. LPC requires more parameters to be stored than fixed polynomial

predictors: the order n of the predictor must be stored, and n coefficients must

also be stored. In other words, LPC usually performs better than fixed poly-

nomial predictions, but in the case that it doesn’t perform very much better,

the fixed polynomial predictor is preferred because it has less overhead space

requirements. For details on the mathematics behind LPC and how the coeffi-

cients are determined, see Appendix C.

The first thing that FLAC does with each subblock is determine which subframe

type will use the smallest number of bits. It typically tries each subframe type and

chooses the best one. In the cases of fixed and LPC subframes, it uses heuristics

to determine the predictor order which should be used. It may also choose several

predictor orders or even exhaustively search through all supported orders and try a

different predictor with each one. Once the predictor and its coefficients are chosen,

FLAC computes the residuals and encodes them.

Page 34: by Alex Sanford Thesis submitted in partial ful llment of

20 CHAPTER 2. BACKGROUND

Residual Encoding

FLAC uses Rice coding to encode the residuals after they are computed. Rice coding

involves choosing a parameter k (known as the Rice parameter) and dividing the

residual by 2k. The quotient is then encoded in unary and the remainder in binary,

along with a sign bit to represent the sign of the residual. Since the magnitude of the

remainder is a number between 0 and 2k − 1, it can be represented in binary using

k bits. Also, one bit is required to separate the unary portion and the remainder of

the residual. Thus each residual uses q + k + 2 bits where q is the quotient. FLAC

also uses heuristics for choosing the Rice parameter and can be configured to search

exhaustively through a range of numbers for the best value.

Furthermore, beyond splitting the audio data file into blocks, frames, and sub-

frames, an individual subframe is further split into partitions before encoding, where

each partition has its own Rice parameter. The number of partitions is another pa-

rameter which must be decided by FLAC, and also may be searched for exhaustively.

This is useful when the predictor performance varies throughout the subblock. When

the predictor produces large residuals, it is best to have a larger value of k to ensure

that the unary coded values of q do not become too large. However, when the pre-

dictor produces small residuals, a smaller value of k gives better compression. Thus

the number of partitions can greatly affect the compression performance.

2.3 Digital Signal Filtering

Digital signal filtering is a powerful technique for analyzing and modifying digital

signals. It is commonly used in EEG data analysis. A digital filter is often used to

attenuate components of a signal in a given frequency range or set of ranges. In the

case of this study, filtering was used as a technique for increasing compression perfor-

mance. In medical EEG analysis, any frequency components above 30 Hz are usually

considered noise (see Section 2.1.1), and there is often interference which comes from

electrical lines because of the sensitivity of the electrodes. This interference occurs

at 50 Hz or 60 Hz, depending on the electrical standards of the location where the

Page 35: by Alex Sanford Thesis submitted in partial ful llment of

2.3. DIGITAL SIGNAL FILTERING 21

data is recorded. Thus, it is usually helpful to filter out data above 30 Hz as it is

often not needed. However, filtering is a lossy process as it cannot be undone. Thus,

if it is employed to improve compression, then the compression algorithm must be

considered lossy, even if the filter output is subsequently compressed using a lossless

technique. A discussion of digital signal filtering follows.

2.3.1 FIR Filters

There are several types of digital filters, but this discussion will be limited to a

particular type of linear filter called a Finite Impulse Response (FIR) filter. A FIR

filter works by applying a linear operation called convolution (described below) to

a signal and a list of coefficients (this process is described fully in Section 5.2 of

[Lyo01]). These coefficients (called the filter coefficients) define the operation of the

filter.

Convolution is a fundamental operation on two continuous functions or two dis-

crete arrays which is used very commonly in signal processing and analysis. The

convolution of two signals x and y produces a signal x ∗ y as a result. The operation

is defined as follows:

(x ∗ y)[n] =+∞∑

m=−∞

x[m]y[n−m]

where any undefined value of x or y is assumed to be zero. This means that even

though m varies from −∞ to +∞, whenever x[m] = 0 or y[n − m] = 0 the corre-

sponding element of the sum will also be 0 so it can be ignored. Thus the sum can

be done over a finite number of nonzero elements. There exist algorithms to compute

the convolution of two signals in O (N logN) time where N is the number of samples

in the larger of the two signals.

Two important properties of a FIR filter are the impulse response and the fre-

quency response. The impulse response of the filter is the output which results from

an input signal whose first sample value is 1 and all subsequent sample values are

0 (this type of signal is called an impulse). See Figure 2.5 for a plot of an impulse

response of a particular FIR filter. Because of the nature of convolution, the impulse

Page 36: by Alex Sanford Thesis submitted in partial ful llment of

22 CHAPTER 2. BACKGROUND

response of a filter is a signal whose sample values are equal to the filter coefficients,

and so the filter coefficients are often referred to as the impulse response of the filter.

Figure 2.5: Example impulse response plot

The frequency response of a FIR filter is obtained by taking the Fourier Trans-

form (described below) of the impulse response. The Fourier Transform of a time

domain signal produces a representation of the signal in the frequency domain. See

Appendix A for details. The frequency response is typically shown as a plot and it

represents the multiplicative change in magnitude of the various frequency compo-

nents after going through the filter. For example, a frequency response with a value

of 1.0 at 5 Hz indicates that the magnitude of the 5 Hz frequency component of a

signal will be untouched by the filter (i.e., multiplied by 1.0). Similarly, a frequency

response with a value of 0.5 at 10 Hz indicates that the magnitude of the 10 Hz

Page 37: by Alex Sanford Thesis submitted in partial ful llment of

2.3. DIGITAL SIGNAL FILTERING 23

frequency component of a signal will be reduced by half after going through the fil-

ter. See Figure 2.6 for a plot of the frequency response corresponding to the impulse

response in Figure 2.5.

Figure 2.6: Example frequency response plot

2.3.2 Types of FIR Filters

Signal filters which are designed to attenuate particular frequencies and let others

pass are typically grouped into one of four categories based on which frequencies pass

through the filter unaffected (the passband), and which frequencies are attenuated

(the stopband):

• Low-pass filters allow low frequencies to pass while attenuating high frequencies.

Page 38: by Alex Sanford Thesis submitted in partial ful llment of

24 CHAPTER 2. BACKGROUND

• High-pass filters allow high frequencies to pass while attenuating low frequen-

cies.

• Band-pass filters allow frequencies within a given range to pass. All other

frequencies are attenuated.

• Band-stop filters attenuate frequencies which are within a given range. All other

frequencies are passed. A band-stop filter with a very small stopband is called

a notch filter.

In order to discuss the parameters and construction of a FIR Filter, only low-

pass filters need to be considered. This is because any other type of filter can be

constructed from a set of low-pass filters and some basic operations. For example,

to construct a high-pass filter which attenuates frequencies below 50 Hz, we can first

design a low-pass filter which attenuates frequencies above 50 Hz, filter the signal,

and subtract the filter output from the original signal. This removes all the frequency

components which would pass through the low-pass filter, thus creating a high-pass

filter. In practice, the low-pass filter and the subtraction operation are combined to

produce a new impulse response representing the desired high-pass filter. Similarly,

band-pass and band-stop filters can be created from low-pass filters.

2.3.3 FIR Filter Design

There are various parameters to consider when designing a FIR low-pass filter. Ideally,

the filter should pass all frequency components below a given cutoff frequency fc and

remove all frequency components above the cutoff. The ideal frequency response of

a low-pass filter is shown in Figure 2.7. Unfortunately, the ideal frequency response

requires an infinitely long impulse response, which is obviously not possible with a

FIR filter. Thus, a perfect low-pass filter cannot be constructed, and must instead be

approximated. For a real low-pass filter, in general, the frequency components in the

passband will not be passed completely unaffected, the frequency components in the

stopband will not be perfectly attenuated, and the passband and stopband will not be

Page 39: by Alex Sanford Thesis submitted in partial ful llment of

2.3. DIGITAL SIGNAL FILTERING 25

adjacent, but rather there will be a range of frequencies between them. The following

quantities are used to specify the extent of each of these issues for a low-pass filter:

Figure 2.7: Frequency response of an ideal low-pass filter

• The passband ripple, δp, is the amount by which the frequency response within

the passband may vary from 1. In other words, this quantity specifies how much

the frequency components in the passband will be affected by the filter.

• The stopband ripple, δs, is the amount by which the frequency response within

the stopband may vary from 0. The smaller this value is, the more attenuation

will be applied to the frequency components in the stopband.

• The stopband edge frequency, θs, is the lowest frequency in the stopband.

Page 40: by Alex Sanford Thesis submitted in partial ful llment of

26 CHAPTER 2. BACKGROUND

• The passband edge frequency, θp, is the highest frequency in the passband.

See Figure 2.8 for a graphical view of these quantities. A similar figure is given in

Section 8.2.1 of [Por97].

Two other quantities which are frequently discussed are the transition width

TW = θs − θp (also shown in Figure 2.8) and the stopband attenuation As =

−20 log(δs). The stopband attenuation is in units of decibels (dB) and a high stop-

band attenuation implies a low stopband ripple.

Figure 2.8: Specification parameters of a low-pass filter

The way to choose these parameters is very dependent on the goal. More demand-

ing filters, with a thin transition width, high stopband attenuation, and low ripple,

require more filter coefficients and consequently take more time to apply to a signal.

This may be required for very accurate automated analysis, but if the filter is going

Page 41: by Alex Sanford Thesis submitted in partial ful llment of

2.4. RELATED WORK 27

to be used, for example, by a human to visually search for particular artifacts, this

level of precision may not be required.

2.4 Related Work

Some work has been done in the field of EEG data compression by various groups. A

brief discussion of some of these studies follows.

Magotra et al. describe a process of lossless EEG compression using reversible

filters and entropy coding in [MMM96]. The EEG data is filtered with a reversible

filter, and the result from that filter is encoded using a type of entropy coding known

as arithmetic coding. They achieved compression ratios (as defined in Section 2.2.1)

of roughly 60%.

Antoniol and Tonella give a summary of several EEG compression techniques in

[AT91], as well as results. These techniques were used on EEG recorded with 8-bit

samples, rather than 16-bit samples as used in this thesis (see Chapter 4).

Ylostalo also gives an overview of compression techniques which are used for EEG

data in [Ylo99]. This paper does not include any experimental results.

Memon and Cinkler describe an experiment in [MC99] done on EEG signals ob-

tained from one-week-old piglets. Several compression methods were used, including

linear predictive coding (as used by FLAC). With the linear predictive coding method,

they were able to obtain compression ratios of roughly 50%.

It is very difficult to compare the results of these mentioned studies to the results

of this study. Some broad comparisons can be made, but in general, compression

algorithms are very data dependent. Since the data used in these studies is not

publicly available, there is no way to directly compare compression performance by

using the same data. Furthermore, differences such as the amount of pre-filtering

applied and the use of different types of EEG data (such as adult human and one-

week-old piglet) make direct comparisons meaningless.

The next chapter outlines the new approach which is taken in this thesis to com-

press EEG data.

Page 42: by Alex Sanford Thesis submitted in partial ful llment of

28 CHAPTER 2. BACKGROUND

Page 43: by Alex Sanford Thesis submitted in partial ful llment of

Chapter 3

Theory and Approach

In this thesis, a novel approach is taken to EEG data compression. First, the EEG

data sets are converted into an audio data format, and the data is then compressed us-

ing FLAC. This conversion is possible because of the similarities between the storage

techniques employed for audio and EEG data (see Section 3.1). Many of the exper-

iments used signal filtering as a tool to improve compression performance. When

this is done, the compression is considered lossy. Otherwise, it is lossless. The filters

which were used are described in Section 3.2.

As seen in Section 2.4, EEG data compression has been approached using a wide

variety of methods, but unlike audio or video data, no compression methods have

been standardized for EEG compression. Standard EEG data file formats store EEG

data uncompressed. Likewise, there is no baseline test data for EEG compression

performance, such as the Lenna image used for image compression1. Thus in this

thesis, comparisons will be made between the compression performance of FLAC

and the compression performance of some generic compression software, namely gzip,

bzip2, and lzip.

It is assumed that FLAC should perform better than generic compression software.

This is because EEG is stored as a PCM waveform. This makes it very similar to audio

data, which FLAC compresses well. The generic programs are not built specifically

for audio or EEG data, but rather are designed to work with a wide variety of data.

1http://www.lenna.org

29

Page 44: by Alex Sanford Thesis submitted in partial ful llment of

30 CHAPTER 3. THEORY AND APPROACH

3.1 Converting EEG Data to Audio Data Format

As mentioned in Section 2.2.3, audio data and EEG data are both stored on computers

using PCM. Audio data is stored in a number of different file formats, so the simple

wav format was chosen to represent EEG data. A wav file stores some information

about the audio file in a header, and subsequently stores the data samples. EEG files

store the same information, but in various formats. Thus to convert an EEG data

file to a wav data file, the header information and EEG data has to be read from

the EEG file, and then rewritten in the wav file format. This process does not alter

the EEG data, but represents it in a way which can be read and processed by tools

designed for audio data, such as FLAC.

3.2 EEG Data Filtering

As mentioned in Section 2.3, a technique which was used to increase compression

performance was filtering the EEG data. The prediction functions of FLAC tend to

compress lower frequency signals better than higher frequency signals (as discussed

in Section 5.2). Removing the high frequency signals from the EEG data improves

the performance of the predictor, thus reducing the magnitude of the residuals and

increasing compression performance.

A great deal of the high frequency noise in EEG data is electrical noise originating

from the AC electrical power in the building where the recording took place. The

recordings were done in Europe, so the AC power noise occurred at 50 Hz, in keeping

with the frequency of electrical power systems in Europe. If the recording was from

North America, the noise would have been at 60 Hz instead. It was also seen that

the harmonics of this noise were present in the signal. The harmonics of a frequency

component are all frequency components whose frequencies are an integer multiple of

that component’s frequency. For example, the harmonics of the 50 Hz noise are the

frequency components at 100 Hz, 150 Hz, 200 Hz, etc.

Several different filters were used on the EEG data sets. These include a low-pass

filter with a cutoff of 30 Hz and a notch filter to remove the 50 Hz noise. Another

Page 45: by Alex Sanford Thesis submitted in partial ful llment of

3.2. EEG DATA FILTERING 31

filtering technique which was attempted was to apply a bank of notch filters to remove

the 50 Hz noise and its harmonics. The signal was fed through each notch filter in

series in order to remove each harmonic. Finally, several low pass filters were used

with varying cutoff frequencies in order to explore the effect of filtering out varying

amounts of high frequency data.

Page 46: by Alex Sanford Thesis submitted in partial ful llment of

32 CHAPTER 3. THEORY AND APPROACH

Page 47: by Alex Sanford Thesis submitted in partial ful llment of

Chapter 4

Data

Several data files were used from various sources for experimentation. This chapter

describes the data which will be discussed in this thesis.

4.1 Hand Motion Data

This data was collected from a 21 year old, right handed male subject with no known

medical conditions. There are three data sets:

• Baseline - the subject made no movements

• Left - the subject made random movements with his left hand

• Right - the subject made random movements with his right hand

Each file contains 19 channels of data corresponding to 19 electrodes. The data

samples are stored in the MATLAB file format as 64-bit floats. The duration of the

recordings are each 128.60 seconds with a sampling rate of 500 Hz, giving 64,300

samples in each file. The data can be found (as of the time of this writing) at

http://sites.google.com/site/projectbci/, dataset 1. Download and extract

the three RAR files to get a file Subject1 1D.mat. This is the MATLAB file which

contains the data. Figure 4.1 shows a sample plot of this data.

33

Page 48: by Alex Sanford Thesis submitted in partial ful llment of

34 CHAPTER 4. DATA

Figure 4.1: Sample of hand motion data

4.2 Real and Imagined Motion Data

This data was also collected from a 21 year old, right handed male subject with no

known medical conditions. There are eighteen data files which involve the subject

performing the following activities:

• Three trials of left hand forward movement

• Three trials of left hand backward movement

• Three trials of right hand forward movement

• Three trials of right hand backward movement

Page 49: by Alex Sanford Thesis submitted in partial ful llment of

4.3. P300 DATA 35

• One trial of imagined left hand forward movement

• One trial of imagined left hand backward movement

• One trial of imagined right hand forward movement

• One trial of imagined right hand backward movement

• One trial of left leg movement

• One trial of right leg movement

Each file contains 19 channels of data corresponding to 19 electrodes. The data

samples are stored in the MATLAB file format as 64-bit floats. All data is recorded

at a sampling rate of 500 Hz. The duration of the hand movement recordings are

each 6.02 seconds giving 3008 samples. The duration of the imagined hand move-

ment recordings are each 14.08 seconds giving 7040 samples. The duration of the

leg movement recordings are each 20.10 seconds giving 10,048 samples. The data

can be found at http://sites.google.com/site/projectbci/, dataset 2. Directly

download the Subject1 2D.mat file which contains all the data. Figure 4.2 shows a

sample plot of this data.

4.3 P300 Data

This data contains various trials of data used for P300 detection. P300 is a particular

EEG waveform which occurs when the subject recognizes an infrequent task-related

stimulus, for example, when the image they are looking at on a screen disappears. The

subjects were presented with various stimuli at various points in time while remaining

still. The data consists of six subjects, each with four sessions of six trials. However,

only the first two subjects, with the first two trials of their first two sessions were

used giving a total of 8 trials.

Each file contains 34 channels of data corresponding to 34 electrodes. The data

samples are stored in the MATLAB file format as 64-bit floats. All data is recorded

at a sampling rate of 2048 Hz. The trials have varying durations between 50 and

Page 50: by Alex Sanford Thesis submitted in partial ful llment of

36 CHAPTER 4. DATA

Figure 4.2: Sample of real and imagined motion data

70 seconds (102,400 and 143,360 samples, respectively). The data can be found at

http://mmspg.epfl.ch/cms/page-58322.html. The files subject1.zip through

subject9.zip contain all the MATLAB files organized by session and trial. See

Figure 4.3 for a sample plot of this data.

4.4 Sleep Data

This data was collected from Caucasian males and females, 21–35 years old, without

any medication. The original data files contained data from various sources, such

as EOG (Electrooculography: a measure of the resting potential of the retina) and

rectal temperature which were recorded while the subject was sleeping.

Three data files corresponding to three subjects were used for this study. Two

EEG channels were extracted from each data file. The samples are stored in the EDF1

1European Data Format. See http://www.edfplus.info/

Page 51: by Alex Sanford Thesis submitted in partial ful llment of

4.4. SLEEP DATA 37

Figure 4.3: Sample of P300 data

file format as 16-bit integers. All data is recorded at a sampling rate of 100 Hz. The

three subjects were recorded for almost 24 hours. The data can be found at http:

//www.physionet.org/physiobank/database/sleep-edf/. The EDF files used in

the paper, which can be directly downloaded, are sc4012e0.rec, sc4102e0.rec, and

sc4112e0.rec. See Figure 4.4 for a sample plot of this data.

In order to work with these data files, some steps were taken to convert them into

a format which could be easily compressed. The next chapter provides the details on

the method of preparing the data files for compression, followed by a description of

the experiments which were performed and their results.

Page 52: by Alex Sanford Thesis submitted in partial ful llment of

38 CHAPTER 4. DATA

Figure 4.4: Sample of sleep data

Page 53: by Alex Sanford Thesis submitted in partial ful llment of

Chapter 5

Method and Results

This chapter will describe the compression method used for the experiments in this

thesis and the results.

5.1 Method

In order to compress the EEG data, some particular software packages were used,

including the scripting language Python, the scientific software libraries SciPy and

NumPy, and the FLAC project which performs compression of audio data. First, since

the EEG data files used for experimentation were in various formats, a standard file

format was chosen for EEG data storage. The format was provided by the NumPy

library. Several Python scripts were written to convert each EEG data file into this

format. Once the data was in this consistent format, another Python script was

written to convert the EEG data into wav files. Each EEG file produced one single

channel wav file per channel of EEG data. Often this required the data to be quantized

(see Section 5.1.1), and a Python module was written to quantize the EEG data. The

wav files were then compressed by FLAC using the flac command line tool. Several

other scripts and modules were written to apply filters and other manipulation to the

EEG data, and generate plots such as time and frequency domain plots of the EEG

data.

39

Page 54: by Alex Sanford Thesis submitted in partial ful llment of

40 CHAPTER 5. METHOD AND RESULTS

5.1.1 Quantization

Some of the EEG data used in this study used 64-bit floating point numbers to store

the EEG samples. However, FLAC only supports compression of wav files with integer

samples. Thus, in order to compress this data with FLAC, the samples had to be

converted to a format supported by FLAC, namely 16-bit integers, before being saved

into a wav file. To accomplish this, two quantization methods were tested. These are

described in the next two subsections. After quantization, it is straightforward to

create a wav file from the data.

Smallest Difference

Since the original EEG samples were integers and were converted to floating point

after being recorded (see Section 2.1.2), it was assumed that this process could be

easily reversed. To do so, one could find the smallest non-zero difference between any

two samples in the data. This difference is assumed to represent a single bit of preci-

sion in the original integer data. Thus the difference between any two samples should

be an integer multiple of this smallest difference. Therefore, using this difference and

assuming that the data is centered at zero, a linear mapping from the floating point

samples to integer samples can be constructed as follows:

Quantized Sample = round

(Floating Point Sample

Smallest Difference

)− C,

where C is chosen such that the quantized samples fit into an integer data type of the

appropriate number of bits, usually 16. Typically C is chosen so that the resulting

average value of the integer data is zero.

Unfortunately, in the data which was analyzed, the differences between sample

values were not always integer multiples of the smallest difference found. When this

occurred, some error was introduced into the quantization because the sample values

had to be rounded to the nearest integer multiple of the smallest difference. This

technique introduced errors into all of the data sets.

Page 55: by Alex Sanford Thesis submitted in partial ful llment of

5.1. METHOD 41

Maximum Amplitude

The maximum possible error which can occur for a given sample using the above

quantization approach is exactly one half the smallest difference (i.e., the divisor).

This occurs when a floating point sample value falls directly between two integer

multiples of the smallest difference, and thus maps (before rounding) to a number

exactly halfway between two integers. There was enough drift in every data file that

some samples in each one produced this maximum possible error. Because this error

appeared to be inevitable, a second quantization method was used which minimized

this error.

Since the maximum possible error for a sample is half the divisor, the error can

be minimized by minimizing the divisor. To do this, the mapping is constructed such

that the largest possible integer sample value maps to the absolute maximum value

in the floating point data. This gives the maximum granularity in the integer data

and minimizes the divisor, as required.

5.1.2 Filtering EEG Data

For each filter which was applied (described in Section 3.2), several steps were taken.

First, a script was written to read the original EEG data, construct the desired filter,

apply the filter to the data, and write the resulting data to a new file. Then, the

new filtered data file was converted into a set of wav files to be compressed by FLAC,

as described in Section 3.1. Some scripts were also written to generate plots of the

filtered data. See Figures 5.1 and 5.2 for sample plots of EEG data before and after

applying a low-pass filter at 30 Hz. Note that this low-pass filter removes the 50 Hz

noise as well as all of its harmonics. All of the scripts were implemented in Python,

using the SciPy and NumPy scientific libraries.

As was also mentioned in Section 2.3, filtering the data cannot be undone and

thus makes the compression process lossy. However, since it was determined that

the data being filtered out is typically not used by physicians, this was judged to be

acceptable in most cases (see Section 2.1.1).

Page 56: by Alex Sanford Thesis submitted in partial ful llment of

42 CHAPTER 5. METHOD AND RESULTS

Figure 5.1: Unfiltered EEG data

5.2 Results

Several experiments were done using FLAC to compress EEG data. This section

will provide a description of these experiments and their results. In each experiment,

compression was applied to all wav files in a given data set. As described in Chapter 4,

each data set consists of several data files, each of which contains several channels of

EEG data. Section 5.1 described the process of converting each of these files into a

single channel wav file. For each experiment, this set of wav files is compressed and

the compression ratio is computed for each one. Because there are many wav files in

each data set, and because the compression ratios for all wav files in a data set tended

to have compression ratios which were close to each other, the results for each data

set in each experiment will be presented in the form R± S% where R is the average

Page 57: by Alex Sanford Thesis submitted in partial ful llment of

5.2. RESULTS 43

Figure 5.2: EEG data of Figure 5.1 with low-pass filter applied

compression ratio of all the wav files in the data set, and S is the standard deviation.

As mentioned in Section 2.2.1, the compression ratio is expressed as a percentage.

5.2.1 Compression of Unfiltered EEG

The first experiment was to use FLAC to compress the EEG data sets without any

filtering. In the case of the sleep data, no quantization was required. This is because

the original data was stored as 16-bit integer samples (see Section 4.4). Thus this

experiment provided lossless compression for this data set. For the rest of the data,

this technique was close to lossless, but there was a small amount of error introduced

by quantizing the original floating point samples (see Section 5.1.1).

This experiment did not yield results as positive as expected. For typical audio

Page 58: by Alex Sanford Thesis submitted in partial ful llment of

44 CHAPTER 5. METHOD AND RESULTS

files, FLAC may give a compression ratio of 40–60% or less. However, three of the

four unfiltered EEG data sets gave an average compression ratio of roughly 70–80%

and one data set didn’t compress at all, as the average compression ratio was greater

than 100%. See Table 5.1 for details.

Data Set Compression Ratio

Hand Motion Data 82.1± 3.6%Real and Imagined

Motion Data 192.5± 41.1%P300 Data 70.5± 3.9%Sleep Data 77.7± 5.3%

Table 5.1: Average compression ratios of unfiltered data

As shown in Table 5.1, the Real and Imagined Motion Data has a compression

ratio greater than 100%, which means that after running the compression algorithm,

the output data file was larger than the original. This means that it would have been

better, from a data compression standpoint, not to attempt to compress the data at

all. Upon inspection, there is nothing apparently out of the ordinary in the EEG

data itself. However, the data file is very small. Each trial contains only 3008 or 7040

samples of data (see Section 4.2). The overhead which is written out to every FLAC

file is high enough that a file this short could never be compressed very well.

For comparison, compression was attempted using some generic data compression

programs, namely gzip, bzip2, and lzip. In most cases, at least one of these generic

compression algorithms performed better than FLAC. These results are shown in

Table 5.2. This was unexpected, since the generic programs do not take the structure

and properties of the EEG data in the wav files into consideration.

Exploration of the implementation of FLAC was done to determine why the EEG

files were not compressing well. Since FLAC is an open-source project, it was possible

to add additional logging in order to display information about each subframe as it

was produced. This implementation was done, giving information which included

the type of predictor which was used, the predictor order, the residuals which were

computed, the number of Rice partitions and the Rice parameter for each partition,

and the quotients and remainders of the residual encoding.

Page 59: by Alex Sanford Thesis submitted in partial ful llment of

5.2. RESULTS 45

Data Set Compression RatioFLAC gzip bzip2 lzip

Hand Motion Data 82.1± 3.6% 93.7± 2.5% 77.1± 4.9% 81.9± 3.9%Real and Imagined

Motion Data 192.5± 41.1% 98.7± 2.1% 93.9± 6.7% 96.8± 3.5%P300 Data 70.5± 3.9% 88.6± 3.4% 76.1± 6.1% 77.3± 4.3%Sleep Data 77.7± 5.3% 73.4± 6.7% 53.7± 4.5% 58.6± 4.8%

Table 5.2: Average compression ratios of unfiltered data with generic compressionprograms

It was determined that there were various factors which made compressing the

EEG data less effective than compressing audio data. The residuals produced by

FLAC for the EEG files were much larger than typical residuals produced for audio

files. This caused FLAC to use larger Rice parameters for the EEG files, thus using

more bits per sample in the compressed file. Also, FLAC tended to use mostly LPC

subframes with high order for EEG files, generating more overhead than for lower-

order subframes.

Upon further inspection of some audio files, it was seen that FLAC occasionally

produced some subframes which used high order predictors and had large residu-

als. These subframes tended to occur when high frequency sounds, such as cymbal

crashes, were introduced into the audio. These subframes were very similar to the

subframes which occurred in the EEG files. Table 5.3 gives a comparison of some

subframe information from an audio file and an EEG file. The information includes

the LPC order of the subframe, the maximum magnitude residual value, and the

average Rice parameter among the partitions (Rice partitions are described in Sec-

tion 2.2.4). Because of these similarities, it was hypothesized that the reason for the

poor compression in the EEG files was due to the existence of high-frequency waves

in the EEG data.

5.2.2 Compression of Low-pass Filtered EEG

To confirm this hypothesis, the next experiment involved filtering out some of the

high frequency noise which is generally not useful in EEG analysis (see Section 2.1.1

Page 60: by Alex Sanford Thesis submitted in partial ful llment of

46 CHAPTER 5. METHOD AND RESULTS

Subframe type LPC Order Maximum Residual Average RiceMagnitude Parameter

Normal audio data 7 76 55 99 55 83 4.25

Audio data with 8 1272 7.5high frequencies 8 5775 9

8 1457 7.875EEG data 8 3022 9

8 2588 98 2827 9.5

Table 5.3: Some subframe information from audio and EEG data

for a discussion of the various frequency components of EEG data). Initially, the

filter used was a low pass filter with a cutoff at 30 Hz, transition width of 15 Hz,

and attenuation of 50 dB. The filter was designed this way in order to pass all useful

frequencies of EEG data (0–30 Hz), remove the noise resulting from AC power lines

(50 Hz or 60 Hz, depending on the power supply of the country where the EEG data

was recorded), but still have a reasonably wide transition band to maintain efficiency

of the filter.

The low-pass filter significantly increased the compression performance of FLAC.

Table 5.4 contains the resulting average compression ratios. The average compression

ratio decreased significantly for the first three data sets in the table. The last data

set’s compression ratio also decreased, but not by as much. It is speculated that this

moderate change in performance is because of the lower sampling rate of this data set.

When filtering the first two data sets at 30 Hz, the filter attenuates all components

of the signal between 30 Hz and 250 Hz, which is the highest frequency stored in this

file. Similarly, for the third data set, the filter attenuates all components between

30 Hz and 1024 Hz. However, for the fourth data set, the filter only attenuates the

components between 30 Hz and 50 Hz, so it’s no great surprise that the compression

ratio didn’t change by a large amount.

Along the same lines, note that the third data set had very good compression

performance because of it’s high sampling rate. This is because a great deal of the

Page 61: by Alex Sanford Thesis submitted in partial ful llment of

5.2. RESULTS 47

Data Set Sampling Rate Compression Ratio Compression Ratio(Hz) Unfiltered Low-Pass Filter

Hand Motion Data 500 82.1± 3.6% 32.4± 1.9%Real and Imagined

Motion Data 500 192.5± 41.1% 148.9± 46.6%P300 Data 2048 70.5± 3.9% 15.2± 1.2%Sleep Data 100 77.7± 5.3% 62.2± 3.6%

Table 5.4: Average compression ratios of low-pass filtered data

high frequency noise in the signal was attenuated, namely, all frequency components

between 30 Hz and 1024 Hz. So EEG data with a high sampling rate should tend to

give better compression after filtering, as this one does.

5.2.3 Compression of Notch Filtered EEG

Initially, it was suspected that the reason that the 30 Hz low-pass filter improved

performance so greatly was due to the fact that it filtered out the 50 Hz or 60 Hz

electrical line interference. Figure 5.3 shows the FFT plot (FFT plots are described

in Appendix A) of a channel of data from the hand motion data. We see from this

plot that there is a large spike in the frequency spectrum around 50 Hz. This means

that the frequency component at 50 Hz has a much higher magnitude than the other

high-frequency components. Other than that, most of the power appears to be in the

low frequencies as expected. Figure 5.4 shows the FFT plot of the data after having

the low-pass filter applied.

The next experiment was to apply a notch filter to remove the 50 Hz electrical

noise, as previously described in Section 3.2. The notch filter attenuated frequencies

from 40–60 Hz with a width on each side of 9.5 Hz. The attenuation was 50 dB. This

filter is less lossy than the low-pass filter as it does not remove all frequencies above

30 Hz. Afterward, another filter was tried which applied a notch filter at 50 Hz as well

as all the harmonics of 50 Hz, also described in Section 3.2. As seen in Figure 5.3,

there are significant portions of the signal contained in these harmonics. The signal

was passed through a bank of filters, where each filter had an attenuation of 50 dB.

Page 62: by Alex Sanford Thesis submitted in partial ful llment of

48 CHAPTER 5. METHOD AND RESULTS

Figure 5.3: FFT of unfiltered EEG data

There were four notch filters, with cutoff bands of 40–50 Hz, 90–110 Hz, 140–160 Hz,

and 190–210 Hz. Each notch filter used a transition width of 9.5 Hz. Finally, a low-

pass filter was applied with a cutoff of 230 Hz and a width of 15 Hz to remove the

harmonic near the Nyquist frequency (250 Hz). The results of both experiments are

shown in Table 5.5 and their FFT plots are shown in Figures 5.5 and 5.6.

The notch filters did improve the compression, but not by as much as the low-

pass filter. Filtering out the harmonics of 50 Hz improved the compression by more

than just filtering out the 50 Hz noise. However, it appears that the high frequency

noise outside the harmonics of 50 Hz contributes significantly to the compression

performance as well. To explore this effect, the next experiment was to apply several

low-pass filters to the data at various cutoff frequencies. This experiment was done for

Page 63: by Alex Sanford Thesis submitted in partial ful llment of

5.2. RESULTS 49

Figure 5.4: FFT of low-pass filtered EEG data

both the Hand Motion Data and the Sleep Data. As expected, the compression ratio

decreased as the cutoff frequency decreased. See Tables 5.6 and 5.7 and Figures 5.7

and 5.8 for results.

In the case of the Hand Motion Data and P300 Data, filtering the data and then

compressing with FLAC gave better compression performance than compressing with

generic compression programs (compare Tables 5.2 and 5.4). After performing the

low-pass filter, the generic compression programs were used again to compress the

filtered data. In this case, FLAC performed better all the data sets except for the

Real and Imagined Motion Data. These results are shown in Table 5.8.

The subframe information was examined for the low-pass filtered data after com-

pression. Interestingly, for the filtered data, FLAC used subframes coded with fixed

Page 64: by Alex Sanford Thesis submitted in partial ful llment of

50 CHAPTER 5. METHOD AND RESULTS

Filter Cut Average Compression Ratio

None 82.1± 3.6%40–60 Hz 80.5± 3.9%

Harmonics 77.2± 4.2%

Table 5.5: Average compression ratios of hand motion data after notch filtering

Filter type Cut (Hz) AverageCompression Ratio

Low-pass 10 24.6± 0.8%Low-pass 20 29.2± 1.3%Low-pass 30 32.4± 1.9%Low-pass 40 40.2± 3.8%Low-pass 50 50.7± 2.3%Low-pass 60 52.0± 2.6%Low-pass 70 54.9± 2.6%Low-pass 80 56.9± 2.5%Low-pass 90 58.9± 2.4%Low-pass 100 61.4± 2.3%

None 82.1± 3.6%

Table 5.6: Compression performance of hand motion data with various low-pass filters(15 Hz width and 50 dB attenuation)

polynomial predictors far more often than LPC. Recall that before filtering, high or-

der LPC predictors were the dominant predictor used. FLAC uses fixed polynomial

predictors of order 0–4 when encoding subframes. Most of the subframes in the fil-

tered EEG file used a fixed polynomial predictor of order 4. Since order 4 was the

maximum possible, it was thought that higher orders would possibly perform better

if FLAC had the capability to use them. An extension was implemented for FLAC so

that it could use fixed polynomial predictors of order 5, 6, or 7, in addition to order

0–4. Even after this change, relatively few subframes used predictors of order greater

than 4, and the compression ratio did not greatly improve. In fact, in one case it got

worse. See Table 5.9.

The next chapter provides conclusions and ideas for future work.

Page 65: by Alex Sanford Thesis submitted in partial ful llment of

5.2. RESULTS 51

Figure 5.5: FFT of notch filtered hand motion data

Page 66: by Alex Sanford Thesis submitted in partial ful llment of

52 CHAPTER 5. METHOD AND RESULTS

Figure 5.6: FFT of hand motion data with harmonics of 50 Hz filtered

Page 67: by Alex Sanford Thesis submitted in partial ful llment of

5.2. RESULTS 53

Filter type Cut (Hz) AverageCompression Ratio

Low-pass 4 30.0± 3.2%Low-pass 8 36.6± 3.5%Low-pass 12 42.0± 3.5%Low-pass 16 46.2± 3.4%Low-pass 20 50.7± 3.4%Low-pass 24 54.8± 3.2%Low-pass 28 59.7± 3.5%Low-pass 32 64.5± 3.8%Low-pass 36 68.5± 3.9%Low-pass 40 71.3± 4.0%

None 77.7± 5.3%

Table 5.7: Compression performance of sleep data with various low-pass filters (15 Hzwidth and 50 dB attenuation)

Data Set Compression RatioFLAC gzip bzip2 lzip

Hand Motion Data 32.4± 1.9% 94.1± 1.8% 87.7± 3.3% 76.9± 4.1%Real and Imagined

Motion Data 192.5± 41.1% 96.4± 4.7% 100.5± 7.2% 87.4± 7.9%P300 Data 15.2± 1.2% 31.4± 14.7% 15.5± 10.0% 20.2± 9.7%Sleep Data 62.2± 3.6% 90.7± 2.7% 78.4± 3.7% 83.2± 3.7%

Table 5.8: Average compression ratios of low-pass filtered data with generic compres-sion programs

Data Set Compression Ratio Compression RatioBefore Change After Change

Hand Motion Data 32.4± 1.9% 31.9± 1.7%Real and Imagined

Motion Data 148.9± 46.6% 148.0± 47.8%P300 Data 15.2± 1.2% 15.1± 1.3%Sleep Data 62.2± 3.6% 69.2± 10.1%

Table 5.9: Average compression ratios of low-pass filtered data before and after addinghigh-order fixed polynomial prediction

Page 68: by Alex Sanford Thesis submitted in partial ful llment of

54 CHAPTER 5. METHOD AND RESULTS

Figure 5.7: Compression ratio vs. cutoff frequency of hand motion data

Page 69: by Alex Sanford Thesis submitted in partial ful llment of

5.2. RESULTS 55

Figure 5.8: Compression ratio vs. cutoff frequency of sleep data

Page 70: by Alex Sanford Thesis submitted in partial ful llment of

56 CHAPTER 5. METHOD AND RESULTS

Page 71: by Alex Sanford Thesis submitted in partial ful llment of

Chapter 6

Conclusions and Future Work

In this thesis, the problem of large data sizes for EEG data was discussed. The

proposed solution was to apply data compression to the EEG data in order to reduce

storage space and transfer time. Signal filtering was used as a method for improving

the compression performance. For most data, a compression ratio of 15–30% was

achieved. In comparison, the best compression ratio which was achieved using generic

compression programs was around 50%, so using FLAC along with signal filtering was

shown to be a superior method of EEG compression.

As mentioned before, a 24 hour recording of a single electrode could generate

15–400 MB of uncompressed data. With a 30% compression ratio, this data can

be stored or transmitted using only 4.5–120 MB. This is a little less than one third

the amount of space required for the uncompressed data. This means that EEG

researchers or medical specialists may use three times as many electrodes, three times

the recording quality, or record for three times as long without taking up extra space.

Furthermore, compression performance is better for data with higher sampling rates,

which corresponds to higher quality EEG recordings. Thus, EEG can be recorded at

very high quality and then be greatly compressed so that it doesn’t take too much

space.

EEG data compression has the potential of changing the field of consumer-level

BCI as well. Since many games and applications are moving data processing to the

cloud, it’s probable that games and applications which use BCI will begin to do the

57

Page 72: by Alex Sanford Thesis submitted in partial ful llment of

58 CHAPTER 6. CONCLUSIONS AND FUTURE WORK

same. Like image and audio data files, EEG data will have to be compressed in order

to be transferred efficiently across computer networks.

EEG data compression opens up new possibilities for medical applications as well.

EEG data could be monitored or analyzed at high quality in a remote location since

the compressed signal can be transferred quickly. If EEG is to be recorded for a very

long period of time, doctors will not have to decrease the recording quality or the

number of electrodes by as much in order to make the data size manageable.

6.1 Future Work

In the future, a more in-depth investigation of FLAC’s behaviour with EEG data

would be useful. FLAC compresses audio data reasonably well, even though audio

data has a wide frequency range with the possibility of high frequency sounds. It

remains uncertain as to why FLAC performed so poorly on the unfiltered EEG data

with its high frequency components retained.

Another useful study would be to show the filtered EEG data to people such

as doctors and EEG researchers who use EEG data on a daily basis. The cutoff

frequency of the low-pass filters was chosen so that the frequency bands of the EEG

data which are traditionally most useful remain mostly unaffected. However, modern

research may require access to higher frequencies, and as the research progresses in

the future, some medical and BCI applications may require these high frequencies as

well. Along with determining which frequencies are needed for which applications,

a study into the compression of specifically high frequency EEG data could also be

useful.

Beyond having doctors and researchers visually inspect the data, there is also

software which can be used to detect particular EEG characteristics. This software

can be used to determine whether particular characteristics can be detected even

after lossy compression is employed. Higgins et al. used this method in [HFM+10] to

determine the acceptable amount of loss for EEG compression. However, they used

a different compression algorithm, so it would be valuable to use this idea for the

compression algorithm presented in this thesis.

Page 73: by Alex Sanford Thesis submitted in partial ful llment of

6.1. FUTURE WORK 59

A study of the how the various parameters of EEG recording affect its compres-

sion would be very useful. It has been mentioned in this thesis that higher quality

recordings produce data which compresses better. However, other parameters could

be explored as well, such as the number of bits per sample, the type of electrodes

used, the amount of amplification and filtering before the A/D converter, etc.

Since some error was introduced into the data by quantizing the floating point

sample values, it would be good to at least quantify this error and preferably avoid

it in the future. Obtaining the integer samples directly rather than floating point

samples would be beneficial for any future research.

Page 74: by Alex Sanford Thesis submitted in partial ful llment of

60 CHAPTER 6. CONCLUSIONS AND FUTURE WORK

Page 75: by Alex Sanford Thesis submitted in partial ful llment of

Appendix A

Fourier Transform

The Fourier Transform describes a signal in the frequency domain, rather than the

time domain. Every time domain signal can be decomposed into a (possibly infinite)

set of sinusoids with various frequencies, amplitudes and phase shifts. For discrete

signals, such as EEG data, we take the Discrete Fourier Transform (DFT) to get this

information.

The DFT is a mathematical transformation which takes a discrete signal x of

length n as input, and produces an array of complex numbers X of length n. If x

consists only of real numbers, then the result of the DFT will have the property that

the first bn/2c elements will equal the complex conjugates of the last bn/2c elements.

Formally:

X[i] = X̄[n− i], 0 ≤ i <⌊n

2

⌋This assumes 0-based indexing for X.

These complex numbers represent the magnitude and phase angle of the sinusoidal

frequency component of x at a given frequency. The frequency represented by element

i is fi = i ·fs/n, where fs is the sampling rate. The Nyquist Sampling Theorem states

that all frequency components in a signal which can be represented by sampling at

a given rate fs are strictly less than half of that rate (the quantity fs/2 is known as

the Nyquist Rate). That is, all values in X at indices greater than or equal to n/2

are meaningless in the context of real-valued signals. Thus when analyzing the DFT

61

Page 76: by Alex Sanford Thesis submitted in partial ful llment of

62 APPENDIX A. FOURIER TRANSFORM

of a signal, often only the first b(n− 1)/2c samples are considered.

The mathematical definition of the DFT is as follows, assuming a signal x of

length n, and where j is the imaginary unit (j =√−1):

X[k] =n−1∑i=0

x[n] exp

(−j2πki

n

), 0 ≤ k ≤ n− 1

An algorithm which directly computes the DFT would run in O(n2) time. However,

in 1965 Cooley and Tukey produced a method for computing the DFT in O(n log n)

time, which is now called the Fast Fourier Transform, or FFT. A discussion of the

details of the FFT method is beyond the scope of this thesis; however, most software

libraries which compute DFTs use an FFT algorithm because of its performance. For

a detailed discussion of the DFT and FFT, see chapters 4 and 5 of [Por97].

In this thesis, when an FFT is applied to a signal and then shown in a plot,

the plot is referred to as an FFT Plot and will display the signal power in dB with

respect to frequency. The power of a frequency component in dB is given by P =

−20 logM where M is the magnitude of the frequency component. This measurement

is often more convenient since the plot is displayed on a logarithmic scale. Often

the magnitudes of various frequency components vary widely, so viewing them on a

logarithmic scale gives a better sense of how the frequency components compare.

Page 77: by Alex Sanford Thesis submitted in partial ful llment of

Appendix B

Fixed Polynomial Predictor

A fixed-order polynomial predictor computes an expected value for a sample given

some number of previous samples. It does this by fitting a polynomial curve to the

previous samples, using the resulting curve to compute the expected value of the next

sample. The only parameter of the predictor is the order n. Given a predictor of order

n, it will construct a polynomial of order n− 1 to fit to the previous n points in the

data. Specifically:

• n = 0: the predictor is the line y = 0

• n = 1: the predictor is the line y = a which passes through one previous sample

• n = 2: the predictor is the line y = ax + b which passes through two previous

samples

• n = 3: the predictor is the parabolic function y = ax2 + bx + c which passes

through three previous samples

• n = 4: the predictor is the cubic function y = ax3 + bx2 + cx+ d which passes

through four previous samples

This is very space efficient since the only prediction parameter which needs to be

stored is the order of the predictor. This is also very time efficient because the predic-

tion polynomials can be calculated very efficiently using the Lagrange Interpolation

63

Page 78: by Alex Sanford Thesis submitted in partial ful llment of

64 APPENDIX B. FIXED POLYNOMIAL PREDICTOR

Polynomial1.

Given a set of (k + 1) data points (x0, y0), ..., (xj, yj), ..., (xk, yk), then given an x

value x, we can predict the value y = L(x) as follows:

L(x) =k∑

j=0

yjlj(x)

where

lj(x) =∏

0≤m≤k,m6=j

x− xmxj − xm

However, if these points are the sample values to be fed into our predictor, then

it is a special case where xi are all integers, xj − xi = j − i, and the point to be

predicted is yk+1. Thus:

lj(k + 1) =∏

0≤m≤k,m6=j

xk+1 − xmxj − xm

=∏

0≤m≤k,m6=j

(k + 1)−mxj − xm

=

((k + 1)− 0

j − 0

)((k + 1)− 1

j − 1

)· · ·(

(k + 1)− (j − 1)

j − (j − 1)

)(

(k + 1)− (j + 1)

j − (j + 1)

)· · ·(

(k + 1)− kj − k

)=

[(k + 1

j

)(k

j − 1

)· · ·(k − j + 2

1

)][(k − j−1

)· · ·(

1

j − k

)]

The first term in square brackets can be rewritten:(k + 1

j

)(k

j − 1

)· · ·(k − j + 2

1

)=

(k + 1)!

j!((k + 1)− j)!

=

(k + 1

j

)

1For example, see http://mathworld.wolfram.com/LagrangeInterpolatingPolynomial.html

Page 79: by Alex Sanford Thesis submitted in partial ful llment of

65

The second term can also be rewritten. There are k − j terms being multiplied

together, each with a negative denominator. So the sign of the product is determined

by (−1)k−j. Thus:[(k − j−1

)· · ·(

1

j − k

)]= (−1)k−j

(k − j

1

)(k − j − 1

2

)· · ·(

2

k − j − 1

)(1

k − j

)= (−1)k−j

((k − j)!(k − j)!

)= (−1)k−j

So with this special case, we have the following:

lj(xk+1) = (−1)k−j(k + 1

j

).

Thus:

L(xk+1) =k∑

j=0

yjlj(xk+1)

=k∑

j=0

(−1)k−j(k + 1

j

)yj.

This final equation can be hard-coded for supported orders of the fixed polynomial

predictor. The only variables are the yj’s and the rest can be hard-coded constants.

This makes the fixed polynomial predictor very computationally efficient, along with

being space efficient.

Page 80: by Alex Sanford Thesis submitted in partial ful llment of

66 APPENDIX B. FIXED POLYNOMIAL PREDICTOR

Page 81: by Alex Sanford Thesis submitted in partial ful llment of

Appendix C

Linear Predictive Coding

Linear Predictive Coding (LPC) is a method of predicting the next value of a sequence

based on some number of previous values. For a model of order n, the previous n

samples are used. The prediction is made by applying a linear combination to the

sample values. To get a prediction x̂i for sample i, we compute:

x̂i = a1xi−1 + a2xi−2 + · · ·+ anxi−n =n∑

j=1

ajxi−j

where the aj are the LPC coefficients.

The coefficients aj are chosen in such a way so that the sum of the squared residuals

is minimized. The residual ei for sample i is computed as follows:

ei = xi − x̂i.

Thus the sum of the squared residuals is (assuming a signal x of length M):

E =∑i

e2i =∑i

(xi −

n∑j=1

ajxi−j

)

The values aj are then chosen to minimize E. The procedure for finding the aj values

can be found in Chapter 11 of [Say05].

67

Page 82: by Alex Sanford Thesis submitted in partial ful llment of

68 APPENDIX C. LINEAR PREDICTIVE CODING

Page 83: by Alex Sanford Thesis submitted in partial ful llment of

Bibliography

[AT91] G Antoniol and P Tonella. EEG data compression techniques. IEEE

Transactions on Biomedical Engineering, 44(2):417–423, 1991.

[Bio12] Biomedical signals acquisition, 2012. Retrieved February 29, 2012 from

the World Wide Web: http://www.medicine.mcgill.ca/physio/vlab/

biomed_signals/vlabmenubiosig.htm.

[Coa08] Josh Coalson. FLAC — Free Lossless Audio Codec, 2000–2008. Re-

trieved February 28, 2012 from FLAC’s official website: http://flac.

sourceforge.net/.

[Eav11] Paralyzed man controls a robotic arm with high precision, via thought,

2011. Retrieved February 28, 2012 from the World Wide Web:

http://www.element14.com/community/groups/robotics/blog/

2011/10/18/paralyzed-man-controls-a-robotic-arm-with-high-

precision-via-thought.

[GPR+03] Dan Griffiths, Jim Peters, Andreas Robinson, Jack Spaar, Yaniv Vilnai,

and Nelo (sic). The ModularEEG design, 2003. Retrieved February 23,

2012 from the World Wide Web: http://openeeg.sourceforge.net/

doc/modeeg/modeeg_design.html.

[HFM+10] Garry Higgins, Stephen Faul, Robert P McEvoy, Brian McGinley, Mar-

tin Glavin, William P Marnane, and Edward Jones. EEG compression

using JPEG2000: how much loss is too much? Conference proceedings:

Annual International Conference of the IEEE Engineering in Medicine

69

Page 84: by Alex Sanford Thesis submitted in partial ful llment of

70 BIBLIOGRAPHY

and Biology Society. IEEE Engineering in Medicine and Biology Society.

Conference, 2010:614–7, January 2010.

[Hug08] John R Hughes. Gamma, fast, and ultrafast waves of the brain: their

relationships with epilepsy and behavior. Epilepsy & behavior : E&B,

13(1):25–31, July 2008.

[Lyo01] R G Lyons. Understanding Digital Signal Processing. Prentice Hall, 2001.

[MC99] N. Memon and J. Cinkler. Context-based lossless and near-lossless com-

pression of EEG signals. IEEE Transactions on Information Technology

in Biomedicine, 3(3):231–238, 1999.

[MMM96] N. Magotra, G. Mandyam, and W. McCoy. Lossless compression of elec-

troencephalographic (EEG) data. In 1996 IEEE International Symposium

on Circuits and Systems. Circuits and Systems Connecting the World. IS-

CAS 96, volume 2, pages 313–315. IEEE, 1996.

[NL05] Ernst Niedermeyer and Fernando Lopes da Silva. Electroencephalography:

Basic Principles, Clinical Applications, and Related Fields, volume 1. Lip-

pincott Williams & Wilkins, 2005.

[Por97] Boaz Porat. A Course in Digital Signal Processing. John Wiley and Sons,

1997.

[Say00] Khalid Sayood. Introduction to Data Compression. The Morgan Kauf-

mann Series in Multimedia Information and Systems. Morgan Kaufmann

Publishers, second edition, 2000.

[Say05] Khalid Sayood. Introduction to Data Compression. The Morgan Kauf-

mann Series in Multimedia Information and Systems. Morgan Kaufmann

Publishers, third edition, 2005.

[Ylo99] Jyri Ylostalo. Data compression methods for EEG. Technology and Health

Care, 7(4):285–300, June 1999.