Design and Implementation of Digital FIR and IIR Filters

In digital signal processing, a digital filter is a system that performs mathematical operations on a discrete-time signal to either reduce or enhance certain aspects of that specific signal. For example, a digital filter can be used to attenuate noise, DC bias, etc. Furthermore, a digital filter can be used to extract the signal within a certain frequency range, which is one of the most important roles of frequency selective digital filters. There are two main categories of digital filters: the recursive filters otherwise known as infinite impulse response (IIR) filters, and the non-recursive filters otherwise known as finite impulse response (FIR) filters. The MatDeck software contains a variety of different functions and features for both IIR and FIR filter design and analysis.

fir optimal form
FIR Optimal Form – GUI for filter design
iir filtering form
IIR Filtering Form - GUI for filter design

Use of Templates for Filter Design

Templates enable sophisticated operations to be done in several clicks. Templates are pre-made chunks of code which can be inserted from Insert – Templates menu.

templates menu

In many cases, the user will not need to change anything and the usable code is obtained and ready to be executed. In some cases, user might only need to change names or the position of variables.

filter design templates

The portion of code below which designs a FIR filter and plots its characteristics, is obtained with two clicks. Users can then change the frequency points and arguments if needed.

A ready-made DSP template functions screenshot below.

dsp template functions
fir filter example 1
fir filter example 2
More About MatDeck