In free space optical communications, long-distance transmission leads to the attenuation of beacon light, where we adopt a quadrant detector (QD) to receive the weak signal. However, the background light interferes so strongly that the output signal-to-noise ratio (SNR) of QD is at a low level, which causes a decrease in accuracy of the direct detection method. This requires finding a new light spot detection method, so an improved detection method is proposed. Because the dark current noise and the background light noise are both white noise, we adopt a Kalman filter to estimate the real output of four electric signals of QD. Unfortunately, running these through an amplifier introduces some direct current (DC) offsets into the signals. In order to balance the effect of the DC offsets, we consider using the modulation method, where we employ a sine signal to modulate the intensity of the beacon light at the transmitting end, after which we can give an inverse gain to move the center of signals to near zero to eliminate the DC offsets when we calculate the data. In Kalman filtering, we use the peak values of the signals in every period after the analog to digital converter (ADC) as the elements of the measurement matrix. Experimental results show that even when QD output SNR is about −10 dB, the detection root-mean-square errors decrease by 51.5% using the improved detection method compared with the direct detection method. Moreover, Kalman filtering does not require a large amount of data, which means it works efficiently, can reduce the cost of hardware resources, and is available for the real-time calculation of spot position.