rockpool.devices.xylo.syns65302.afe.divisive_normalization
This module implements the divisive normalization (DN) algorithm to balance the spike rate.
NOTE: In the previous version XyloAudio 2, DN module was after the spike generation because spikes were produced asynchronously within the analog part (analog filter + leaky IF spike generator). In the current version XyloAudio 3 since the output of the filters (here digital filters) is directly available, one does not need to do (i) spike generation followed by (ii) DN on the generated spikes. Instead, we merge these two so that DN is applied directly to the filter output to normalize its power, which yields a better performance than DN applied to spikes.
NOTE: There is of course an option to NOT apply DN where in that case, spikes are produced using ordinary IAF with given/fixed thresholds rather than adaptive ones computed and used in DN.
For further details on how DN is implemented and how its parameters should be selected, we refer to the following repo and documentation: https://spinystellate.office.synsense.ai/research/auditoryprocessing/synchronous-divisive-normalization
Important Remarks:
don’t forget to activate the jax flag again otherwise DN will always use python vresion.
(ii) In the current version of DN, we have a scaling of threshold which is a power of two. This implies that the threshold of DN thus the spike rate moves in steps of power of 2: we replaced this by the difference of two bit-shifts so that we can cover a more flexible range of spike rates.
the surplus scaling of the filters is not added in the filterbank. This simply means that they should be added in thresholds we use for DN.
Functions
|
this module processes the input signal in various channels and converts the into spikes via joint divisive normalization. |
|
this module processes the input signal in various channels and converts the into spikes via joint divisive normalization. |
|
this module processes the input signal in various channels and converts the into spikes via joint divisive normalization. |
Classes
|
This class implements a divisive normalisation module for XyloAudio 3. |