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 a selected one of the first set of input samples and the second set of input samples and output the resultant combination; a summer operable to sum said resultant combinations from the combiner; and a combination controller operable to select which of the first data input controller or the second data input controller provides said selected one of the first set of input samples and the second set of input samples for combination in the combiner.