MathGroup Archive 2003

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Low pass filtering

  • To: mathgroup at smc.vnet.net
  • Subject: [mg41752] Re: [mg41727] Re: Low pass filtering
  • From: Sseziwa Mukasa <mukasa at jeol.com>
  • Date: Wed, 4 Jun 2003 08:34:36 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

On Tuesday, June 3, 2003, at 07:13 AM, "Martin Manscher" < 
rehcsnam at kd.utd.tac wrote:

> There are at least two points you need to be aware of:
>
> 1) The Fourier terms include both an amplitude and a phase. Thus 
> Abs[term]
> is proportional to the amplitude (the normalisation might include the 
> number
> of terms; you should check this), and Arg[term] is the phase.
>
> 2) If you just set terms above a certain frequency to zero, you will 
> get a
> filter that is non-physical (I think it even violates some basic 
> physical
> laws such as causality; ask someone who know more about the topic). A
> standard RC filter decreases the amplitude by 20 dB/decade, with a 
> smooth
> transition at the characteristic frequency of the filter.
>
> Martin
>
>
> "Bob Buchanan" <Bob.Buchanan at millersville.edu> wrote in message
> news:bb731e$b63$1 at smc.vnet.net...
>> Hello,
>>
>> I have a question about recovering a filtered signal from a Fourier
>> transformed input signal. I have read a time series of real sampled
>> values into Mathematica. I can use Fourier[] to compute its DFT. As I
>> understand the DFT, the kth value represents the "amount" of the kth
>> frequency present in the original time series. To implement a simple
>> low pass filter I set all the elements of the Fourier series below a
>> certain threshold frequency to zero. Now I want to do the IDFT to
>> recover a filtered time series containing only the low passed
>> frequencies. However the IDFT I compute is not a real series, but
>> contains complex entries with nontrivial imaginary parts. What about
>> this filtering operation am I misunderstanding?
>>
>> Thanks,
>> Bob Buchanan
>

A few more points:

1) The traditional FFT algorithm returns the zero frequency component 
in the first place in the list.  This is followed by the N/2-1 positive 
frequencies and then the N/2 negative frequencies where N is the number 
of data points.  When you set points to zero did you take this ordering 
into account?

2) Furthermore, the FT of a real signal must be symmetric about the 
zero frequency.  I suspect that the nontrivial imaginary values are 
occurring because your filter is not symmetric about zero.  To preserve 
the real only nature of your signal you have to preserve this symmetry.

Small imaginary results may occur due to floating point error (actually 
it's not really an error, does anyone know of a better name for the 
difference in the result between machine precision arithmetic and the 
result expected using infinite precision?), but those should easily be 
eliminated with Chop.

Regards,

Ssezi


  • Prev by Date: Re: Re: Re: Re: ricatti & set of ODE solution.
  • Next by Date: Re: Big problem in solving radicals.
  • Previous by thread: Re: Low pass filtering
  • Next by thread: RE: Re: help converting mathtype to mathematica