English
Language : 

AN540 Datasheet, PDF (1/17 Pages) Microchip Technology – Implementing IIR Digital Filters
Implementing IIR Digital Filters
AN540
Implementing IIR Digital Filters
INTRODUCTION
THEORY OF OPERATION
This application note describes the implementation of
Digital filters in most cases assume the following form of
various digital filters using the PIC17C42, the first mem-
relationship between the output and input sequences.
ber of Microchip’s 2nd generation 8-bit microcontrollers.
The PIC17C42 is a very high speed 8-bit microcontroller
with an instruction cycle time of 250ns (@ 16 MHz input
clock). Even though PIC17C42 is an 8-bit device, it’s
M
N
y(n) = - ∑ a y(n - i) + ∑ b x(n - j)
i
j
i=o
j=o
high speed and efficient instruction set allows imple-
The above equation basically states that the present
mentation of digital filters for practical applications.
output is a weighted sum of the past inputs and past
Traditionally digital filters are implemented using expen-
outputs. In case of FIR filters, the weighted constants
sive Digital Signal Processors (DSPs). In a system the
DSP is normally a slave processor being controlled by
ai=0 and in case of IIR filters, at least one of the ai
constant is non zero. In case of IIR, the above formula
4
either an 8- or 16-bit microcontroller. Where sampling
may be re written in terms of Z transform as:
rates are not high (esp. in mechanical control systems),
a single chip solution is possible using the PIC17C42.
This application note provides a few examples of imple-
menting digital filters. Example code for 2nd order Infi-
nite Impulse Response (IIR) filters is given. The follow-
ing type of filters are implemented:
H(z) =
Y(z)
=
X(z)
M
∑ bkZ -k
k=0
N
∑ 1 + k=1 akZ -k
• Low Pass
• High Pass
• Band Pass
• Band Stop (notch) filter
The above equation can further be rewritten in differ-
ence equation format as follows:
M
N
∑ ∑ y(n) = - aiy(n - i) + bjx(n - j)
i=1
j=o
This application note does not explain how to design a
filter. Filter design theory is well established and is
beyond the scope of this application note. It is assumed
that a filter is designed according to the desired specifi-
cations. The desired digital filters may be designed
using either standard techniques or using commonly
available digital filter design software packages.
Realization of the above equation is called as the Direct
Form II structure. For example, in case of a second order
structure, M=N=2, gives the following difference equa-
tions :
d(n) = x(n) + a1d(n-1) + a2d(n-2)
(1)
y(n) = b0d(n) + b1d(n-1) + b2(d(n-2)
(2)
Finite Impulse Response (FIR) filters have many advan-
tages over IIR filters, but are much more resource
intensive (both in terms of execution time and RAM). On
the other hand, IIR filters are quite attractive for imple-
menting with the PIC17C42 resources. Especially where
phase information is not so important, IIR filters are a
good choice (FIR filters have a linear phase response).
Of the various forms used for realizing digital filters (like,
Direct form, Direct II form, Cascade form, Parallel,
Lattice structure, etc.) the Direct II form is used in this
application note. It is easy to understand and simple
macros can be built using these structures.
The above difference equations may be represented as
shown in Figure 1.
FIGURE 1 - 2ND ORDER DIRECT FORM II
STRUCTURE (TRANSPOSED)
X(n)
Y(n)
+
b0
Z -1
b1
-a1
Z -1
b2
-a2
© 1993 Microchip Technology Inc.
4-129
DS00540B-page 1