Skip to content

Tutorial 67: Spike-Domain DSP

Process signals directly in spike domain — no ADC needed.

FIR Filter

from sc_neurocore.spike_dsp import SpikeFIR
fir = SpikeFIR(coefficients=np.array([0.5, 0.3, 0.2]), threshold=0.5)
filtered = fir.filter(spike_train)

IIR Filter (Leaky Integrator)

from sc_neurocore.spike_dsp import SpikeIIR
iir = SpikeIIR(decay=0.9, threshold=1.0, gain=0.5)
filtered = iir.filter(spike_train)

FFT + Power Spectrum

from sc_neurocore.spike_dsp import spike_fft, spike_power_spectrum
freqs, mags = spike_fft(spikes, dt=0.001)
freqs, psd = spike_power_spectrum(spikes, dt=0.001)

Wavelet Decomposition

from sc_neurocore.spike_dsp import spike_wavelet_decompose
scales = spike_wavelet_decompose(spikes, n_scales=4)
# scales[0] = highest frequency, scales[3] = lowest