# Signal Processing/Linear Prediction

## Linear Prediction[edit | edit source]

Linear prediction is an important tool in the field of Signal Processing, but also in related engineering fields. Linear prediction is the process where we attempt to predict the value of the next sample, given a set of previous samples. The number of previous samples required depends on the type of predictor that we employ. We will discuss this in more detail later.

A predictor is said to have an order of *m* if it has at most *m* taps in the forward or backward direction. The forward direction, the **feed forward elements** are the zeros of the filter. The backward direction, or the **feedback elements** are the poles of the filter. In other words, the filter has an order *m* if it has *m* zeros or *m* poles, whichever is greater.

## Forward Prediction[edit | edit source]

A forward linear predictor is a filter that attempts to predict the *u(n)* sample from the previous *m* samples. Forward predictors are causal, which means they only act on previous results.

## Backward Prediction[edit | edit source]

Backward prediction is similar to forward prediction, they are closely related mathematically. Backward prediction is the process of trying to determine the *u(n + M - 1)* element of a signal given the next *M* elements. In other words, the backward predictor is an attempt to "remember" what a past value was, given later values.

## Lattice Filters[edit | edit source]

Lattice filters are interesting tools to use because they can simultaneously calculate the forward and backward filter coefficients given a set of special **reflection coefficients**. These reflection coefficients can, in turn, be calculated from the forward or backward filter coefficients. Also, the reflection coefficients can be calculated from other metrics, such as the signal power, or the autocorrelation function. We will discuss the reflection coefficients more in the next chapter.