A computer-implemented method for updating at least one frequency-domain filter coefficient W i,j ( k) of an echo canceller having at least one channel and at least one segment per channel, the filter coefficients of the echo canceller being updateable in the frequency domain at a time block m, characterized by: determining a canceller output E m ( k) over the m th time block as the difference between Z m ( k) and a cancelling term based on ∑ i = 0 C − 1 ∑ j = 0 S − 1 W i, j k X i, j, m k; determining a canceller error ε ( k) over the m - lth time block as the difference between Z m-l ( k) and a cancelling term based on ∑ i = 0 C − 1 ∑ j = 0 S − 1 W i, j k X i, j, m − l k; determining a look-backward error ε ( k) as ε ← k = ε k − λ Δ ← k, wherein Δ ( k) is based on ∑ i = 0 C − 1 ∑ j = 0 S − 1 E m k X i, j, m ∗ k ∑ a = 0 C − 1 ∑ b = 0 S − 1 X a, b, m k 2 + ε X i, j, m − l k; determining a look-forward error ε ( k) as ε → k = E m k − λ Δ → k, wherein Δ ( k) is based on ∑ i = 0 C − 1 ∑ j = 0 S − 1 ε k X i, j, m − l ∗ k ∑ a = 0 C − 1 ∑ b = 0 S − 1 X a, b, m − l k 2 + ε X i, j, m k; determining an optimal update step size μ i,j,m ( k) from said canceller output E m ( k) over the m th time block, from said canceller error ε ( k) over the m - lth time block, from said look-backward error ε ( k), and from said look-forward error ε ( k); and updating said at least one filter coefficient W i,j ( k) by using said optimal update step-size μ i,j,m ( k); wherein C corresponds to the number of channels i = 0, ···, C - 1 of the echo canceller, S corresponds to the number of segments j = 0, ···, S - 1 per channel of the echo canceller, l is an integer different than zero, k denotes a frequency bin index, ε is a positive value, Z m ( k) corresponds to the k th spectral bin of a microphone signal at the m th time block, Z m-l ( k) corresponds to the k th spectral bin of the microphone signal at the m - lth time block, X i,j,m ( k) corresponds to the k th spectral bin of a far-end signal at the i th channel, j th segment, and m th time block, X i,j,m-l ( k) corresponds to the k th spectral bin of the far-end signal at the i th channel, j th segment, and m - lth time block, λ is an overshoot factor, and a, b are channel and segment indices, respectively. determining a canceller output E m ( k) over the m th time block as the difference between Z m ( k) and a cancelling term based on ∑ i = 0 C − 1 ∑ j = 0 S − 1 W i, j k X i, j, m k; determining a canceller error ε ( k) over the m - lth time block as the difference between Z m-l ( k) and a cancelling term based on ∑ i = 0 C − 1 ∑ j = 0 S − 1 W i, j k X i, j, m − l k; determining a look-backward error ε ( k) as ε ← k = ε k − λ Δ ← k, wherein Δ ( k) is based on ∑ i = 0 C − 1 ∑ j = 0 S − 1 E m k X i, j, m ∗ k ∑ a = 0 C − 1 ∑ b = 0 S − 1 X a, b, m k 2 + ε X i, j, m − l k; determining a look-forward error ε ( k) as ε → k = E m k − λ Δ → k, wherein Δ ( k) is based on ∑ i = 0 C − 1 ∑ j = 0 S − 1 ε k X i, j, m − l ∗ k ∑ a = 0 C − 1 ∑ b = 0 S − 1 X a, b, m − l k 2 + ε X i, j, m k; determining an optimal update step size μ i,j,m ( k) from said canceller output E m ( k) over the m th time block, from said canceller error ε ( k) over the m - lth time block, from said look-backward error ε ( k), and from said look-forward error ε ( k); and updating said at least one filter coefficient W i,j ( k) by using said optimal update step-size μ i,j,m ( k); wherein C corresponds to the number of channels i = 0, ···, C - 1 of the echo canceller, S corresponds to the number of segments j = 0, ···, S - 1 per channel of the echo canceller, l is an integer different than zero, k denotes a frequency bin index, ε is a positive value, Z m ( k) corresponds to the k th spectral bin of a microphone signal at the m th time block, Z m-l ( k) corresponds to the k th spectral bin of the microphone signal at the m - lth time block, X i,j,m ( k) corresponds to the k th spectral bin of a far-end signal at the i th channel, j th segment, and m th time block, X i,j,m-l ( k) corresponds to the k th spectral bin of the far-end signal at the i th channel, j th segment, and m - lth time block, λ is an overshoot factor, and a, b are channel and segment indices, respectively. C corresponds to the number of channels i = 0, ···, C - 1 of the echo canceller, S corresponds to the number of segments j = 0, ···, S - 1 per channel of the echo canceller, l is an integer different than zero, k denotes a frequency bin index, ε is a positive value, Z m ( k) corresponds to the k th spectral bin of a microphone signal at the m th time block, Z m-l ( k) corresponds to the k th spectral bin of the microphone signal at the m - lth time block, X i,j,m ( k) corresponds to the k th spectral bin of a far-end signal at the i th channel, j th segment, and m th time block, X i,j,m-l ( k) corresponds to the k th spectral bin of the far-end signal at the i th channel, j th segment, and m - lth time block, λ is an overshoot factor, and a, b are channel and segment indices, respectively.