DSPRelated.com
Forums

Regarding DC removal filter.

Started by neelufar.2005 July 31, 2007
On Aug 3, 9:09 pm, R.Lyons@_BOGUS_ieee.org (Rick Lyons) wrote:
> > Hi Marcel, > I don't understand your DC-removal > scheme. As far as I know, there's no > low-computation linear-phase way to > remove (attenuate) DC. If you have > some sort of "neat" way to do so, > we'd sure like to hear more about your > method.
i don't think it's necessarily "neat", but using a very long CIC moving-average filter to determine a DC component, and subtracting that from a sample that is delayed precisely 1/2 the length of the moving average filter is both linear-phase and low-computation. no? long delay lines and long CIC filters are low compuation and if memory is cheap and long throughput delay is acceptable, this is cheep and effective. (but not really worthy of an IEEE SP mag article.) r b-j
On Sat, 04 Aug 2007 18:18:11 -0000, robert bristow-johnson
<rbj@audioimagination.com> wrote:

>On Aug 3, 9:09 pm, R.Lyons@_BOGUS_ieee.org (Rick Lyons) wrote: >> >> Hi Marcel, >> I don't understand your DC-removal >> scheme. As far as I know, there's no >> low-computation linear-phase way to >> remove (attenuate) DC. If you have >> some sort of "neat" way to do so, >> we'd sure like to hear more about your >> method. > >i don't think it's necessarily "neat", but using a very long CIC >moving-average filter to determine a DC component, and subtracting >that from a sample that is delayed precisely 1/2 the length of the >moving average filter is both linear-phase and low-computation. no? > >long delay lines and long CIC filters are low compuation and if memory >is cheap and long throughput delay is acceptable, this is cheep and >effective. (but not really worthy of an IEEE SP mag article.) > >r b-j
Hi Robert, Ah ha. OK, I see what you mean. My guess is that such a process wouldn't work too well at all. It seems to me that those nasty "sidelobes" of a CIC filter's freq response (the first one being -13 db relative to the mainlobe value) will cause very unpleasant passband ripple in the spectrum of the signal at the output of the subtractor. I'll have to experiment with this idea. Thanks Robert, [-Rick-]
On Aug 4, 4:16 pm, R.Lyons@_BOGUS_ieee.org (Rick Lyons) wrote:
> On Sat, 04 Aug 2007 18:18:11 -0000, robert bristow-johnson > > <r...@audioimagination.com> wrote: > >On Aug 3, 9:09 pm, R.Lyons@_BOGUS_ieee.org (Rick Lyons) wrote: > > >> I don't understand your DC-removal > >> scheme. As far as I know, there's no > >> low-computation linear-phase way to > >> remove (attenuate) DC. If you have > >> some sort of "neat" way to do so, > >> we'd sure like to hear more about your > >> method. > > >i don't think it's necessarily "neat", but using a very long CIC > >moving-average filter to determine a DC component, and subtracting > >that from a sample that is delayed precisely 1/2 the length of the > >moving average filter is both linear-phase and low-computation. no? > > >long delay lines and long CIC filters are low compuation and if memory > >is cheap and long throughput delay is acceptable, this is cheep and > >effective. (but not really worthy of an IEEE SP mag article.) >
..
> Ah ha. OK, I see what you mean. > > My guess is that such a process wouldn't > work too well at all.
it's approximately the same as my guess. assuming no non-linear tricky things, a DC blocker is an HPF (with at least one zero at z=1 that is not cancelled by a pole at the same location). i was just addressing the design specs: 1. blocks DC, 2. phase-linear, 3. less than a zillion multipy-accumulates. nothing was said about throughput latency or the frequency-domain behavior around (but not equal to) DC. if the CIC filter is really long, it will have a frequency response of nearly zero at any frequency except those around zero (which is where all the nasty sidelobe action is gonna be, the sidelobes higher up will be so close to zero, i don't think when you subtract them from 1, nobuddy cares). and the CIC will have a constant delay (group or phase delay, doesn't matter), relative to frequency; match that with the delay of the unity gain tap.
> It seems to me that > those nasty "sidelobes" of a CIC filter's > freq response (the first one being -13 db > relative to the mainlobe value) will cause > very unpleasant passband ripple in the > spectrum of the signal at the output of > the subtractor.
but, if you're DC blocking in the first place, you must expect some behavior around DC that you are willing to tolerate. it's a matter of how close to DC you cannot tolerate attenuation of some degree, which is a tradeoff with the delay of the filter, whether it is phase-linear or not.
> I'll have to experiment with this idea.
it's just a dumb thing. but it's just a spin off the concept of a DC blocker being a device that subtracts DC (however it is estimated, maybe a median filter would be better, who know?) from the signal. a CIC moving average filter, that is really the fucking-hell long, gives you an estimate of the DC value for the signal around the middle of the CIC delay line. maybe not such a good estimate.
> Thanks Robert,
yer welcome, Rick. things like this are cheap and i can forget about it tomorrow. i wouldn't wanna take on the responsibilities you do with IEEE articles. sorry if i crapped out on the other thing. r b-j
On Sun, 05 Aug 2007 00:07:55 -0000, robert bristow-johnson
<rbj@audioimagination.com> wrote:

  (all of R B-J's good post snipped by Lyons)
> >r b-j
Hi Robert, I agree with *everything* that you wrote about the DC-blocker scheme using a CIC filter. I think this DC blocking technique, which is new to me, deserves further investigation. Here's why: Because a standard CIC filter has a 1st sidelobe level (in the freq domain) that's 13 dB below the mainlobe level, I naively thought that there'd be at least 13 dB ripple in the passband of the of the DC blocking "highpass" filter. But I was wrong. The DC blocker's passband ripple is much less than 13 dB. So I believe this "CIC subtraction" DC blocking scheme deserves more investigation. Robert, know that most of the times I run across some DSP technique that I've never seen before, and I think is kinda clever, I later find out that 18 tech papers have been published on the method. Ha ha. Too bad Marcel doesn't "pipe in" on our conversation here. See Ya', [-Rick-]
On Aug 5, 10:50 pm, R.Lyons@_BOGUS_ieee.org (Rick Lyons) wrote:
> > Hi Robert, > I agree with *everything* that you wrote about > the DC-blocker scheme using a CIC filter.
my goodness! but remember, i did not "recommend it". it just was there to satisfy the 3 specs. the delay (like any phase-linear filter that does some serious filtering) might kill you.
> Robert, know that most of the times I run across > some DSP technique that I've never seen before, > and I think is kinda clever, I later find out that > 18 tech papers have been published on the method. > Ha ha.
Bob Adams (do you know him? or about him, Rick?) said something about like this when he was presenting stuff, long ago at some AES thingie, about sigma-delta conversion and noise shaping. i think he suggested that one look in those old Bell System Technical Journals from the 50s and 60s. you'll almost always find that your "novel idea" was novel, but about 40 years ago and the novelty wasn't original to you. but that doesn't stop someone like IVL from patenting it. r b-j
r b-j wrote:
> Rick Lyons wrote: > > > > > Hi Robert, > > I agree with *everything* that you wrote about > > the DC-blocker scheme using a CIC filter. > > my goodness! > > but remember, i did not "recommend it". it just was there to satisfy > the 3 specs. the delay (like any phase-linear filter that does some > serious filtering) might kill you.
Instead of using spectral inversion on the boxcar averaging filter to subtract DC, you could use Avins' approach to convert the boxcar filter into a DC blocker with no delay. The trick is to assume that DC is constant (is this really a trick?), and therefore it doesn't matter when you subtract it. You estimate the DC with the running average filter h = 1/N [1 1 ... 1] (N ones), and then subtract this estimate from the _current_ input value, ie. y[n] = x[n] - (h[n] * x[n]) = x[n] * (1 - h[n]). In effect, one applies the FIR filter h'[n] = 1/N [ (N-1)/N -1 -1 ... -1]. But an efficient implementation of course uses the recursive computation of the boxcar averageing filter, ie. z[n] = z[n-1] - 1/N (x[n-N] + x[n]) y[n] = x[n] - z[n]. This is a minimum-phase filter. In a fixed-point machine, with N=2^n for some integer n, this can be computed in a breeze. All you need is the delay.
> > > Robert, know that most of the times I run across > > some DSP technique that I've never seen before, > > and I think is kinda clever, I later find out that > > 18 tech papers have been published on the method. > > Ha ha. > > Bob Adams (do you know him? or about him, Rick?)
Of course Rick knows him. Remember the discussion about Adams' method to interpolate every M-th sample?
> said something about > like this when he was presenting stuff, long ago at some AES thingie, > about sigma-delta conversion and noise shaping. i think he suggested > that one look in those old Bell System Technical Journals from the 50s > and 60s. you'll almost always find that your "novel idea" was novel, > but about 40 years ago and the novelty wasn't original to you. > > but that doesn't stop someone like IVL from patenting it.
Who is IVL? Regards, Andor
On Aug 7, 2:57 am, Andor <andor.bari...@gmail.com> wrote:
> r b-j wrote:
..
> > Bob Adams (do you know him? or about him, Rick?) > > Of course Rick knows him. Remember the discussion about Adams' method > to interpolate every M-th sample?
ooops. to many dead brain cells.
> > said something about > > like this when he was presenting stuff, long ago at some AES thingie, > > about sigma-delta conversion and noise shaping. i think he suggested > > that one look in those old Bell System Technical Journals from the 50s > > and 60s. you'll almost always find that your "novel idea" was novel, > > but about 40 years ago and the novelty wasn't original to you. > > > but that doesn't stop someone like IVL from patenting it. > > Who is IVL?
http://www.ivl.com/ http://www.patentstorm.us/patents/5301259.html http://www.patentstorm.us/patents/5567901.html http://www.patentstorm.us/patents/6336092.html r b-j
robert bristow-johnson wrote:
> On Aug 7, 2:57 am, Andor <andor.bari...@gmail.com> wrote: >> r b-j wrote: > .. >>> Bob Adams (do you know him? or about him, Rick?) >> Of course Rick knows him. Remember the discussion about Adams' method >> to interpolate every M-th sample? > > ooops. to many dead brain cells. > >>> said something about >>> like this when he was presenting stuff, long ago at some AES thingie, >>> about sigma-delta conversion and noise shaping. i think he suggested >>> that one look in those old Bell System Technical Journals from the 50s >>> and 60s. you'll almost always find that your "novel idea" was novel, >>> but about 40 years ago and the novelty wasn't original to you. >>> but that doesn't stop someone like IVL from patenting it. >> Who is IVL? > > http://www.ivl.com/ > > http://www.patentstorm.us/patents/5301259.html > http://www.patentstorm.us/patents/5567901.html > http://www.patentstorm.us/patents/6336092.html
Those people are just plan evil. They are in the karaoke business. :-) Steve
> > > > said something about > > > like this when he was presenting stuff, long ago at some AES thingie, > > > about sigma-delta conversion and noise shaping. i think he suggested > > > that one look in those old Bell System Technical Journals from the 50s > > > and 60s. you'll almost always find that your "novel idea" was novel, > > > but about 40 years ago and the novelty wasn't original to you. > > > > but that doesn't stop someone like IVL from patenting it. >
Hello Robert, et. al., If the idea can be found in an old published journal (which predates the patent), then the patent is effectively null and void. A lot of application patents can be nullified if one does the right research. A big part of a patent's being valid is its being novel and not being obvious to someone skilled in the art. I don't know about IVL's patents - do they have any novel content? Clay
Clay wrote:
>>>> said something about >>>> like this when he was presenting stuff, long ago at some AES thingie, >>>> about sigma-delta conversion and noise shaping. i think he suggested >>>> that one look in those old Bell System Technical Journals from the 50s >>>> and 60s. you'll almost always find that your "novel idea" was novel, >>>> but about 40 years ago and the novelty wasn't original to you. >>>> but that doesn't stop someone like IVL from patenting it. > > Hello Robert, et. al., > > If the idea can be found in an old published journal (which predates > the patent), then the patent is effectively null and void. > A lot of application patents can be nullified if one does the right > research. A big part of a patent's being valid is its being novel and > not being obvious to someone skilled in the art. I don't know about > IVL's patents - do they have any novel content?
This is the theory. The high cost of litigation, and the quirky outcome of presenting even simple technical concepts to a court, makes the reality a whole different story. Steve