Simple Kalman filter

Hello, I am new at this forum and this is my first post. We are trying to control some servos with a microcontroller Olimex lpc2103.

We managed to make all the necessary software and hardware, and everything is working fine.

There is just one problem - there is some noice in the servos when turn on the transmitter.

We decied to make some filter, but when we use the Kalman filter it works too slowly.

I just wonder if anyone could share some information about Kalman filter with whole numbers, not float numbers.

I would really appreciate if anyone can share such an information. Thanks in advance

--------------------------------------- Posted through

formatting link

Reply to
onelife
Loading thread data ...

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.

Michael Kellett

Reply to
Michael Kellett

everything

on

Solving an EMC problem in software is like banging screws in using a chisel! ;-)

--------------------------------------- Posted through

formatting link

Reply to
RCIngham

In message , onelife writes

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     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

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
Reply to
Tim Wescott

I'm using 'Visual Kalman FIlter', a nice Kalman Filter software.

formatting link
Good luck!

--------------------------------------- Posted through

formatting link

Reply to
oldjack

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.