1. An apparatus comprising: a first code controller operable to control the storage of a first spreading code portion; a first data input controller operable to control the storage of a first set of input samples; a second data input controller operable to control the storage of a second set of input samples; a combiner operable to combine a spreading code sample with an input sample and output the resultant combination; a summer operable to sum said resultant combinations; and a combination controller operable to select which of the first data input controller or the second data input controller provides said input sample for combination in the combiner.