1. A method for detecting data from K data signals transmitted over a shared spectrum in a code division multiple access format, the method comprising: receiving and sampling a combined signal over the shared spectrum as a plurality of received vector versions, the combined signal including the K transmitted data signals; producing a plurality of system matrices and an associated covariance matrix using codes and estimated impulse responses of the K data signals, each system matrix corresponding to a received vector version; extending and approximating the system and covariance matrices as block circulant matrices; determining a diagonal matrix of each of the extended and approximated system and covariance matrices, using a block column of the extended and approximated system and covariance matrices; extending and taking a Fourier transform of each received vector version; taking products of the diagonal matrices and the extended received vector versions; summing the products; and estimating data of the K data signals using an inverse Fourier transform and the summed products.