Discrete signal processing