← All interfaces

P300 Matrix Speller (Farwell & Donchin, 1988)

Measured by Farwell & Donchin · Electroencephalogr. Clin. Neurophysiol. 70(6) (1988)

EEG P300 1988

Inputs

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

N = 36
6×6 character matrix (row/column flashing)
P = 0.95
≈95% selection accuracy, the figure cited for the original speller
t_sel = 23 s
≈2.6 selections/min; the original relied on extensive ERP signal averaging, so each selection was slow

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.041 bits/s
  1. Correct characters per minute

    ≈ 2.6 selections/min × 0.95 accuracy ≈ 2.5 correct char/min

    Each selection emits one character of English; ~23 s/selection due to extensive ERP signal averaging. This is the rate of correct text actually produced.

  2. Bits per character

    H(English) ≈ 1.0 bit/char (Shannon), the same predictor used for QWERTY, eye-typing and the other BCI text entries
  3. Information transfer rate

    2.5 char/min × 1.0 bit/char ÷ 60 s/min = 0.041 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
36 distinguishable actions
Prior
Context-conditioned: likelihoods depend on prior actions
Notes
6×6 character matrix; the decoder classifies which letter drew the P300 response (covert attention, no pointing, no cursor). The realized output is English text, so the reference uses the same character-entropy method (~1 bit/char) as the other text-entry entries; the Wolpaw-over-36 figure assumes a uniform 1-of-36 choice and is kept as a secondary classifier metric. Modern P300 spellers are far faster, but this is the 1988 original.

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 Recomputed
Wolpaw bitrate over N = 36 targets
Uniform 1-of-36 classifier metric, shown for comparison
0.201 bits/s
  1. Bits per selection (Wolpaw formula)

    B = log2(N) + P*log2(P) + (1-P)*log2((1-P)/(N-1))
      = log2(36) + 0.95*log2(0.95) + 0.05*log2(0.05/35)
      = 4.627 bits / selection

    Term 1 is the information if every choice were correct; terms 2-3 subtract the bits lost to the error rate, assumed spread evenly over the other N-1 targets.

  2. Selections per second

    T = 23 s/selection  ->  1 / 23 = 0.043 selections/s
  3. Information transfer rate

    ITR = B * selections/s = 4.627 * 0.043 = 0.201 bits/s
Nuyujukian Recomputed
Nuyujukian achieved bitrate over N = 36 targets
Achieved-bitrate view of the speller, shown for comparison
0.2 bits/s
  1. Achieved-bitrate credit per net-correct selection

    N = 36 → log2(N − 1) = log2(35) = 5.13 bits per net-correct selection (field-standard achieved bitrate, e.g. Webgrid; Nuyujukian 2015, which introduced the metric, used log2(N)).
  2. Net-correct selection rate

    net-correct = 2P − 1 = 2(0.95) − 1 = 0.90 of selections. At ~2.6 selections/min (23 s each) → 0.90 / 23 = 0.039 correct/s.

    A speller error commits the wrong character rather than timing out, so incorrect = 1 − P. Same N (36), accuracy (95%) and selection time (23 s) as the entry's Wolpaw calc. Because a wrong selection commits an error rather than merely timing out, the achieved bitrate nets each mistake against a correct selection (2P − 1); at this high accuracy it nearly matches the Wolpaw figure, but it falls faster as accuracy drops.

  3. Achieved bitrate

    5.13 bits × 0.039 correct/s = 0.20 bits/s.

Source

Authors
Farwell & Donchin
Publication
Electroencephalogr. Clin. Neurophysiol. 70(6), 1988
Paper
10.1016/0013-4694(88)90149-6