I think that's a good idea. I've wanted to do this (another one of those projects that I couldn't accomplish right now). I had in mind, noise reduction for recording--given that it only removes stationary correlated noise, it would be good for scrubbing the noise floor. Or--did you have in mind something much slower, to clean up the noise in measurements from a different kind of sensor? Also, do you want to program it as an external in C, or as an abstraction in Pd?
On Fri, Nov 23, 2012 at 12:31 PM, Pedro Lopes pedro.lopes@ist.utl.ptwrote:
-- Pedro Lopes (HCI Researcher / MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/pedro.lopes / http://pedrolopesresearch.wordpress.com/ | http://twitter.com/plopesresearch
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Wow, my email client never showed me that this email got an answer.
@Domain: For me it was something much slower, such as smoothing a 50fps signal or so. But it could be applied at dsp block level i guess, and suited for audio. Let me start with a basic "number" version, than if works we upgrade.
So, Charles, if there is no kalman, I'll be happy to code one (I can only do pure C, abstractions take more time for me). Lets see how it goes, and I'll publish it if it becomes usable - likely during over this period some call Christmas. This also mean I might get back to my dtw patch (presented at weimar), which some people (Marco, Koray, others?) were interested in - but that one needs double the work to become (even mildy) user-friendly.
best pedro
On Sat, Nov 24, 2012 at 7:09 PM, Charles Henry czhenry@gmail.com wrote:
I think that's a good idea. I've wanted to do this (another one of those projects that I couldn't accomplish right now). I had in mind, noise reduction for recording--given that it only removes stationary correlated noise, it would be good for scrubbing the noise floor. Or--did you have in mind something much slower, to clean up the noise in measurements from a different kind of sensor? Also, do you want to program it as an external in C, or as an abstraction in Pd?
On Fri, Nov 23, 2012 at 12:31 PM, Pedro Lopes pedro.lopes@ist.utl.ptwrote:
-- Pedro Lopes (HCI Researcher / MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/pedro.lopes / http://pedrolopesresearch.wordpress.com/ | http://twitter.com/plopesresearch
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
hi,
i was trying to implement this filter in an avr, but i guess it would be even better in pd. i just need to clean a noisy accelerometer (only 1 axis), but then i read that for 1 input you can use a low pass (in comments):
http://interactive-matter.eu/blog/2009/12/18/filtering-sensor-data-with-a-ka...
as for now, i am using an iir filter in pd (from mapping). works great, but would like to "benchmark" the kalman implementation compared to low pass, iir.
anyone have a gem patch to plot mutiple inputs?
à +
Pedro, if you make the Kalman filter for Pd, I will try it for filtering barometer sensor data. I already tried an alpha-beta filter, but it produced overshoot and ring. A butterworth filter with coefficients taken from an open source variometer project performed better (but still not good enough):
https://github.com/lebipbip/le-BipBip
Katja
On Wed, Dec 12, 2012 at 4:37 AM, patrick puredata@11h11.com wrote:
hi,
i was trying to implement this filter in an avr, but i guess it would be even better in pd. i just need to clean a noisy accelerometer (only 1 axis), but then i read that for 1 input you can use a low pass (in comments):
http://interactive-matter.eu/blog/2009/12/18/filtering-sensor-data-with-a-ka...
as for now, i am using an iir filter in pd (from mapping). works great, but would like to "benchmark" the kalman implementation compared to low pass, iir.
anyone have a gem patch to plot mutiple inputs?
à+
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
hi Katja,
did you ported this filter: https://github.com/lebipbip/le-BipBip/blob/master/filter.c
to an pd external? if yes could you share it? not sure if it would help my situation (noisy accelerometer 1 axis), but i would like to give it a shot.
thx
Patrick, the barometer sensor samplerate is ~50 Hz and I did the butterworth filter with regular Pd objects, not as external (see attached).
In the Pd patch I modeled sensor noise (resolution 3 Pascal according to datasheet) and pressure gradient, simulating vertical speed through the air. The aim is to get 0.1 m/s accuracy in vertical speed reading. Theoretically, this would be almost possible with the butterworth. But our real sensor has much more noise than 3 Pascal resolution. Therefore I'm still interested in better filters.
Katja
On Wed, Dec 12, 2012 at 6:29 PM, patrick puredata@11h11.com wrote:
hi Katja,
did you ported this filter: https://github.com/lebipbip/le-BipBip/blob/master/filter.c
to an pd external? if yes could you share it? not sure if it would help my situation (noisy accelerometer 1 axis), but i would like to give it a shot.
thx
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
for sensors data, depending of the noise, it can be useful to begin with a median filter. a median on the 7 last sample add 3 sample delay, but often remove lot's of noise.
you can find them in mapping or puremapping libs. cheers cyrille
Le 14/12/2012 11:38, katja a écrit :
Patrick, the barometer sensor samplerate is ~50 Hz and I did the butterworth filter with regular Pd objects, not as external (see attached).
In the Pd patch I modeled sensor noise (resolution 3 Pascal according to datasheet) and pressure gradient, simulating vertical speed through the air. The aim is to get 0.1 m/s accuracy in vertical speed reading. Theoretically, this would be almost possible with the butterworth. But our real sensor has much more noise than 3 Pascal resolution. Therefore I'm still interested in better filters.
Katja
On Wed, Dec 12, 2012 at 6:29 PM, patrick puredata@11h11.com wrote:
hi Katja,
did you ported this filter: https://github.com/lebipbip/le-BipBip/blob/master/filter.c
to an pd external? if yes could you share it? not sure if it would help my situation (noisy accelerometer 1 axis), but i would like to give it a shot.
thx
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Thanks for the suggestion, Cyrille. I've been playing around with median filters in a different context (spectral processing), but completely forgot about them.
With the variometer, the problem is to isolate very low frequencies (the pressure gradient you want to detect) from DC (constant atmospheric pressure at certain height) and sensor noise frequencies. And you want to see results with accuracy and little delay. In fact it needs a very sharp minimum-phase filter. Maybe a median filter can 'preprocess' the signal in some way. Anyway it gives a new perspective.
Katja
On Fri, Dec 14, 2012 at 1:27 PM, Cyrille Henry ch@chnry.net wrote:
for sensors data, depending of the noise, it can be useful to begin with a median filter. a median on the 7 last sample add 3 sample delay, but often remove lot's of noise.
you can find them in mapping or puremapping libs. cheers cyrille
Le 14/12/2012 11:38, katja a écrit :
Patrick, the barometer sensor samplerate is ~50 Hz and I did the butterworth filter with regular Pd objects, not as external (see attached).
In the Pd patch I modeled sensor noise (resolution 3 Pascal according to datasheet) and pressure gradient, simulating vertical speed through the air. The aim is to get 0.1 m/s accuracy in vertical speed reading. Theoretically, this would be almost possible with the butterworth. But our real sensor has much more noise than 3 Pascal resolution. Therefore I'm still interested in better filters.
Katja
On Wed, Dec 12, 2012 at 6:29 PM, patrick puredata@11h11.com wrote:
hi Katja,
did you ported this filter: https://github.com/lebipbip/le-BipBip/blob/master/filter.c
to an pd external? if yes could you share it? not sure if it would help my situation (noisy accelerometer 1 axis), but i would like to give it a shot.
thx
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Got it working, but just realized that some of you need a 1D kalman, and I was working on a 2D kalman. A cool version could accept params [kalman <dim> <other params>]
Nothing works within pd yet, but lets see if I have time for that. I will also play around with some 1D implementations.
best, p
On Fri, Dec 14, 2012 at 2:06 PM, katja katjavetter@gmail.com wrote:
Thanks for the suggestion, Cyrille. I've been playing around with median filters in a different context (spectral processing), but completely forgot about them.
With the variometer, the problem is to isolate very low frequencies (the pressure gradient you want to detect) from DC (constant atmospheric pressure at certain height) and sensor noise frequencies. And you want to see results with accuracy and little delay. In fact it needs a very sharp minimum-phase filter. Maybe a median filter can 'preprocess' the signal in some way. Anyway it gives a new perspective.
Katja
On Fri, Dec 14, 2012 at 1:27 PM, Cyrille Henry ch@chnry.net wrote:
for sensors data, depending of the noise, it can be useful to begin with a median filter. a median on the 7 last sample add 3 sample delay, but often remove lot's of noise.
you can find them in mapping or puremapping libs. cheers cyrille
Le 14/12/2012 11:38, katja a écrit :
Patrick, the barometer sensor samplerate is ~50 Hz and I did the butterworth filter with regular Pd objects, not as external (see attached).
In the Pd patch I modeled sensor noise (resolution 3 Pascal according to datasheet) and pressure gradient, simulating vertical speed through the air. The aim is to get 0.1 m/s accuracy in vertical speed reading. Theoretically, this would be almost possible with the butterworth. But our real sensor has much more noise than 3 Pascal resolution. Therefore I'm still interested in better filters.
Katja
On Wed, Dec 12, 2012 at 6:29 PM, patrick puredata@11h11.com wrote:
hi Katja,
did you ported this filter: https://github.com/lebipbip/le-BipBip/blob/master/filter.c
to an pd external? if yes could you share it? not sure if it would help my situation (noisy accelerometer 1 axis), but i would like to give it a shot.
thx
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
hello,
i had a look time ago about kalman (1D). from what i remember, this filter is useful if you can model the input signal. if you can't, and use it as a generic filter, then it is not better than a simple 1 pole filter.
in 2D (or more), it should be not very different than a 2D mass-spring network.
this remind me that i have to update physical model filter in mapping and puremapping libs...
cheers C
Le 17/12/2012 19:17, Pedro Lopes a écrit :
Got it working, but just realized that some of you need a 1D kalman, and I was working on a 2D kalman. A cool version could accept params [kalman <dim> <other params>]
Nothing works within pd yet, but lets see if I have time for that. I will also play around with some 1D implementations.
best, p
On Fri, Dec 14, 2012 at 2:06 PM, katja katjavetter@gmail.com wrote:
Thanks for the suggestion, Cyrille. I've been playing around with median filters in a different context (spectral processing), but completely forgot about them.
With the variometer, the problem is to isolate very low frequencies (the pressure gradient you want to detect) from DC (constant atmospheric pressure at certain height) and sensor noise frequencies. And you want to see results with accuracy and little delay. In fact it needs a very sharp minimum-phase filter. Maybe a median filter can 'preprocess' the signal in some way. Anyway it gives a new perspective.
Katja
On Fri, Dec 14, 2012 at 1:27 PM, Cyrille Henry ch@chnry.net wrote:
for sensors data, depending of the noise, it can be useful to begin with a median filter. a median on the 7 last sample add 3 sample delay, but often remove lot's of noise.
you can find them in mapping or puremapping libs. cheers cyrille
Le 14/12/2012 11:38, katja a écrit :
Patrick, the barometer sensor samplerate is ~50 Hz and I did the butterworth filter with regular Pd objects, not as external (see attached).
In the Pd patch I modeled sensor noise (resolution 3 Pascal according to datasheet) and pressure gradient, simulating vertical speed through the air. The aim is to get 0.1 m/s accuracy in vertical speed reading. Theoretically, this would be almost possible with the butterworth. But our real sensor has much more noise than 3 Pascal resolution. Therefore I'm still interested in better filters.
Katja
On Wed, Dec 12, 2012 at 6:29 PM, patrick puredata@11h11.com wrote:
hi Katja,
did you ported this filter: https://github.com/lebipbip/le-BipBip/blob/master/filter.c
to an pd external? if yes could you share it? not sure if it would help my situation (noisy accelerometer 1 axis), but i would like to give it a shot.
thx
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list