Forums

Simple Kalman filter

Started by onelife November 30, 2010
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 http://www.EmbeddedRelated.com
"onelife" <vasil@n_o_s_p_a_m.ics-bg.com> wrote in message 
news:z7WdnZ8f1dsSj2jRnZ2dnUVZ_oGdnZ2d@giganews.com...
> 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 http://www.EmbeddedRelated.com
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
>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 >
Solving an EMC problem in software is like banging screws in using a chisel! ;-) --------------------------------------- Posted through http://www.EmbeddedRelated.com
In message <z7WdnZ8f1dsSj2jRnZ2dnUVZ_oGdnZ2d@giganews.com>, onelife
<vasil@n_o_s_p_a_m.ics-bg.com> writes
>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.
Just to be picky... I think you will find NXP do the LPC2103 Olimex just make dev boards.
>We managed to make all the necessary software and hardware, and everything >is working fine.
BUT.....
>There is just one problem - there is some noice in the servos when turn on >the transmitter.
I think you need to work out how to remove the noise... not hide it with SW -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
On 11/30/2010 07:04 AM, onelife wrote:
> 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.
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 (http://en.wikipedia.org/wiki/Alpha_beta_filter) 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
I'm using 'Visual Kalman FIlter', a nice Kalman Filter software. 
http://www.luckhan.com/kalman-filter-design.htm
Good luck!

	   
					
---------------------------------------		
Posted through http://www.EmbeddedRelated.com