FIR filters are a widely-used and powerful signal-processing tool. In this lesson you will learn why FIR filters are so powerful and be introduced to the FIR filter design criteria. You will also learn why optimization techniques are used for designing FIR filters. This information prepares you to learn about specific design procedures.

# FIR Filter Design

## Frequency Sampling FIR Filter Design

The frequency-sampling method takes advantage of the linear relationship between the FIR filter coefficients and the frequency response to write the design problem as the solution to a system of linear equations. In this lesson you will learn how to use the frequency-sampling design method to produce filters with arbitrary magnitude and phase response. You […]

## Linear Phase FIR Filters

A significant benefit of FIR filters is that they can be guaranteed to have linear phase and not to introduce phase distortion. In this lesson you will learn the constraints place on the filter coefficients and frequency response when we require linear phase. For example, you will learn why certain orders cannot be used to […]

## The Window Method of FIR Filter Design

The window method of FIR design is simple to understand and perform. It can be done with pen and paper for many filters and simple windows. In this lesson you will learn the steps to perform window-based design and the factors governing window selection. You will also learn how to use MATLAB to perform window-based […]

## Parks-McClellan FIR Filter Design

The minimax design method developed by Parks and McClellan is the most powerful method for FIR filter design. In this lesson you will learn the principles of the minimax optimal approach. You will also learn how a weighting function is used to specify the relative response error in the pass and stop bands of the […]

## Examples of Parks-McClellan FIR Filter Design

The minimax design method implemented in MATLAB (firpm) is an extremely powerful tool for design of FIR filters. In this lesson you will learn how to use MATLAB to design filters that satisfy the minimax optimal design criterion. You will learn how to specify the desired response and choose the weights on the error in […]