EMG Tokenization Preserves Movement Information at a Fraction of the Bitrate

Raul C. Sîmpetru, Amin Olamazadeh, Devon Rohlf, Vlad Cnejevici and Alessandro Del Vecchio

Friedrich-Alexander-Universität Erlangen-Nürnberg

320 electrodes, one 20 ms update

Raw 16-bit EMG

209,715bits

Tokens

3,200bits

+0.01mm

Hand-pose error, SPAR tokens versus continuous features

+0.45mm

Learned tokens versus continuous features

41×

Smaller stored payload than raw EMG

63

Channels tokenized within 20 ms on a Cortex-M55

Each electrode sends one 10-bit token every 20 ms.

Electrode 28 → 239 → 0011101111

Update 50 of 100slowed 10×
Raw EMG16 bit · 2,048 Hz10.49 Mbit/s
Tokens10 bit · 50 Hz160 kbit/s
Bluetooth LE, 1.4 Mbit/s

Raw EMG exceeds this throughput above 42 electrodes; tokens fit up to 2,800. Payload only.

From EMG to tokens

Each electrode's recent EMG is replaced by the index of its nearest codebook entry.

One update · 50 Hz

Signal

One electrode · recorded

−480 msnow
480 ms context160 ms final patch

Features

Shared causal encoder

256values

Codebook

1,024 entries

IDDistance²
Nearest entry: 93

Token

10-bit index

TOKEN ID93
10 bits
Look up entry 93

→ Pose decoder

Slowed01 / Window

256 values → token 93 → 10 bits

Drag to explore
Details +

01 / WINDOW

Start with a short history of muscle activity.

480 msof causal signal history
Compare the feature vectors +
INSPECTED CODEBOOK ENTRY
93 token ID

Squared distance 97.2990

Input vector
Codebook entry 93

All 256 components · shared grayscale

View all component values
About this recorded example +

Each replay follows the same update. The numerical vectors, distances, and token IDs come from the recorded examples; the animation illustrates the processing order. Matching uses all feature dimensions and all 1,024 entries. The eight displayed candidates are ordered by distance. Grayscale uses a shared symmetric scale within each example.

One electrode and its neighbours

SPAR describes each electrode together with its right and lower neighbours.

Fig. 3 · SPAR patchEach electrode is paired with its right and lower neighbours; at a grid edge, the missing one is replaced from the opposite side (dashed).
Example
Participant 1 · forearm grid 1 · 8 × 8
a h v c hv

Centre electrode

28

Row 4, column 4

c28h29v36a27

Band, HzCentreHorizontalVertical

Token2390011101111

1Electrodes, row by row64
28/64

Decoded hand pose

Participant 6's fist, decoded from SPAR tokens and from continuous SPAR.

Participant 6 · one update every 20 ms
SPAR tokens
Continuous SPAR
Mean fingertip to wrist, mmMeasuredSPAR tokensContinuous SPAR
0 s1234 s
0.00 s

Tokenization is the smallest change

Electrode coverage, calibration and unseen recordings changed the error more than tokenization did.

Change in 3D hand-pose error, nine participantsmm
Tokenization, SPARTokens versus continuous features, pooled over receivers
+0.01
Tokenization, learned encoderTokens versus continuous features, pooled over receivers
+0.45
Calibration mismatchSPAR tokens, recording-onset statistics for decoders trained per window
+0.88
Fewer electrodesSPAR tokens with 63 instead of 320 electrodes
+1.65
No neighbour informationTokens from each electrode's own band power instead of SPAR
+2.50
Unseen recordingsSPAR tokens on 1.5 Hz digit movements versus the 0.5 Hz test windows
+8.33

Movement through token space

Participant 1's SPAR tokens, mapped with UMAP and coloured by movement.

Token history
Participant 1

Repetition phase

0%

All movements

19 repetitions
per movement.

Current phaseMean trajectory
0%50%100%
Slowed
About this view +

Each point is one of 14,861 updates from participant 1. SPAR token IDs are replaced with their codebook vectors across 320 electrodes. Lagged updates, sampled every 120 ms, supply the selected history. The animation follows phase-aligned mean trajectories through the saved embedding.

The three-dimensional UMAP is projected onto a separate mean-trajectory plane for each movement, and the groups are positioned separately. Each history setting has its own fitted view; changing history does not track points through a common coordinate system. The curves average 20 phase bins across complete repetitions and use a periodic spline to join their endpoints. The moving markers show normalized repetition phase, with playback slowed to eight seconds.

Data and display provenance ↗

Paper and materials

Citation
@misc{simpetru2026emgtokenization,
  title         = {EMG Tokenization Preserves Movement
                   Information at a Fraction of the Bitrate},
  author        = {Sîmpetru, Raul C. and Olamazadeh, Amin and
                   Rohlf, Devon and Cnejevici, Vlad and
                   Del Vecchio, Alessandro},
  year          = {2026},
  eprint        = {2610.32674},
  archivePrefix = {arXiv},
  primaryClass  = {eess.SP},
  doi           = {10.48550/arXiv.2610.32674}
}
EMG Tokenization
Department of Artificial Intelligence in Biomedical Engineering
Friedrich-Alexander-Universität Erlangen-Nürnberg
Preprint: arXiv:2610.32674. Interactive tokenizer figure built with Anatomy. Set in Switzer and IBM Plex Mono.