A method for canceling interference in CDMA wireless communication, the method comprising: receiving a CDMA signal vector and saving and inputting the signal vector into a first stage blind interference cancellation module; receiving and processing a received signal covariance matrix based on the signal vector; determining a desired signal covariance matrix based on a channel estimation for a desired signal; calculating an interference matrix by subtracting the desired signal covariance matrix from the received signal covariance matrix; performing a recursive calculation for each stage of the blind interference cancellation, wherein the recursive calculation for one stage comprises: determining a maximum eigenvalue and an eigenvector corresponding to the maximum eigenvalue for the interference matrix; generating a strongest interference using the maximum eigenvalue and the eigenvector; determining a strongest interference covariance matrix based on the maximum eigenvalue and the eigenvector; checking whether a correlation between the desired signal and the eigenvector is greater than a threshold, if yes, stopping performing the recursive calculation, if no, continuing performing the recursive calculation; removing the strongest interference from the received signal covariance matrix in the present stage to form a cleaner signal; checking whether the number of stages reached the number of a covariance matrix dimension, if yes, stopping performing the recursive calculation, if no, removing the strongest interference covariance matrix from the interference covariance matrix to form a remaining interference covariance matrix and performing the recursive calculation for a next stage while using the remaining interference covariance matrix as the interference matrix in the next stage and using the cleaner signal covariance matrix as the received signal covariance in the next stage; combining the cleaner signals from each antenna for each channel; and dispreading the combined signals for each channel. receiving a CDMA signal vector and saving and inputting the signal vector into a first stage blind interference cancellation module; receiving and processing a received signal covariance matrix based on the signal vector; determining a desired signal covariance matrix based on a channel estimation for a desired signal; calculating an interference matrix by subtracting the desired signal covariance matrix from the received signal covariance matrix; performing a recursive calculation for each stage of the blind interference cancellation, wherein the recursive calculation for one stage comprises: determining a maximum eigenvalue and an eigenvector corresponding to the maximum eigenvalue for the interference matrix; generating a strongest interference using the maximum eigenvalue and the eigenvector; determining a strongest interference covariance matrix based on the maximum eigenvalue and the eigenvector; checking whether a correlation between the desired signal and the eigenvector is greater than a threshold, if yes, stopping performing the recursive calculation, if no, continuing performing the recursive calculation; removing the strongest interference from the received signal covariance matrix in the present stage to form a cleaner signal; checking whether the number of stages reached the number of a covariance matrix dimension, if yes, stopping performing the recursive calculation, if no, removing the strongest interference covariance matrix from the interference covariance matrix to form a remaining interference covariance matrix and performing the recursive calculation for a next stage while using the remaining interference covariance matrix as the interference matrix in the next stage and using the cleaner signal covariance matrix as the received signal covariance in the next stage; combining the cleaner signals from each antenna for each channel; and dispreading the combined signals for each channel. determining a maximum eigenvalue and an eigenvector corresponding to the maximum eigenvalue for the interference matrix; generating a strongest interference using the maximum eigenvalue and the eigenvector; determining a strongest interference covariance matrix based on the maximum eigenvalue and the eigenvector; checking whether a correlation between the desired signal and the eigenvector is greater than a threshold, if yes, stopping performing the recursive calculation, if no, continuing performing the recursive calculation; removing the strongest interference from the received signal covariance matrix in the present stage to form a cleaner signal; checking whether the number of stages reached the number of a covariance matrix dimension, if yes, stopping performing the recursive calculation, if no, removing the strongest interference covariance matrix from the interference covariance matrix to form a remaining interference covariance matrix and performing the recursive calculation for a next stage while using the remaining interference covariance matrix as the interference matrix in the next stage and using the cleaner signal covariance matrix as the received signal covariance in the next stage; combining the cleaner signals from each antenna for each channel; and dispreading the combined signals for each channel.