**Q:**

Can you suggest any beginner literature or software tools for designing my own FIR filters for IMU products, such as the ADIS16480?

**A:**

--------------------------------------------------------------------------------------------------------------------------------------------

While there are many excellent DSP references which cover FIR filter basics, these two references have been helpful for me:

http://www.dspguru.com/dsp/faqs

I typically analyze FIR filters more often than I design them, but I have found that Matlab's Filter Design and Analysis Tool is very helpful. It is part of the Signal Processing Toolbox (add-on, not standard with Matlab license) and I access it by typing "fdatool" at the Matlab command prompt. The ADIS16480 FIR filter banks actually contain four different examples of FIR filter designs, which can serve as design examples when learning how to use any FIR design/analysis software. The file attachment, ADIS16480FIRFilterResponse.m, is an m-script that analyzes the magnitude/frequency response of each filter in ADIS16480 and actually produced the responses that are in Figure 21 in the ADIS16480 datasheet (page 26). To run this script, copy this file into your MATLAB Path and then type "ADIS16480FIRFilterResponse" at the prompt in the Matlab command window.

For those who do not have access to Matlab, I would probably start my evaluation with the FIR filter package that is on the following website.

http://www.dspguru.com/dsp/links/digital-filter-design-software

This FIR filter package is available $299 and offers a free 30-day trial. I have not used this software but I suspect that it has some sort of method for importing FIR coefficients, so I extracted the coefficients from each example design in the ADIS16480, saved them into each FIR bank into *.csv files and attached them to this post as well.

For proper formatting and programming of the ADIS16480 FIR filters, please see page 25 and page 26 of the ADIS16480 datasheet.

Now that we have started this discussion, we would like to ask if anyone has other suggestions or can share their methods/tools for FIR filter design.

Best regards,

NevadaMark

A quick question. How did you get integers as "pre-designed FIR filters" coefficients in the first place? If using fdatool in Matlab, it will provide coefficients in floating point. I can convert back to hexadecimal using fcfwrite but the result will be different if loading these coefficients to the device from file. I have also tried to scale the obtain coefficients from fdatool but the result is different from the script provided.