Least-Squares Linear-Phase FIR Filter Design

Another versatile, effective, and often-used case is the
*weighted least squares* method, which is implemented in the
matlab function `firls` and others. A good general reference
in this area is [203].

Let the FIR filter length be samples, with even, and suppose we'll initially design it to be centered about the time origin (``zero phase''). Then the frequency response is given on our frequency grid by

(5.33) |

Enforcing

(5.34) |

or, in matrix form:

Recall from §3.13.8, that the Remez multiple exchange
algorithm is based on this formulation internally. In that case, the
left-hand-side includes the alternating error, and the frequency grid
iteratively seeks the frequencies of maximum error--the
so-called *extremal frequencies*.

In matrix notation, our filter-design problem can be stated as (*cf.*
§3.13.8)

(5.36) |

where these quantities are defined in (4.35). We can denote the optimal least-squares solution by

(5.37) |

To find , we need to minimize

This is a

(5.39) |

with solution

(5.40) |

The matrix

(5.41) |

is known as the (Moore-Penrose)

[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]

[Lecture Video] [Exercises] [Examination]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University