1. A system for processing data, the system comprising: a signal source configured to provide a sequence of ordered data values and an address generator for generating a corresponding sequence of ordered addresses; a plurality of processors to perform predetermined functions and coupled in series having a first processor and a last processor, wherein the first processor is coupled to the signal source and each processor is configured to: pass the data values from the signal source or a previous processor without modification of the order of the data values; and modify the addresses from the signal source or the previous processor according to a predetermined processing function and output the modified addresses; and a memory coupled to the last processor, wherein the memory is configured to: store each data value from the last processor at a corresponding modified address of the memory provided by the last processor.