Minimum mean-squared error (MMSE) filtering is a powerful and widely used technique that uses the available data to design an optimum set of filter weights. Choosing weights based on the data allows the weights to be adjusted or adapted to maintain an optimal solution in the presence of time-varying characteristics in the input data. You […]

# MMSE Filtering and Least-Squares Problems

## Solving for the Minimum Mean-Squared Error Weights

The minimum mean-squared error (MMSE) criterion optimizes the filter weights based on the input signals. Here you will learn how to find the optimum weights. You will use the method of completing the square to write the mean-squared error as a perfect square in the weights, which allows you to identify the optimum weights by […]

## Solving Least-Squares Problems with Gradient Descent: the Least Mean-Square Algorithm

The least mean-square (LMS) algorithm solves the MMSE filter or least squares problem using a very simple iterative scheme. The current solution is updated by taking a step in the direction of the negative gradient of the instantaneous squared error. You will find this very simple algorithm to be a powerful tool for MMSE filtering and […]

## Convergence, Tracking, and the LMS Algorithm Step Size

There is only one parameter in the LMS algorithm that is chosen by you: the step size. You need to understand how the step-size parameter impacts the performance characteristics of the LMS algorithm in order to use it effectively. The step-size parameter determines whether the algorithm converges or diverges and how fast. It also determines […]