Adaptive Implementation of Turbo Multi-User Detection Architectures