Fast algorithms for discrete-time Wiener filters with optimum lag