The multi-code CDMA problem, and the corresponding data and noise model is discussed. The problem of "crosstalk", which occurs when using an MMSE receiver in colored noise, is addressed. A method to avoid "cross-talk", by choosing the eigenvectors of the interference plus noise matrix as codes, is introduced. This approach is shown to
produce codes that are orthogonal not only in the conventional sense, but also with respect to the interference plus noise matrix. The gain on the codes is shown to be inversely proportional to the corresponding eigenvalue. Simulation results demonstrate that the codes corresponding to the smallest eigenvalues dramatically out-perform the MMSE receiver for Walsh-Hadamard codes in terms of mean-square error (MSE).