There are always exceptions but usually the solution to a noise problem from a well defined source like a transmitter in your equipment is to solve the problem by either dealing with the source of the interference (power supply coupling, out of band radiation etc) or stopping your input ciruits from picking it up (analogue filters, screened cables, good earthing, screened covers, small ciruit loops etc.) Only when these basic solutions have been investigated should you resort to attempting to filter out the problem in software.
Just to be picky... I think you will find NXP do the LPC2103
Olimex just make dev boards.
BUT.....
I think you need to work out how to remove the noise... not hide it with SW
--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
First: What everyone else said. Unless there's something about your setup that precludes getting the root problem fixed, trying to fix this in software is just throwing money in a rat hole.
Second: Are you _really_ making a _real_ Kalman filter, or are you just making a low-pass filter and calling it a Kalman? Kalman filter design proceeds from understanding your processes, including your noise processes, and helps you to design the optimal filter for your situation. It does _not_ guarantee that the best possible filter is good enough, it is, as Rudy Kalman formulated it, limited to being optimal for Gaussian noise and a mean-squared error criterion, the design is often way more complex than needed, and for SISO systems it usually devolves down to something simple like a regular old lowpass, bandpass, or whatever.
In general, when you're designing a filter for an unknown process you use an alpha-beta filter
formatting link
or a lowpass. Then you play with the parameters to see if you can get things working nicely.
As far as integer math -- if you stick to a simple lowpass filter the implementation details should be more clear than a textbook Kalman (whose implementation is complex to reflect the complex problem you're solving, and can often be simplified at the expense of all hope of clarity). Then the means of implementing it with integer or fixed point math should be clear.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.