Maximum likelihood detection of superimposed signals in code-division multiple access (CDMA) communication systems has a computational complexity that is exponential in the number of users, and its implementation is practically prohibitive even for a moderate number of users. Applying the expectation maximization algorithm to this problem, we decompose the multiuser detection problem into a series of single-user problems, and thus present an iterative computationally efficient algorithm for detection of superimposed signals in synchronous direct-sequence CDMA communication systems. The resulting structure includes the well-known multistage detector as one of its special cases. With a proper choice of its parameters, the new detector can achieve the advantages of both the multistage and conventional detector and have good performance for both strong and weak users.