Signal (nengolib.signal)

Linear Systems

LinearSystem(sys[, analog]) Generic linear system representation.
cont2discrete(sys, dt[, method, alpha]) Convert linear system from continuous to discrete time-domain.
discrete2cont(sys, dt[, method, alpha]) Convert linear system from discrete to continuous time-domain.

Model Reduction

pole_zero_cancel(sys[, tol]) Pole/zero cancellation within a given tolerance.
modred(sys, keep_states[, method]) Reduces model order by eliminating a subset of states.
balance(sys) Transforms a linear system to its balanced realization.
balred(sys, order[, method]) Reduces a linear system to given order using balance and modred.


Identity Scaled realization given only by the radii.
Balanced Balanced realization given by the Gramiam matrices.
Hankel Scaled realization given by the Hankel singular values.
L1Norm([rtol, max_length]) Scaled realization given by the L1-norm of the system’s state.
H2Norm Scaled realization given by the H2-norm of the system’s state.


EvalPoints(sys, process[, n_steps, dt]) Samples the output of a LinearSystem given some input process.
Encoders(sys, process[, n_steps, dt]) Samples axis-aligned encoders from the maximum radii of a LinearSystem.


pes_learning_rate(epsilon, activities, t[, dt]) Determine the ideal learning rate for PES without noise or filtering.

Lyapunov Theory

l1_norm(sys[, rtol, max_length]) Computes the L1-norm of a linear system within a relative tolerance.
state_norm(sys[, norm]) Computes the norm of each dimension of x in the state-space.
control_gram(sys) Computes the controllability/reachability gramiam of a linear system.
observe_gram(sys) Computes the observability gramiam of a linear system.
hsvd(sys) Compute Hankel singular values of a linear system.
balanced_transformation(sys) Computes the balancing transformation, its inverse, and eigenvalues.


nrmse(actual, target, **kwargs) Returns RMSE(actual, target) / RMS(target).
shift(signal[, amount, value]) Shift the signal amount steps, prepending with value.