The user as an optimal feedback controller
Once the user is inside the loop, they are not a passive signal source — they are a controller, and a very good one. Optimal feedback control (OFC), the leading theory of biological movement, models the motor system as estimating state from delayed, noisy feedback and applying the control that minimises a task cost, correcting only deviations that matter for the goal (the minimum-intervention principle). Ported to BCI, OFC predicts how users will drive a given decoder: they exploit its dynamics, tolerate task-irrelevant error, and fight only what threatens the goal.
J = \mathbb{E}\!\left[\sum_{k} \big(x_k - x_k^{\star}\big)^{\top} Q\,\big(x_k - x_k^{\star}\big) + u_k^{\top} R\,u_k\right]The LQG cost the user is (approximately) minimising: weighted task error via Q against control effort via R. Design implication — make the decoder's plant dynamics smooth and predictable so this optimisation is easy for the human.
The user is (roughly) minimizing a scorecard that trades task error, weighted by Q, against control effort, weighted by R. The design lesson: make the decoder's dynamics smooth and predictable so this optimization is easy for the human to solve.
- J
- The total LQG cost the user is minimizing.
- x_k - x_k^{\star}
- The task error — gap between state and target at step k.
- Q
- Weight on task error — how much missing the target costs.
- R
- Weight on control effort — how much using the controls costs.
A large R pushes the user toward gentle, economical movements rather than sharp, effortful ones.
The design lesson is inverted from the offline mindset: you are not building a decoder to be read passively, you are shaping a plant for a human controller to drive. Smoothness, low and predictable lag, and a monotonic response often matter more than squeezing out the last bit of decode accuracy — because they let the user's own optimal controller do its job.
Loop latency: the hidden performance ceiling
Every controller is delay-limited, and BCIs are delay-rich. Loop latency accumulates at every stage: acquisition buffering, filter group delay, feature-window length, decode compute, rendering, display refresh, and the user's own visuomotor delay of roughly 100–200 ms. Total round-trip delay erodes the phase margin of the human-in-the-loop controller, forcing lower gains and slower, more cautious movements. It is often the true ceiling on usable performance — and unlike accuracy, you cannot train your way past it.
Fitts's law and throughput
How do we measure control quality in a way that respects the loop? For continuous pointing, the right yardstick is Fitts's law: the time to acquire a target grows with its index of difficulty, the log of distance over width. The slope gives a throughput in bits per second that is comparable across tasks and, crucially, captures the speed–accuracy trade a human controller is always making.
MT = a + b\,\log_2\!\left(\frac{D}{W} + 1\right), \qquad ID = \log_2\!\left(\frac{D}{W}+1\right), \qquad TP = \frac{ID}{MT}Fitts's law: movement time MT is affine in the index of difficulty ID (distance D, target width W). Throughput TP (bits/s) summarises pointing performance and is comparable across cursors and effectors.
Pointing at a far, small target takes longer — and the time grows with the log of the distance-to-width ratio (the difficulty). Throughput squeezes speed and accuracy into a single bits-per-second number you can compare across cursors and effectors.
- MT
- Movement time — how long the pointing motion takes.
- a,\ b
- Fitted intercept and slope of the speed–difficulty line.
- D / W
- Distance to the target over its width — the raw difficulty ratio.
- ID
- Index of difficulty, \log_2(D/W + 1), measured in bits.
- TP
- Throughput — bits of difficulty conquered per second.
A target twice as far away, or half as wide, adds about one bit to the index of difficulty.
Information transfer rate
For discrete BCIs — spellers, menu selection — the standard currency is information transfer rate (ITR), Wolpaw's bits-per-selection formula scaled by selection rate. It rewards more classes and higher accuracy and penalises slow selections, giving a single bits/min number. Treat it with care: it assumes uniformly confusable classes and independent selections, and it is not comparable across paradigms or with continuous-control throughput. Two systems with the same ITR can feel utterly different to use.
B = \log_2 N + P\log_2 P + (1-P)\log_2\!\frac{1-P}{N-1}, \qquad \text{ITR} = \frac{60}{T}\,B \ \ \text{[bits/min]}Wolpaw ITR: bits per selection B for N equally-likely, equally-confusable classes at accuracy P, times selections per minute 60/T. Note the steep, nonlinear reward for accuracy near P=1.
Each selection carries some bits, depending on how many choices N you have and how accurate P you are; multiply by selections per minute for a rate. Accuracy matters enormously — the payoff climbs steeply as P nears 1.
- B
- Bits of information conveyed per single selection.
- N
- Number of equally-likely, equally-confusable choices.
- P
- Accuracy — the probability a selection is correct.
- \mathrm{ITR} = \frac{60}{T}\,B
- Information transfer rate: bits per selection times selections per minute.
With perfect accuracy across N choices you get \log_2 N bits per selection; a few errors drop that fast.