1. A signal processing technique for generating separated signal components characterised in that it incorporates the steps of: a) correlating basis vectors with input data vectors to produce output vectors, b) applying a non-linear function to the output vectors to produce non-linearised output vectors, and c) convolving the non-linearised output vectors with the basis vectors to produce separated signal components.