1. A method performed by a processor, comprising: obtaining at least one software instruction that performs at least one non-linear convolution function for a plurality of input delayed signal samples; in response to said at least one software instruction for said at least one non-linear convolution function, performing the following steps: generating a weighted sum of two or more of said input delayed signal samples, wherein said weighted sum comprises a plurality of variable coefficients defined as a sum of one or more non-linear functions of a magnitude of said input delayed signal samples; and repeating said generating step for at least one time-shifted version of said input delayed signal samples to compute a plurality of consecutive outputs, wherein said at least one software instruction for said at least one non-linear convolution function is part of an instruction set of said processor.