APPLIED INDUSTRIAL CONTROL SOLUTIONS LLC APPLIED INDUSTRIAL CONTROL SOLUTIONS ApICS LLC. Digital Filter Design Writing Difference Equations For Digital Filters Brian T. Boulter © ApICS ® LLC 2000 ABSTRACT Difference equations are presented for 1st, 2nd, 3rd, and 4th order low pass and high pass filters, and 2nd, 4th and 6th order band-pass, band-stop and notch filters along with a resonance compensation (RES_COMP) filter. The low pass, high pass, bandpass and bandstop difference equations are obtained from the normalized butterworth continuous time filter descriptions given below. 1st. order normalized Butterworth low pass filter: (1.0a) 2nd. order normalized Butterworth low pass filter: (1.0b) 3rd. order normalized Butterworth low pass filter: (1.0c) 4th. order normalized Butterworth low pass filter: (1.0d) 2nd. order normalized Notch filter 1.1a) 4th order normalized Notch filter (1.1b) 6th. order normalized Notch filter (1.1c) Normalized Res_Comp filter (1.1d) The above low pass filter (not the notch or RES_COMP filters) equations are mapped to the appropriate filter type using the following mappings. To map (1.0x) to a lowpass filter use: ; = desired low-pass 3 [d.b.] cutt-off frequency. (1.2) To map (1.0x) to a highpass filter use: ; = desired high-pass 3 [d.b.] pass frequency. (1.3) To map (1.0x) to a bandpass filter use: (1.4) where: B = A number that controls the bandpass depth/width (equivelant to 1/Q). = The desired continuous time center frequency. To Map (1.0x) to a band-stop filter use: (1.5) where: B = A number that controls the notch depth/width (equivelant to 1/Q). = The desired continuous time center frequency. For example if we want to obtain a fourth order band-stop filter we use equation (1.0d) and use the mapping of equation (1.5) after some algebra we obtain the following continuous filter description: To create a digital filter we normalize the above filter by setting = 1, and map to the z-domain using the bi-linear transformation: (1.6) The c co-efficient in the above equation is used to accomplish frequency warping. That is, to compensate for an inherent inaccuracy in the bi-linear transformation method that is a function of frequency and sample rate. (see any D.S.P. text for a more complete explanation) Once the above mapping is performed by substituting (1.6) into the continuous time s-domain filter equation we obtain a z-domain transfer function of the form: (1.7) Where, for any filters obtained using the normalized low-pass butterworth filter as the basis for the digital filter, n = d = order of the filter. For low-pass to low-pass and low-pass to high-pass mapping the order of the digital filter is the same as the order of the starting normalized butterworth filter. For low-pass to band-pass and low-pass to band-stop mapping the order of the digital filter is twice the order of the starting normalized butterwoth low-pass filter. Let: the normalized notch center frequency. (i.e. 1) = the desired notch center frequency = Sample time in sec. The warping equation is given as: (1.8a) The RES_COMP filter which uses the same mapping as above, requires that the denominator resonant frequency be post-warped with (1.8b) below. (1.8b) After some algebra we obtain the following co-efficients in (1.7) for low-pass, high-pass, band-pass and band-stop filters for the indicated order of the filter. Low-Pass Filter n=1 n=2  n=3  n=4  High-Pass Filter n=1 n=2  n=3  n=4  Band-pass filter n=2  n=4  n=6  Note: 1) B in the above equations is equavelant to 1/Q; where Q is the depth factor in notch filter designs. Band-stop filter n=2  n=4  n=6  Note: 1) B in the above equations is equavelant to 1/Q; where Q is the depth factor in notch filter designs. Notch filter n=2 n=4 Proprietary n=6 Proprietary RES_COMP filter Proprietary Notes: 1) is the zero compensation frequency with damping equal to /2. 2) is the pole compensation frequency with damping equal to /2. CREATING THE DIFFERENCE EQUATIONS: From the z-domain transfer function we obtain the difference equation as follows: Know from (1.7) (1.9) Therefore (1.9) becomes In difference equation form: or in terms of the latest output: (1.10) Where for each filter described above the appropriate co-efficients are used in (1.10).