# xDAWN+LDA and XDAWNCov+TS+LR: results on public EEG datasets

Classical method

xDAWN is a spatial filter, proposed by Rivet, Souloumiac, Attina and Gibert (IEEE Transactions on Biomedical Engineering, 2009), that enhances an evoked response such as the P300 against the ongoing EEG. BCI Report runs two decoders built on it through pyRiemann with fixed settings (4 filters, OAS covariance estimates): xDAWN+LDA, which flattens the filtered windows and classifies them with a shrinkage linear discriminant, and XDAWNCov+TS+LR, which builds xDAWN-augmented covariance matrices (Barachant and Congedo, 2014), maps them to the tangent space and fits a logistic regression. The settings follow the MOABB reference pipelines (xDAWN_LDA.yml with a shrinkage LDA head; XdawnCov_TS_SVM.yml with the SVM replaced by the logistic regression head).

Measured on: [ds006593](https://bci.report/datasets/ds006593/); [TMNRED / ds005383](https://bci.report/datasets/tmnred/) · Protocols: [P300 target ERP](https://bci.report/protocols/p300-target/); [Semantic target ERP](https://bci.report/protocols/semantic-target/)

**Also known as** xDAWN · XDAWNCov · xDAWN+LDA · XDAWNCov+TS+LR · Rivet et al. 2009

**Reference** [Rivet B, Souloumiac A, Attina V, Gibert G. xDAWN algorithm to enhance evoked potentials: application to brain–computer interface. IEEE Transactions on Biomedical Engineering 56(8):2035–2043, 2009. ↗](https://doi.org/10.1109/TBME.2009.2012869)

[Official code ↗](https://github.com/pyRiemann/pyRiemann) · Description sources [doi.org](https://doi.org/10.1109/TBME.2009.2012869) · [arxiv.org](https://arxiv.org/abs/1409.0107) · [github.com](https://github.com/pyRiemann/pyRiemann) · [github.com](https://github.com/NeuroTechX/moabb)

## Published results

Compare figures within a group only: task, cohort, chance level and electrode layout can differ between groups. One row is above another only where their 95% intervals do not overlap.

### [ds006593](https://bci.report/datasets/ds006593/) · Core matrix · P300 target ERP

Source page: [Core-matrix protocol: P300 target ERP](https://bci.report/protocols/p300-target/) · Chance level 50.0% · [core-matrix-20261106-p300-target.csv](https://bci.report/data/core-matrix-20261106-p300-target.csv)

**Balanced accuracy, 2 configurations.** Dot: the estimate; line: 95% interval; dashed line, where drawn: chance level.

- XDAWNCov+TS+LR · 4 filters · 50 Hz: 61.9% (58.8%–65.0%)
- xDAWN+LDA · 4 filters · 50 Hz: 60.4% (57.7%–63.2%)

| Method | Condition | Metric | Value | People |
| --- | --- | --- | --- | --- |
| [XDAWNCov+TS+LR · 4 filters · 50 Hz](https://bci.report/methods/xdawn/) | Visual target versus nontarget events | Balanced accuracy | 61.9% (58.8%–65.0%) — Primary row · one fixed configuration (MOABB-reference settings) | 21 |
| [xDAWN+LDA · 4 filters · 50 Hz](https://bci.report/methods/xdawn/) | Visual target versus nontarget events | Balanced accuracy | 60.4% (57.7%–63.2%) — Secondary row · one fixed configuration (MOABB-reference settings) | 21 |

### [TMNRED / ds005383](https://bci.report/datasets/tmnred/) · Core matrix · semantic target ERP

Source page: [Core-matrix protocol: Semantic target ERP](https://bci.report/protocols/semantic-target/) · Chance level 50.0% · [core-matrix-20261106-semantic-target.csv](https://bci.report/data/core-matrix-20261106-semantic-target.csv)

**Balanced accuracy, 2 configurations.** Dot: the estimate; line: 95% interval; dashed line, where drawn: chance level.

- XDAWNCov+TS+LR · 4 filters · 50 Hz: 60.3% (58.2%–62.6%)
- xDAWN+LDA · 4 filters · 50 Hz: 56.8% (55.1%–58.6%)

| Method | Condition | Metric | Value | People |
| --- | --- | --- | --- | --- |
| [XDAWNCov+TS+LR · 4 filters · 50 Hz](https://bci.report/methods/xdawn/) | Reading · target versus nontarget events | Balanced accuracy | 60.3% (58.2%–62.6%) — Primary row · one fixed configuration (MOABB-reference settings) | 30 |
| [xDAWN+LDA · 4 filters · 50 Hz](https://bci.report/methods/xdawn/) | Reading · target versus nontarget events | Balanced accuracy | 56.8% (55.1%–58.6%) — Secondary row · one fixed configuration (MOABB-reference settings) | 30 |

[All methods →](https://bci.report/methods/) · [All datasets →](https://bci.report/datasets/)

Core matrix

## Core-matrix rows: recipe and paired differences

Release: [`core-matrix-update-20261106`](https://bci.report/releases/#core-matrix-update-20261106)

### How these rows were run

| Method | Recipe | MOABB reference pipeline | Implementation | Code licence |
| --- | --- | --- | --- | --- |
| XDAWNCov+TS+LR — Supervised fit | 4 filters · 50 Hz | MOABB XdawnCov_TS_SVM.yml, with the SVM and its grid replaced by the TS+LR head | pyRiemann 0.12 (wheel SHA-256 74a90b2ef0938c94fe9bf90b6506991fc19da55850aae5fdf992026b3845d43a) and scikit-learn | BSD-3-Clause |
| xDAWN+LDA — Supervised fit | 4 filters · 50 Hz | MOABB xDAWN_LDA.yml, with shrinkage LDA (lsqr, Ledoit–Wolf) | pyRiemann 0.12 (wheel SHA-256 74a90b2ef0938c94fe9bf90b6506991fc19da55850aae5fdf992026b3845d43a) and scikit-learn | BSD-3-Clause |

One fixed configuration per method: library or MOABB-reference settings with the stated deviations. The 4–40 Hz band-pass (or demeaning plus 50 Hz decimation on the ERP protocols) is part of the recipe and is applied to each window on its own.

### Sensitivity lines

The same methods with other input filtering, labelled; they are not matrix rows.

- **XDAWNCov+TS+LR · 4 filters · raw** · [P300 target ERP](https://bci.report/protocols/p300-target/): 60.7% (57.7%–63.6%), macro F1 0.602, 21 people
- **xDAWN+LDA · 4 filters · raw** · [P300 target ERP](https://bci.report/protocols/p300-target/): 58.9% (56.3%–61.5%), macro F1 0.586, 21 people
- **XDAWNCov+TS+LR · 4 filters · raw** · [Semantic target ERP](https://bci.report/protocols/semantic-target/): 60.2% (57.8%–62.8%), macro F1 0.589, 30 people
- **xDAWN+LDA · 4 filters · raw** · [Semantic target ERP](https://bci.report/protocols/semantic-target/): 54.6% (52.9%–56.4%), macro F1 0.542, 30 people

### Paired differences

Each difference is the mean over people of each person’s difference in balanced accuracy, in percentage points (pp), on the same windows and people.

Paired participant bootstrap (10,000 draws). The four contrasts against the Spectral ridge cells carry 98.75 % intervals (Bonferroni over four); the other contrasts carry nominal 95 % intervals with no familywise claim. 'Higher' or 'lower' means the interval lies wholly above or below zero; 'unresolved' means it includes zero.

### Primary contrasts against the Spectral ridge cell, with the Temporal ridge beside them

| Difference | Mean (pp) | Interval | 95% interval, unadjusted | Reading |
| --- | --- | --- | --- | --- |
| XDAWNCov+TS+LR − Spectral ridge — P300 target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +11.0 pp | 6.8 to 15.1 — 98.75% interval, Bonferroni-adjusted for four contrasts | 7.7 to 14.2 | higher |
| XDAWNCov+TS+LR − Temporal ridge — P300 target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +8.1 pp | 5.3 to 11.1 — nominal 95% interval | — | higher |
| XDAWNCov+TS+LR − Spectral ridge — Semantic target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +9.3 pp | 6.1 to 12.8 — 98.75% interval, Bonferroni-adjusted for four contrasts | 6.7 to 12.0 | higher |
| XDAWNCov+TS+LR − Temporal ridge — Semantic target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +3.9 pp | 2.0 to 5.9 — nominal 95% interval | — | higher |

### Against EEGNet

against the matrix's one-seed EEGNet cell; training variance not included

| Difference | Mean (pp) | nominal 95% interval | Reading |
| --- | --- | --- | --- |
| XDAWNCov+TS+LR − EEGNet — P300 target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +8.6 pp | 5.2 to 12.0 | higher |
| xDAWN+LDA − EEGNet — P300 target ERP — xDAWN+LDA · 4 filters · 50 Hz | +7.1 pp | 4.3 to 10.0 | higher |
| XDAWNCov+TS+LR − EEGNet — Semantic target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | −1.2 pp | −3.0 to 0.6 | unresolved |
| xDAWN+LDA − EEGNet — Semantic target ERP — xDAWN+LDA · 4 filters · 50 Hz | −4.6 pp | −6.5 to −2.7 | lower |

### Secondary rows against the Spectral ridge cell

| Difference | Mean (pp) | nominal 95% interval | Reading |
| --- | --- | --- | --- |
| xDAWN+LDA − Spectral ridge — P300 target ERP — xDAWN+LDA · 4 filters · 50 Hz | +9.5 pp | 6.5 to 12.4 | higher |
| xDAWN+LDA − Spectral ridge — Semantic target ERP — xDAWN+LDA · 4 filters · 50 Hz | +5.8 pp | 4.0 to 7.8 | higher |

### Against the Temporal ridge cell

| Difference | Mean (pp) | nominal 95% interval | Reading |
| --- | --- | --- | --- |
| xDAWN+LDA − Temporal ridge — P300 target ERP — xDAWN+LDA · 4 filters · 50 Hz | +6.6 pp | 3.7 to 9.8 | higher |
| xDAWN+LDA − Temporal ridge — Semantic target ERP — xDAWN+LDA · 4 filters · 50 Hz | +0.5 pp | −1.2 to 2.1 | unresolved |

### Against the frozen encoders LaBraM and CBraMod

| Difference | Mean (pp) | nominal 95% interval | Reading |
| --- | --- | --- | --- |
| XDAWNCov+TS+LR − LaBraM — P300 target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +12.5 pp | 8.7 to 16.3 | higher |
| XDAWNCov+TS+LR − CBraMod — P300 target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +6.9 pp | 4.4 to 9.6 | higher |
| XDAWNCov+TS+LR − LaBraM — Semantic target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +7.1 pp | 4.8 to 9.4 | higher |
| XDAWNCov+TS+LR − CBraMod — Semantic target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +4.5 pp | 2.5 to 6.4 | higher |

These pairs use the matrix's LaBraM and CBraMod rows (frozen encoder + ridge head) only.

### Recipe arms: the same method with other input filtering

| Difference | Mean (pp) | nominal 95% interval | Reading |
| --- | --- | --- | --- |
| XDAWNCov+TS+LR · 4 filters · 50 Hz − XDAWNCov+TS+LR · 4 filters · raw — P300 target ERP | +1.2 pp | −1.2 to 3.7 | unresolved |
| xDAWN+LDA · 4 filters · 50 Hz − xDAWN+LDA · 4 filters · raw — P300 target ERP | +1.5 pp | −0.1 to 2.9 | unresolved |
| XDAWNCov+TS+LR · 4 filters · 50 Hz − XDAWNCov+TS+LR · 4 filters · raw — Semantic target ERP | +0.1 pp | −1.3 to 1.3 | unresolved — within two points of zero, sign unresolved |
| xDAWN+LDA · 4 filters · 50 Hz − xDAWN+LDA · 4 filters · raw — Semantic target ERP | +2.2 pp | 0.6 to 3.9 | higher |

### Within the family: primary row against secondary row

| Difference | Mean (pp) | nominal 95% interval | Reading |
| --- | --- | --- | --- |
| XDAWNCov+TS+LR − xDAWN+LDA — P300 target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +1.5 pp | −0.9 to 3.7 | unresolved |
| XDAWNCov+TS+LR − xDAWN+LDA — Semantic target ERP — XDAWNCov+TS+LR · 4 filters · 50 Hz | +3.5 pp | 1.8 to 5.3 | higher |

### Credits

- Rivet, Souloumiac, Attina and Gibert. xDAWN algorithm to enhance evoked potentials: application to brain–computer interface. IEEE Transactions on Biomedical Engineering 56(8), 2009. [doi ↗](https://doi.org/10.1109/TBME.2009.2012869)
- Barachant and Congedo. A Plug&Play P300 BCI using information geometry. arXiv:1409.0107, 2014.
- Barachant, Bonnet, Congedo and Jutten. Multiclass brain–computer interface classification by Riemannian geometry. IEEE Transactions on Biomedical Engineering 59(4), 2012. [doi ↗](https://doi.org/10.1109/TBME.2011.2172210)
- Chen, Wiesel, Eldar and Hero. Shrinkage algorithms for MMSE covariance estimation. IEEE Transactions on Signal Processing 58(10), 2010. [doi ↗](https://doi.org/10.1109/TSP.2010.2053029)
- Jayaram and Barachant. MOABB: trustworthy algorithm benchmarking for BCIs. Journal of Neural Engineering 15(6), 2018. [doi ↗](https://doi.org/10.1088/1741-2552/aadea0)
- Ledoit and Wolf. A well-conditioned estimator for large-dimensional covariance matrices. Journal of Multivariate Analysis 88(2), 2004. [doi ↗](https://doi.org/10.1016/S0047-259X(03)00096-4)

## Cite this page

BCI Report (2026). *xDAWN+LDA and XDAWNCov+TS+LR: results on public EEG datasets*. https://bci.report/methods/xdawn/

Figures from releases [`core-matrix-update-20261106`](https://bci.report/releases/#core-matrix-update-20261106) (2026-11-06), [`research-preview-20260920`](https://bci.report/releases/#research-preview-20260920) (2026-09-20). Cite the upstream datasets as well: each dataset’s page gives its credit.

Every release is archived on Zenodo: [doi:10.5281/zenodo.23123296](https://doi.org/10.5281/zenodo.23123296). [BibTeX for the site and its releases →](https://bci.report/api/#cite-heading) · [CITATION.cff ↗](https://raw.githubusercontent.com/twu3202/bci-report/main/CITATION.cff)

---
Markdown copy of https://bci.report/methods/xdawn/, generated from the published page. Figures are aggregate results; terms of use: https://bci.report/data-use/
