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.mand 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 datamenu item (Ctrl + O), or select a test signal type in the top left corner of window, then click the appearingGenerate databutton. (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 adjustthresholdparameter if you wish. - Alternatively, perform a simple search for an optimal threshold parameter. You can also set the
thresholdat 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
FFTbutton. - In the
Utilitiesmenu, 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.