An angle of arrival estimation method, comprising: collecting, by a first device in a first time interval, a first signal from a second device by using a reference antenna of the first device and each antenna in a first antenna group of the first device, wherein the first antenna group comprises N antennas, and N is an integer greater than or equal to 1; collecting, by the first device in a second time interval, a second signal from the second device by using the reference antenna and each antenna in a second antenna group of the first device, wherein the second antenna group comprises M antennas, and M is an integer greater than or equal to 1; estimating, by the first device, first channel state information, CSI, wherein the first CSI is CSI of the first signal, the first CSI comprises N+1 vectors, and the N+1 vectors respectively correspond to the N antennas and the reference antenna; estimating, by the first device, second CSI, wherein the second CSI is CSI of the second signal, the second CSI comprises M+1 vectors, and the M+1 vectors respectively correspond to the M antennas and the reference antenna; determining, by the first device, a phase difference vector between the first signal and the second signal based on a vector corresponding to the reference antenna in the first CSI and a vector corresponding to the reference antenna in the second CSI; and compensating for a sampling time offset of signals sent by the second device and a processing latency difference of a radio frequency front end, by the first device, each of the M vectors corresponding to the M antennas in the second CSI by using the phase difference vector, and estimating, based on the first CSI and M compensated vectors in the second CSI, an angle of arrival of a signal sent by the second device; characterized in that each vector of the N+1 vectors and of the M+1 vectors includes a plurality of elements, wherein each element represents a phase of a received signal at a frequency corresponding to the element. collecting, by a first device in a first time interval, a first signal from a second device by using a reference antenna of the first device and each antenna in a first antenna group of the first device, wherein the first antenna group comprises N antennas, and N is an integer greater than or equal to 1; collecting, by the first device in a second time interval, a second signal from the second device by using the reference antenna and each antenna in a second antenna group of the first device, wherein the second antenna group comprises M antennas, and M is an integer greater than or equal to 1; estimating, by the first device, first channel state information, CSI, wherein the first CSI is CSI of the first signal, the first CSI comprises N+1 vectors, and the N+1 vectors respectively correspond to the N antennas and the reference antenna; estimating, by the first device, second CSI, wherein the second CSI is CSI of the second signal, the second CSI comprises M+1 vectors, and the M+1 vectors respectively correspond to the M antennas and the reference antenna; determining, by the first device, a phase difference vector between the first signal and the second signal based on a vector corresponding to the reference antenna in the first CSI and a vector corresponding to the reference antenna in the second CSI; and compensating for a sampling time offset of signals sent by the second device and a processing latency difference of a radio frequency front end, by the first device, each of the M vectors corresponding to the M antennas in the second CSI by using the phase difference vector, and estimating, based on the first CSI and M compensated vectors in the second CSI, an angle of arrival of a signal sent by the second device; characterized in that each vector of the N+1 vectors and of the M+1 vectors includes a plurality of elements, wherein each element represents a phase of a received signal at a frequency corresponding to the element.