← All interfaces

EEG2Code c-VEP Speller (Nagel & Spüler, 2019)

Measured by Nagel & Spüler · PLOS ONE 14(9) (2019)

EEG c-VEP 2019

Inputs

The measured or assumed values behind the calculations, each with its source.

rate = 35 char/min
Active online spelling: ~35 error-free letters/min for the proof-of-concept online subject.
H = 1.0 bits/char
English-text entropy (Shannon); the same ~1 bit/char standard applied to QWERTY and the other text-entry entries.
ITR_passive = 701 bits/min
Authors' reported passive (raw discrimination) ITR: mean 701 bit/min ≈ 11.7 bits/s, best subject 1237 bit/min ≈ 20.6 bits/s (the 'world's fastest BCI' headline). Reproduced in the passive calculation below.
T_detect = 0.25 s
Detection window: EEG2Code predicts each stimulation bit from a 250 ms EEG window (shifted sample-wise at 600 Hz).
N = 500000
The decoder discriminated 500,000 distinct random black/white stimulation patterns at ~100% from 2 s of EEG: log2(500000) ≈ 19 bits per selection. N is a code-space size, not a set of communicative choices.

Strictest ITR

Each scoring method is an upper bound on the channel, so the headline is the strictest (smallest) one for this entry. Use the score selector on the home page to view any single method across entries.

Strictest Shannon (text) Recomputed
Character-entropy throughput (realized text entry)
Net of English redundancy
0.583 bits/s
  1. Correct characters per minute

    ≈ 35 error-free letters/min (active online spelling)

    The information the interface actually delivers as communication, under the same predictor as every other text entry.

  2. Bits per character

    H(English) ≈ 1.0 bit/char (Shannon)
  3. Information transfer rate

    35 char/min × 1.0 bit/char ÷ 60 s/min = 0.583 bits/s

What counts as a bit depends on the action space. The number of distinguishable actions and how likely each one is are design choices of the task, not the sensing hardware. The same modality can present a fixed set of targets, a set pruned per step by a grammar or language model, or a continuous control space. Each of these changes how many actions are live and how the probability mass is spread, and therefore the information per selection. Read the action space below before comparing headline numbers across entries.

Action space

What the user can produce at each step, and how those options are distributed.

Structure
Fixed set of targets
Size
32 distinguishable actions
Prior
Context-conditioned: likelihoods depend on prior actions
Notes
c-VEP: targets flicker by random black/white codes and the decoder classifies which code the user is gazing at (a classifier, not Fitts pointing). The ranked atlas figure uses the active speller's English text output (~35 letters/min), so it follows the same character-entropy convention as the other text entries. The headline 11.7-20.6 bits/s and the 500,000-stimulus discrimination are retained as secondary signal-discrimination metrics. The authors explicitly discuss a ceiling effect for very large code spaces, which is why the atlas separates raw code discrimination from ranked text throughput.

Comparability The strictest bound here is the Shannon entropy of the output text, under one predictor held constant across the whole atlas (≈1 bit per character). That shared predictor makes it directly comparable to every other text entry (keyboards, spellers, silent speech and speech BCIs) regardless of prior or vocabulary size. For most text interfaces it comes out tighter than the raw-selection bounds, but not always. Where a small vocabulary makes Wolpaw tighter, that wins instead. Any Fitts, Wolpaw or log₂(N) figure shown below is another bound on the same channel. Switch the home-page score selector to compare one across entries.

Other score types

Bounds the atlas keeps out of the default strictest headline: as-reported figures, alternate task conditions, or raw-channel ceilings that shouldn't win the headline by default. Each still carries a score type, so the home-page selector ranks this entry on it when you choose that type. Read its derivation before comparing across entries.

Wolpaw Author-reported · reproduced
Raw channel discrimination (passive ITR)
Passive signal-discrimination metric, shown for comparison
12 bits/s
  1. Binary bit channel (EEG2Code)

    N = 2. The decoder predicts each stimulation bit (black/white) from a 250 ms EEG window

    EEG2Code classifies the binary stimulation code, not 1-of-many targets, so the raw channel is a stream of per-bit predictions.

  2. Wolpaw ITR on the bit channel (authors' Eq. 2)

    ITR = [log2(N) + P·log2(P) + (1−P)·log2((1−P)/(N−1))] / T,  N = 2

    The authors apply the standard Wolpaw formula to the binary bit channel at the per-bit prediction accuracy over the 250 ms detection window.

  3. Reported passive ITR

    mean 701 bit/min ≈ 11.68 bits/s;  best subject 1237 bit/min ≈ 20.6 bits/s

    Equivalently, the 250 ms decoder can discriminate 500,000 distinct 2 s stimulation patterns (log2(500,000) ≈ 18.9 bits per 2 s). The authors flag a 'ceiling effect' for very large code spaces, so this is a raw-discrimination capacity kept for comparison, not the ranked communication rate.

Nuyujukian Author-reported · reproduced
Nuyujukian achieved bitrate over the authors' 500,000-pattern code space
Code-space raw-discrimination view, shown for comparison
9.47 bits/s
  1. Achieved-bitrate credit per discriminated pattern

    The decoder tells apart N = 500,000 distinct 2 s stimulation patterns at ~100% → log2(N − 1) = log2(499,999) ≈ 18.93 bits per selection (Nuyujukian 2015, which introduced the metric, used log2(N); at this N the difference is negligible).
  2. Net-correct selection rate

    One 2 s pattern per selection at ~100% discrimination → net-correct = 0.5 selections/s.

    This plugs the authors' code-space size straight into the achieved formula, matching the passive metric's own 500,000-pattern framing. N here is a code-space size, not a set of communicative choices, so like the passive Wolpaw figure this measures raw signal discrimination (the 'ceiling effect' the authors flag), not communication; at the true per-decision bit channel (N = 2) achieved would be 0. Kept for comparison only — the ranked figure is the 0.583 bits/s active-spelling text rate.

  3. Achieved bitrate

    18.93 bits × 0.5 selections/s ≈ 9.47 bits/s.

Source

Authors
Nagel & Spüler
Publication
PLOS ONE 14(9), 2019
Paper
10.1371/journal.pone.0221909
Reference
Nagel & Spüler 2019 (PLOS ONE): 'World's fastest brain-computer interface: Combining EEG2Code with deep learning'