Spiking Neural Networks - Encoding Optimization Tools
- Developed by Balint Petro from Budapest University of Technology and Economics, Hungary
- Developed at Auckland University of Technology - Knowledge Engineering and Discovery Research Institute, New Zealand
- Open Matlab and navigate to the folder of where you store snn-encoder-tools.
- Find
Spiker.m
and run it (select and F9 or double-click). This will add the snn-encoder-tools folder and sub-folders to path. - Load your own data from the
Data
,Load data
menu item (Ctrl + O), or select a test signal type in the top left corner of window, then click the appearingGenerate data
button. (The loaded data size is displayed in the console - make sure it is n-by-1, where n is your signal length. The current GUI version supports only one sample of one feature). - Select encoding algorithm amongst the top right radio buttons.
- Set parameters and click
Encode
. Use slider to adjustthreshold
parameter if you wish. - Alternatively, perform a simple search for an optimal threshold parameter. You can also set the
threshold
at the optimum value by clickingOptimize threshold
. A grid search for multi-parameter optimization is also available (for MW and BSA encoding). - Observe Fast Fourier Transformation results for original, reconstructed and spike signals by clicking
FFT
button. - In the
Utilities
menu, selectSave to workspace
(or Ctrl + S) to save original, reconstructed and spike signals (if these exist) to the workspace as variables.
Currently, only a single data sample can be loaded into the Spiker tool. The data should be stored as an .xls
, .xlsx
., or .csv
or similar file and it should have a layout such that the consecutive rows represent the consecutive time points. It is okay to have multiple columns (e.g. for multiple features); during the loading process, a dialog box appears to select the column that you wish to work with.
The main built-in function used in the current version is snr
which was introduced in Matlab version R2013b. This and more recent versions should be compatible with this code.
All contributions are welcome.