Aiming at the array amplitude phase errors perturbation problem widespread in practical application ,a self-calibration algorithm which combines with subspace DOA estimation algorithm for amplitude phase error is presented in this paper. Firstly, the amplitude phase error is preliminary calibrated using the structural characteristics of equality linear array covariance matrix. Then the more accurate estimation is gained through the iterative method. Self-calibration method doesn't need any initial parameter and easy to realize. The simulation shows that the algorithm has good effect on error calibration and can accurately estimate the azimuth and the value of the amplitude phase error.