Cypress  1.0
C++ Spiking Neural Network Simulation Framework
Classes | Static Public Member Functions | Static Public Attributes | List of all members
cypress::nef::DeltaSigma Class Reference

#include <delta_sigma.hpp>

Classes

class  DiscreteWindow
 
struct  ExponentialWindow
 
struct  GaussWindow
 

Static Public Member Functions

static std::vector< Realencode (const std::vector< Real > &values, const DiscreteWindow &window, Real t0, Real min_val=-1.0, Real max_val=1.0, Real min_spike_interval=DEFAULT_MIN_SPIKE_INTERVAL)
 
template<typename Fun >
static std::vector< Realencode (const Fun &f, const DiscreteWindow &window, Real t0, Real t1, Real min_val=-1.0, Real max_val=1.0, Real min_spike_interval=DEFAULT_MIN_SPIKE_INTERVAL)
 
static std::vector< Realdecode (const std::vector< Real > &spikes, const DiscreteWindow &window, Real t0, Real t1, Real min_val=-1.0, Real max_val=1.0)
 

Static Public Attributes

static constexpr Real DEFAULT_RESPONSE_TIME = 50e-3
 
static constexpr Real DEFAULT_STEP = 1e-4
 
static constexpr Real DEFAULT_EPS = 1e-6
 
static constexpr Real DEFAULT_MIN_SPIKE_INTERVAL = 1e-3
 

Detailed Description

Structure providing static methods for encoding continuous-valued functions as a series of spikes and vice versa.

Member Function Documentation

static std::vector<Real> cypress::nef::DeltaSigma::decode ( const std::vector< Real > &  spikes,
const DiscreteWindow window,
Real  t0,
Real  t1,
Real  min_val = -1.0,
Real  max_val = 1.0 
)
static

Converts the given input spike train into a continuous-valued function by convoluting the spikes with the given window function. Note that the result sampling interval is equivalent to that specified in the window function.

Parameters
spikesis an array containing the input spike times.
windowis the discretised window function that should be used.
t0is the timestamp the first element in the result vector corresponds to.
t1is the time the last timestamp in the result vector should correspond to.
static std::vector<Real> cypress::nef::DeltaSigma::encode ( const std::vector< Real > &  values,
const DiscreteWindow window,
Real  t0,
Real  min_val = -1.0,
Real  max_val = 1.0,
Real  min_spike_interval = DEFAULT_MIN_SPIKE_INTERVAL 
)
static

Encodes a time-series of continuous-valued list of values to a time-series of spikes, which can be decoded by convoluting the spike train with the given window function. Implemented as a delta-sigma encoder.

Parameters
valuesis a list containing the function values. The sampling interval is taken from the given discretised window function.
t0is the time offset that should be added to the resulting spikes.
windowis the discretised window function that should be used for encoding.
min_spike_intervalis the minimum delay between two spikes should be greater or equal to the window sampling interval.
min_valis the minimum value occuring in the list of values.
max_valis the maximum value occuring in the list of values.
template<typename Fun >
static std::vector<Real> cypress::nef::DeltaSigma::encode ( const Fun &  f,
const DiscreteWindow window,
Real  t0,
Real  t1,
Real  min_val = -1.0,
Real  max_val = 1.0,
Real  min_spike_interval = DEFAULT_MIN_SPIKE_INTERVAL 
)
inlinestatic

Encodes a time-series of continuous-valued function as a time-series of spikes, which can be decoded by convoluting the spike train with the given window function. Implemented as a delta-sigma encoder.

Parameters
valuesis a list containing the function values. The sampling interval is taken from the given discretised window function.
windowis the discretised window function that should be used for encoding.
min_spike_intervalis the minimum delay between two spikes should be greater or equal to the window sampling interval.
t0is the time offset that should be added to the resulting spikes.
min_valis the minimum value occuring in the list of values.
max_valis the maximum value occuring in the list of values.

Member Data Documentation

constexpr Real cypress::nef::DeltaSigma::DEFAULT_EPS = 1e-6
static
constexpr Real cypress::nef::DeltaSigma::DEFAULT_MIN_SPIKE_INTERVAL = 1e-3
static
constexpr Real cypress::nef::DeltaSigma::DEFAULT_RESPONSE_TIME = 50e-3
static
constexpr Real cypress::nef::DeltaSigma::DEFAULT_STEP = 1e-4
static

The documentation for this class was generated from the following file: