A noise estimation algorithm is proposed for single channel speech enhancement. By comparing the noise estimate with the short term noise and speech at every time frame, the noise estimate is efficiently updated by using a fixed step-size. The step size is optimized based on the speech quality performance and the noise tracking capability. The proposed technique is capable of tracking noise spectrum variations, while remaining robust to the speech onsets. In addition, the noise estimator requires low computational complexity, which makes it effective for real time implementation in battery operated equipment. Simulation results show that the proposed method can achieve good speech quality and efficient noise tracking performance when compared to existing methods.