<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="review-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Artif. Intell.</journal-id>
<journal-title>Frontiers in Artificial Intelligence</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Artif. Intell.</abbrev-journal-title>
<issn pub-type="epub">2624-8212</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/frai.2022.1072801</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Artificial Intelligence</subject>
<subj-group>
<subject>Review</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Trends in EEG signal feature extraction applications</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Singh</surname> <given-names>Anupreet Kaur</given-names></name>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1847702/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Krishnan</surname> <given-names>Sridhar</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/1166993/overview"/>
</contrib>
</contrib-group>
<aff><institution>Department of Electrical, Computer, and Biomedical Engineering, Toronto Metropolitan University</institution>, <addr-line>Toronto, ON</addr-line>, <country>Canada</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Burak Yildirim, University of Miami, United States</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Osman Ulkir, Mus Alparslan University, T&#x000FC;rkiye; Mahmut Kaya, Siirt University, T&#x000FC;rkiye</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Anupreet Kaur Singh &#x02709; <email>anupreet.singh&#x00040;ryerson.ca</email></corresp>
<fn fn-type="other" id="fn001"><p>This article was submitted to Medicine and Public Health, a section of the journal Frontiers in Artificial Intelligence</p></fn></author-notes>
<pub-date pub-type="epub">
<day>25</day>
<month>01</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>5</volume>
<elocation-id>1072801</elocation-id>
<history>
<date date-type="received">
<day>26</day>
<month>10</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>28</day>
<month>12</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2023 Singh and Krishnan.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Singh and Krishnan</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license> </permissions>
<abstract>
<p>This paper will focus on electroencephalogram (EEG) signal analysis with an emphasis on common feature extraction techniques mentioned in the research literature, as well as a variety of applications that this can be applied to. In this review, we cover single and multi-dimensional EEG signal processing and feature extraction techniques in the time domain, frequency domain, decomposition domain, time-frequency domain, and spatial domain. We also provide pseudocode for the methods discussed so that they can be replicated by practitioners and researchers in their specific areas of biomedical work. Furthermore, we discuss artificial intelligence applications such as assistive technology, neurological disease classification, brain-computer interface systems, as well as their machine learning integration counterparts, to complete the overall pipeline design for EEG signal analysis. Finally, we discuss future work that can be innovated in the feature extraction domain for EEG signal analysis.</p></abstract>
<kwd-group>
<kwd>machine learning</kwd>
<kwd>signal analysis</kwd>
<kwd>assistive technology</kwd>
<kwd>EEG</kwd>
<kwd>feature extraction</kwd>
<kwd>brain-computer interaction</kwd>
</kwd-group>
<counts>
<fig-count count="8"/>
<table-count count="5"/>
<equation-count count="40"/>
<ref-count count="33"/>
<page-count count="17"/>
<word-count count="10753"/>
</counts>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1. Introduction</title>
<p>Electroencephalogram (EEG) signals play an important role in understanding the electrical activity associated with brain functioning and brain-related disorders. A typical EEG signal analysis pipeline is as follows: (1) data acquisition, (2) data pre-processing, (3) feature extraction, (4) feature selection, (5) model training and classification, and (6) performance evaluation. Signal analysis, when applied to the EEG, is of particular interest as the entire body&#x00027;s condition, as well as brain status can often be recognized when digital signal processing (DSP) and machine learning (ML) methods are applied (Sanei and Chambers, <xref ref-type="bibr" rid="B28">2021</xref>).</p>
<p>Carlo Matteucci and Emil Du Bois-Reymond were the first individuals to establish neurophysiology, and were the first to record and display brain activity. Later, Hans Berger discovered alpha wave activity in the brain, and he was the first to use scalp electrodes to record brain activity in the form of electrical signals in the 1870s. Berger was ultimately credited with inventing and measuring the EEG signal. Kornm&#x000FC;ller, through his research, focused on multichannel recordings, their importance, and did so by widening the brain region covered by using a higher degree of electrodes. Since its discovery, EEG analysis has brought about significant advancements in studies of diagnosis and treatment of various neurological brain conditions and the overall health of the central nervous system (CNS). It can also be used to drive home-based technologies (telehealth), prosthetics and even in the world of virtual reality and gaming (Sanei and Chambers, <xref ref-type="bibr" rid="B28">2021</xref>).</p>
<p>EEG systems used for signal acquisition consist of electrodes, differential amplifiers, filters and pen-type registers. A 10&#x02013;20 EEG electrode placement method is commonly used (refer to <xref ref-type="fig" rid="F1">Figure 1</xref>). EEG signals are also sampled, quantized and encoded to convert them to digital form. Since the effective bandwidth of EEG signals is &#x0007E;100 Hz, a minimum frequency of 200 Hz (to satisfy Nyquist criterion) is typically enough to sample the EEG for most applications (Sanei and Chambers, <xref ref-type="bibr" rid="B28">2021</xref>).</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>10&#x02013;20 electrode setup for EEG (Sanei and Chambers, <xref ref-type="bibr" rid="B28">2021</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="frai-05-1072801-g0001.tif"/>
</fig>
<sec>
<title>1.1. Challenges in EEG analysis and applications</title>
<p>There are many applications that EEG signal analysis allows for; anywhere from disease diagnosis to even brain-computer interfaces (BCIs). A popular disorder studied heavily through EEG signal analysis is epilepsy.</p>
<p>Epilepsy is characterized by frequent seizures and is classified as a chronic neurological disorder. The EEG is used to identify the onset of seizures as well as for the diagnosis of epilepsy, however, this process is long and manual. Due to the manual nature, it is also subjective and thus can lead to very different diagnoses from various epileptologists. This has led to innovations in the technological realm to develop automated methods of seizure detection (Bourien et al., <xref ref-type="bibr" rid="B5">2021</xref>).</p>
<p>EEG signal analysis is also being applied to the BCI domain, which is a rapidly growing field of research; it is an interesting field because it allows for a communication bridge between the external world and the human brain. It has been applied to assistive devices which have been used to restore movement to patients, as well as retraining patients to regain motor functionality. BCI systems function by analyzing the incoming brain waves from the EEG and converting the signal into appropriate action. There are, however, many challenges in this domain in terms of usability, training, information transfer rate, as well as technical challenges (Abdulkader et al., <xref ref-type="bibr" rid="B1">2015</xref>).</p>
<p>Other applications of EEG include, but are not limited to, motor imagery classification, emotional classification, drug effects diagnosis, mental task diagnosis, and sleep state classification. Since large numbers of EEG channels are collected during data acquisition for these applications, there is a need for channel redundancy. There are algorithms that have been developed to assist with the channel selection of EEG signals. Channel selection assists with the reduction of computational complexity, reduce overfitting from redundant channels to improve performance, and reduce setup time in some applications. Some channel selection techniques are as follows: (1) filtering methods in which evaluation criteria are used to &#x0201C;filter&#x0201D; channels, (2) wrapping methods in which a classification algorithm is used, (3) embedded methods that select channels based on criteria generated during the learning process of classifiers, and (4) hybrid methods which combine filtering and wrapper techniques (Alotaiby et al., <xref ref-type="bibr" rid="B2">2015</xref>).</p></sec>
<sec>
<title>1.2. Evolution of EEG feature extraction methods</title>
<p>Feature extraction is the natural next step after signal preprocessing, and is a vital step of biomedical signal analysis. It has become increasingly common to be working with big data, especially in the medical domain due to multi-hour acquisition as well as multiple channels, as is the case in EEG signal acquisition. Due to this, one of the basic goals of feature extraction is dimensionality reduction and data compaction. Essentially, this would allow one to represent their data with a smaller subset of features. This facilitates the efficient use of machine learning (ML) and artificial intelligence (AI) algorithms for classification and diagnosis applications (Subasi, <xref ref-type="bibr" rid="B30">2019</xref>). Note that not all features are useful for given applications; &#x0201C;useful&#x0201D; features should, in theory, have the ability to represent the underlying signal accurately (Krishnan and Athavale, <xref ref-type="bibr" rid="B19">2018</xref>; Krishnan, <xref ref-type="bibr" rid="B18">2021</xref>).</p>
<p>Furthermore, it is important to note that EEG signals carry properties that complicate the feature extraction and signal analysis process. EEG signals are: (a) non-stationary, (b) non-linear, (c) non-Gaussian, and (d) non-short form (Alotaiby et al., <xref ref-type="bibr" rid="B2">2015</xref>; Krishnan, <xref ref-type="bibr" rid="B18">2021</xref>). These properties need to be accounted for in the feature extraction process for a robust end-to-end pipeline.</p>
<p>Feature selection is performed after feature extraction. As previously mentioned, note all features are useful for given applications, thus through the selection process, said features can be removed. Moreover, different combinations of features yield different results for pipelines; they can either affect the performance of the following ML models negatively or positively. For example, if inappropriate/inefficient features are chosen to train the model, which overall does not represent the underlying signals very well, the performance of the model would degrade. A good rule of thumb is to choose application-dependent features to represent a signal vs. generic features; this would ensure that the features would capture the patterns and behaviors of interest (Krishnan and Athavale, <xref ref-type="bibr" rid="B19">2018</xref>; Subasi, <xref ref-type="bibr" rid="B30">2019</xref>).</p>
<p>Overall, feature extraction and feature selection saves on hardware and software resources, computational time, and reduces complexity, all of which can be used to apply to the world of ML and AI-based connected healthcare and telehealth (Krishnan, <xref ref-type="bibr" rid="B18">2021</xref>).</p>
<p>In this paper, we will review common feature extraction methodologies that have been applied to EEG signals over the years (refer to <xref ref-type="fig" rid="F2">Figure 2</xref>). This will be organized by one-dimensional feature extraction methods, vs. multi-dimensional feature extraction methods. At a high level, we will go through the following (refer to <xref ref-type="fig" rid="F2">Figure 2</xref>):</p>
<list list-type="alpha-lower">
<list-item><p>One-dimensional feature extraction techniques</p>
<list list-type="roman-lower">
<list-item><p>Time domain.</p></list-item>
<list-item><p>Frequency/spectral domain.</p></list-item>
<list-item><p>Decomposition domain.</p></list-item>
</list>
</list-item>
<list-item><p>Multi-dimensional feature extraction techniques</p>
<list list-type="roman-lower">
<list-item><p>Joint time-frequency domain.</p></list-item>
<list-item><p>Spatial domain.</p></list-item>
</list></list-item></list>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Basic feature extraction and machine learning pipeline showing the evolution of biomedical signal feature extraction techniques (Subasi, <xref ref-type="bibr" rid="B30">2019</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="frai-05-1072801-g0002.tif"/>
</fig>
<p>Note that the techniques reviewed in this paper are by no means an exhaustive list; this review serves as a starting point for analysis of EEG signals, as well as potential applications. The review work has been organized as follows: In Section 2, the authors will discuss the significance of features for machine learning. Section 3 will delve further into applications of EEG feature analysis. Section 4 will discuss common one-dimensional feature extraction techniques from the time, frequency, and decomposition domains. Section 5 will discuss multi-dimensional feature extraction methods from the joint time-frequency domain and the spatial domain. Finally, in Section 6, we will conclude the review with critical discussions, as well as potential recommendations toward future work.</p></sec></sec>
<sec id="s2">
<title>2. Significance of features for machine learning</title>
<p>Following feature extraction and selection, the features are inputted and applied to ML models. These ML models are customized for specific applications, such as for classification (disease diagnosis). ML is a subset of the overall AI domain and can help with the optimization of features selected. This is done by the developer as they identify which features have a positive/negative effect on the model, and use that information to optimize the overall pipeline (Krishnan and Athavale, <xref ref-type="bibr" rid="B19">2018</xref>).</p>
<p>The chosen application/problem must be taken into account when choosing an appropriate ML algorithm to implement. This is due to the fact that some models perform better than others for specific applications. One must also account for the inherent pros and cons of the available ML models for example some are more computationally extensive, which may not be feasible for real-time design. There are some general criteria to consider when selecting an ML algorithm: (1) Type of bio-signal, (2) Size of Feature Matrix, and (3) Availability of labeled data, just to name a few (Krishnan and Athavale, <xref ref-type="bibr" rid="B19">2018</xref>). Refer to <xref ref-type="fig" rid="F2">Figure 2</xref> for a simple end-to-end feature extraction ML pipeline.</p>
<p>The developer can choose to either have a supervised or unsupervised ML model. Typically for medical applications, supervised models are chosen. Supervised learning refers to the availability of labeled data provided by domain experts in the field; the labeled data act as ground truth for the models to learn from during the training process.</p>
<p>Unsupervised learning refers to the lack of expert labeled data, where instead the algorithm studies the data to find patterns to distinguish between different classes. This type of learning is typically not used for biomedical signal data though. This is because biomedical signals are better analyzed in short-duration segments; in supervised learning, this allows for the labels to be applied to the individual segments. However, in unsupervised learning, the ML-predicted label would be applied to the full-duration signal; this is not desirable especially if there are regions-of-interest (ROIs) that require local feature extraction, not global (Krishnan and Athavale, <xref ref-type="bibr" rid="B19">2018</xref>).</p>
<p>As previously mentioned, different sets of features yield different performance results, thus making the ML selection and training a lengthy process. The reader should be aware that the number of appropriate features is also a key point of consideration; this can lead to either model over-fitting or under-fitting issues.</p></sec>
<sec id="s3">
<title>3. Applications: Assistive technology and disease diagnosis</title>
<p>BCI systems can be applied to a variety of industries including medical and entertainment. In this paper, we will be focusing on potential medical applications, specifically under the umbrellas of assistive technology and disease classification. These applications can span anywhere from BCI-based prosthetics, BCI-based wheelchair control, automated disease diagnosis, assistive cursor control, and wearable devices (Rashid, <xref ref-type="bibr" rid="B25">2020</xref>).</p>
<p>Robotic arms are one of the more common forms of BCI-based prosthetics. There are challenges that exist for disabled individuals, however, such as their loss of motion capacity that can hinder their control of these prosthetics; studies are underway to mitigate these challenges. In ideal situations, the user would be able to control in arm in all dimensions as well as carry out grasp operations (Rashid, <xref ref-type="bibr" rid="B25">2020</xref>).</p>
<p>Brain-controlled wheelchairs (BCWs) are state-of-the-art assistive technology under neuro-rehabilitation, allowing disabled users to control a wheelchair without facing issues of fatigue, and providing them with the independence to move through various environments. BCWs allow for an improved quality of life for these users as well. This is achieved through the acquisition and analysis of the EEG signal (Fern&#x000E1;ndez-Rodr&#x000ED;guez et al., <xref ref-type="bibr" rid="B10">2016</xref>).</p>
<p>The evaluation and diagnosis of brain diseases through the analysis of the EEG signal is another growing field. Epilepsy is the more common disease classified, but there are other neurological diseases that the EEG signal, in combination with the right features, has the potential of diagnosing. For example, brain tumors have been found to be diagnosed with the help of EEG signals, analysis of anesthesia-induced patients, as well as the locations of stoke (Song et al., <xref ref-type="bibr" rid="B29">2021</xref>).</p>
<p>Cursor control is another popular application, allowing users that struggle to use conventional modes of cursor control an efficient alternative. Commonly, motor imagery signals are used to convey left/right/up/down operations of the cursor. Performance accuracy ranges from 70 to 95% with the use of different features (Rashid, <xref ref-type="bibr" rid="B25">2020</xref>).</p></sec>
<sec id="s4">
<title>4. One-dimensional features</title>
<sec>
<title>4.1. Time-domain feature extraction</title>
<p>Time-domain feature extraction is one of the more primitive techniques, in which the signals/data are analyzed with respect to time. This allows one to quantify how a signal is changing over time. This is especially important in an EEG signal, as they are often recorded over multi-hour timeframes. Typically, windowing and segmentation of the signal are desirable for time-domain feature extraction. This way, each window will have a local feature extracted, and the researchers will be able to view how the features change over each window. Windowing and segmentation are especially important for physiological signals as they are non-linear and non-stationary in nature (Krishnan and Athavale, <xref ref-type="bibr" rid="B19">2018</xref>). In this section, various time-domain techniques specific to EEG will be explored.</p>
<sec>
<title>4.1.1. Autoregressive modeling</title>
<p>Autoregressive (AR) modeling uses earlier observations to create a linear regression model (<xref ref-type="table" rid="T6">Algorithm 1</xref>). When using AR modeling for feature extraction, the signal is represented by AR coefficients, which form the feature vector. This is one of the most popular forms of feature extraction in the time-dmain, and is also used in EEG-based BCI systems. This is because the technique is very conducive for data compression and low-power applications (Lawhern et al., <xref ref-type="bibr" rid="B20">2012</xref>; Zhang et al., <xref ref-type="bibr" rid="B33">2015</xref>; Rashid, <xref ref-type="bibr" rid="B25">2020</xref>). Furthermore, AR coefficients remain invariant even in the presence of scaling changes in the data (Lawhern et al., <xref ref-type="bibr" rid="B20">2012</xref>). There are however challenges with determining model order; if the order is low, it will not represent the data accurately, but if it is too high, noise increases (Rashid, <xref ref-type="bibr" rid="B25">2020</xref>).</p>
<table-wrap position="float" id="T6">
<label>Algorithm 1</label>
<caption><p>AR modeling feature extraction (Lawhern et al., <xref ref-type="bibr" rid="B20">2012</xref>; Zhang et al., <xref ref-type="bibr" rid="B33">2015</xref>; Chai, <xref ref-type="bibr" rid="B6">2017</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>1. <bold>Result</bold>: AR model coefficients<break/> 2. Import and preprocess the EEG signal<break/> 3. Segment the signal using method of choice<break/>4. Use Equation (1) to recursively solve for the AR coefficients <break/>5. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>One case study focused on the analysis of EEG signals through AR modeling to evaluate driver fatigue. EEG is widely considered as a reliable method of fatigue detection. The dataset used in this study consisted of data from 43 healthy participants from ages 18&#x02013;55. Baseline EEG and subjective levels of fatigue assessment were taken, which were followed by a simulated driving task, after which another EEG measure and post-subjective levels of fatigue were measured (Chai, <xref ref-type="bibr" rid="B6">2017</xref>).
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mover accent="true"><mml:mrow><mml:mi>s</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mi>a</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>&#x0015D;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mi>e</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <inline-formula><mml:math id="M2"><mml:mover accent="true"><mml:mrow><mml:mi>s</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:math></inline-formula> represents the segmented EEG data, <italic>P</italic> is the order of the model, <italic>e(t)</italic> is the white noise, and <italic>a(k)</italic> represents the AR coefficients to be estimated (Chai, <xref ref-type="bibr" rid="B6">2017</xref>).</p>
</sec>
<sec>
<title>4.1.2. Fractal dimension via Higuichi algorithm</title>
<p>Another interesting application of EEG signal analysis is for emotion classification in BCI systems (<xref ref-type="table" rid="T7">Algorithm 2</xref>). Specifically, in this study, calm, angry and happy emotional states were studied. The data was collected from 10 subjects in real time. Video clips of 2 min each were taken while the subjects were undergoing different emotions. Fractal dimension (FD) is an index that measures signal complexity through mathematical means. The Higuichi FD algorithm is outlined in the following equation (Kaur et al., <xref ref-type="bibr" rid="B16">2018</xref>):
<disp-formula id="E2"><label>(2)</label><mml:math id="M3"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>F</mml:mi><mml:msub><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>A</mml:mi><mml:mo>-</mml:mo><mml:mi>j</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mo>|</mml:mo><mml:mi>X</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mi>X</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msup><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mfrac><mml:mrow><mml:mi>A</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>A</mml:mi><mml:mo>-</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>X(1):X(N)</italic> are the finite time-series samples, and <italic>j</italic>=<italic>1:t</italic> denotes the initial time to the interval time (Kaur et al., <xref ref-type="bibr" rid="B16">2018</xref>).</p>
<table-wrap position="float" id="T7">
<label>Algorithm 2</label>
<caption><p>Fractal dimension (FD) <italic>via</italic> Higuchi algorithm (Kaur et al., <xref ref-type="bibr" rid="B16">2018</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: <italic>FD</italic><sub><italic>j</italic></sub><italic>t</italic> feature vector<break/> 2. Import and preprocess the EEG signal <break/>3. Segment the data into 1-s intervals <break/>4. Apply Equation (2) to apply the Higuchi FD algorithm to the EEG signal <break/>5. Form the feature vector from <italic>FD</italic><sub><italic>j</italic></sub><italic>t</italic>
</td>
</tr>
</tbody>
</table>
</table-wrap></sec>
<sec>
<title>4.1.3. Statistical features</title>
<p>Statistical feature extraction is by far one of the lesser complex methods in the time-domain (<xref ref-type="table" rid="T8">Algorithm 3</xref>). With the growing popularity of statistical programming languages, this becomes even easier with the use of native, built-in functions.</p>
<table-wrap position="float" id="T8">
<label>Algorithm 3</label>
<caption><p>Statistical feature extraction (Picard et al., <xref ref-type="bibr" rid="B24">2001</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: Statistical feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Segment the signals <break/>4. Use Equations (3&#x02013;8) to extract the local statistical features from each EEG segment <break/>5. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>One application of statistical feature extraction with EEG signals is embedding emotional intelligence into machine intelligence human-computer interaction (HCI) systems. One such study focused on classification of emotional states (subject-specific) and did so by collecting EEG data from singular subjects over multiple weeks. Thus, this is a subject-specific classification that can be expanded upon for person-independent analysis. The proposed features in the study are as follows (Picard et al., <xref ref-type="bibr" rid="B24">2001</xref>):</p>
<list list-type="order">
<list-item><p>Mean (raw signal)
<disp-formula id="E3"><label>(3)</label><mml:math id="M4"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>X</italic><sub><italic>n</italic></sub> represents the value of the <italic>n</italic>th sample of the raw signal and <italic>n</italic> = <italic>1:N</italic> data points in the raw signal.</p></list-item>
<list-item><p>Standard deviation (STD) (raw signal)
<disp-formula id="E4"><label>(4)</label><mml:math id="M5"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
<list-item><p>Mean of absolute values of first differences (raw signal)
<disp-formula id="E5"><label>(5)</label><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B4;</mml:mi></mml:mrow><mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
<list-item><p>Mean of absolute values of first differences (normalized signal)
<disp-formula id="E6"><label>(6)</label><mml:math id="M7"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B4;</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B4;</mml:mi></mml:mrow><mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <inline-formula><mml:math id="M8"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the normalized signal.</p></list-item>
<list-item><p>Mean of absolute values of second differences (raw signal)
<disp-formula id="E7"><label>(7)</label><mml:math id="M9"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
<list-item><p>Mean of absolute values of second differences (normalized signal)
<disp-formula id="E8"><label>(8)</label><mml:math id="M10"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B3;</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item></list>
</sec>
<sec>
<title>4.1.4. Detrended fluctuation analysis</title>
<p>Disease diagnosis is a huge domain in the signal analysis realm (<xref ref-type="table" rid="T9">Algorithm 4</xref>). Popularly, epilepsy is studied with the use of EEG signals, but there are other neurological diseases where EEG signal analysis can come in handy for analysis, major depressive disorder (MDD) being one of them (Mumtaz et al., <xref ref-type="bibr" rid="B23">2015</xref>).</p>
<table-wrap position="float" id="T9">
<label>Algorithm 4</label>
<caption><p>Detrended fluctuation analysis (Mumtaz et al., <xref ref-type="bibr" rid="B23">2015</xref>)</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: DFA feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Remove EEG artifacts using EEGLAB <break/>4. Segment the signal into 1-min epochs in both EO and EC conditions <break/>5. Apply Equation (9) to obtain the scaling exponents <break/>6. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
 <p>The data acquired included eyes closed (EC) and eyes opened (EO) conditions from both healthy and MDD patients from the Hospital Universiti Sains Malaysia (HUMS). The data was amplified by a 24 E amplifier, sampling rate of 256 Hz was used and a bandpass filter for 0.5&#x02013;70 Hz was applied. A notch filter was also used to remove the powerline interference. Detrended fluctuation analysis (DFA) was performed at the feature extraction stage to obtain the scaling exponents; refer to <xref ref-type="fig" rid="F3">Figure 3</xref> for the outlined DFA process. DFA is used to observe the presence or absence of long-range temporal correlations (LRTC) in the EEG data. DFA is computed as follows (Mumtaz et al., <xref ref-type="bibr" rid="B23">2015</xref>):
<disp-formula id="E9"><label>(9)</label><mml:math id="M11"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:msqrt><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>N</italic> is the length of the time-series signal, <italic>y(k)</italic> is the cumulative sum of the signal, and <italic>y</italic><sub><italic>n</italic></sub>(<italic>k</italic>) is the resultant piecewise sequence of straight-line fits (Mumtaz et al., <xref ref-type="bibr" rid="B23">2015</xref>).</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>DFA process (Mumtaz et al., <xref ref-type="bibr" rid="B23">2015</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="frai-05-1072801-g0003.tif"/>
</fig></sec></sec>
<sec>
<title>4.2. Frequency-domain feature extraction</title>
<p>The frequency domain analysis techniques focus on features that can be extracted from the sinusoids that make up the data. This is typically done by conversion from the time-domain to the frequency domain first, before further analysis can be done. Please refer to <xref ref-type="fig" rid="F4">Figure 4</xref> for a visual of a time domain signal with its frequency domain counterpart. In this section, various frequency-domain techniques specific to EEG will be explored.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>EEG signals in the time and in the frequency domain. Taken from Delimayanti et al. (<xref ref-type="bibr" rid="B8">2020</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="frai-05-1072801-g0004.tif"/>
</fig>
<sec>
<title>4.2.1. Fourier transform</title>
<p>It has been found that the alpha, delta, theta, and beta bands of the EEG signal operate within specific frequency bands (<xref ref-type="table" rid="T10">Algorithm 5</xref>). Thus, the analysis of the frequency spectrum of an EEG signal is important as it can help identify these bands, and classify the brainwaves. One way to do this is through fast Fourier transform (FFT) feature extraction. The data used in this study was taken from the Sleep-EDF dataset, which consists of two channels of data. 3000 FFT features were extracted (Delimayanti et al., <xref ref-type="bibr" rid="B8">2020</xref>).</p>
<table-wrap position="float" id="T10">
<label>Algorithm 5</label>
<caption><p>Fourier transform (Delimayanti et al., <xref ref-type="bibr" rid="B8">2020</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: FFT feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Segment the signal into equally-timed epochs (i.e. 30 s epochs) <break/>4. Generate the frequency spectra of each epoch using the FFT <break/>5. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap></sec>
<sec>
<title>4.2.2. Power spectral density</title>
<p>The power spectral density (PSD) is a very powerful tool in the frequency domain; from both the PSD and the normalized PSD, a variety of other features can be extracted (<xref ref-type="table" rid="T11">Algorithm 6</xref>). Some such features are the intensity weighted mean frequency (IWMF), intensity weighted bandwidth (IWBW), the spectral edge frequency (SEF), and more (Boonyakitanont et al., <xref ref-type="bibr" rid="B4">2020</xref>).</p>
<table-wrap position="float" id="T11">
<label>Algorithm 6</label>
<caption><p>Power spectral density (Chakladar and Chakraborty, <xref ref-type="bibr" rid="B7">2018</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: PSD feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Filter the signal to within the frequency range of: 16 Hz (low cutoff frequency) and 24 Hz (high cutoff frequency)&#x02014;refer to <xref ref-type="fig" rid="F5">Figure 5</xref> <break/>4. Extract the power spectrum features of the filtered signal <break/>5. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>PSD analysis of the filtered brain signal. Taken from Chakladar and Chakraborty (<xref ref-type="bibr" rid="B7">2018</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="frai-05-1072801-g0005.tif"/>
</fig>
<p>One case study using this method of feature extraction is focused on the application of cursor movement in BCI systems. It was shown that PSD techniques led to an increased accuracy compared to previous methods of cursor movement. Some of the data used in this study was taken from Kaggle which consisted of data from 12 subjects, in which motor imagery EEG data was collected. Thirty-two channels were used, and the signals were sampled at 500 Hz (Chakladar and Chakraborty, <xref ref-type="bibr" rid="B7">2018</xref>).</p>
</sec>
<sec>
<title>4.2.3. Band power</title>
<p>Another popular EEG-BCI application is wheelchair control (<xref ref-type="table" rid="T12">Algorithm 7</xref>). Each of these systems require a feature extraction stage to function. One research group studied the detection of stimulus frequencies through the total band power (BP) of the steady-state visual evoked potentials (SSVEPs). The band power for each stimulus frequency is estimated as follows (Mandel et al., <xref ref-type="bibr" rid="B22">2009</xref>):
<disp-formula id="E10"><label>(10)</label><mml:math id="M12"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:msubsup><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>X</italic> is an SSVEP model with noise excluded, and <italic>s</italic><sub><italic>l</italic></sub> is the <italic>l</italic>th channel signal (Mandel et al., <xref ref-type="bibr" rid="B22">2009</xref>).</p>
<table-wrap position="float" id="T12">
<label>Algorithm 7</label>
<caption><p>Band power (Mandel et al., <xref ref-type="bibr" rid="B22">2009</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: Band power feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Perform segmentation for each of the channels into individual SSVEPs <break/>4. Apply Equation (10) <break/>5. Form the feature vector
</td></tr>
</tbody>
</table>
</table-wrap>
<p>After the power is estimated, a linear classifier is applied to classify the frequency of which the subject was focusing on. The minimum accuracy achieved with this system was 93.61% during wheelchair movement. It was also found that stressful situations for the subject did not hinder the performance significantly (Mandel et al., <xref ref-type="bibr" rid="B22">2009</xref>).</p>
</sec>
<sec>
<title>4.2.4. Hilbert-Huang transform</title>
<p>Although epilepsy is one of the more common diseases studied through the use of EEG, there are various others that are promising to further the development in the EEG-disease diagnosis realm (<xref ref-type="table" rid="T13">Algorithm 8</xref>). Schizophrenia is a brain disorder in which there is still a lack of overall understanding, which also makes diagnosis difficult. However, it has recently been shown that, for patients suffering schizophrenia, their left hemispheres of the brain show impairment. This became a starting ground for EEG diagnostic research (Azlan and Low, <xref ref-type="bibr" rid="B3">2014</xref>).</p>
<table-wrap position="float" id="T13">
<label>Algorithm 8</label>
<caption><p>Hilbert-Huang transform (Azlan and Low, <xref ref-type="bibr" rid="B3">2014</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: HHT feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Perform empirical mode decomposition to decompose the data into the intrinsic mode functions (IMFs)&#x02014;sifting process <break/>4. Apply Equation (11) to find the instantaneous frequencies from the IMFs (apply to each). <break/>5. Perform the Hilbert spectrum <break/>6. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Some feature extraction techniques have been studied for this application, but the one this paper will review is the Hilbert-Huang transform (HHT). Essentially, the FFT of the input signal is taken. Then, the FFT coefficients that correspond to negative frequencies are zeroed, and then the inverse FFT is taken. The general definition of the Hilbert Transform (HT) is as follows (Azlan and Low, <xref ref-type="bibr" rid="B3">2014</xref>):
<disp-formula id="E11"><label>(11)</label><mml:math id="M13"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:mfrac><mml:mi>P</mml:mi><mml:mi>V</mml:mi><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>&#x0221E;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mfrac><mml:mrow><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>PV</italic> is the Cauchy Principal Value (Azlan and Low, <xref ref-type="bibr" rid="B3">2014</xref>).</p>
<p>The data used in this study was obtained from the UCI ML repository for genetic predisposition to alcoholism. Five subjects were taken from the control group and the alcoholic group, for a total of 10 (Azlan and Low, <xref ref-type="bibr" rid="B3">2014</xref>).</p>
</sec></sec>
<sec>
<title>4.3. Decomposition-domain feature extraction</title>
<p>Decomposition feature extraction is useful as it allows for simultaneous filtering of the signal as well. The basic premise is as follows: (1) decompose the signal using a method of choice, (2) select the desired components, and (3) reject the undesirable components. This also leads to data compaction, making it ideal for more modern applications. In this section, various decomposition methods specific to EEG applications will be reviewed.</p>
<sec>
<title>4.3.1. Adaptive Hermite decomposition</title>
<p>Adaptive Hermite decomposition (AHD) uses Hermite functions to find the applications for analysis of signals, in this case EEG signals (<xref ref-type="table" rid="T14">Algorithm 9</xref>). In this study, the Hermite functions (HFs) in question are adaptively selected for the EEG signals with the use of evolutionary optimization algorithms (EOAs). Many road accidents are caused by impaired driving due to drowsiness. Thus, a quick and efficient drowsiness detection test has been of interest. This case study focuses on an ML drowsiness detection mechanism using AHD and Hermite functions (Taran and Bajaj, <xref ref-type="bibr" rid="B31">2018</xref>).</p>
<table-wrap position="float" id="T14">
<label>Algorithm 9</label>
<caption><p>AHD algorithm (Taran and Bajaj, <xref ref-type="bibr" rid="B31">2018</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: HC-based statistical feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Perform AHD using Equations (12), (13) <break/>4. Extract the statistical features from the HCs (first quartile, range, median and energy) <break/>5. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The data was taken from the MIT/BIH polysomnographic database from 16 subjects. A sampling rate of 250 Hz. Supervised learning was employed as an expert labeled the epochs at each 30-s interval (Taran and Bajaj, <xref ref-type="bibr" rid="B31">2018</xref>).</p>
<p>The dilation factor, <italic>p</italic>, and the <italic>kth</italic> order HF, denoted as <italic>f</italic><sub><italic>k,p</italic></sub>(<italic>t</italic>), is defined as follows (Taran and Bajaj, <xref ref-type="bibr" rid="B31">2018</xref>):
<disp-formula id="E12"><label>(12)</label><mml:math id="M14"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msqrt><mml:mrow><mml:mi>p</mml:mi><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mi>k</mml:mi><mml:mo>!</mml:mo><mml:msqrt><mml:mrow><mml:mi>&#x003C0;</mml:mi></mml:mrow></mml:msqrt></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:msup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E13"><label>(13)</label><mml:math id="M15"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>&#x02329;</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>&#x0221E;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>&#x02264;</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x02264;</mml:mo><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <inline-formula><mml:math id="M16"><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is the dilated form of <italic>h</italic><sub><italic>k</italic></sub>(<italic>t</italic>), a Hermite polynomial, and <italic>c</italic><sub><italic>k</italic></sub> are the Hermite coefficients (HCs) that will be used as the basis of the features. From the HCs, statistical measures will be taken as the features; the first quartile, median, range and energy are the statistical features that will be extracted (Taran and Bajaj, <xref ref-type="bibr" rid="B31">2018</xref>).</p>
</sec>
<sec>
<title>4.3.2. Local characteristic-scale decomposition</title>
<p>Local characteristic-scale decomposition (LCSD) works to disintegrate the raw EEG data, and creates segments that convey the properties of the original signal (Rashid, <xref ref-type="bibr" rid="B25">2020</xref>) (<xref ref-type="table" rid="T15">Algorithm 10</xref>). The signal is decomposed into various intrinsic scale components (ISCs), in which the instantaneous frequency of each ISC has high significance. The decomposition is performed as follows (Liu et al., <xref ref-type="bibr" rid="B21">2017</xref>):
<disp-formula id="E14"><label>(14)</label><mml:math id="M17"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mi>I</mml:mi><mml:mi>S</mml:mi><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>x</italic>(<italic>t</italic>) is the original signal and <italic>u</italic><sub><italic>n</italic></sub>(<italic>t</italic>) is the residue (Liu et al., <xref ref-type="bibr" rid="B21">2017</xref>).</p>
<table-wrap position="float" id="T15">
<label>Algorithm 10</label>
<caption><p>LCSD algorithm (Liu et al., <xref ref-type="bibr" rid="B21">2017</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: LCSD-based feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Use Equation (14) to decompose the signal into ISCs <break/>4. Extract frequency domain features from the ISCs <break/>5. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The data in this case study was taken from Graz University from their 2008 BCI competition dataset. The dataset includes imagination movements from the left hand, right hand, both feet and tongue. A sampling rate of 250 Hz was used and the signals were bandpass filtered between 0.5 and 100 Hz. A 50 Hz notch filter was also used to remove the powerline interference. In this case study, it&#x00027;s feasibility of use in a real-time BCI system was tested as well, showing its capability (Liu et al., <xref ref-type="bibr" rid="B21">2017</xref>).</p>
</sec>
<sec>
<title>4.3.3. The wavelet transform</title>
<p>The wavelet transform (WT) is a popular method of decomposition as it allows for effective use with signals that are non-stationary (Ieracitano et al., <xref ref-type="bibr" rid="B14">2020</xref>). There are two versions of the WT, continuous and discrete. The following sections will review sample applications of both versions, as well their advantages and disadvantages.</p>
<sec>
<title>4.3.3.1. The continuous wavelet transform</title>
<p>The continuous wavelet transform (CWT) allows for a signal to be projected into the time-frequency domain (<xref ref-type="table" rid="T16">Algorithm 11</xref>). It is continuous because the translation and scale parameters of wavelets are varying continuously. The CWT can be used as an effective feature extraction technique for classification of EEG signals.</p>
<table-wrap position="float" id="T16">
<label>Algorithm 11</label>
<caption><p>CWT algorithm (Ieracitano et al., <xref ref-type="bibr" rid="B14">2020</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: CWT feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Downsample the EEG signals from each channel to 256 Hz <break/>4. Partition the EEG signal into non-overlapping epochs of 5 s duration <break/>5. Compute the CWT (Equation 15) of each epoch, projecting them into the time-frequency domain. Use the Mexican hat mother wavelet function <break/>6. Average the epochs from each channel to form a signal average epoch in time-frequency representation (TFR) <break/>7. Further partition the epochs in the five EEG rhythms; delta band, alpha1 and alpha2 bands, theta band and beta band <break/>8. From each EEG sub-band, extract the mean, STD, skewness, kurtosis and entropy <break/>9. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Alzheimer&#x00027;s disease (AD) accounts for about 60% of all dementia cases. The intermediate stage between healthy aging and AD is coined amnestic Mild Cognitive Impairment (MCI). Typically, an MCI patient that develops AD will also develop dementia in about a seven-year timeline. The detection of this disorder onset remains a challenging task that researchers are looking to automate using feature extraction and ML techniques. In this study, CWT features were used to classify AD and MCI patients from the healthy controls (healthy elderly subjects). A sampling frequency of 1024 Hz was used for the EEG signals collected, and a notch filer was applied at 50 Hz to remove the powerline interference. A bandpass filter was also applied between 0.5 and 32 Hz. The CWT is defined as follows (Ieracitano et al., <xref ref-type="bibr" rid="B14">2020</xref>):
<disp-formula id="E15"><label>(15)</label><mml:math id="M18"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>C</mml:mi><mml:mi>W</mml:mi><mml:mi>T</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msqrt><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:mo>&#x0222B;</mml:mo></mml:mstyle><mml:mi>s</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>a</italic> is the dilation factor, <italic>b</italic> is the shifting factor, &#x003C8; is the mother wavelet function, and <italic>CWT</italic>(<italic>a, b</italic>) represents the wavelet coefficients (Ieracitano et al., <xref ref-type="bibr" rid="B14">2020</xref>).</p>
</sec>
<sec>
<title>4.3.3.2. The discrete wavelet transform</title>
<p>Another WT-based case study is focused on the development of BCI systems that would allow users to output desired characters to their computer screens through their P300 event-related potential (ERP) in their EEG signals (<xref ref-type="table" rid="T17">Algorithm 12</xref>). The L-level coefficients of the DWT, <italic>d</italic><sup><italic>ks</italic></sup>, of the signal, <italic>f</italic><sup><italic>ks</italic></sup>, are computed as follows (Guo et al., <xref ref-type="bibr" rid="B11">2015</xref>):
<disp-formula id="E16"><label>(16)</label><mml:math id="M19"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>W</mml:mi><mml:mi>x</mml:mi><mml:msup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>k</italic> denotes the channel, <italic>s</italic> represents the trial number, and <italic>W</italic> is the transformation matrix. The data in this study was recorded with a sampling rate of 1,000 Hz. 800 ms long epochs were extracted starting from stimulus onset (Guo et al., <xref ref-type="bibr" rid="B11">2015</xref>).</p>
<table-wrap position="float" id="T17">
<label>Algorithm 12</label>
<caption><p>DWT algorithm (Guo et al., <xref ref-type="bibr" rid="B11">2015</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: DWT feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Determine and set the following parameters: mother wavelet, wave level, and feature number in a single channel <break/>4. Apply Equation (16) to obtain the l-level DWT coefficients <break/>5. Divide the data segments into the target group and non-target group <break/>6. Compute the between-class and within-class distances for the two groups <break/>7. Apply the Fisher criterion. Sort the output in descending order <break/>8. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap></sec></sec>
<sec>
<title>4.3.4. Empirical mode decomposition</title>
<p>The empirical mode decomposition (EMD) method of decomposing a signal allows for effective preprocessing and artifact removal (<xref ref-type="table" rid="T18">Algorithm 13</xref>). This is an important step in EEG signal analysis as EEG signals are heavily impacted by noise sources such as powerline interference and EMG noise. EMD is an ideal method to do this as it retains much of the target characteristics of the original signal (Zhang et al., <xref ref-type="bibr" rid="B32">2008</xref>).</p>
<table-wrap position="float" id="T18">
<label>Algorithm 13</label>
<caption><p>EMD algorithm (Zhang et al., <xref ref-type="bibr" rid="B32">2008</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: IMFs <break/>2. Import the EEG signal <break/>3. Identify the local maxima and local minima in the signal <break/>4. Connect the local maxima <italic>via</italic> a cubic spline curve; this becomes the upper envelope denoted as <italic>x</italic><sub><italic>u</italic></sub>(<italic>t</italic>) <break/>5. Connect the local minima by a spline curve; this becomes the lower envelope denoted as <italic>x</italic><sub><italic>l</italic></sub>(<italic>t</italic>) <break/>6. Calculate the mean value at every point of the envelope:
<disp-formula id="E17"><label>(17)</label><mml:math id="M20"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mi>l</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
7. Obtain the first &#x0201C;prototype&#x0201D; IMF, <italic>h</italic><sub>1</sub>(<italic>t</italic>). This is the &#x0201C;sifting&#x0201D; process:
<disp-formula id="E18"><label>(18)</label><mml:math id="M21"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
8. Continue repeating the sifting process, replacing <italic>x</italic>(<italic>t</italic>) each time with the previous IMF. In this way, the IMFs act as the original data. For example:
<disp-formula id="E19"><label>(19)</label><mml:math id="M22"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
9. Repeat the sifting process until you have formed an IMF, <italic>h</italic><sub>1<italic>k</italic></sub>(<italic>t</italic>), and denote it as <italic>c</italic><sub>1</sub>
<disp-formula id="E20"><label>(20)</label><mml:math id="M23"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
10. Confirm that <italic>c</italic><sub>1</sub> meets the IMF criteria <break/>11. Subtract the IMF from the original signal to find the residual signal
<disp-formula id="E21"><label>(21)</label><mml:math id="M24"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mi>I</mml:mi><mml:mi>M</mml:mi><mml:mi>F</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
12. Repeat steps 7&#x02013;11, using the previous residual function as the original signal <italic>x(t)</italic>. Repeat until the residual function found is a monotonic function <break/>13. <bold>BONUS</bold>: This is not done in the case study, but feature extraction can be performed at this stage. For example, you can extract spectral and statistical features from the IMFs of the signal, and form a feature vector to train an ML model for applications such as classification
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>During the EMD procedure, the EEG signal is split into levels of intrinsic mode functions (IMFs), which are related to the frequency distribution in the signal. The IMFs are computed through a &#x0201C;sifting&#x0201D; process (Zhang et al., <xref ref-type="bibr" rid="B32">2008</xref>).</p>
<p>An IMF is classified as an IMF if it meets the following requirements (Zhang et al., <xref ref-type="bibr" rid="B32">2008</xref>):</p>
<list list-type="order">
<list-item><p>count (local extrema) = count (zero crossings) &#x000B1; 1.</p></list-item>
<list-item><p>average (envelope) = 0 at all time points.</p></list-item>
</list>
</sec></sec></sec>
<sec id="s5">
<title>5. Multi-dimensional feature extraction</title>
<sec>
<title>5.1. Joint time-frequency domain feature extraction</title>
<p>Spectral and time characteristics of signals alone for feature extraction are oftentimes ineffective due to the absence of their counterparts as they neglect one another. To overcome the limitations of single domains, time-frequency analysis leverages both (Rashid, <xref ref-type="bibr" rid="B25">2020</xref>). This section will review some well-known time-frequency feature extraction techniques for EEG analysis.</p>
<sec>
<title>5.1.1. Short-time Fourier transform</title>
<p>There is much work being done to improve the performance of motor imagery based BCIs (<xref ref-type="table" rid="T19">Algorithm 14</xref>). This is difficult as motor imagery EEGs are typically inconsistent and distorted. One study looks to enhance this with the use of the short-time Fourier transform (STFT) to convert EEG signals into 2D images, and then use the images to train and test a capsule network (Ha, <xref ref-type="bibr" rid="B12">2019</xref>).</p>
<table-wrap position="float" id="T19">
<label>Algorithm 14</label>
<caption><p>STFT algorithm (Ha, <xref ref-type="bibr" rid="B12">2019</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: STFT 2D images <break/>2. Import and preprocess the EEG signal <break/>3. Select the desired windowing function <break/>4. Apply Equation (22) with an overlap size of 100, and window size of 128 <break/>5. Extract the vectors within the frequency range between mu and beta waves <break/>6. Form the 2D images
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The sensorimotor rhythm (SMR) brainwave is observed after attempted or executed tasks, hence it is the brainwave most commonly used for motor imagery-based BCIs (Ha, <xref ref-type="bibr" rid="B12">2019</xref>).</p>
<p>The STFT algorithm converts the 1D motor imagery signals from each EEG electrode into a 2D image in the time-frequency domain. The STFT is defined as follows (Haddad, <xref ref-type="bibr" rid="B13">1993</xref>; Ha, <xref ref-type="bibr" rid="B12">2019</xref>):
<disp-formula id="E22"><label>(22)</label><mml:math id="M25"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>S</mml:mi><mml:mi>T</mml:mi><mml:mi>F</mml:mi><mml:mi>T</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C4;</mml:mi><mml:mo>,</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mo>&#x0222B;</mml:mo></mml:mstyle><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>w</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>j</mml:mi><mml:mi>w</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>w(t)</italic> is the window function, and <italic>x(t)</italic> is the EEG signal to be transformed. Windowing functions such as the Hann and Gaussian can be used. This allows for 2D spectrogram images to be extracted (Ha, <xref ref-type="bibr" rid="B12">2019</xref>).</p>
<p>The data used in this study was taken from the BCI competition IV 2b dataset, which was obtained from nine subjects during left-hand and right-hand motor imagery tasks. A sampling frequency of 250 Hz was used, and the signals were bandpass filtered between 0.5 and 100 Hz. A notch filter was also applied at 50 Hz. The results from this study outperformed that of standard convolutional neural network (CNN) based methods, and show feasibility for this approach to be used for classification of motor imagery EEG signals (Ha, <xref ref-type="bibr" rid="B12">2019</xref>).</p>
</sec>
<sec>
<title>5.1.2. S-transform</title>
<p>Continuing on the theme of EEG signal classification, it has been found that the use of the S-transform (ST) as a feature extraction technique has been effective as well (<xref ref-type="table" rid="T20">Algorithm 15</xref>). In this study, data taken from the Ward of Neurology and Strokes of the Provincial Hospital of Zielona Gora is taken. They were acquired using 16 channels, and form a complete database of neuro-disorders. This study focused on epileptic and non-epileptic subjects. A sampling frequency of 500 Hz was used and the signals were low-pass filtered with a cutoff frequency of 35 Hz. Supervised learning was employed as an expert labeled each record as epileptic or normal (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>). For <xref ref-type="fig" rid="F6">Figure 6</xref> the time-frequency representation of an epoch to which the S-transform has been applied.</p>
<table-wrap position="float" id="T20">
<label>Algorithm 15</label>
<caption><p>ST algorithm (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: ST feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Filter the signals to the frequency range 0&#x02013;100 Hz <break/>4. Apply Equations (23), (24) <break/>5. Use a sampling rate of 10 to achieve 11 components (each with 1,500 samples) of each channel <break/>6. Extract the following features: mean, STD, median, mode, component energy, and component entropy, giving a total of 880 attributes <break/>7. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Time-frequency representation of a signal using the ST.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="frai-05-1072801-g0006.tif"/>
</fig>
<p>The S-transform can be considered a generalization of the previous STFT, but instead of a constant sized window, a scalable Gaussian window is used. The S-transform is computed as follows (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>):
<disp-formula id="E23"><label>(23)</label><mml:math id="M26"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>S</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>f</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>&#x0221E;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C4;</mml:mi><mml:mo>-</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>j</mml:mi><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mi>f</mml:mi><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msup><mml:mi>d</mml:mi><mml:mi>&#x003C4;</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>g</italic>(&#x003C4;&#x02212;<italic>t</italic>) is the Guassian function at &#x003C4; &#x0003D; <italic>t</italic> defined as (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>):
<disp-formula id="E24"><label>(24)</label><mml:math id="M27"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C4;</mml:mi><mml:mo>-</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mo>|</mml:mo><mml:mi>f</mml:mi><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>&#x003C0;</mml:mi><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C4;</mml:mi><mml:mo>-</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec>
<title>5.1.3. Matching pursuit</title>
<p>Similar to the S-transform case study, this study used data taken from the Ward of Neurology and Strokes of the Provincial Hospital of Zielona Gora (<xref ref-type="table" rid="T21">Algorithm 16</xref>). The signals were acquired using 16 channels, and form a complete database of neuro-disorders. This study focused on epileptic and non-epileptic subjects. A sampling frequency of 500 Hz was used, and the signals were low-pass filtered with a cutoff frequency of 35 Hz. Supervised learning was employed as an expert labeled each record as epileptic or normal (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>).</p>
<table-wrap position="float" id="T21">
<label>Algorithm 16</label>
<caption><p>MP algorithm (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: Feature vector of weights <italic>a</italic><sub><italic>n</italic></sub> and atoms <italic>g</italic><sub><italic>n</italic></sub>(<italic>t</italic>) <break/>2. Import and preprocess the EEG signal <break/>3. Find the atom with the largest inner product with the signal <break/>4. Subtract the contribution from this atom from the signal <break/>5. Repeat steps 3&#x02013;4 until the signal is decomposed <break/>6. Use Equation (25) to confirm that the MP algorithm is complete <break/>7. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The matching pursuit (MP) method works to identify the best matching projections of data onto a dictionary, <italic>D</italic>. A commonly used dictionary is based on Gabor functions. However, this method is quite greedy and computationally expensive. MP allows the signal to be represented as combination of weighted sums as follows (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>):
<disp-formula id="E25"><label>(25)</label><mml:math id="M28"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>a</italic><sub><italic>n</italic></sub> are the weights and <italic>g</italic><sub><italic>n</italic></sub>(<italic>t</italic>) are the atoms (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>).</p>
</sec></sec>
<sec>
<title>5.2. Spatial domain feature extraction</title>
<p>Spatial domain feature extraction, AKA spatial filtering, is one of the most popular classification techniques for EEG signals; specifically, the common spatial pattern (CSP), a supervised spatial filter, is used. A spatial filtering method converts the brain waves into a unique space. In this unique space, the variance of one group is magnified, and a lower variance is seen in the remaining group. However, there are limitations with the pure CSP technique; due to the subject-specific optimal frequency band, it cannot achieve an ideal performance. Due to this, researchers have been developing variations of the CSP to overcome the limitations. This section will look at some of the changes that have been proposed and tested (Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>; Rashid, <xref ref-type="bibr" rid="B25">2020</xref>).</p>
<sec>
<title>5.2.1. Common spatio-spectral pattern</title>
<p>The common spatio-spectral pattern (CSSP) approach builds on the pure CSP approach by simply combining an FIR filter with the CSP algorithm (<xref ref-type="table" rid="T22">Algorithm 17</xref>). It has been shown to have improved performance vs. the purse CSP on its own (Rashid, <xref ref-type="bibr" rid="B25">2020</xref>).</p>
<table-wrap position="float" id="T22">
<label>Algorithm 17</label>
<caption><p>CSSP algorithm (Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: The spatial filter matrices: [<italic>W</italic><sup>(0)</sup> <italic>W</italic><sup>(1)</sup> <italic>W</italic><sup>(2)</sup>] <break/>2. Import and preprocess the EEG signal <break/>3. Bandpass filter the signal to remove the mean from 1 to 20 Hz <break/>4. Downsample the data to 250 Hz <break/>5. Compute the thresholds of the Gaussian membership functions for each of the fuzzy classes <break/>6. Compute <inline-formula><mml:math id="M32"><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:math></inline-formula>:
<disp-formula id="E28"><label>(28)</label><mml:math id="M33"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mfrac><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mstyle><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula> where <italic>N</italic><sub><italic>i</italic></sub> is the number of trials in the ith fuzzy class. <break/>7. Compute the covariance matrix for each fuzzy class using:
<disp-formula id="E29"><label>(29)</label><mml:math id="M34"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo accent="true">_</mml:mo></mml:mrow></mml:munderover></mml:mstyle><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msup><mml:mrow><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:msup><mml:mrow><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>T</italic> denotes the transpose operation <break/>8. Normalize the covariance matrices:
<disp-formula id="E30"><label>(30)</label><mml:math id="M35"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo accent="true">_</mml:mo></mml:mrow></mml:munderover></mml:mstyle><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mfrac><mml:mrow><mml:mstyle displaystyle="true"><mml:mover><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mo accent="true">_</mml:mo></mml:mover></mml:mstyle><mml:msub><mml:mrow><mml:mtext>&#x000A0;</mml:mtext></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mi>r</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle displaystyle="true"><mml:mover><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mo accent="true">_</mml:mo></mml:mover></mml:mstyle><mml:msub><mml:mrow><mml:mtext>&#x000A0;</mml:mtext></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>Tr</italic> denotes the trace matrix operation. <break/>9. Compute the spatial filters matrix <bold><italic>W</italic></bold>. Note that <bold><italic>W</italic></bold> must satisfy the following:
<disp-formula id="E31"><label>(31)</label><mml:math id="M36"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>W</mml:mi><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo accent="true">_</mml:mo></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E32"><label>(32)</label><mml:math id="M37"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mi>x</mml:mi><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x000A0;</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
10 Obtain: [<italic>W</italic><sup>(0)</sup> <italic>W</italic><sup>(1)</sup> <italic>W</italic><sup>(2)</sup>]
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>This particular study looked at extending the CSP algorithm to EEG state-space through fuzzy time delay, and is a novel approach. The data in this study was collected over a 5-month period, and was supposed by the National Chiao Tung University, Taiwan. This method was shown to improve the overall signal quality. In this method, a spatial filter is applied (Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>):
<disp-formula id="E26"><label>(26)</label><mml:math id="M29"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <inline-formula><mml:math id="M30"><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:math></inline-formula> is the EEG signal after spatial filtering has been applied, <italic>w</italic><sub><italic>i</italic></sub> are the spatial filter weights, and <italic>x</italic><sub><italic>i</italic></sub>is a row vector that contains the EEG signal from channel <italic>i</italic> prior to spatial filtering. The CSSP algorithm is defined as follows (Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>):
<disp-formula id="E27"><label>(27)</label><mml:math id="M31"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>&#x003B4;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mtext>&#x000A0;</mml:mtext><mml:msup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mtext>&#x000A0;</mml:mtext><mml:msup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where &#x003B4;<sup>&#x003C4;</sup> is the delay operator, &#x003BC;<sub>(&#x003C4;)</sub> is the fuzzy membership value for &#x003C4;, <italic>W</italic><sup>(&#x003C4;)</sup> is the optimized fuzzy CSSP weights matrix, and <italic>X</italic><sup><italic>k</italic></sup> is the preprocessed EEG recording of the <italic>k</italic>th trial (Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>).</p>
<p>After the CSSP algorithm is applied, features can be further extracted for the purposes of EEG-based Regression Problems in BCIs (Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>).</p>
</sec>
<sec>
<title>5.2.2. Common sparse spatio-spectral patterns</title>
<p>An extension of the aforementioned CSSP method, the common sparse spatio-spectral patterns (CSSSP) algorithm is a comparatively more advanced procedure in which an investigation is carried out as to where the common spectral patterns across EEG channels are located (Rashid, <xref ref-type="bibr" rid="B25">2020</xref>) (<xref ref-type="table" rid="T23">Algorithm 18</xref>).</p>
<table-wrap position="float" id="T23">
<label>Algorithm 18</label>
<caption><p>CSSSP algorithm (Dornhege et al., <xref ref-type="bibr" rid="B9">2006</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: Sequence: <italic>b</italic><sub>1</sub><italic>,&#x02026;</italic>,<sub><italic>T</italic></sub> with <italic>b</italic>(1) = 1 <break/>2. Import and preprocess the EEG signal <break/>3. Apply a casual bandpass filter from 7 to 30 Hz, containing the &#x003BC;- and &#x003B2;- rhythms <break/>4. Extract 500&#x02013;3,500 ms after the visual stimulus was presented <break/>5. Solve the CSSP algorithm&#x02014;see Equation (33)&#x02014;to obtain the sequence <break/>6. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>This case study focusses on a technique that allows for optimization of spatial and spectral filters together, which enhance the discriminability rates of the multichannel EEG trials. The CSSSP algorithm will be capable of learning a global spatial-temporal FIR. Each class will have a frequency band filter and a pattern. Sparsity is introduced to restrict the complexity of the frequency filter. The CSSSP algorithm looks to find a real valued sequence <italic>b</italic><sub>1</sub><italic>,&#x02026;</italic>,<sub><italic>T</italic></sub> with <italic>b</italic>(1) = 1 (Dornhege et al., <xref ref-type="bibr" rid="B9">2006</xref>):
<disp-formula id="E33"><label>(33)</label><mml:math id="M38"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>s</italic><sub><italic>i</italic></sub> is the signal, and <inline-formula><mml:math id="M39"><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the signal delayed by &#x003C4; time points (Dornhege et al., <xref ref-type="bibr" rid="B9">2006</xref>).</p>
</sec>
<sec>
<title>5.2.3. Sub-band common spatial patterns</title>
<p>The sub-band common spatial patterns (SBCSP) algorithm consists of first filtering the EEG signal at various sub-bands, which is followed by the calculation of traditional CSP features for each of the sub-bands (Khan et al., <xref ref-type="bibr" rid="B17">2019</xref>; Rashid, <xref ref-type="bibr" rid="B25">2020</xref>) (<xref ref-type="table" rid="T24">Algorithm 19</xref>).</p>
<table-wrap position="float" id="T24">
<label>Algorithm 19</label>
<caption><p>SBCSP algorithm (Khan et al., <xref ref-type="bibr" rid="B17">2019</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: SBCSP feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Apply a filter bank containing different bandpass filters for different frequency bands <break/><break/>&#x000A0;&#x000A0;a. Refer to <xref ref-type="fig" rid="F7">Figure 7</xref> for the frequency bands <break/><break/>4. Apply the traditional CSP to each bandpass filtered signal to extract features <break/>&#x000A0;&#x000A0;a. Extract the maximum ration of variances <break/>&#x000A0;&#x000A0;b. Compute the composite spatial covariance matrix <italic>E</italic>
<disp-formula id="E34"><label>(34)</label><mml:math id="M40"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>M</italic><sub><italic>N</italic></sub> represents all the trials in &#x0201C;<italic>n&#x0201D;</italic> classes <break/>&#x000A0;&#x000A0;c. Apply Equation (35) to find transformed data variance between multiclass data
<disp-formula id="E35"><label>(35)</label><mml:math id="M41"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo class="qopname">max</mml:mo></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mi>W</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mi>s</mml:mi></mml:mrow></mml:mfrac><mml:mi>s</mml:mi><mml:mo>.</mml:mo><mml:mi>t</mml:mi><mml:mo>.</mml:mo><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>s</mml:mi><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>W(s)</italic> represents the Rayleigh quotient maximization, <italic>s</italic> is the spatial filter, ||<italic>s</italic>||<sub>2</sub> is the <italic>n</italic><sub>2</sub> normal, and <italic>E</italic><sub><italic>c</italic>1</sub> and <italic>E</italic><sub><italic>c</italic>2</sub> are the covariance matrices of classes 1 and 2 <break/>5. Apply linear discriminant analysis (LDA) to each sub-band to acquire scores that show the classification capability of each band <break/>6. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The data in this study was sampled at a rate of 128 Hz. The 10&#x02013;20 electrode system was used to acquire the EEG signals. The results showed that the SBCSP algorithm showed a 7% increase in accuracy when compared to other methods (Khan et al., <xref ref-type="bibr" rid="B17">2019</xref>).</p></sec>
<sec>
<title>5.2.4. Regularized CSP</title>
<p>Regularized CSP (RCSP) is arising as another CSP method that allows for feature extraction from selected channels (Rashid, <xref ref-type="bibr" rid="B25">2020</xref>) (<xref ref-type="table" rid="T25">Algorithm 20</xref>). This method also allows for the optimization of motor imagery features, and improves classification accuracy (Jin et al., <xref ref-type="bibr" rid="B15">2019</xref>).</p>
<table-wrap position="float" id="T25">
<label>Algorithm 20</label>
<caption><p>RCSP algorithm (Jin et al., <xref ref-type="bibr" rid="B15">2019</xref>).</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td>
1. <bold>Result</bold>: RCSP feature vector <break/>2. Import and preprocess the EEG signal <break/>3. Apply Z-score normalization to the signals to normalize the mean of all the data to zero and the standard deviation to 1 <break/>4. Compute correlation coefficients between the channels. Use Pearson&#x00027;s correlation coefficient, as defined in Equation (40)
<disp-formula id="E36"><label>(40)</label><mml:math id="M42"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>&#x0003C;</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mi>Y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>Y</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x0003C;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <italic>X</italic> and <italic>Y</italic> are the observable variables, <italic>n</italic> is the number of observations, <inline-formula><mml:math id="M43"><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:math></inline-formula> and <inline-formula><mml:math id="M44"><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:math></inline-formula> are the means of the observable variables, and &#x003C3;<sub><italic>Y</italic></sub> and &#x003C3;<sub><italic>X</italic></sub> are the standard deviations of the variables (Jin et al., <xref ref-type="bibr" rid="B15">2019</xref>) <break/>5. From the correlation coefficient matrices, extract the means from each row <break/>6. Locate the row with the highest mean, and denote it as row <italic>i</italic>. This row is important as it is highly correlated with other channels <break/>7. Select the channels that appear most often to move forward with <break/>8. Apply Equations (36&#x02013;39) to extract the RCSP features <break/>9. Form the feature vector
</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Frequency ranges of filters within the filter bank. Note that the overlapping frequencies minimize information loss. Taken from Khan et al. (<xref ref-type="bibr" rid="B17">2019</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="frai-05-1072801-g0007.tif"/>
</fig>
<p>This algorithm differs from the traditional CSP method by the introduction of two regularization parameters, &#x003B1; and &#x003B2;, which are used to create regularized average spatial covariance matrix (Jin et al., <xref ref-type="bibr" rid="B15">2019</xref>):
<disp-formula id="E37"><label>(36)</label><mml:math id="M45"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <inline-formula><mml:math id="M46"><mml:msubsup><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the normalized covariance matrix (Jin et al., <xref ref-type="bibr" rid="B15">2019</xref>).
<disp-formula id="E38"><label>(37)</label><mml:math id="M47"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>v</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
where <inline-formula><mml:math id="M48"><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the pairwise covariance matrix (Jin et al., <xref ref-type="bibr" rid="B15">2019</xref>), and <italic>cov</italic> is the function to calculate the pairwise covariance of each channel (Jin et al., <xref ref-type="bibr" rid="B15">2019</xref>).
<disp-formula id="E39"><label>(38)</label><mml:math id="M49"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mstyle><mml:msubsup><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mstyle><mml:msubsup><mml:mrow><mml:mi>&#x00108;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E40"><label>(39)</label><mml:math id="M50"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003B1;</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x003B2;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:mi>&#x003B2;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msup><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x003B2;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>I</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></sec></sec></sec>
<sec id="s6">
<title>6. Discussions and conclusions</title>
<p>Through this review, we have studied and analyzed various techniques of EEG feature extraction from the time domain, frequency domain, decomposition domain, joint time-frequency domain and the spatial domain. Signal representation is best in the decomposition and joint time-frequency domains, when compared to the results from the time and frequency domains independently; however, various papers conclude that the spatial domain is ultimately the most powerful when it comes to EEG analysis and feature extraction (Dornhege et al., <xref ref-type="bibr" rid="B9">2006</xref>; Jin et al., <xref ref-type="bibr" rid="B15">2019</xref>; Khan et al., <xref ref-type="bibr" rid="B17">2019</xref>; Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>; Rashid, <xref ref-type="bibr" rid="B25">2020</xref>).</p>
<p>In each review, the applications in ML, BCI-technology, assistive technology, disease diagnosis and more were also discussed. It has been thoroughly shown that the features extracted from EEG signals can be used and integrated into ML-pipelines successfully. The reader should note, however, that when developing a robust feature extraction pipeline, it must generate robust features and perform dimensionality reduction of the data prior to integration with an ML model (Krishnan and Athavale, <xref ref-type="bibr" rid="B19">2018</xref>).</p>
<p>The review starts by analyzing one-dimensional feature extraction domains. Well-known methods in the time domain like the AR modeling, FD <italic>via</italic> Higuchi algorithm technique, statistical feature extraction, and detrended fluctuation analysis were reviewed. Time domain methods are commonly used as they are shown to have fast processing,</p>
<p>however they do not always yield the most relevant and robust features. Most time domain methods are also computationally inexpensive, like the extraction of statistical features from EEG signals. This means that they don&#x00027;t typically optimize the representation of the underlying EEG signals. This is also true for most frequency domain methods as well. This is because the time domain and frequency domain alone cannot capture sufficient detail and information in their features independently while ignoring the other domain. This comes back to the non-linear and non-stationary characteristics that EEG, and physiological signals as a whole, carry (Krishnan, <xref ref-type="bibr" rid="B18">2021</xref>).</p>
<p>In the frequency domain, the FT, PSD, BP and HHT methods of feature extraction were studied and evaluated. High accuracies were shown to be achieved with these methods, like with band power analysis, however they can be computationally expensive (Mandel et al., <xref ref-type="bibr" rid="B22">2009</xref>). Furthermore, these methods become less reliable when there are sudden shifts in frequency, which are characteristic of EEG signals (Azlan and Low, <xref ref-type="bibr" rid="B3">2014</xref>).</p>
<p>In the decomposition domain, classical methods like the wavelet transform and empirical mode decomposition were studied, alongside other lesser-known methods like the AHD and LCSD. These methods are more adaptive (Taran and Bajaj, <xref ref-type="bibr" rid="B31">2018</xref>), efficient and accurate (Liu et al., <xref ref-type="bibr" rid="B21">2017</xref>; Ieracitano et al., <xref ref-type="bibr" rid="B14">2020</xref>), but can be computationally slower (Liu et al., <xref ref-type="bibr" rid="B21">2017</xref>; Ieracitano et al., <xref ref-type="bibr" rid="B14">2020</xref>). The DWT was shown to have time-varying scale (inversely related to frequency) representation, overcoming the previously discussed limitation in the independent time and frequency domains. This is further overcome in the joint time-frequency domain, when multi-dimensional feature extraction begins.</p>
<p>The joint time-frequency domain looks at the features from both the time and frequency domains, hence extracting more detail and information from the EEG signals. This leads to higher efficiency like with the STFT method (Haddad, <xref ref-type="bibr" rid="B13">1993</xref>) and better performance accuracy (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>), like in the MP method. However, with these methods, a balance must be found for time and frequency resolution, as there is an evident tradeoff between the two; as one increases, the other decreases (Haddad, <xref ref-type="bibr" rid="B13">1993</xref>; Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>; Ha, <xref ref-type="bibr" rid="B12">2019</xref>).</p>
<p>The spatial domain, thought of as the most relevant domain for EEG feature extraction (Rashid, <xref ref-type="bibr" rid="B25">2020</xref>), allows for the conversion of the brainwaves into a unique space for variance analysis (Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>; Rashid, <xref ref-type="bibr" rid="B25">2020</xref>). The broader method, CSP, has had many advancements proposed that were reviewed in this paper such as the CSSP, CSSSP, SBCSP, and the RCSP method. Each of these methods outperform the traditional CSP method, improve accuracy, and overcome CSP limitations; however, majority of these methods are computationally expensive (Dornhege et al., <xref ref-type="bibr" rid="B9">2006</xref>; Jin et al., <xref ref-type="bibr" rid="B15">2019</xref>; Khan et al., <xref ref-type="bibr" rid="B17">2019</xref>; Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>). All methods have been summarized in <xref ref-type="fig" rid="F8">Figure 8</xref> for quick reference purposes.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Summary of EEG feature extraction techniques.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="frai-05-1072801-g0008.tif"/>
</fig>
<p>Each method summarized in <xref ref-type="fig" rid="F8">Figure 8</xref> has its own sets of pros and cons (refer to <xref ref-type="table" rid="T1">Tables 1</xref>&#x02013;<xref ref-type="table" rid="T5">5</xref>), which will need to be weighed by the reader during implementation and testing. Based on the analysis of the various methods, it is clear that decomposition, time-frequency, and spatial domains provide the best representation on average of EEG signals, however it still is important to consider the methods in the other domains depending on the application or problem that you are trying to solve.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Summary of time-domain feature extraction methods for EEG.</p></caption>
<table frame="box" rules="all">
<thead><tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="left"><bold>Method</bold></th>
<th valign="top" align="left"><bold>Sample applications</bold></th>
<th valign="top" align="left"><bold>Advantages</bold></th>
<th valign="top" align="left"><bold>Disadvantages</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">AR modeling (Lawhern et al., <xref ref-type="bibr" rid="B20">2012</xref>; Zhang et al., <xref ref-type="bibr" rid="B33">2015</xref>; Chai, <xref ref-type="bibr" rid="B6">2017</xref>)</td>
<td valign="top" align="left">EEG artifact classification<break/> Mental task classification<break/> Driver fatigue classification</td>
<td valign="top" align="left">Models peak spectra which are characteristic of EEG signals (high spectral resolution)<break/> All-pole model, meaning it is efficient for resolving sharp changes in the spectra</td>
<td valign="top" align="left">Challenging to choose model order; if too low, it will not represent the data well, and if it is too high, it will include noise</td>
</tr> <tr>
<td valign="top" align="left">Fractal dimension (FD) <italic>via</italic> Higuchi algorithm (Kaur et al., <xref ref-type="bibr" rid="B16">2018</xref>)</td>
<td valign="top" align="left">Emotion identification</td>
<td valign="top" align="left">Efficient method of feature extraction for non-stationary and non-linear data</td>
<td valign="top" align="left">The accuracy of this method has not been optimized</td>
</tr> <tr>
<td valign="top" align="left">Statistical features (Picard et al., <xref ref-type="bibr" rid="B24">2001</xref>)</td>
<td valign="top" align="left">Enhancement of BCI-machine intelligence systems with emotional intelligence</td>
<td valign="top" align="left">Simple implementation and computationally inexpensive</td>
<td valign="top" align="left">Statistical features can be extracted for many types of data, and may not always be the best choice for physiological signals</td>
</tr>
<tr>
<td valign="top" align="left">Detrended fluctuation analysis (Mumtaz et al., <xref ref-type="bibr" rid="B23">2015</xref>)</td>
<td valign="top" align="left">Classification of patients with MDD</td>
<td valign="top" align="left">Efficiently discriminates MDD patients from healthy controls, allowing for diagnosis based on EEG data only</td>
<td valign="top" align="left">There is a small sample size constraint such that the results should not be generalized to a wider population</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Summary of frequency-domain feature extraction methods for EEG.</p></caption>
<table frame="box" rules="all">
<thead><tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="left"><bold>Method</bold></th>
<th valign="top" align="left"><bold>Sample applications</bold></th>
<th valign="top" align="left"><bold>Advantages</bold></th>
<th valign="top" align="left"><bold>Disadvantages</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Fourier transform (Delimayanti et al., <xref ref-type="bibr" rid="B8">2020</xref>)</td>
<td valign="top" align="left">Sleep-stage/brainwave classification</td>
<td valign="top" align="left">Easy to implement, computationally inexpensive, and fast</td>
<td valign="top" align="left">Does not have excellent spectral estimation and cannot be used for the analysis of short EEG signals</td>
</tr> <tr>
<td valign="top" align="left">Power spectral density (Chakladar and Chakraborty, <xref ref-type="bibr" rid="B7">2018</xref>; Boonyakitanont et al., <xref ref-type="bibr" rid="B4">2020</xref>; Delimayanti et al., <xref ref-type="bibr" rid="B8">2020</xref>)</td>
<td valign="top" align="left">Cursor movement in BCI systems</td>
<td valign="top" align="left">Computationally inexpensive<break/> Versatile features available for increased accuracy</td>
<td valign="top" align="left">Difficulty examining non-stationary signals</td>
</tr> <tr>
<td valign="top" align="left">Band power (Mandel et al., <xref ref-type="bibr" rid="B22">2009</xref>)</td>
<td valign="top" align="left">BCI wheelchair control</td>
<td valign="top" align="left">High accuracy achieved</td>
<td valign="top" align="left">Computationally extensive as the feature extraction and classification need to be repeated for every 0.1 s of the EEG signal</td>
</tr>
<tr>
<td valign="top" align="left">Hilbert-Huang transform/Hilbert transform (Azlan and Low, <xref ref-type="bibr" rid="B3">2014</xref>)</td>
<td valign="top" align="left">Schizophrenia disease detection</td>
<td valign="top" align="left">Has the ability to determine instantaneous frequency and power of a signal<break/> Ability to analyze nonlinear and nonstationary signals<break/> Retains the time information from time-frequency analysis</td>
<td valign="top" align="left">Tendency to generate uncertain results when there are sudden shifts in frequency in the time-series signal</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Summary of decomposition-domain feature extraction methods for EEG.</p></caption>
<table frame="box" rules="all">
<thead><tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="left"><bold>Method</bold></th>
<th valign="top" align="left"><bold>Sample applications</bold></th>
<th valign="top" align="left"><bold>Advantages</bold></th>
<th valign="top" align="left"><bold>Disadvantages</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Adaptive Hermite decomposition (Taran and Bajaj, <xref ref-type="bibr" rid="B31">2018</xref>)</td>
<td valign="top" align="left">Drowsiness detection</td>
<td valign="top" align="left">Adaptive method, allowing for a more accurate detection</td>
<td valign="top" align="left">Challenge to find the optimal selection of order and dilation factor</td>
</tr> <tr>
<td valign="top" align="left">Local characteristic-scale decomposition (Liu et al., <xref ref-type="bibr" rid="B21">2017</xref>)</td>
<td valign="top" align="left">Motor imagery EEG signal classification</td>
<td valign="top" align="left">Efficient in redundant feature reduction</td>
<td valign="top" align="left">Time consumption is an on-going issue</td>
</tr> <tr>
<td valign="top" align="left">Continuous wavelet transform (Ieracitano et al., <xref ref-type="bibr" rid="B14">2020</xref>)</td>
<td valign="top" align="left">Automatic classification of EEG&#x02014;dementia patients</td>
<td valign="top" align="left">High classification accuracy<break/> Provides information on how the frequency content changes over time</td>
<td valign="top" align="left">Computationally slower than the DWT</td>
</tr> <tr>
<td valign="top" align="left">Discrete wavelet transform (Guo et al., <xref ref-type="bibr" rid="B11">2015</xref>)</td>
<td valign="top" align="left">P300 event-related potential (ERP) Detection for BCIs</td>
<td valign="top" align="left">Optimal resolution in both the time and frequency domain<break/> Improved computational speed</td>
<td valign="top" align="left">Adaptive mother wavelet identification required for subject-to-subject analysis</td>
</tr>
<tr>
<td valign="top" align="left">Empirical mode decomposition (Zhang et al., <xref ref-type="bibr" rid="B32">2008</xref>)</td>
<td valign="top" align="left">EEG denoising and preprocessing</td>
<td valign="top" align="left">Adaptive and highly efficient<break/> Results in an improved spectrum resolution<break/> Well suited for non-stationary and non-linear signals</td>
<td valign="top" align="left">Choosing the correct features to extract from the IMFs is challenging and requires more data-driven research</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap position="float" id="T4">
<label>Table 4</label>
<caption><p>Summary of time-frequency domain feature extraction methods for EEG.</p></caption>
<table frame="box" rules="all">
<thead><tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="left"><bold>Method</bold></th>
<th valign="top" align="left"><bold>Sample applications</bold></th>
<th valign="top" align="left"><bold>Advantages</bold></th>
<th valign="top" align="left"><bold>Disadvantages</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Short-time Fourier transform (Haddad, <xref ref-type="bibr" rid="B13">1993</xref>; Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>; Ha, <xref ref-type="bibr" rid="B12">2019</xref>)</td>
<td valign="top" align="left">Motor imagery EEG signal classification for BCIs</td>
<td valign="top" align="left">Efficient detection of modal frequencies of linear time-invariant systems and their time localization</td>
<td valign="top" align="left">Cannot represent various resolutions due to the fixed window length Poor time-frequency resolution</td>
</tr> <tr>
<td valign="top" align="left">S-transform (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>)</td>
<td valign="top" align="left">Classification of EEG signals&#x02014;epilepsy</td>
<td valign="top" align="left">Uses a variable-length Gaussian window<break/> Acts as a phase-corrected wavelet transform</td>
<td valign="top" align="left">High computation complexity Lower degree of clarity that other distribution functions</td>
</tr>
<tr>
<td valign="top" align="left">Matching pursuits (Rutkowski et al., <xref ref-type="bibr" rid="B27">2013</xref>)</td>
<td valign="top" align="left">Classification of EEG signals&#x02014;Epilepsy and other neurological disorders</td>
<td valign="top" align="left">Method is flexible when compared to other leading approaches<break/> High discrimination performance</td>
<td valign="top" align="left">Greedy and computationally expensive method</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap position="float" id="T5">
<label>Table 5</label>
<caption><p>Summary of spatial-domain feature extraction methods for EEG.</p></caption>
<table frame="box" rules="all">
<thead><tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="left"><bold>Method</bold></th>
<th valign="top" align="left"><bold>Sample applications</bold></th>
<th valign="top" align="left"><bold>Advantages</bold></th>
<th valign="top" align="left"><bold>Disadvantages</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Common spatial pattern (Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>; Rashid, <xref ref-type="bibr" rid="B25">2020</xref>)</td>
<td valign="top" align="left">Oscillatory activity-based BCIs</td>
<td valign="top" align="left">Contributed to the improvement of Oscillatory Activity (OA)-BCI performance</td>
<td valign="top" align="left">Neglects the frequency information that is necessary for OA<break/> Due to the subject-specific optimal frequency band, it cannot achieve an ideal and efficient performance Performance suffers when non-discriminative rhythms with overlapping frequencies interfere</td>
</tr> <tr>
<td valign="top" align="left">Common spatio-spectral pattern (Reddy et al., <xref ref-type="bibr" rid="B26">2019</xref>)</td>
<td valign="top" align="left">EEG-based regression problems in BCIs</td>
<td valign="top" align="left">Overcomes the limitations the pure CSP algorithm faces</td>
<td valign="top" align="left">Computationally expensive</td>
</tr> <tr>
<td valign="top" align="left">Common sparse spatio-spectral patterns (Dornhege et al., <xref ref-type="bibr" rid="B9">2006</xref>)</td>
<td valign="top" align="left">Improvement of brain-computer interfacing</td>
<td valign="top" align="left">For the most part, the CSSSP algorithm outperforms its predecessor, the CSSP algorithm</td>
<td valign="top" align="left">With increasing <italic>T</italic>, the complexity (of the frequency filter) must remain under control to avoid overfitting</td>
</tr> <tr>
<td valign="top" align="left">Sub-band common spatial patterns (Khan et al., <xref ref-type="bibr" rid="B17">2019</xref>)</td>
<td valign="top" align="left">Multiclass EEG motor-imagery classification</td>
<td valign="top" align="left">Increased accuracy</td>
<td valign="top" align="left">Further research required for optimal channel selection</td>
</tr>
<tr>
<td valign="top" align="left">Regularized common spatial pattern (Jin et al., <xref ref-type="bibr" rid="B15">2019</xref>)</td>
<td valign="top" align="left">Channel selection for motor imagery based BCI systems</td>
<td valign="top" align="left">Shown to improve classification accuracy through selection of relevant channels<break/> Minimized time complexity and maximized efficiency of feature extraction</td>
<td valign="top" align="left">Computationally expensive</td>
</tr>
</tbody>
</table>
</table-wrap></sec>
<sec id="s7">
<title>7. Future work</title>
<p>There is much room for improvement in the methods discussed. Much of them only provided an accuracy in the range of 70%&#x02212;80% which is not always sufficient depending on the application. Thus, the methods can be enhanced, and expanded upon for the use of real-time BCI applications, including assistive technology and disease diagnosis systems. As the health-technological revolution continues, we will be required to innovate in this regard. The real-time systems need to be improved so that the accuracy of the results rival that of the more robust yet computationally expensive methods such that they can be clinically accepted methods in the future. Furthermore, EEG signals are multi-channel signals due to the method of acquisition (refer to <xref ref-type="fig" rid="F1">Figure 1</xref>). This leads to a higher degree of data. There are some methods discussed in this paper that went into optimized channel selection. If channel selection is further introduced into the methods discussed, it very well may increase the efficiency and accuracy of the systems, while reducing computation time and complexity. This would greatly benefit the domain of BCI systems, assistive technology and neurological disease diagnosis.</p></sec>
<sec sec-type="author-contributions" id="s8">
<title>Author contributions</title>
<p>AS: writing&#x02014;original draft preparation, methodology, software, data curation, and investigation. SK: conceptualization, supervision, validation, and writing&#x02014;reviewing and editing. Both authors contributed to the article and approved the submitted version.</p></sec>
</body>
<back>
<sec sec-type="funding-information" id="s9">
<title>Funding</title>
<p>This research was funded by Natural Sciences and Engineering Research Council of Canada, grant number 2022-574488.</p>
</sec>
<ack><p>This work was supported by Toronto Metropolitan University (formerly Ryerson University) and the Natural Sciences and Engineering Research Council.</p>
</ack>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Abdulkader</surname> <given-names>S. N.</given-names></name> <name><surname>Atia</surname> <given-names>A.</given-names></name> <name><surname>Mostafa</surname> <given-names>M. M.</given-names></name></person-group> (<year>2015</year>). <article-title>Brain computer interfacing: applications and challenges</article-title>. <source>Egypt. Inform. J.</source> <volume>16</volume>, <fpage>213</fpage>&#x02013;<lpage>230</lpage>. <pub-id pub-id-type="doi">10.1016/j.eij.2015.06.002</pub-id></citation></ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Alotaiby</surname> <given-names>T.</given-names></name> <name><surname>El-Samie</surname> <given-names>F. E. A.</given-names></name> <name><surname>Alshebeili</surname> <given-names>S. A.</given-names></name> <name><surname>Ahmad</surname> <given-names>I.</given-names></name></person-group> (<year>2015</year>). <article-title>A review of channel selection algorithms for EEG signal processing</article-title>. <source>EURASIP J. Adv. Signal Process</source>. <volume>1</volume>, <fpage>2015</fpage>. <pub-id pub-id-type="doi">10.1186/s13634-015-0251-9</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Azlan</surname> <given-names>W. A. W.</given-names></name> <name><surname>Low</surname> <given-names>Y. F.</given-names></name></person-group> (<year>2014</year>). <article-title>Feature extraction of electroencephalogram (EEG) signal - a review</article-title>, in <source>2014 IEEE Conference on Biomedical Engineering and Sciences (IECBES)</source> (<publisher-loc>Kuala Lumpur</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>801</fpage>&#x02013;<lpage>806</lpage>. <pub-id pub-id-type="doi">10.1109/IECBES.2014.7047620</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Boonyakitanont</surname> <given-names>P.</given-names></name> <name><surname>Lek-uthai</surname> <given-names>A.</given-names></name> <name><surname>Chomtho</surname> <given-names>K.</given-names></name> <name><surname>Songsiri</surname> <given-names>J.</given-names></name></person-group> (<year>2020</year>). <article-title>A review of feature extraction and performance evaluation in epileptic seizure detection using EEG</article-title>. <source>Biomed. Signal Process. Control</source> <volume>57</volume>, <fpage>101702</fpage>. <pub-id pub-id-type="doi">10.1016/j.bspc.2019.101702</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bourien</surname> <given-names>J.</given-names></name> <name><surname>Bellanger</surname> <given-names>J. J.</given-names></name> <name><surname>Bartolomei</surname> <given-names>F.</given-names></name> <name><surname>Chauvel</surname> <given-names>P.</given-names></name> <name><surname>Wendling</surname> <given-names>F.</given-names></name></person-group> (<year>2021</year>). <article-title>EEG signal analysis for epileptic seizures detection by applying Data Mining techniques</article-title>. <source>Internet Things</source> <volume>14</volume>, <fpage>100048</fpage>. <pub-id pub-id-type="doi">10.1016/j.iot.2019.03.002</pub-id></citation></ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chai</surname> <given-names>R</given-names></name> <name><surname>Naik</surname> <given-names>G. R</given-names></name> <name><surname>Nguyen</surname> <given-names>T. N</given-names></name> <name><surname>Ling</surname> <given-names>S. H</given-names></name> <name><surname>Tran</surname> <given-names>Y</given-names></name> <name><surname>Craig</surname> <given-names>A.</given-names></name></person-group> (<year>2017</year>). <article-title>Driver fatigue classification with independent component by entropy rate bound minimization analysis in an EEG-based system</article-title>. <source>IEEE J. Biomed. Health Inform</source>. <volume>21</volume>, <fpage>715</fpage>&#x02013;<lpage>724</lpage>. <pub-id pub-id-type="doi">10.1109/JBHI.2016.2532354</pub-id><pub-id pub-id-type="pmid">26915141</pub-id></citation></ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chakladar</surname> <given-names>D. D.</given-names></name> <name><surname>Chakraborty</surname> <given-names>S.</given-names></name></person-group> (<year>2018</year>). <article-title>Multi-target way of cursor movement in brain computer interface using unsupervised learning</article-title>. <source>Biol. Inspired Cogn. Arch</source>. <volume>25</volume>, <fpage>88</fpage>&#x02013;<lpage>100</lpage>. <pub-id pub-id-type="doi">10.1016/j.bica.2018.06.001</pub-id></citation></ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Delimayanti</surname> <given-names>M. K.</given-names></name> <name><surname>Purnama</surname> <given-names>B.</given-names></name> <name><surname>Giang</surname> <given-names>N. N.</given-names></name> <name><surname>Mahmudah</surname> <given-names>K. R.</given-names></name> <etal/></person-group>. (<year>2020</year>). <article-title>Classification of brainwaves for sleep stages by high-dimensional FFT features from EEG signals</article-title>. <source>Appl. Sci.</source> <volume>10</volume>, <fpage>1797</fpage>. <pub-id pub-id-type="doi">10.3390/app10051797</pub-id></citation></ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dornhege</surname> <given-names>G.</given-names></name> <name><surname>Blankertz</surname> <given-names>B.</given-names></name> <name><surname>Krauledat</surname> <given-names>M.</given-names></name> <name><surname>Losch</surname> <given-names>F.</given-names></name> <name><surname>Curio</surname> <given-names>G.</given-names></name> <name><surname>M&#x000FC;ller</surname> <given-names>K.-R.</given-names></name> <etal/></person-group>. (<year>2006</year>). <article-title>Combined optimization of spatial and temporal filters for improving brain-computer interfacing</article-title>. <source>IEEE Trans. Biomed. Eng.</source> <volume>53</volume>, <fpage>2274</fpage>&#x02013;<lpage>2281</lpage>. <pub-id pub-id-type="doi">10.1109/TBME.2006.883649</pub-id><pub-id pub-id-type="pmid">17073333</pub-id></citation></ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fern&#x000E1;ndez-Rodr&#x000ED;guez</surname> <given-names>&#x000C1;.</given-names></name> <name><surname>Velasco-&#x000C1;lvarez</surname> <given-names>F.</given-names></name> <name><surname>Ron-Angevin</surname> <given-names>R.</given-names></name></person-group> (<year>2016</year>). <article-title>Review of real brain-controlled wheelchairs</article-title>. <source>J. Neural Eng.</source> <volume>13</volume>, <fpage>061001</fpage>. <pub-id pub-id-type="doi">10.1088/1741-2560/13/6/061001</pub-id><pub-id pub-id-type="pmid">27739401</pub-id></citation></ref>
<ref id="B11">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Guo</surname> <given-names>S.</given-names></name> <name><surname>Lin</surname> <given-names>S.</given-names></name> <name><surname>Huang</surname> <given-names>Z.</given-names></name></person-group> (<year>2015</year>). <article-title>Feature extraction of P300s in EEG signal with discrete wavelet transform and fisher criterion</article-title>, in <source>2015 8th International Conference on Biomedical Engineering and Informatics (BMEI)</source> (<publisher-loc>Shenyang</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>200</fpage>&#x02212;<lpage>204</lpage>. <pub-id pub-id-type="doi">10.1109/BMEI.2015.7401500</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ha</surname> <given-names>K.-W.</given-names></name> <name><surname>Jeong</surname> <given-names>J.-W.</given-names></name></person-group> (<year>2019</year>). <article-title>Motor imagery EEG classification using capsule networks</article-title>. <source>Sensors</source> <volume>19</volume>, <fpage>2854</fpage>. <pub-id pub-id-type="doi">10.3390/s19132854</pub-id><pub-id pub-id-type="pmid">31252557</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Haddad</surname> <given-names>R. A.</given-names></name> <name><surname>Akansu</surname> <given-names>A. N.</given-names></name></person-group> (<year>1993</year>). <article-title>Time-frequency localization in transforms, subbands, and wavelets: a critical review</article-title>. <source>Opt. Eng</source>. <volume>32</volume>, <fpage>1411</fpage>. <pub-id pub-id-type="doi">10.1117/12.138550</pub-id></citation></ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ieracitano</surname> <given-names>C.</given-names></name> <name><surname>Mammone</surname> <given-names>N.</given-names></name> <name><surname>Hussain</surname> <given-names>A.</given-names></name> <name><surname>Morabito</surname> <given-names>F. C.</given-names></name></person-group> (<year>2020</year>). <article-title>A novel multi-modal machine learning based approach for automatic classification of EEG recordings in dementia</article-title>. <source>Neural Netw</source>. <volume>123</volume>, <fpage>176</fpage>&#x02013;<lpage>190</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2019.12.006</pub-id><pub-id pub-id-type="pmid">31884180</pub-id></citation></ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jin</surname> <given-names>J.</given-names></name> <name><surname>Miao</surname> <given-names>Y.</given-names></name> <name><surname>Daly</surname> <given-names>I.</given-names></name> <name><surname>Zuo</surname> <given-names>C.</given-names></name> <name><surname>Hu</surname> <given-names>D.</given-names></name> <name><surname>Cichocki</surname> <given-names>A.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>Correlation-based channel selection and regularized feature optimization for MI-based BCI</article-title>. <source>Neural Netw</source>. <volume>118</volume>, <fpage>262</fpage>&#x02013;<lpage>270</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2019.07.008</pub-id><pub-id pub-id-type="pmid">31326660</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kaur</surname> <given-names>B.</given-names></name> <name><surname>Singh</surname> <given-names>D.</given-names></name> <name><surname>Roy</surname> <given-names>P. P.</given-names></name></person-group> (<year>2018</year>). <article-title>EEG based emotion classification mechanism in BCI</article-title>. <source>Procedia Comput. Sci</source>. <volume>132</volume>, <fpage>752</fpage>&#x02013;<lpage>758</lpage>. <pub-id pub-id-type="doi">10.1016/j.procs.2018.05.087</pub-id><pub-id pub-id-type="pmid">36365948</pub-id></citation></ref>
<ref id="B17">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khan</surname> <given-names>J.</given-names></name> <name><surname>Bhatti</surname> <given-names>M. H.</given-names></name> <name><surname>Khan</surname> <given-names>U. G.</given-names></name> <name><surname>Iqbal</surname> <given-names>R.</given-names></name></person-group> (<year>2019</year>). <article-title>Multiclass EEG motor-imagery classification with sub-band common spatial patterns</article-title>. <source>EURASIP J. Wirel. Commun. Netw</source>. <volume>2019</volume>, <fpage>174</fpage>. <pub-id pub-id-type="doi">10.1186/s13638-019-1497-y</pub-id></citation></ref>
<ref id="B18">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Krishnan</surname> <given-names>S.</given-names></name></person-group> (<year>2021</year>). <source>Signal Analysis for Connected Healthcare</source>. <publisher-loc>Cambridge, MA</publisher-loc>: <publisher-name>Academic Press</publisher-name>. <pub-id pub-id-type="doi">10.1016/B978-0-12-813086-5.00005-0</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Krishnan</surname> <given-names>S.</given-names></name> <name><surname>Athavale</surname> <given-names>Y.</given-names></name></person-group> (<year>2018</year>). <article-title>Trends in biomedical signal feature extraction</article-title>. <source>Biomed. Signal Process. Control</source> <volume>43</volume>, <fpage>41</fpage>&#x02013;<lpage>63</lpage>. <pub-id pub-id-type="doi">10.1016/j.bspc.2018.02.008</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lawhern</surname> <given-names>V.</given-names></name> <name><surname>Hairston</surname> <given-names>W. D.</given-names></name> <name><surname>McDowell</surname> <given-names>K.</given-names></name> <name><surname>Westerfield</surname> <given-names>M.</given-names></name> <name><surname>Robbins</surname> <given-names>K.</given-names></name></person-group> (<year>2012</year>). <article-title>Detection and classification of subject-generated artifacts in EEG signals using autoregressive models</article-title>. <source>J. Neurosci. Methods</source> <volume>208</volume>, <fpage>181</fpage>&#x02013;<lpage>189</lpage>. <pub-id pub-id-type="doi">10.1016/j.jneumeth.2012.05.017</pub-id><pub-id pub-id-type="pmid">22634706</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>A.</given-names></name> <name><surname>Chen</surname> <given-names>K.</given-names></name> <name><surname>Liu</surname> <given-names>Q.</given-names></name> <name><surname>Ai</surname> <given-names>Q.</given-names></name> <name><surname>Xie</surname> <given-names>Y.</given-names></name> <name><surname>Chen</surname> <given-names>A.</given-names></name> <etal/></person-group>. (<year>2017</year>). <article-title>Feature selection for motor imagery EEG classification based on firefly algorithm and learning automata</article-title>. <source>Sensors</source> <volume>17</volume>, <fpage>2576</fpage>. <pub-id pub-id-type="doi">10.3390/s17112576</pub-id><pub-id pub-id-type="pmid">29117100</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Mandel</surname> <given-names>C.</given-names></name> <name><surname>Luth</surname> <given-names>T.</given-names></name> <name><surname>Laue</surname> <given-names>T.</given-names></name> <name><surname>Rofer</surname> <given-names>T.</given-names></name> <name><surname>Graser</surname> <given-names>A.</given-names></name> <name><surname>Krieg-Bruckner</surname> <given-names>B.</given-names></name> <etal/></person-group>. (<year>2009</year>). <article-title>Navigating a smart wheelchair with a brain-computer interface interpreting steady-state visual evoked potentials</article-title>, in <source>2009 IEEE/RSJ International Conference on Intelligent Robots and Systems</source> (<publisher-loc>St. Louis, MO</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1118</fpage>&#x02013;<lpage>1125</lpage>. <pub-id pub-id-type="doi">10.1109/IROS.2009.5354534</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mumtaz</surname> <given-names>W.</given-names></name> <name><surname>Malik</surname> <given-names>A. S.</given-names></name> <name><surname>Ali</surname> <given-names>S. S. A.</given-names></name> <name><surname>Yasin</surname> <given-names>M. A. M.</given-names></name> <name><surname>Amin</surname> <given-names>H.</given-names></name></person-group> (<year>2015</year>). <article-title>Detrended fluctuation analysis for major depressive disorder</article-title>. <source>Annu. Int. Conf. IEEE Eng. Med. Biol. Soc</source>. <volume>2015</volume>, <fpage>4162</fpage>&#x02013;<lpage>4165</lpage>. <pub-id pub-id-type="doi">10.1109/EMBC.2015.7319311</pub-id><pub-id pub-id-type="pmid">26737211</pub-id></citation></ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Picard</surname> <given-names>R. W.</given-names></name> <name><surname>Vyzas</surname> <given-names>E.</given-names></name> <name><surname>Healey</surname> <given-names>J.</given-names></name></person-group> (<year>2001</year>). <article-title>Toward machine emotional intelligence: analysis of affective physiological state</article-title>. <source>IEEE Trans. Pattern Anal. Mach. Intell</source>. <volume>23</volume>, <fpage>1175</fpage>&#x02013;<lpage>1191</lpage>. <pub-id pub-id-type="doi">10.1109/34.954607</pub-id></citation></ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rashid</surname> <given-names>M</given-names></name> <name><surname>Sulaiman</surname> <given-names>N</given-names></name> <name><surname>Majeed</surname> <given-names>A. P. P. A</given-names></name> <name><surname>Musa</surname> <given-names>R. M</given-names></name> <name><surname>Nasir</surname> <given-names>A. F. A</given-names></name> <name><surname>Bari</surname> <given-names>B. S.</given-names></name></person-group> (<year>2020</year>). <article-title>Current status, challenges, and possible solutions of EEG-based brain-Computer Interface: a comprehensive review</article-title>. <source>Front. Neurorobot</source>. <volume>14</volume>, <fpage>25</fpage>. <pub-id pub-id-type="doi">10.3389/fnbot.2020.00025</pub-id><pub-id pub-id-type="pmid">32581758</pub-id></citation></ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Reddy</surname> <given-names>T. K.</given-names></name> <name><surname>Arora</surname> <given-names>V.</given-names></name> <name><surname>Behera</surname> <given-names>L.</given-names></name> <name><surname>Wang</surname> <given-names>Y.-K.</given-names></name> <name><surname>Lin</surname> <given-names>C.-T.</given-names></name></person-group> (<year>2019</year>). <article-title>Multiclass fuzzy time-delay common spatio-spectral patterns with fuzzy information theoretic optimization for EEG-based regression problems in brain&#x02013;computer interface (BCI)</article-title>. <source>IEEE Trans. Fuzzy Syst</source>. <volume>27</volume>, <fpage>1943</fpage>&#x02013;<lpage>1951</lpage>. <pub-id pub-id-type="doi">10.1109/TFUZZ.2019.2892921</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rutkowski</surname> <given-names>G.</given-names></name> <name><surname>Patan</surname> <given-names>K.</given-names></name> <name><surname>Le&#x0015B;niak</surname> <given-names>P.</given-names></name></person-group> (<year>2013</year>). <article-title>Comparison of time-frequency feature extraction methods for EEG signals classification</article-title>, in <source>Artificial Intelligence and Soft Computing</source>, eds <person-group person-group-type="editor"><name><surname>Rutkowski</surname> <given-names>L.</given-names></name> <name><surname>Korytkowski</surname> <given-names>M.</given-names></name> <name><surname>Scherer</surname> <given-names>R.</given-names></name> <name><surname>Tadeusiewicz</surname> <given-names>R.</given-names></name> <name><surname>Zadeh</surname> <given-names>L. A.</given-names></name> <name><surname>Zurada</surname> <given-names>J. M.</given-names></name></person-group> (<publisher-loc>Berlin; Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>320</fpage>&#x02013;<lpage>329</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-642-38610-7_30</pub-id></citation></ref>
<ref id="B28">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Sanei</surname> <given-names>S.</given-names></name> <name><surname>Chambers</surname> <given-names>J. A.</given-names></name></person-group> (<year>2021</year>). <source>EEG Signal Processing and Machine Learning</source>, <edition>2nd ed</edition>. <publisher-loc>Hoboken, NJ</publisher-loc>: <publisher-name>John Wiley &#x00026; Sons Inc</publisher-name>. <pub-id pub-id-type="doi">10.1002/9781119386957</pub-id><pub-id pub-id-type="pmid">32561694</pub-id></citation></ref>
<ref id="B29">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Song</surname> <given-names>Z.</given-names></name> <name><surname>Fang</surname> <given-names>T.</given-names></name> <name><surname>Ma</surname> <given-names>J.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Le</surname> <given-names>S.</given-names></name> <name><surname>Gege</surname> <given-names>Z.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>Evaluation and diagnosis of brain diseases based on non-invasive BCI,&#x0201D;</article-title> in <source>2021 9th International Winter Conference on Brain-Computer Interface (BCI)</source> (<publisher-loc>Gangwon</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1109/BCI51272.2021.9385291</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Subasi</surname> <given-names>A.</given-names></name></person-group> (<year>2019</year>). <article-title>Feature extraction and dimension reduction</article-title>, in <source>Practical Guide for Biomedical Signals Analysis Using Machine Learning Techniques</source>, ed <person-group person-group-type="editor"><name><surname>Subasi</surname> <given-names>A.</given-names></name></person-group> (<publisher-loc>San Diego, CA</publisher-loc>: <publisher-name>Elsevier</publisher-name>), <fpage>193</fpage>&#x02013;<lpage>275</lpage>. <pub-id pub-id-type="doi">10.1016/B978-0-12-817444-9.00004-0</pub-id><pub-id pub-id-type="pmid">34469326</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Taran</surname> <given-names>S.</given-names></name> <name><surname>Bajaj</surname> <given-names>V.</given-names></name></person-group> (<year>2018</year>). <article-title>Drowsiness detection using adaptive Hermite decomposition and extreme learning machine for electroencephalogram signals</article-title>. <source>IEEE Sens. J</source>. <volume>18</volume>, <fpage>8855</fpage>&#x02013;<lpage>8862</lpage>. <pub-id pub-id-type="doi">10.1109/JSEN.2018.2869775</pub-id></citation></ref>
<ref id="B32">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>D.-X.</given-names></name> <name><surname>Wu</surname> <given-names>X.-P.</given-names></name> <name><surname>Guo</surname> <given-names>X.-J.</given-names></name></person-group> (<year>2008</year>). <article-title>The EEG signal preprocessing based on empirical mode decomposition</article-title>, in <source>2008 2nd International Conference on Bioinformatics and Biomedical Engineering</source> (<publisher-loc>Shanghai</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>2131</fpage>&#x02013;<lpage>2134</lpage>. <pub-id pub-id-type="doi">10.1109/ICBBE.2008.862</pub-id><pub-id pub-id-type="pmid">34573795</pub-id></citation></ref>
<ref id="B33">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Ji</surname> <given-names>X.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2015</year>). <article-title>Classification of EEG signals based on AR model and approximate entropy</article-title>, in <source>2015 International Joint Conference on Neural Networks (IJCNN)</source> (<publisher-loc>Killarney</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1109/IJCNN.2015.7280840</pub-id></citation></ref>
</ref-list>
</back>
</article>