Easy-to-use FIR filters serve equally well in hardware or software.

Because finite impulse response (FIR) filters use a mathematical algorithm to process information, engineers rely on them when an analog filter just won't do. “FIR filters appeal to people who don't want to become filter designers”, explained Grant Griffin, President, Iowegian International. "They just want to use a filter to solve a problem, say, filter data they captured from an experiment. An FIR filter lets people specify filter characteristics and get good results without mastering filter theory." As a bonus, FIR filter operations are easy to understand and implement. (See For further reading.)

But like everything, FIR filters have limits. They cannot create a perfect brick-wall-type filter, for example. In addition, they cannot filter a small number of values to an extreme 'sharpness' when they don't have enough data. And an FIR filter, like all filters, has an inherent delay between the input of values and the output of results. The delay relates directly to the number of filter coefficients and the clock frequency of the hardware.

Iowegian’s ScopeFIR software will help signal-processing professionals as well as newcomers. Not only does the program help people design FIR filters, it also comes with collection of basic FIR filter algorithms, multirate FIR filter algorithms for decimators, interpolators, and resamplers, and a set of example ScopeFIR project files to help users start FIR designs of all types. "When someone doesn’t know anything about FIR filters but they decide to design one, we have software for that situation," said Griffin. "We include six FIR filter implementations and the first serves as a straightforward tutorial. It shows how we create an FIR filter in the simplest possible way. Then we employ various shortcuts that make the algorithms more efficient for use in embedded systems. ScopeFIR does not do the whole job, but it gives people a big head start."

The ScopeFIR software shows filter characteristics (upper left) entered by a user and the resulting graphs of filter response
and numeric filter coefficients. Courtesy of Iowegian International.

The code examples use Iowegian's own "Wide Open License," which closely mimics the MIT License. "The WOL puts no restrictions on use except that you give us a credit in the source code," said Griffin. "Our license doesn't force developers to open their source code and give it away, which makes it suitable for use in any application."

Still, designers might seek a hardware FIR filter that eliminates algorithms and C code. Quickfilter Technologies, for example, offers filter ICs that include the QF1Da512 FIR "engine" for audio applications. In addition, Quickfilter Pro software lets engineers enter filter characteristics and produce the necessary 32-bit filter coefficients. "Engineers can design any common filter--band pass, notch, high pass, and low pass," said Tony Valentino, Quickfilter's chief operating officer. "They just enter a set of parameters such as the cut-off frequency, how low the cut off should go, and so on, and the software creates the filter coefficients. If they need to tweak a filter after they finish a design, they can download new coefficients into their product."

The latest version of the software includes new tools that simplify filter designs for realistic acoustic conditions. "Suppose you want to design an equalizer," said Valentino. "You measure the response of a speaker and you put the frequency-response data in a text file. You can import that data into our Freehand Editor and with one click of a button, create the inverse transfer function for the filter IC."

"When you create an audio-equalization filter, you attenuate the input level and lose a little dynamic range," noted Valentino. "So the QF1Da512 IC includes a gain and compression block to make up for that loss."

Audio-equipment designers require a hardware development board and perhaps a reference design. "When they work with a board they better understand what an FIR filter can do, said Valentino. "Then they say, 'I want to do this and that!' The board lets them put audio data into the filter chip and listen to what comes out."

To get that audio data, the Quickfilter chip connects to a CODEC IC with the standard inter-IC sound (I2S) bus. In a final product, firmware in a microcontroller uploads filter coefficients via an SPI-bus connection with the chip. Because the coefficients can change on the fly, audio equipment can provide sets of filter coefficients that let users reproduce a variety of audio effects.