Synchronization for Code-Division Multiple Access Transmission: an Overview