Digital signal processors (DSPs) continue to receive a great deal of attention in new product design. For example, digital filter design reflects the importance of understanding and using this technology to provide precision, standalone digital or integrated analog/digital product solutions.
By using DSPs capable of sequencing and reproducing hundreds to thousands of discrete elements, design models can be used to simulate large hardware structures at relatively low cost. DSP techniques perform functions such as fast Fourier transforms (FFT), delay equalization, programmable gain, modulation, encoding/decoding, and filtering.
Programs can be written where:

Filter weighting functions (coefficients) can be calculated on the fly to reduce memory requirements.

Algorithms can be dynamically modified as a function of signal input.
DSP represents a subset of signalprocessing activities that use analogtodigital converters (ADCs) to turn analog signals into streams of digital data. A standalone digital filter requires an ADC with an associated antialias filter, a DSP chip, and a PROM or software driver.
An extensive sequence of multiplications and additions then can be performed on the digital data. In some applications, the designer also may want to place a digitaltoanalog converter (DAC), accompanied by a reconstruction filter, on the output of the DSP to create an analog equivalent signal. Figure 1 shows a typical digital filter configuration.
Digital filters process digitized or sampled signals. They perform an extended sequence of multiplications and additions carried out at a uniformly spaced sample interval. These signals are passed through structures that shift the clocked data into adders, delay blocks, and multipliers. These structures change the mathematical values in a predetermined way. The resulting data represents the filtered or transformed signal.
Distortion and noise can be introduced into digital filters simply by the conversion of analog signals into digital data, the digital filtering process itself, and conversion of processed data back into analog. When fixedpoint processing is used, additional noise and distortion may be added during the filtering process because the filter consists of large numbers of multiplications and additions that produce errors, creating truncation noise. Increasing the bit resolution beyond 16 b reduces this filter noise.
For most applications, as long as the ADCs and the DACs have high enough bit resolution, distortions introduced by the conversions are less of a problem. Theoretically, the ratio of the rms value of a fullscale sine wave to the rms value of the quantization noise expressed in decibels is
SNR = 6.02N + 1.76 dB
Where: N = the number of bits in the ideal ADC
Although DSPs rarely serve exclusively as antialias filters, they can offer features that have no practical counterpart in the analog world. Some examples are a linear phase filter that provides steep rolloff characteristics or a programmable digital filter that allows the signal conditioning to be changed on the fly via software. Frequency response or filter shape can be altered by loading stored or calculated coefficients into a DSP program.
Instead of using a commercial DSP with software algorithms, a digital hardware filter also can be constructed from logic elements such as registers and gates or an integrated hardware block such as a field programmable gate array (FPGA). Digital hardware filters are desirable for high bandwidth applications, but the tradeoffs are limited design flexibility and higher cost.
FixedPoint DSP and FIR Implementations
Fixedpoint DSP processors account for most DSP applications because of their smaller size and lower cost. The fixedpoint math requires programmers to pay significant attention to the number of coefficients used in each algorithm when multiplying and accumulating digital data to prevent distortion caused by register overflow and a decrease of the signaltonoise ratio caused by truncation noise. The structure of these algorithms uses a repetitive delayandadd format that is represented in Figure 2.
Finite impulse response (FIR) filters are implemented using a finite number of delay taps (n) on a delay line and n computation coefficients to compute the filter function. The structure is nonrecursive, a repetitive delayandadd format, and most often used to produce FIR filters. It depends upon each sample of new and present value data.
FIR filters create transfer functions that have no equivalent in linear circuit technology. They offer shapefactor accuracy and stability equivalent to very highorder linear active filters that cannot be achieved in the analog domain. Unlike infinite impulse response (IIR) filters, FIR filters are formed with only the equivalent of zeros in the linear domain. This means that the taps depress or push down the amplitude of the transfer function. The amount of depression for each tap depends on the value of the multiplier coefficient. For this reason, the total number of taps determines the steepness of the slope. This can be inferred from the structure shown in Figure 2.
The number of taps and the values of the computation coefficients (h_{0}, h_{1},..h_{n}..) are selected to weight the data being shifted down the delay line to create the desired amplitude response of the filter. In this configuration, there are no feedback paths to cause instability.
The calculation coefficients are not constrained to particular values and can be used to implement filter functions that do not have a linear system equivalent. More taps increase the steepness of the filter rolloff while increasing calculation time and, for highorder filters, limiting bandwidth.
The filter delay is calculated for the structure as:
Delay = (½ × taps)/sampling rate
For example, a 300tap filter with a sampling rate of 48 kHz yields a minimum 3.125ms delay.
Designers also must be aware of the tradeoffs between phase delay and filter precision when designing FIR filters. The bad news is that highorder FIR filters have longer delay. The good news is that the phase response remains linear as a function of frequency. In applications where linear phase is critical and long phase delay cannot be tolerated, a linear active Bessel or a constant delay filter may be a better selection.
Design Techniques for Digital FIR Filters
Two very different design techniques are commonly used for digital FIR filters: windows and equiripple.
Windows
The simplest technique used to develop digital FIR filters is windowed filters. This technique is based on designing a filter using wellknown frequencydomain transition functions called windows. The use of windows often involves choosing the lesser of two evils.
Some windows, such as the rectangular, yield fast rolloff in the frequency domain but have limited attenuation in the stop band along with poor group delay characteristics. Other windows, like the Blackman, have better stopband attenuation and group delay but a wide transition band, the bandwidth between the corner frequency and the frequency attenuation floor.
Windowed filters are easy to use and scalable and can be computed on the fly by the DSP. This latter point means that a tunable filter can be designed with the only limitation on corner frequency resolution being the number of bits in the tuning word.
Equiripple
An equiripple or Remez Exchange design technique provides an alternative to windowing by allowing the designer to achieve the desired frequency response with the fewest number of coefficients. This is accomplished by an iterative process of comparing a selected coefficient set to the actual frequency response specified until the solution is obtained that requires the fewest number of coefficients.
Though the efficiency of this technique obviously is very desirable, there are some concerns:

For equiripple algorithms, some values may converge to a false result or not converge at all. For that reason, all coefficient sets must be pretested offline for every corner frequency value.

Applicationspecific solutions that require signal tracking or dynamically changing performance parameters typically are better suited for windowing since convergence is not a concern with windowing.

Equiripple designs are based on the optimization theory and require an enormous amount of computation effort. With the availability of today’s desktop computers, the computational intensity requirement is not a problem. But combined with the possibility of convergence failure, equiripple filters typically cannot be designed on the fly within the DSP.
Many people will use windowing such as a Kaiser window to produce good, scalable FIR filters fairly quickly without the worry of nonconvergence. However, if you are interested in producing the highestperformance digital filter for a given hardware configuration, the iterative Remez Exchange algorithm is worth the test.
Figure 3 illustrates a major advantage that a digital lowpass equiripple FIR filter can offer designers when solving signalconditioning problems. FC1 and FS1 are the corner and stopband frequencies, respectively. The typical number of filter taps used for this 100dB attenuation example is around 300.
The ratio of FS1 to FC1 is 1.1, an unheardof shape factor in the analog world. To achieve a similar slope, an analog filter would have to be a 30th order filter to achieve this performance. Analog filters beyond 10 poles are very difficult to realize and tend to be noisy.
FloatingPoint DSP and IIR Implementations
Like its name, a floatingpoint DSP can perform floatingpoint math, which greatly decreases truncation noise problems and allows more complicated filter structures such as the inclusion of both poles and zeros. This permits the approximation of many waveforms or transfer functions that can be expressed as an infinite recursive series.
These implementations are referred to as infinite impulse response (IIR) filters. The functions are infinite recursive because they use previously calculated values in future calculations akin to feedback in hardware systems.
The equivalent of classical linearsystem transfer functions can be implemented by using IIR implementation techniques. A common procedure starts with the classic analogfilter transfer function, such as a Butterworth, and applies the required transform to convert the filter equations from the complex Sdomain to the complex Zdomain. The resulting coefficients yield a Zdomain transfer function in a feedback configuration with a number n of delay nodes equal to the order of the Sdomain transfer function.
These implementations are referred to as IIR filters because, when a short impulse is put through the filter, the output value does not converge quickly to zero but theoretically continues decreasing over an infinite number of samples. Floatingpoint DSPs can produce nearequivalent analog filter transforms because they essentially use the same mathematical structure as their analog counterparts. For the same reason, they exhibit the same or worse nonlinear phase characteristics as their analog counterparts since the equivalent of poles and zeros in linear systems is reproduced with an IIR digital filter.
Figure 4 illustrates a biquad digital filter structure that computes the response of a secondorder IIR transfer function. It has two delay nodes, and the computation coefficients are A1k, A2k, B1k, and B2k.
Floatingpoint processors do have some advantages over fixedpoint processors:

Specific DSP applications such as IIR filters are easier to implement with floatingpoint processors.

Floatingpoint application code can have lower development costs and shorter time to market with respect to corresponding programs in a fixedpoint format.

Floatingpoint representation of data has a smaller amount of probable error and noise.
After all is said, these powerful floatingpoint devices can emulate fixedpoint processors but at higher hardware cost.
Summary
Complex digital filter functions involve millions of mathematical operations. The speed of these operations depends on a variety of factors: DSP chip speed, the number of taps, and the number of bits of accuracy in each computation.
For example, a DSP chip with a 10MHz clock rate can serve as a simple FIR filter with 16b precision and a corner frequency as high as 100 kHz. That same circuit can attain 24b precision with corner frequencies up to 10 kHz.
Today, many DSP turnkey and applicationspecific platforms are available along with development systems for the savvy engineer who wishes to do his or her own design. Many computer programs also exist that can determine the number of taps and the values of computation coefficients required to implement a specific digitalfilter performance function.
In some cases, these programs output files directly to a PROM burner or flash memory, automatically loading algorithms into the actual DSP circuit. One such software program is MATLAB® by The MathWorks, which calculates coefficients for designated FIR filters and produces IIR filter programs.
Many hardware and software design options and tradeoffs are available for providing signalprocessing solutions. For that reason, having the availability of analog and DSP design and programming expertise along with applicationspecific intellectual property (IP) from one source can provide a strong argument for the busy design engineer to seek a turnkey or custom solution. Examples include:

Multirate FIR filters, which can significantly extend lowfrequency bandwidth limits and shorten filter delay. Both are design limitations of single ratesampled DSP filter algorithms.

Ultra low noise and distortion antialias and reconstruction digital filters to 120 dB.

Low distortion signal generators to 20 b.

ADCs and DACs with 100 dB or better noise floors.
As DSP sample rates continue to increase, the bandwidth and performance of DSP solutions also will grow.
Digital filters primarily are used when transferfunction requirements have no counterpart in the analog world or when a DSP already resides on the circuit board to perform other functions. Digitalfilter selection is the choice or tradeoff between floatingpoint DSP IIR filters and fixedpoint DSP FIR filters, which are illustrated in Figure 5.
Whether you decide on a fixedpoint FIR or floatingpoint IIR solution, the world still is analog. In many applications, the conversion from analog to digital and back to analog is a requirement, often with limitations in bandwidth and design flexibility.
One example is range limitation, which is the maximum bandwidth imposed by the sampling rate when altering the digital filter frequency. The solution is to adjust the clock, which forces adjustments in the antialias and reconstruction filter, requiring multiple fixedfrequency or programmable filters that typically are not costeffective.
Another approach adjusts the clock within the DSP by decimation or interpolation so the filter shape can be modified within the filter algorithm. This is called multirate filtering, and several decimations can be implemented in series to reach very low frequencies.
References

Ingle, V.K. and Proakis, J.G., Digital Signal Processing Using MATLAB, Brooks Cole, July 11, 1999.

Proakis, J.G. and Manolakis, D.G., Digital Signal Processing: Principles, Algorithms and Applications, Prentice Hall; 3rd edition, Oct. 5, 1995.

Oppenheim, A.V., Schafer, R.W., and Buck, J.R., DiscreteTime Signal Processing, Prentice Hall; 2nd edition, Feb. 15, 1999.
About the Author
Paul R. Moffitt, director of engineering at Frequency Devices, has more than 20 years of experience in analog and digital circuit design. His education includes a B.S.E.E., an M.S.E.E., and a Ph.D. in E.E. from the University of Arkansas. Frequency Devices, 25 Locust St., Haverhill, MA, 01830, 9783740761, email: [email protected]
FOR MORE INFORMATION
on designing digital filters
www.rsleads.com/311ee176
Return to EE Home Page
Published by EEEvaluation Engineering
All contents © 2003 Nelson Publishing Inc.
No reprint, distribution, or reuse in any medium is permitted
without the express written consent of the publisher.
November 2003