DSPRelated.com
Forums

sensor fusion

Started by jacobfenton October 25, 2013
While Kalman seems to be the most used (optimal?) filter for sensor fusion,
its not nice for FPGA due to the required division. I was hoping LMS might
work, but it requires a desired signal which I don't have. I know there is
blind LMS, anyone have any good internet sites which cover this topic? Are
there any other filter/fusion methods I should research or anyone has
experience with?

My example would be taking 3 accelerometers, and averaging them together,
but I want to do weighted averaging based on the reliability/quality of the
sensor data (this is where Kalman comes in) not just the normal equal
weighted average.	 

_____________________________		
Posted through www.DSPRelated.com
On Fri, 25 Oct 2013 11:29:32 -0500, "jacobfenton" <51114@dsprelated>
wrote:

>While Kalman seems to be the most used (optimal?) filter for sensor fusion, >its not nice for FPGA due to the required division. I was hoping LMS might >work, but it requires a desired signal which I don't have. I know there is >blind LMS, anyone have any good internet sites which cover this topic?
In communications "blind equalization" usually means equalizing on modulated data without the benefit of a training sequence. So there is still a reference available in the demodulated symbols. This is very different from equalizing a more general signal without a reference. I just mention this so you don't wind up down a rathole looking at "blind equalization" that isn't what you think it is.
> Are >there any other filter/fusion methods I should research or anyone has >experience with? > >My example would be taking 3 accelerometers, and averaging them together, >but I want to do weighted averaging based on the reliability/quality of the >sensor data (this is where Kalman comes in) not just the normal equal >weighted average. > >_____________________________ >Posted through www.DSPRelated.com
Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On Fri, 25 Oct 2013 11:29:32 -0500, jacobfenton wrote:

> While Kalman seems to be the most used (optimal?) filter for sensor > fusion, > its not nice for FPGA due to the required division. I was hoping LMS > might work, but it requires a desired signal which I don't have. I know > there is blind LMS, anyone have any good internet sites which cover this > topic? Are there any other filter/fusion methods I should research or > anyone has experience with? > > My example would be taking 3 accelerometers, and averaging them > together, but I want to do weighted averaging based on the > reliability/quality of the sensor data (this is where Kalman comes in) > not just the normal equal weighted average.
Are you trying to fuse the data from three accelerometers that are all pointing in the same direction? Do you know the relative quality of the information from each accelerometer, in terms like bias and Gaussian noise? If the answers are "yes" and "yes", then the optimal solution (in the least mean squared error sense) is a normal weighted average. In fact, you wouldn't really get a Kalman filter construction to fit, because you wouldn't have any dynamics to plug into the Kalman filter. If either of the answers are "no", then please expand. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
>On Fri, 25 Oct 2013 11:29:32 -0500, jacobfenton wrote: > >> While Kalman seems to be the most used (optimal?) filter for sensor >> fusion, >> its not nice for FPGA due to the required division. I was hoping LMS >> might work, but it requires a desired signal which I don't have. I know >> there is blind LMS, anyone have any good internet sites which cover
this
>> topic? Are there any other filter/fusion methods I should research or >> anyone has experience with? >> >> My example would be taking 3 accelerometers, and averaging them >> together, but I want to do weighted averaging based on the >> reliability/quality of the sensor data (this is where Kalman comes in) >> not just the normal equal weighted average. > >Are you trying to fuse the data from three accelerometers that are all >pointing in the same direction? > >Do you know the relative quality of the information from each >accelerometer, in terms like bias and Gaussian noise? > >If the answers are "yes" and "yes", then the optimal solution (in the >least mean squared error sense) is a normal weighted average. In fact, >you wouldn't really get a Kalman filter construction to fit, because you >wouldn't have any dynamics to plug into the Kalman filter. > >If either of the answers are "no", then please expand. > >-- > >Tim Wescott >Wescott Design Services >http://www.wescottdesign.com > >
Yes, each sensor would be measuring the same thing (same axis) Yes, I guess you would assume the sensors have similar bias and noise, but each one will be slightly different, but you could estimate a bounds for all sensors. Maybe my main goal is more a redundancy goal, that is, to have a filter that will de-weight a sensor if its data starts to look out of family compared to the others, or its gets more noisy than the others. _____________________________ Posted through www.DSPRelated.com
On Fri, 25 Oct 2013 16:47:41 -0500, jacobfenton wrote:

>>On Fri, 25 Oct 2013 11:29:32 -0500, jacobfenton wrote: >> >>> While Kalman seems to be the most used (optimal?) filter for sensor >>> fusion, >>> its not nice for FPGA due to the required division. I was hoping LMS >>> might work, but it requires a desired signal which I don't have. I >>> know there is blind LMS, anyone have any good internet sites which >>> cover > this >>> topic? Are there any other filter/fusion methods I should research or >>> anyone has experience with? >>> >>> My example would be taking 3 accelerometers, and averaging them >>> together, but I want to do weighted averaging based on the >>> reliability/quality of the sensor data (this is where Kalman comes in) >>> not just the normal equal weighted average. >> >>Are you trying to fuse the data from three accelerometers that are all >>pointing in the same direction? >> >>Do you know the relative quality of the information from each >>accelerometer, in terms like bias and Gaussian noise? >> >>If the answers are "yes" and "yes", then the optimal solution (in the >>least mean squared error sense) is a normal weighted average. In fact, >>you wouldn't really get a Kalman filter construction to fit, because you >>wouldn't have any dynamics to plug into the Kalman filter. >> >>If either of the answers are "no", then please expand. >> >>-- >> >>Tim Wescott Wescott Design Services http://www.wescottdesign.com >> >> >> > Yes, each sensor would be measuring the same thing (same axis) > Yes, I guess you would assume the sensors have similar bias and noise, > but each one will be slightly different, but you could estimate a bounds > for all sensors. > > Maybe my main goal is more a redundancy goal, that is, to have a filter > that will de-weight a sensor if its data starts to look out of family > compared to the others, or its gets more noisy than the others.
That's not within the purview of a Kalman filter -- strictly speaking, Kalman filter design starts with the assumption that you know everything about the dynamics of the system whose states you're measuring and the random processes that are driving that system and any measurement noise. If you start with some model(s) of how a broken sensor will behave compared to a good one, then you can detect behavior and decide if the sensor is, indeed, broken -- but that's a detection (and possibly estimation) problem, not a Kalman filter problem. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
On 10/25/2013 4:47 PM, jacobfenton wrote:
>> On Fri, 25 Oct 2013 11:29:32 -0500, jacobfenton wrote: >> >>> While Kalman seems to be the most used (optimal?) filter for sensor >>> fusion, >>> its not nice for FPGA due to the required division. I was hoping LMS >>> might work, but it requires a desired signal which I don't have. I know >>> there is blind LMS, anyone have any good internet sites which cover > this >>> topic? Are there any other filter/fusion methods I should research or >>> anyone has experience with? >>> >>> My example would be taking 3 accelerometers, and averaging them >>> together, but I want to do weighted averaging based on the >>> reliability/quality of the sensor data (this is where Kalman comes in) >>> not just the normal equal weighted average. >> >> Are you trying to fuse the data from three accelerometers that are all >> pointing in the same direction? >> >> Do you know the relative quality of the information from each >> accelerometer, in terms like bias and Gaussian noise? >> >> If the answers are "yes" and "yes", then the optimal solution (in the >> least mean squared error sense) is a normal weighted average. In fact, >> you wouldn't really get a Kalman filter construction to fit, because you >> wouldn't have any dynamics to plug into the Kalman filter. >> >> If either of the answers are "no", then please expand. >> > Yes, each sensor would be measuring the same thing (same axis) > Yes, I guess you would assume the sensors have similar bias and noise, but > each one will be slightly different, but you could estimate a bounds for > all sensors. > > Maybe my main goal is more a redundancy goal, that is, to have a filter > that will de-weight a sensor if its data starts to look out of family > compared to the others, or its gets more noisy than the others.
Keyword: Median Filter. You have 3 values from 3 sensors. From those 3 values, take two that are closest to each other and output the average of those two. Vladimir Vassilevsky DSP and Mixed Signal Designs www.abvolt.com
On Fri, 25 Oct 2013 17:28:59 -0500, Vladimir Vassilevsky wrote:

> On 10/25/2013 4:47 PM, jacobfenton wrote: >>> On Fri, 25 Oct 2013 11:29:32 -0500, jacobfenton wrote: >>> >>>> While Kalman seems to be the most used (optimal?) filter for sensor >>>> fusion, >>>> its not nice for FPGA due to the required division. I was hoping LMS >>>> might work, but it requires a desired signal which I don't have. I >>>> know there is blind LMS, anyone have any good internet sites which >>>> cover >> this >>>> topic? Are there any other filter/fusion methods I should research or >>>> anyone has experience with? >>>> >>>> My example would be taking 3 accelerometers, and averaging them >>>> together, but I want to do weighted averaging based on the >>>> reliability/quality of the sensor data (this is where Kalman comes >>>> in) not just the normal equal weighted average. >>> >>> Are you trying to fuse the data from three accelerometers that are all >>> pointing in the same direction? >>> >>> Do you know the relative quality of the information from each >>> accelerometer, in terms like bias and Gaussian noise? >>> >>> If the answers are "yes" and "yes", then the optimal solution (in the >>> least mean squared error sense) is a normal weighted average. In >>> fact, you wouldn't really get a Kalman filter construction to fit, >>> because you wouldn't have any dynamics to plug into the Kalman filter. >>> >>> If either of the answers are "no", then please expand. >>> >> Yes, each sensor would be measuring the same thing (same axis) >> Yes, I guess you would assume the sensors have similar bias and noise, >> but each one will be slightly different, but you could estimate a >> bounds for all sensors. >> >> Maybe my main goal is more a redundancy goal, that is, to have a filter >> that will de-weight a sensor if its data starts to look out of family >> compared to the others, or its gets more noisy than the others. > > Keyword: Median Filter. > You have 3 values from 3 sensors. From those 3 values, take two that are > closest to each other and output the average of those two.
That works as long as only one sensor is broken. A good built-in-test system will detect when the 3rd sensor is out of bounds, and notify the operator of the fault condition. BIT is an absolute bitch to get right, unless you design it in from the very start. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
On 10/26/13 7:02 PM, Tim Wescott wrote:
> On Fri, 25 Oct 2013 17:28:59 -0500, Vladimir Vassilevsky wrote: > >> >> Keyword: Median Filter. >> You have 3 values from 3 sensors. From those 3 values, take two that are >> closest to each other and output the average of those two. > > That works as long as only one sensor is broken. >
in fact, that is not even the median, Vlad (and i'm sure you know that, but i like to force even Vlad to cross his I's and dot his T's). the median kicks out both the highest value and the lowest value and keeps only the middle value. if *one* of the sensors is broken, you're okay. if *two* are broken, you must drop your pants and bend over because you're screwed (unless you do something like what Tim suggests and identify which of the three sensors is not broken). -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."