Hi, list, I've created an abstraction for performing weighted median filtering on a signal using 5 coefficients. It's a real cpu hog. It uses heavily the expr, expr~ and fexpr~ externals, which leads to some redundant calculations on each sample. The test patch enclosed shows how effective this can be for removing impulsive noises from a signal (like the pops on a record).
Chuck
Nice. The graph says it all, it really snuffs out those spikes. Yeah, and it eats way too much CPU, but I enjoy the instructional value of seeing this filter done as signal expressions.
Andy
On Fri, 25 May 2007 14:01:21 -0500 "Charles Henry" czhenry@gmail.com wrote:
Hi, list, I've created an abstraction for performing weighted median filtering on a signal using 5 coefficients. It's a real cpu hog. It uses heavily the expr, expr~ and fexpr~ externals, which leads to some redundant calculations on each sample. The test patch enclosed shows how effective this can be for removing impulsive noises from a signal (like the pops on a record).
Chuck
Just going thru old list emails that I missed. This is interesting,
it seems to work pretty well. It would be nice to see it compared to
other techniques and using other input signals. I quickly added a
lop~ for comparison:
.hc
On May 26, 2007, at 2:02 AM, Andy Farnell wrote:
Nice. The graph says it all, it really snuffs out those spikes. Yeah, and it eats way too much CPU, but I enjoy the instructional value of seeing this filter done as signal expressions.
Andy
On Fri, 25 May 2007 14:01:21 -0500 "Charles Henry" czhenry@gmail.com wrote:
Hi, list, I've created an abstraction for performing weighted median
filtering on a signal using 5 coefficients. It's a real cpu hog. It uses heavily the expr, expr~ and fexpr~ externals, which leads to some redundant calculations on each sample. The test patch enclosed shows how effective this can be for
removing impulsive noises from a signal (like the pops on a record).Chuck
-- Use the source
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
If nature has made any one thing less susceptible than all others of
exclusive property, it is the action of the thinking power called an
idea, which an individual may exclusively possess as long as he keeps
it to himself; but the moment it is divulged, it forces itself into
the possession of everyone, and the receiver cannot dispossess
himself of it. - Thomas Jefferson
Originally, I was writing an external for this, and it turned out to be very buggy. I will get back to work on it, after while, once some other projects get finished :) The main comparison with lop~ or other linear filters is that the impulses disturb the mean of the signal. The median is much more resistant to outliers than mean, so it works better for representing the most likely accurate sample out of a collection of samples. It's probably best for filtering measurements. I'm still not so sure on how the weighting should work, but it should also have some spectral effects, like low-pass filtering for the right choice of weights. Chuck
On 7/21/07, Hans-Christoph Steiner hans@eds.org wrote:
Just going thru old list emails that I missed. This is interesting, it seems to work pretty well. It would be nice to see it compared to other techniques and using other input signals. I quickly added a lop~ for comparison:
.hc
On May 26, 2007, at 2:02 AM, Andy Farnell wrote:
Nice. The graph says it all, it really snuffs out those spikes. Yeah, and it eats way too much CPU, but I enjoy the instructional value of seeing this filter done as signal expressions.
Andy
On Fri, 25 May 2007 14:01:21 -0500 "Charles Henry" czhenry@gmail.com wrote:
Hi, list, I've created an abstraction for performing weighted median filtering on a signal using 5 coefficients. It's a real cpu hog. It uses heavily the expr, expr~ and fexpr~ externals, which leads to some redundant calculations on each sample. The test patch enclosed shows how effective this can be for removing impulsive noises from a signal (like the pops on a record).
Chuck
-- Use the source
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
If nature has made any one thing less susceptible than all others of exclusive property, it is the action of the thinking power called an idea, which an individual may exclusively possess as long as he keeps it to himself; but the moment it is divulged, it forces itself into the possession of everyone, and the receiver cannot dispossess himself of it. - Thomas Jefferson