Burst Coding (BC)¶
Burst Coding is a biologically inspired rate-like coding strategy that represents input intensity using two characteristics of a spike burst: the number of spikes (\(N_s\)) and the inter-spike interval (ISI). Stronger inputs produce bursts with more spikes and shorter ISIs, while weaker inputs produce fewer spikes with longer ISIs.
This dual-parameter encoding increases reliability and information density, as it leverages both spike count and precise timing within short bursts. It is particularly effective for rapid, robust transmission in sensory pathways and spiking neural networks (SNNs).
Algorithm Overview
The input intensity P (normalized to [0, 1]) determines:
Number of spikes per burst:
\[N_s(P) = \lceil P \cdot N_{\max} \rceil\]Inter-spike interval (ISI):
\[\begin{split}\text{ISI}(P) = \begin{cases} t_{\max} & \text{if } N_s = 1 \\ \left\lceil (t_{\max} - t_{\min}) \cdot (1 - P) + t_{\min} \right\rceil & \text{otherwise} \end{cases}\end{split}\]
Larger P produces bursts with more spikes and smaller ISIs. The burst is placed at regular intervals within a time window sufficient to accommodate the longest burst.
Detailed Pseudocode
1Burst Coding Algorithm
2input: s signal (normalized P ∈ [0,1]), N_max max spikes, t_min min ISI, t_max max ISI, interval_length output window
3out = zeros(length(s))
4
5n_blocks = length(s)
6for block_idx = 0 to n_blocks-1
7 P = mean(s[block_idx * interval_length : (block_idx+1) * interval_length])
8
9 N_s = ceil(P * N_max)
10 ISI = ceil((t_max - t_min) * (1 - P) + t_min)
11
12
13 spike_times = arange(0, N_s * (ISI + 1), ISI + 1)
14 spike_times = spike_times[spike_times < interval_length]
15
16 for time in spike_times:
17 global_t = block_idx * interval_length + time
18 out[global_t] = 1
19 end for
20end for
21
22output: out
Advantages
Higher information density and reliability in which both count and timing are used.
Biologically plausible — mimics burst firing in sensory neurons for rapid, robust transmission.
More robust to noise.
Efficient for classification/recognition tasks.
Disadvantages
Requires sufficient time window per burst.
Sensitive to parameter choice (N_max, t_min/t_max) and block length.
Reconstruction more complex than pure rate (needs both spike count and ISI measurement).
For a practical implementation in Python, see the Burst Coding Function.
References
Guo et al. (2021). “Neural coding in spiking neural networks: a comparative study for robust neuromorphic systems” Front. Neurosci.