JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

What to Write: Sensory Encoding Models and Biomimicry

Mapping stimulation parameters to percepts — the psychophysics, the encoding models, and the running debate over whether to mimic nature or teach cortex a new code.

The stimulation parameter space and the percept

Encoding is a mapping from the stimulation parameter space — which electrode, amplitude, pulse width, frequency, and temporal pattern — onto a conscious percept with three attributes: location, quality (pressure, tingle, vibration) and intensity. The location attribute is largely fixed by anatomy: stimulating a given site evokes sensation on a specific patch of the (phantom or real) hand, the electrode's projected field, because of somatotopic organization.

Intensity is the parameter you actively modulate to convey force. Empirically, perceived magnitude grows with stimulation amplitude and, over a range, with frequency. The relationship is compressive — a power law rather than a straight line — which is the classic form of sensory magnitude estimation.

Psychophysics of ICMS percepts

\psi = c\,(I - I_{\mathrm{th}})^{\beta}

Stevens' power law for ICMS: perceived intensity \psi as a compressive power (\beta<1 typically) of current above detection threshold. Calibrating c, \beta per electrode lets you set a target percept magnitude.

How intense a stimulation feels grows as a power of how far the current is above the barely-detectable threshold. Because the exponent is usually below 1, doubling the current above threshold less-than-doubles the felt strength — sensation compresses, just like real senses do.

\psi
Perceived intensity — how strong the sensation feels.
c
A per-electrode scaling constant you calibrate.
I - I_{\mathrm{th}}
Current above the detection threshold — the drive above 'just noticeable'.
\beta
The exponent; being below 1 makes the response compressive.

With \beta \approx 0.5, going from a little above threshold to four times that only doubles the felt intensity.

\frac{\Delta I}{I} \approx \text{const} \quad (\text{Weber fraction})

Discriminability follows Weber's law: the just-noticeable change in current is a roughly constant fraction of the baseline, so a channel supports only a handful of reliably distinct intensity levels.

The smallest change in current you can notice is a fixed percentage of what you're already getting — not a fixed amount. So at higher currents you need bigger jumps to feel a difference, which means one electrode only offers a handful of reliably distinct intensity levels.

\Delta I
The just-noticeable change in current — the smallest step you can feel.
I
The baseline current you are already delivering.
\Delta I / I
The Weber fraction — roughly constant across intensities.

If the Weber fraction is about 0.1, you need roughly a 10% change in current before it feels different.

Encoding models: biomimetic vs. linear

The simplest sensory encoding model is linear: make ICMS amplitude proportional to measured contact force. It works, but it ignores how real afferents behave. Natural tactile nerves respond most vigorously at contact onset and offset — they are dominated by transients, not steady pressure. A biomimetic encoder deliberately reproduces that dynamic, boosting stimulation when force is changing.

A(t) = w_{p}\, f(t) + w_{d}\,\big\lfloor \dot f(t) \big\rfloor_{+}

A biomimetic amplitude law: a pressure term w_p f(t) plus a rectified-derivative term that emphasizes contact transients \lfloor \dot f \rfloor_{+}, echoing the onset burst of natural afferents.

To feel natural, stimulation should mix a 'how hard is it pressing' signal with a 'did something just change' signal. The rectified-derivative term fires only at contact onset, echoing how real touch nerves burst the instant contact begins.

A(t)
The stimulation amplitude to deliver over time.
f(t)
The pressure or force being felt right now.
\dot f(t)
How fast that pressure is changing — its rate of change.
\lfloor \cdot \rfloor_{+}
A rectifier that keeps only the positive part (onset, not release).
w_p,\ w_d
Weights balancing the steady pressure against its change.

A steady press gives a constant A from the pressure term, while the moment of contact adds an extra kick from the derivative term.

# biomimetic ICMS amplitude from contact force f(t)
df = np.gradient(f, dt)              # force derivative
transient = np.clip(df, 0, None)     # onset-emphasizing (positive part)
A = w_p * f + w_d * transient        # stimulation amplitude (uA)
A = np.clip(A, A_detect, A_max)      # keep inside the usable window
freq = 100                           # fixed pulse rate; amplitude-coded
The encoder in code: rectify the force derivative to emphasize onsets, then clamp to the detection–safety window.

This machinery underlies both somatosensory ICMS for touch restoration and artificial proprioception, where stimulation encodes limb position or movement rather than skin contact. In practice, encoders are calibrated per electrode against the participant's own psychophysical reports — there is no universal look-up table.

Failure modes: adaptation and drift

Sustained, unchanging ICMS percepts fade: hold amplitude constant and the sensation weakens or vanishes over seconds, a form of percept adaptation. This is another argument for transient-emphasizing biomimetic encoders — a percept that keeps changing keeps being felt. Detection thresholds themselves also drift over days to weeks, so encoders need periodic recalibration.

When restoring the native modality is impossible, sensory substitution rewrites the information onto a different channel — for example conveying grip force as vibration on intact skin, or as an auditory or visual cue. The feedback modality is itself a design choice: ICMS offers a native-feeling, somatotopic percept but is invasive; peripheral vibrotactile substitution is non-invasive but must be learned as a new code.