From: FatScouser on 12 Apr 2010 04:02 Hi, I'm using an off-the-shelf DSP package to apply an FFT-based highpass filter to a time-domain signal. This causes 'ringing' in the output, where a sine wave appears from nowhere having the same frequency as the high pass cut-off frequency. The DSP package does not provide much information about how the filter works, only that it is FFT-based. Working solely within the time domain, can anyone suggest what sort of filter or filter settings I should be using so I don't see the rinning artifacts? Many thanks, John
From: steveu on 12 Apr 2010 04:51 >Hi, > >I'm using an off-the-shelf DSP package to apply an FFT-based highpass >filter to a time-domain signal. This causes 'ringing' in the output, where >a sine wave appears from nowhere having the same frequency as the high pass >cut-off frequency. The DSP package does not provide much information about >how the filter works, only that it is FFT-based. > >Working solely within the time domain, can anyone suggest what sort of >filter or filter settings I should be using so I don't see the rinning >artifacts? "FFT-based" doesn't say very much. It could just apply to a filter design phase, or it could relate to the real time execution of the filter. If you have ringing, I expect you are trying to achieve a sharp cutoff with just a few filter elements. At its heart, time domain filtering is a resonant process. If you want a sharp cutoff you need to use a few sharply resonant elements, or a larger number of elements with a more damped resonance. I think it should be obvious which of those two approaches will yield the filter with the most ringing issues. Now, how you get from where you are to where you want to be is going to take a bit more knowledge of your filter software and how it is controlled. Steve
From: Rune Allnor on 12 Apr 2010 05:08 On 12 apr, 10:02, "FatScouser" <john.hague(a)n_o_s_p_a_m.truebit.co.uk> wrote: > Hi, > > I'm using an off-the-shelf DSP package to apply an FFT-based highpass > filter to a time-domain signal. This causes 'ringing' in the output, where > a sine wave appears from nowhere having the same frequency as the high pass > cut-off frequency. The DSP package does not provide much information about > how the filter works, only that it is FFT-based. > > Working solely within the time domain, can anyone suggest what sort of > filter or filter settings I should be using so I don't see the rinning > artifacts? Ringing is part of the filter response. There is nothing you can do to prevent it from happening. What remains is to control it so that it stays within acceptable limits. There are several factors that influence ringing, like the width of stop-bands, notches and transition bands. A lot of amateurs don't understand these things, and write an FFT-based routine that zeros an arbitrary set of DFT coefficients. This is a certain way to intropduce these kinds of artifacts. To get a working filter, 1) Come up with a specification. Not for what you want (everybody want all the benefits without all the drawbacks), but for what you need (the benefit you can't do without and the drawbacks you can live with). 2) Use a filter design package to find the filter that satisfies the spec from 1). Rune
From: FatScouser on 12 Apr 2010 05:46 Hi, Thanks a lot for your feedback. Specification details include: 1. High-pass filter with cut-off at 0.5 Hz. Cut-off precision is not critical: a cut-off between 0.2 -> 0.8 Hz is fine. 2. This is a non-realtime calculation, so large computation time is no problem. 3. A typical signal is a 25 second sample comprising 10000 points sampled at 400 Hz. Any help much appreciated! John On 12 apr, 10:02, "FatScouser" <john.hague(a)n_o_s_p_a_m.truebit.co.uk> >wrote: >> Hi, >> >> I'm using an off-the-shelf DSP package to apply an FFT-based highpass >> filter to a time-domain signal. This causes 'ringing' in the output, where >> a sine wave appears from nowhere having the same frequency as the high pass >> cut-off frequency. The DSP package does not provide much information about >> how the filter works, only that it is FFT-based. >> >> Working solely within the time domain, can anyone suggest what sort of >> filter or filter settings I should be using so I don't see the rinning >> artifacts? > >Ringing is part of the filter response. There is nothing >you can do to prevent it from happening. > >What remains is to control it so that it stays within >acceptable limits. There are several factors that influence >ringing, like the width of stop-bands, notches and transition >bands. > >A lot of amateurs don't understand these things, and write >an FFT-based routine that zeros an arbitrary set of DFT >coefficients. This is a certain way to intropduce these kinds >of artifacts. > >To get a working filter, > >1) Come up with a specification. Not for what you want (everybody > want all the benefits without all the drawbacks), but for what > you need (the benefit you can't do without and the drawbacks > you can live with). > >2) Use a filter design package to find the filter that satisfies > the spec from 1). > >Rune >
From: Rune Allnor on 12 Apr 2010 05:51 On 12 apr, 11:46, "FatScouser" <john.hague(a)n_o_s_p_a_m.truebit.co.uk> wrote: > Hi, > > Thanks a lot for your feedback. Specification details include: > > 1. High-pass filter with cut-off at 0.5 Hz. Cut-off precision is not > critical: a cut-off between 0.2 -> 0.8 Hz is fine. > > 2. This is a non-realtime calculation, so large computation time is no > problem. > > 3. A typical signal is a 25 second sample comprising 10000 points sampled > at 400 Hz. There is a lot to be desired here. How much ripple can you accept in the pass band? What attenuation at what frequency determines the stop-band? One needs such information to be able come up with useful answers: http://www.bores.com/courses/intro/filters/4_spec.htm Rune
|
Next
|
Last
Pages: 1 2 3 Prev: optimal linear prediction in image processing? Next: Mexican hat and Gaussian function |