# NLMS Echo Cancellation: How do we estimate when the time-step at which the Far-End Echo will be generated?

I'm new to this domain. From my understanding, we do the following in our algo:

Error = Desired - Expected Output
That is,
E = (Near End voice + Far End Echo) - (Far End voice * Adaptive Weights)


Here, I assume the Far End voice is a block from a previous timestamp and the Near End voice and Far End Echo are blocks from the latest timestamp.

So for the application of this formula, how do we estimate after how many timestamps the Echo will be generated? That is, how do I know which timestep block should I use as the Far End voice to compare with the latest timestep input to update my Adaptive Filter weights?