This paper presents a method for initial calibration and online compensation of systematic errors in a resolver system. Initial calibration at standstill condition is carried out for a few positions by applying Discrete Fourier Transform and Least Squares method. The error model is constructed based on complex Fourier expression of position angle signal obtained from non-ideal resolver signals due to amplitude imbalance, quadrature error and offset. Error parameters are determined online using the integral control loops which are initialized with the calibration results. Besides, single channel amplitude tracking is incorporated in the error compensation scheme. This makes the compensation adaptive to changes in error parameters. And thus accuracy of the resolver system is reasonably improved and the system becomes robust. The effectiveness of the proposed method is validated by simulation and experiments.