1. A method comprising: generating a near end signal and a far end signal; generating an echo signal from the far end signal; generating a target signal by mixing the echo signal and the near end signal; generating an approximate echo signal from the far end signal, a correlated buffered far end signal, and an error signal between a first signal and a second signal, wherein the first signal corresponds to a correlation function between the far end signal and the target signal, and the second signal corresponds to a correlation function between the far end signal and the approximate echo signal; generating an echo cancellation signal by mixing the approximate echo signal and the target signal; and applying a correlation coefficient to the echo cancellation signal.